package at.gv.egovernment.moa.spss.server.iaik.pki.revocation; import java.security.cert.X509Certificate; import iaik.pki.revocation.RevocationProfile; import iaik.pki.revocation.RevocationSourceTypes; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; /** * An implementation of the RevocationProfile interface providing * information about revocation status checking, based on MOA configuration * data. * * @author Patrick Peck * @version $Id$ */ public class RevocationProfileImpl implements RevocationProfile { /** The default service order. */ private static final String[] DEFAULT_SERVICE_ORDER = { RevocationSourceTypes.CRL }; /** The ConfigurationProvider to read the MOA configuration data * from. */ private ConfigurationProvider config; /** The OCSP request hash algorithm. */ private String oCSPRequestHashAlgorithm; /** * Create a new RevocationProfileImpl. * * @param config The MOA configuration data. */ public RevocationProfileImpl(ConfigurationProvider config) { this.config = config; this.oCSPRequestHashAlgorithm = ""; } /** * @see iaik.pki.revocation.RevocationProfile#getMaxRevocationAge(String) */ public long getMaxRevocationAge(String distributionPointUri) { String maxRevocationAgeStr = config.getGenericConfiguration( ConfigurationProvider.MAX_REVOCATION_AGE_PROPERTY, "0"); long revocationAge = Long.parseLong(maxRevocationAgeStr); return revocationAge; } /** * @see iaik.pki.revocation.RevocationProfile#getOCSPRequestHashAlgorithm() */ public String getOCSPRequestHashAlgorithm() { return oCSPRequestHashAlgorithm; } /** * @see iaik.pki.revocation.RevocationProfile#getPreferredServiceOrder(java.security.cert.X509Certificate) */ public String[] getPreferredServiceOrder(X509Certificate cert) { return DEFAULT_SERVICE_ORDER; } }