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 CertificateAuthorityCreationPolicy { private String subject; private int keySize; private Lifetime lifetime; public CertificateAuthorityCreationPolicy(String subject, int keySize, Lifetime lifetime) throws DorianInternalFault { if (Utils.clean(subject) == null) { DorianInternalFault f = new DorianInternalFault(); f.setFaultString("Could not initialize CA, invalid subject specified."); throw f; } this.subject = subject; if (KeySizeValidator.isKeySizeValid(keySize)) { this.keySize = keySize; } else { DorianInternalFault f = new DorianInternalFault(); f.setFaultString("Could not initialize CA, invalid key size specified."); throw f; } if (lifetime == null) { DorianInternalFault f = new DorianInternalFault(); f.setFaultString("Could not initialize CA, invalid lifetime specified."); throw f; } this.lifetime = lifetime; } public String getSubject() { return subject; } public int getKeySize() { return keySize; } public Lifetime getLifetime() { return lifetime; } }