package at.gv.egovernment.moa.id.iaik.config; import java.io.File; import at.gv.egovernment.moa.id.config.ConfigurationException; import at.gv.egovernment.moa.id.config.ConfigurationProvider; import at.gv.egovernment.moa.id.iaik.servertools.observer.ObservableImpl; import iaik.pki.store.certstore.CertStoreConfiguration; import iaik.pki.store.certstore.CertStoreParameters; import iaik.pki.store.certstore.CertStoreTypes; import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters; /** * Implementation of interface needed to initialize an IAIK JSSE TrustManager * @author Paul Ivancsics * @version $Id$ */ public class CertStoreConfigurationImpl extends ObservableImpl implements CertStoreConfiguration, DirectoryCertStoreParameters { /** identifies the rootDirectory */ private String rootDirectory; /** Array for storing all CertStoreParameters */ private CertStoreParameters[] parameters; /** * Create a new CertStoreConfigurationImpl. * * @param conf The MOA configuration from which the configuration data is * @throws ConfigurationException an any config-error * being read. */ public CertStoreConfigurationImpl(ConfigurationProvider conf) throws ConfigurationException { String paramName = ConfigurationProvider.DIRECTORY_CERTSTORE_PARAMETER_PROPERTY; String rootDirParam = conf.getGenericConfigurationParameter(paramName); if (rootDirParam == null) throw new ConfigurationException( "config.08", new Object[] {paramName}); File f = new File(rootDirParam); if (f.isDirectory()) rootDirectory = f.getAbsolutePath(); else throw new ConfigurationException( "config.05", new Object[] {paramName}); parameters = new CertStoreParameters[] { this }; } /** * @see iaik.pki.store.certstore.CertStoreConfiguration#getParameters() */ public CertStoreParameters[] getParameters() { return parameters; } /** * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#getRootDirectory() */ public String getRootDirectory() { return rootDirectory; } /** * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#createNew() */ public boolean createNew() { return false; } /** * @see iaik.pki.store.certstore.CertStoreParameters#getId() */ public String getId() { return "MOA ID Directory CertStore"; } /** * @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly() */ public boolean isReadOnly() { return false; } /** * @return CertStoreTypes.DIRECTORY * @see iaik.pki.store.certstore.CertStoreParameters#getType() */ public String getType() { return CertStoreTypes.DIRECTORY; } }