// --- BEGIN COPYRIGHT BLOCK --- // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; version 2 of the License. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with this program; if not, write to the Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. // // (C) 2007 Red Hat, Inc. // All rights reserved. // --- END COPYRIGHT BLOCK --- package com.netscape.certsrv.security; import java.math.BigInteger; import java.security.KeyPair; import java.util.Properties; import netscape.security.x509.AlgorithmId; import netscape.security.x509.CertificateExtensions; import org.mozilla.jss.crypto.SignatureAlgorithm; import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.common.ConfigConstants; import com.netscape.certsrv.common.Constants; /** * This class represents a container for storaging * data in the security package. * * @version $Revision$, $Date$ */ public class KeyCertData extends Properties { /** * */ private static final long serialVersionUID = -9084106429445432037L; /** * Constructs a key certificate data. */ public KeyCertData() { super(); } /** * Retrieves the key pair from this container. * * @return key pair */ public KeyPair getKeyPair() { return (KeyPair) get("keypair"); } /** * Sets key pair into this container. * * @param keypair key pair */ public void setKeyPair(KeyPair keypair) { put("keypair", keypair); } /** * Retrieves the issuer name from this container. * * @return issuer name */ public String getIssuerName() { return (String) get(Constants.PR_ISSUER_NAME); } /** * Sets the issuer name in this container. * * @param name issuer name */ public void setIssuerName(String name) { put(Constants.PR_ISSUER_NAME, name); } /** * Retrieves certificate server instance name. * * @return instance name */ public String getCertInstanceName() { return (String) get(ConfigConstants.PR_CERT_INSTANCE_NAME); } /** * Sets certificate server instance name. * * @param name instance name */ public void setCertInstanceName(String name) { put(ConfigConstants.PR_CERT_INSTANCE_NAME, name); } /** * Retrieves certificate nickname. * * @return certificate nickname */ public String getCertNickname() { return (String) get(Constants.PR_NICKNAME); } /** * Sets certificate nickname. * * @param nickname certificate nickname */ public void setCertNickname(String nickname) { put(Constants.PR_NICKNAME, nickname); } /** * Retrieves key length. * * @return key length */ public String getKeyLength() { return (String) get(Constants.PR_KEY_LENGTH); } /** * Sets key length. * * @param len key length */ public void setKeyLength(String len) { put(Constants.PR_KEY_LENGTH, len); } /** * Retrieves key type. * * @return key type */ public String getKeyType() { return (String) get(Constants.PR_KEY_TYPE); } /** * Sets key type. * * @param type key type */ public void setKeyType(String type) { put(Constants.PR_KEY_TYPE, type); } /** * Retrieves key curve name. * * @return key curve name */ public String getKeyCurveName() { return (String) get(Constants.PR_KEY_CURVENAME); } /** * Sets key curvename. * * @param len key curvename */ public void setKeyCurveName(String len) { put(Constants.PR_KEY_CURVENAME, len); } /** * Retrieves signature algorithm. * * @return signature algorithm */ public SignatureAlgorithm getSignatureAlgorithm() { return (SignatureAlgorithm) get(Constants.PR_SIGNATURE_ALGORITHM); } /** * Sets signature algorithm * * @param alg signature algorithm */ public void setSignatureAlgorithm(SignatureAlgorithm alg) { put(Constants.PR_SIGNATURE_ALGORITHM, alg); } /** * Retrieves algorithm used to sign the root CA Cert. * * @return signature algorithm */ public String getSignedBy() { return (String) get(Constants.PR_SIGNEDBY_TYPE); } /** * Sets signature algorithm used to sign root CA cert * * @param alg signature algorithm */ public void setSignedBy(String alg) { put(Constants.PR_SIGNEDBY_TYPE, alg); } /** * Retrieves signature algorithm. * * @return signature algorithm */ public AlgorithmId getAlgorithmId() { return (AlgorithmId) get(Constants.PR_ALGORITHM_ID); } /** * Sets algorithm identifier * * @param id signature algorithm */ public void setAlgorithmId(AlgorithmId id) { put(Constants.PR_ALGORITHM_ID, id); } /** * Retrieves serial number. * * @return serial number */ public BigInteger getSerialNumber() { return (BigInteger) get("serialno"); } /** * Sets serial number. * * @param num serial number */ public void setSerialNumber(BigInteger num) { put("serialno", num); } /** * Retrieves configuration file. * * @return configuration file */ public IConfigStore getConfigFile() { return (IConfigStore) (get("cmsFile")); } /** * Sets configuration file. * * @param file configuration file */ public void setConfigFile(IConfigStore file) { put("cmsFile", file); } /** * Retrieves begining year of validity. * * @return begining year */ public String getBeginYear() { return (String) get(Constants.PR_BEGIN_YEAR); } /** * Sets begining year of validity. * * @param year begining year */ public void setBeginYear(String year) { put(Constants.PR_BEGIN_YEAR, year); } /** * Retrieves ending year of validity. * * @return ending year */ public String getAfterYear() { return (String) get(Constants.PR_AFTER_YEAR); } /** * Sets ending year of validity. * * @param year ending year */ public void setAfterYear(String year) { put(Constants.PR_AFTER_YEAR, year); } /** * Retrieves begining month of validity. * * @return begining month */ public String getBeginMonth() { return (String) get(Constants.PR_BEGIN_MONTH); } /** * Sets begining month of validity. * * @param month begining month */ public void setBeginMonth(String month) { put(Constants.PR_BEGIN_MONTH, month); } /** * Retrieves ending month of validity. * * @return ending month */ public String getAfterMonth() { return (String) get(Constants.PR_AFTER_MONTH); } /** * Sets ending month of validity. * * @param month ending month */ public void setAfterMonth(String month) { put(Constants.PR_AFTER_MONTH, month); } /** * Retrieves begining date of validity. * * @return begining date */ public String getBeginDate() { return (String) get(Constants.PR_BEGIN_DATE); } /** * Sets begining date of validity. * * @param date begining date */ public void setBeginDate(String date) { put(Constants.PR_BEGIN_DATE, date); } /** * Retrieves ending date of validity. * * @return ending date */ public String getAfterDate() { return (String) get(Constants.PR_AFTER_DATE); } /** * Sets ending date of validity. * * @param date ending date */ public void setAfterDate(String date) { put(Constants.PR_AFTER_DATE, date); } /** * Retrieves starting hour of validity. * * @return starting hour */ public String getBeginHour() { return (String) get(Constants.PR_BEGIN_HOUR); } /** * Sets starting hour of validity. * * @param hour starting hour */ public void setBeginHour(String hour) { put(Constants.PR_BEGIN_HOUR, hour); } /** * Retrieves ending hour of validity. * * @return ending hour */ public String getAfterHour() { return (String) get(Constants.PR_AFTER_HOUR); } /** * Sets ending hour of validity. * * @param hour ending hour */ public void setAfterHour(String hour) { put(Constants.PR_AFTER_HOUR, hour); } /** * Retrieves starting minute of validity. * * @return starting minute */ public String getBeginMin() { return (String) get(Constants.PR_BEGIN_MIN); } /** * Sets starting minute of validity. * * @param min starting minute */ public void setBeginMin(String min) { put(Constants.PR_BEGIN_MIN, min); } /** * Retrieves ending minute of validity. * * @return ending minute */ public String getAfterMin() { return (String) get(Constants.PR_AFTER_MIN); } /** * Sets ending minute of validity. * * @param min ending minute */ public void setAfterMin(String min) { put(Constants.PR_AFTER_MIN, min); } /** * Retrieves starting second of validity. * * @return starting second */ public String getBeginSec() { return (String) get(Constants.PR_BEGIN_SEC); } /** * Sets starting second of validity. * * @param sec starting second */ public void setBeginSec(String sec) { put(Constants.PR_BEGIN_SEC, sec); } /** * Retrieves ending second of validity. * * @return ending second */ public String getAfterSec() { return (String) get(Constants.PR_AFTER_SEC); } /** * Sets ending second of validity. * * @param sec ending second */ public void setAfterSec(String sec) { put(Constants.PR_AFTER_SEC, sec); } /** * Retrieves CA key pair * * @return CA key pair */ public KeyPair getCAKeyPair() { return (KeyPair) get(Constants.PR_CA_KEYPAIR); } /** * Sets CA key pair * * @param keypair key pair */ public void setCAKeyPair(KeyPair keypair) { put(Constants.PR_CA_KEYPAIR, keypair); } /** * Retrieves extensions * * @return extensions */ public String getDerExtension() { return (String) get(Constants.PR_DER_EXTENSION); } /** * Sets extensions * * @param ext extensions */ public void setDerExtension(String ext) { put(Constants.PR_DER_EXTENSION, ext); } /** * Retrieves isCA * * @return "true" if it is CA */ public String isCA() { return (String) get(Constants.PR_IS_CA); } /** * Sets isCA * * @param ext "true" if it is CA */ public void setCA(String ext) { put(Constants.PR_IS_CA, ext); } /** * Retrieves key length * * @return certificate's key length */ public String getCertLen() { return (String) get(Constants.PR_CERT_LEN); } /** * Sets key length * * @param len certificate's key length */ public void setCertLen(String len) { put(Constants.PR_CERT_LEN, len); } /** * Retrieves SSL Client bit * * @return SSL Client bit */ public String getSSLClientBit() { return (String) get(Constants.PR_SSL_CLIENT_BIT); } /** * Sets SSL Client bit * * @param sslClientBit SSL Client bit */ public void setSSLClientBit(String sslClientBit) { put(Constants.PR_SSL_CLIENT_BIT, sslClientBit); } /** * Retrieves SSL Server bit * * @return SSL Server bit */ public String getSSLServerBit() { return (String) get(Constants.PR_SSL_SERVER_BIT); } /** * Sets SSL Server bit * * @param sslServerBit SSL Server bit */ public void setSSLServerBit(String sslServerBit) { put(Constants.PR_SSL_SERVER_BIT, sslServerBit); } /** * Retrieves SSL Mail bit * * @return SSL Mail bit */ public String getSSLMailBit() { return (String) get(Constants.PR_SSL_MAIL_BIT); } /** * Sets SSL Mail bit * * @param sslMailBit SSL Mail bit */ public void setSSLMailBit(String sslMailBit) { put(Constants.PR_SSL_MAIL_BIT, sslMailBit); } /** * Retrieves SSL CA bit * * @return SSL CA bit */ public String getSSLCABit() { return (String) get(Constants.PR_SSL_CA_BIT); } /** * Sets SSL CA bit * * @param cabit SSL CA bit */ public void setSSLCABit(String cabit) { put(Constants.PR_SSL_CA_BIT, cabit); } /** * Retrieves SSL Signing bit * * @return SSL Signing bit */ public String getObjectSigningBit() { return (String) get(Constants.PR_OBJECT_SIGNING_BIT); } /** * Retrieves Time Stamping bit * * @return Time Stamping bit */ public String getTimeStampingBit() { return (String) get(Constants.PR_TIMESTAMPING_BIT); } /** * Sets SSL Signing bit * * @param objectSigningBit SSL Signing bit */ public void setObjectSigningBit(String objectSigningBit) { put(Constants.PR_OBJECT_SIGNING_BIT, objectSigningBit); } /** * Retrieves SSL Mail CA bit * * @return SSL Mail CA bit */ public String getMailCABit() { return (String) get(Constants.PR_MAIL_CA_BIT); } /** * Sets SSL Mail CA bit * * @param mailCABit SSL Mail CA bit */ public void setMailCABit(String mailCABit) { put(Constants.PR_MAIL_CA_BIT, mailCABit); } /** * Retrieves SSL Object Signing bit * * @return SSL Object Signing bit */ public String getObjectSigningCABit() { return (String) get(Constants.PR_OBJECT_SIGNING_CA_BIT); } /** * Sets SSL Object Signing bit * * @param bit SSL Object Signing bit */ public void setObjectSigningCABit(String bit) { put(Constants.PR_OBJECT_SIGNING_CA_BIT, bit); } /** * Retrieves OCSP Signing flag * * @return OCSP Signing flag */ public String getOCSPSigning() { return (String) get(Constants.PR_OCSP_SIGNING); } /** * Sets OCSP Signing flag * * @param aki OCSP Signing flag */ public void setOCSPSigning(String aki) { put(Constants.PR_OCSP_SIGNING, aki); } /** * Retrieves OCSP No Check flag * * @return OCSP No Check flag */ public String getOCSPNoCheck() { return (String) get(Constants.PR_OCSP_NOCHECK); } /** * Sets OCSP No Check flag * * @param noCheck OCSP No Check flag */ public void setOCSPNoCheck(String noCheck) { put(Constants.PR_OCSP_NOCHECK, noCheck); } /** * Retrieves Authority Information Access flag * * @return Authority Information Access flag */ public String getAIA() { return (String) get(Constants.PR_AIA); } /** * Sets Authority Information Access flag * * @param aia Authority Information Access flag */ public void setAIA(String aia) { put(Constants.PR_AIA, aia); } /** * Retrieves Authority Key Identifier flag * * @return Authority Key Identifier flag */ public String getAKI() { return (String) get(Constants.PR_AKI); } /** * Sets Authority Key Identifier flag * * @param aki Authority Key Identifier flag */ public void setAKI(String aki) { put(Constants.PR_AKI, aki); } /** * Retrieves Subject Key Identifier flag * * @return Subject Key Identifier flag */ public String getSKI() { return (String) get(Constants.PR_SKI); } /** * Sets Subject Key Identifier flag * * @param ski Subject Key Identifier flag */ public void setSKI(String ski) { put(Constants.PR_SKI, ski); } /** * Retrieves key usage extension * * @return true if key usage extension set */ public boolean getKeyUsageExtension() { String str = (String) get(Constants.PR_KEY_USAGE); if (str == null || str.equals(ConfigConstants.FALSE)) return false; return true; } /** * Sets CA extensions * * @param ext CA extensions */ public void setCAExtensions(CertificateExtensions ext) { put("CAEXTENSIONS", ext); } /** * Retrieves CA extensions * * @return CA extensions */ public CertificateExtensions getCAExtensions() { return (CertificateExtensions) get("CAEXTENSIONS"); } /** * Retrieves hash type * * @return hash type */ public String getHashType() { return (String) get(ConfigConstants.PR_HASH_TYPE); } }