package org.cagrid.gaards.dorian.ca; import gov.nih.nci.cagrid.common.Utils; import org.cagrid.gaards.dorian.common.Lifetime; import org.cagrid.gaards.dorian.stubs.types.DorianInternalFault; public class CertificateAuthorityProperties { private String policyOID; private int issuedCertificateKeySize; private Lifetime renewalLifetime; private boolean autoRenewCA; private boolean autoCreateCA; private String certificateAuthorityPassword; private CertificateAuthorityCreationPolicy creationPolicy; public CertificateAuthorityProperties(String certificateAuthorityPassword, int issuedCertificateKeySize) throws DorianInternalFault { this(certificateAuthorityPassword, null, issuedCertificateKeySize, false, null, false, null); } public CertificateAuthorityProperties(String certificateAuthorityPassword, String policyOID, int issuedCertificateKeySize) throws DorianInternalFault { this(certificateAuthorityPassword, policyOID, issuedCertificateKeySize, false, null, false, null); } public CertificateAuthorityProperties(String certificateAuthorityPassword, String policyOID, int issuedCertificateKeySize, boolean autoCreate, CertificateAuthorityCreationPolicy creationPolicy, boolean autoRenew, Lifetime renewalLifetime) throws DorianInternalFault { this.certificateAuthorityPassword = certificateAuthorityPassword; this.policyOID = Utils.clean(policyOID); if (KeySizeValidator.isKeySizeValid(issuedCertificateKeySize)) { this.issuedCertificateKeySize = issuedCertificateKeySize; } else { DorianInternalFault f = new DorianInternalFault(); f.setFaultString("Could not initialize CA, invalid key size specified."); throw f; } this.autoCreateCA = autoCreate; if ((this.autoCreateCA) && (creationPolicy == null)) { DorianInternalFault f = new DorianInternalFault(); f .setFaultString("Could not initialize CA, auto creation is enabled however no creation policy was specified."); throw f; } else { this.creationPolicy = creationPolicy; } this.autoRenewCA = autoRenew; if ((this.autoRenewCA) && (renewalLifetime == null)) { DorianInternalFault f = new DorianInternalFault(); f .setFaultString("Could not initialize CA, auto renewal is enabled however no renewal lifetime was specified."); throw f; } else { this.renewalLifetime = renewalLifetime; } } public String getPolicyOID() { return policyOID; } public int getIssuedCertificateKeySize() { return issuedCertificateKeySize; } public Lifetime getRenewalLifetime() { return renewalLifetime; } public boolean isAutoRenewCAEnabled() { return autoRenewCA; } public boolean isAutoCreateCAEnabled() { return autoCreateCA; } public CertificateAuthorityCreationPolicy getCreationPolicy() { return creationPolicy; } public String getCertificateAuthorityPassword() { return certificateAuthorityPassword; } public void setPolicyOID(String policyOID) { this.policyOID = policyOID; } public void setIssuedCertificateKeySize(int issuedCertificateKeySize) { this.issuedCertificateKeySize = issuedCertificateKeySize; } public void setRenewalLifetime(Lifetime renewalLifetime) { this.renewalLifetime = renewalLifetime; } public void setAutoRenewCA(boolean autoRenewCA) { this.autoRenewCA = autoRenewCA; } public void setAutoCreateCA(boolean autoCreateCA) { this.autoCreateCA = autoCreateCA; } public void setCertificateAuthorityPassword(String certificateAuthorityPassword) { this.certificateAuthorityPassword = certificateAuthorityPassword; } public void setCreationPolicy(CertificateAuthorityCreationPolicy creationPolicy) { this.creationPolicy = creationPolicy; } }