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;
}
}