aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config')
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java16
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java12
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java87
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java104
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java89
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java64
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java8
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java49
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java25
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java21
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java172
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java12
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java131
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java143
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java32
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java22
16 files changed, 507 insertions, 480 deletions
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java
index 90e6793..1cd4b64 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java
@@ -21,7 +21,6 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import iaik.server.modules.keys.KeyModuleConfiguration;
@@ -29,22 +28,22 @@ import iaik.server.modules.keys.KeyModuleConfiguration;
/**
* Base implementation class for the <code>KeyModuleConfiguration</code>
* interface and the interfaces derived from it.
- *
+ *
* @see iaik.server.modules.keys.KeyModuleConfiguration
* @author Patrick Peck
* @version $Id$
*/
public abstract class AbstractKeyModuleConfigurationImpl
- implements KeyModuleConfiguration {
+ implements KeyModuleConfiguration {
+
+ /** The module ID. */
+ private final String moduleID;
- /** The module ID. */
- private String moduleID;
-
/**
* Creata new <code>AbstractKeyModuleConfigurationImpl</code>.
- *
+ *
* @param moduleID The key module ID of this
- * <code>KeyModuleConfiguration</code>.
+ * <code>KeyModuleConfiguration</code>.
*/
public AbstractKeyModuleConfigurationImpl(String moduleID) {
this.moduleID = moduleID;
@@ -53,6 +52,7 @@ public abstract class AbstractKeyModuleConfigurationImpl
/**
* @see iaik.server.modules.keys.KeyModuleConfiguration#getModuleID()
*/
+ @Override
public String getModuleID() {
return moduleID;
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java
index e2d828b..a9dfe2d 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java
@@ -21,7 +21,6 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import java.util.ArrayList;
@@ -34,18 +33,19 @@ import iaik.pki.store.observer.Observer;
/**
* A base class for observable configuration data.
- *
+ *
* @author Patrick Peck
* @version $Id$
*/
public abstract class AbstractObservableConfiguration implements Observable {
/** The observers registered with this <code>Observable</code>. */
- private List observers = new ArrayList();
+ private final List observers = new ArrayList();
/**
* @see iaik.pki.store.observer.Observable#addObserver(iaik.pki.store.observer.Observer)
*/
+ @Override
public void addObserver(Observer observer) {
observers.add(observer);
}
@@ -53,6 +53,7 @@ public abstract class AbstractObservableConfiguration implements Observable {
/**
* @see iaik.pki.store.observer.Observable#removeObserver(iaik.pki.store.observer.Observer)
*/
+ @Override
public boolean removeObserver(Observer observer) {
return observers.remove(observer);
}
@@ -60,13 +61,14 @@ public abstract class AbstractObservableConfiguration implements Observable {
/**
* @see iaik.pki.store.observer.Observable#notify(iaik.pki.store.observer.NotificationData)
*/
+ @Override
public void notify(NotificationData data) {
Iterator iter = observers.iterator();
for (iter = observers.iterator(); iter.hasNext();) {
- Observer observer = (Observer) iter.next();
+ final Observer observer = (Observer) iter.next();
observer.notify(data);
}
}
-
+
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java
index 4a300a2..ff9927b 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java
@@ -21,76 +21,68 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
-import iaik.pki.store.revocation.archive.ArchiveConfiguration;
-import iaik.pki.store.revocation.archive.ArchiveParameters;
-import iaik.pki.store.revocation.archive.ArchiveTypes;
-
import java.sql.Driver;
import java.sql.DriverManager;
import java.util.Enumeration;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
+import iaik.pki.store.revocation.archive.ArchiveConfiguration;
+import iaik.pki.store.revocation.archive.ArchiveParameters;
+import iaik.pki.store.revocation.archive.ArchiveTypes;
/**
- * An implementation of the <code>ArchiveConfiguration</code> interface
- * using configuration data provided by the MOA configuration file.
- *
+ * An implementation of the <code>ArchiveConfiguration</code> interface using
+ * configuration data provided by the MOA configuration file.
+ *
* @see iaik.pki.store.revocation.archive.ArchiveConfiguration
* @author Patrick Peck
* @version $Id$
*/
public class ArchiveConfigurationImpl
- extends AbstractObservableConfiguration
- implements ArchiveConfiguration {
-
+ extends AbstractObservableConfiguration
+ implements ArchiveConfiguration {
+
/** The configuration parameters of the archive. */
- private ArchiveParameters archiveParameters;
+ private final ArchiveParameters archiveParameters;
/**
* Create a new <code>ArchiveConfigurationImpl</code>.
- *
- * @param config The MOA configuration from which the configuration data is being read.
+ *
+ * @param config The MOA configuration from which the configuration data is
+ * being read.
*/
- public ArchiveConfigurationImpl(ConfigurationProvider config)
- {
- String jdbcUrl = config.getRevocationArchiveJDBCURL();
+ public ArchiveConfigurationImpl(ConfigurationProvider config) {
+ final String jdbcUrl = config.getRevocationArchiveJDBCURL();
this.archiveParameters = new DataBaseArchiveParameterImpl(jdbcUrl);
-
- // Register JDBC driver class
- if (jdbcUrl != null)
- {
- String jdbcDriverClass = config.getRevocationArchiveJDBCDriverClass();
- try
- {
+
+ // Register JDBC driver class
+ if (jdbcUrl != null) {
+ final String jdbcDriverClass = config.getRevocationArchiveJDBCDriverClass();
+ try {
Class.forName(jdbcDriverClass);
- }
- catch (ClassNotFoundException e)
- {
+ } catch (final ClassNotFoundException e) {
// TODO 20030709 GK Improve exception handling
- throw new RuntimeException("JDBC driver class \"" + jdbcDriverClass + " could not be found.");
+ throw new RuntimeException("JDBC driver class \"" + jdbcDriverClass + " could not be found.");
}
-
- Enumeration regDrivers = DriverManager.getDrivers();
+
+ final Enumeration regDrivers = DriverManager.getDrivers();
boolean isRegistered = false;
- while (regDrivers.hasMoreElements())
- {
- Object currentDriver = regDrivers.nextElement();
- if (jdbcDriverClass.equals(currentDriver.getClass().getName())) isRegistered = true;
- }
- if (!isRegistered)
- {
- // Workaround for a driver which does not register itselve at invocation of Class.forName(drvname)
- try
- {
- DriverManager.registerDriver((Driver)Class.forName(jdbcDriverClass).newInstance());
+ while (regDrivers.hasMoreElements()) {
+ final Object currentDriver = regDrivers.nextElement();
+ if (jdbcDriverClass.equals(currentDriver.getClass().getName())) {
+ isRegistered = true;
}
- catch (Exception e)
- {
+ }
+ if (!isRegistered) {
+ // Workaround for a driver which does not register itselve at invocation of
+ // Class.forName(drvname)
+ try {
+ DriverManager.registerDriver((Driver) Class.forName(jdbcDriverClass).newInstance());
+ } catch (final Exception e) {
// TODO 20030709 GK Improve exception handling
- throw new RuntimeException("Registering JDBC driver \"" + jdbcDriverClass + " failed.");
+ throw new RuntimeException("Registering JDBC driver \"" + jdbcDriverClass + " failed.");
}
}
}
@@ -98,11 +90,13 @@ public class ArchiveConfigurationImpl
/**
* Return the type of archive.
- *
+ *
* This will always return <code>ArchiveTypes.DATABASE</code>.
+ *
* @return <code>ArchiveTypes.DATABASE</code>.
* @see iaik.pki.store.revocation.archive.ArchiveConfiguration#getType()
*/
+ @Override
public String getType() {
return ArchiveTypes.DATABASE;
}
@@ -110,10 +104,11 @@ public class ArchiveConfigurationImpl
/**
* Return the <code>ArchiveParameters</code> describing this
* <code>ArchiveConfiguration</code>.
- *
+ *
* @return The archive parameters.
* @see iaik.pki.store.revocation.archive.ArchiveConfiguration#getArchiveParameters()
*/
+ @Override
public ArchiveParameters getArchiveParameters() {
return archiveParameters;
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java
index d752a63..d1b776b 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java
@@ -23,13 +23,6 @@
package at.gv.egovernment.moa.spss.server.iaik.config;
-import iaik.logging.TransactionId;
-import iaik.pki.revocation.RevocationSourceTypes;
-import iaik.pki.store.revocation.RevocationInfoRetriever;
-import iaik.pki.store.revocation.RevocationSource;
-import iaik.pki.store.revocation.RevocationStoreException;
-import iaik.pki.ldap.Handler;
-
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
@@ -39,6 +32,12 @@ import java.util.Collection;
import java.util.Date;
import at.gv.egovernment.moaspss.logging.Logger;
+import iaik.logging.TransactionId;
+import iaik.pki.ldap.Handler;
+import iaik.pki.revocation.RevocationSourceTypes;
+import iaik.pki.store.revocation.RevocationInfoRetriever;
+import iaik.pki.store.revocation.RevocationSource;
+import iaik.pki.store.revocation.RevocationStoreException;
/**
* A customized implementation of
@@ -47,55 +46,56 @@ import at.gv.egovernment.moaspss.logging.Logger;
* {@link iaik.pki.store.revocation.CRLRetriever} to overcome a classloader
* problem in connection with the {@link java.net.URL} class in a Tomcat
* deployment environment.
- *
+ *
* @author Gregor Karlinger
* @version $$
*/
public class CRLRetriever implements RevocationInfoRetriever {
-
- private int connectTimeout = 5;
- private int readTimeout = 5;
-
-
- public void update(RevocationSource source, Collection supplementalRequestData, TransactionId tid)
- throws RevocationStoreException {
- if (source == null) {
- throw new NullPointerException("RevocationSource parameter mustn't be null.");
- }
- Logger.info("Downloading crl from " + source.getUri());
- if (!source.getType().equals(RevocationSourceTypes.CRL)) {
- throw new RevocationStoreException(source.getType() + " not supported", null, getClass().getName() + ":1");
- }
- try {
- URL crlUrl;
- try {
- crlUrl = new URL(source.getUri());
- } catch (MalformedURLException e) {
- // Workaround for classloader problem with deployment in Tomcat
- // 4.1
- URLStreamHandler handler = new Handler();
- crlUrl = new URL(null, source.getUri(), handler);
- }
- URLConnection con = crlUrl.openConnection();
- con.setConnectTimeout(connectTimeout);
- con.setReadTimeout(readTimeout);
- InputStream crlInputStream = con.getInputStream();
- source.readFrom(crlInputStream, tid);
- source.setDownloadTime(new Date());
- crlInputStream.close();
- } catch (Exception iox) {
- Logger.warn("Cannot retrieve crl", iox);
- throw new RevocationStoreException("Cannot retrieve CRL", iox, getClass().getName() + ":1");
- }
- }
- @Override
- public void setConnectTimeout(int arg0) {
- this.connectTimeout = arg0;
- }
+ private int connectTimeout = 5;
+ private int readTimeout = 5;
+
+ @Override
+ public void update(RevocationSource source, Collection supplementalRequestData, TransactionId tid)
+ throws RevocationStoreException {
+ if (source == null) {
+ throw new NullPointerException("RevocationSource parameter mustn't be null.");
+ }
+ Logger.info("Downloading crl from " + source.getUri());
+ if (!source.getType().equals(RevocationSourceTypes.CRL)) {
+ throw new RevocationStoreException(source.getType() + " not supported", null, getClass().getName()
+ + ":1");
+ }
+ try {
+ URL crlUrl;
+ try {
+ crlUrl = new URL(source.getUri());
+ } catch (final MalformedURLException e) {
+ // Workaround for classloader problem with deployment in Tomcat
+ // 4.1
+ final URLStreamHandler handler = new Handler();
+ crlUrl = new URL(null, source.getUri(), handler);
+ }
+ final URLConnection con = crlUrl.openConnection();
+ con.setConnectTimeout(connectTimeout);
+ con.setReadTimeout(readTimeout);
+ final InputStream crlInputStream = con.getInputStream();
+ source.readFrom(crlInputStream, tid);
+ source.setDownloadTime(new Date());
+ crlInputStream.close();
+ } catch (final Exception iox) {
+ Logger.warn("Cannot retrieve crl", iox);
+ throw new RevocationStoreException("Cannot retrieve CRL", iox, getClass().getName() + ":1");
+ }
+ }
+
+ @Override
+ public void setConnectTimeout(int arg0) {
+ this.connectTimeout = arg0;
+ }
- @Override
- public void setReadTimeout(int arg0) {
- this.readTimeout = arg0;
- }
+ @Override
+ public void setReadTimeout(int arg0) {
+ this.readTimeout = arg0;
+ }
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java
index 1aa5f6a..052a3c5 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java
@@ -23,74 +23,71 @@
package at.gv.egovernment.moa.spss.server.iaik.config;
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import at.gv.egovernment.moa.sig.tsl.exception.TslException;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
-import at.gv.egovernment.moa.spss.server.logging.IaikLog;
-import at.gv.egovernment.moa.spss.server.logging.TransactionId;
import at.gv.egovernment.moa.spss.tsl.TSLServiceFactory;
-import iaik.logging.Log;
import iaik.pki.store.certstore.CertStoreConfiguration;
import iaik.pki.store.certstore.CertStoreParameters;
import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters;
-import iaik.pki.store.certstore.directory.DirectoryStoreException;
-import iaik.pki.store.certstore.utils.DirectoryCertStoreConverter;
/**
* An implementation of the <code>CertStoreConfiguration</code> interface based
* on MOA configuration data.
- *
+ *
* @see iaik.pki.store.certstore.CertStoreConfiguration
* @author Patrick Peck
* @version $Id$
*/
-public class CertStoreConfigurationImpl extends AbstractObservableConfiguration implements CertStoreConfiguration {
+public class CertStoreConfigurationImpl extends AbstractObservableConfiguration implements
+ CertStoreConfiguration {
+
+ private static final Logger logger = LoggerFactory.getLogger(CertStoreConfigurationImpl.class);
+
+ /** The configuration parameters of the <code>CertStore</code>. */
+ private CertStoreParameters[] parameters;
+
+ /**
+ * Create a new <code>CertStoreConfigurationImpl</code>.
+ *
+ * @param config The MOA configuration from which the configuration data is
+ * being read.
+ */
+ public CertStoreConfigurationImpl(ConfigurationProvider config) {
+ final String certStoreRoot = config.getCertStoreLocation();
+
+ final DirectoryCertStoreParameters dirParameters = new DirectoryCertStoreParametersImpl(
+ "MOA Directory CertStore",
+ certStoreRoot, true, false);
- private static final Logger logger = LoggerFactory.getLogger(CertStoreConfigurationImpl.class);
+ if (TSLServiceFactory.isInitialized()) {
+ try {
+ final CertStoreParameters tslCertStore = TSLServiceFactory.getTSLServiceClient()
+ .getCertStoreWithTSLCertificates();
+ parameters = new CertStoreParameters[] { dirParameters, tslCertStore };
- /** The configuration parameters of the <code>CertStore</code>. */
- private CertStoreParameters[] parameters;
+ } catch (final TslException e) {
+ logger.warn("TSL based CertStore initialisation FAILED.", e);
+ logger.warn("Only Directory based CertStore is used ... ");
+ parameters = new CertStoreParameters[] { dirParameters };
+ }
- /**
- * Create a new <code>CertStoreConfigurationImpl</code>.
- *
- * @param config
- * The MOA configuration from which the configuration data is
- * being read.
- */
- public CertStoreConfigurationImpl(ConfigurationProvider config) {
- String certStoreRoot = config.getCertStoreLocation();
+ } else {
+ logger.info("Trust-Status List support is not active. Use only Directory based CertStore.");
+ parameters = new CertStoreParameters[] { dirParameters };
- DirectoryCertStoreParameters dirParameters = new DirectoryCertStoreParametersImpl("MOA Directory CertStore",
- certStoreRoot, true, false);
+ }
- if (TSLServiceFactory.isInitialized()) {
- try {
- CertStoreParameters tslCertStore = TSLServiceFactory.getTSLServiceClient().getCertStoreWithTSLCertificates();
- parameters = new CertStoreParameters[] { dirParameters, tslCertStore};
-
- } catch (TslException e) {
- logger.warn("TSL based CertStore initialisation FAILED.", e);
- logger.warn("Only Directory based CertStore is used ... ");
- parameters = new CertStoreParameters[] { dirParameters };
- }
-
- } else
- parameters = new CertStoreParameters[] { dirParameters };
-
- }
+ }
- /**
- * @see iaik.pki.store.certstore.CertStoreConfiguration#getParameters()
- */
- public CertStoreParameters[] getParameters() {
- return parameters;
- }
+ /**
+ * @see iaik.pki.store.certstore.CertStoreConfiguration#getParameters()
+ */
+ @Override
+ public CertStoreParameters[] getParameters() {
+ return parameters;
+ }
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java
index dff78d6..891f078 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java
@@ -21,43 +21,41 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import iaik.logging.LoggerConfig;
-import iaik.pki.PKIConfiguration;
-import iaik.server.ConfigurationData;
-
+import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
import at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule;
import at.gv.egovernment.moa.spss.server.config.HardwareKeyModule;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule;
+import iaik.logging.LoggerConfig;
+import iaik.pki.PKIConfiguration;
+import iaik.server.ConfigurationData;
/**
- * An implementation of the <code>ConfigurationData</code> interface using
- * MOA configuration data.
- *
+ * An implementation of the <code>ConfigurationData</code> interface using MOA
+ * configuration data.
+ *
* @see iaik.server.ConfigurationData
* @author Patrick Peck
* @version $Id$
*/
public class ConfigurationDataImpl implements ConfigurationData {
/** PKI configuration data. */
- private PKIConfiguration pkiConfiguration;
+ private final PKIConfiguration pkiConfiguration;
/** Crypto modules configuration data. */
- private List cryptoModuleConfigurations;
+ private final List cryptoModuleConfigurations;
/** Key modules configuration data. */
- private List keyModuleConfigurations;
+ private final List keyModuleConfigurations;
/** Logging configuration data. */
- private LoggerConfig loggerConfig;
+ private final LoggerConfig loggerConfig;
/**
* Create a new <code>ConfigurationDataImpl</code>.
- *
+ *
* @param config The underlying MOA configuration data.
*/
public ConfigurationDataImpl(ConfigurationProvider config) {
@@ -69,54 +67,55 @@ public class ConfigurationDataImpl implements ConfigurationData {
/**
* Build the list of <code>CryptoModuleConfiguration</code>s.
- *
+ *
* @param config The underlying MOA configuration data.
- * @return The list of <code>CryptoModuleConfiguration</code>s configured in
- * the MOA configuration.
+ * @return The list of <code>CryptoModuleConfiguration</code>s configured in the
+ * MOA configuration.
*/
private List buildCryptoModuleConfigurations(ConfigurationProvider config) {
- List modules = new ArrayList();
- Iterator iter = config.getHardwareCryptoModules().iterator();
-
+ final List modules = new ArrayList();
+ final Iterator iter = config.getHardwareCryptoModules().iterator();
+
while (iter.hasNext()) {
- HardwareCryptoModule module = (HardwareCryptoModule) iter.next();
+ final HardwareCryptoModule module = (HardwareCryptoModule) iter.next();
modules.add(new HardwareCryptoModuleConfigurationImpl(module));
}
-
+
return modules;
}
-
+
/**
* Build the list of <code>KeyModuleConfiguration</code>s.
- *
+ *
* @param config The underlying MOA configuration data.
* @return The list of <code>KeyModuleConfiguration</code>s configured in the
- * MOA configuration.
+ * MOA configuration.
*/
private List buildKeyModuleConfigurations(ConfigurationProvider config) {
- List keys = new ArrayList();
+ final List keys = new ArrayList();
Iterator iter;
-
+
// add the hardware keys
iter = config.getHardwareKeyModules().iterator();
while (iter.hasNext()) {
- HardwareKeyModule key = (HardwareKeyModule) iter.next();
+ final HardwareKeyModule key = (HardwareKeyModule) iter.next();
keys.add(new HardwareKeyModuleConfigurationImpl(key));
}
-
+
// add the software keys
iter = config.getSoftwareKeyModules().iterator();
while (iter.hasNext()) {
- SoftwareKeyModule key = (SoftwareKeyModule) iter.next();
+ final SoftwareKeyModule key = (SoftwareKeyModule) iter.next();
keys.add(new SoftwareKeyModuleConfigurationImpl(key));
}
-
+
return keys;
}
/**
* @see iaik.server.ConfigurationData#getPKIConfiguration()
*/
+ @Override
public PKIConfiguration getPKIConfiguration() {
return pkiConfiguration;
}
@@ -124,6 +123,7 @@ public class ConfigurationDataImpl implements ConfigurationData {
/**
* @see iaik.server.ConfigurationData#getCryptoModuleConfigurations()
*/
+ @Override
public List getCryptoModuleConfigurations() {
return cryptoModuleConfigurations;
}
@@ -131,6 +131,7 @@ public class ConfigurationDataImpl implements ConfigurationData {
/**
* @see iaik.server.ConfigurationData#getKeyModuleConfigurations()
*/
+ @Override
public List getKeyModuleConfigurations() {
return keyModuleConfigurations;
}
@@ -138,6 +139,7 @@ public class ConfigurationDataImpl implements ConfigurationData {
/**
* @see iaik.server.ConfigurationData#getLoggerConfig()
*/
+ @Override
public LoggerConfig getLoggerConfig() {
return loggerConfig;
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java
index f4658a2..22cceeb 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java
@@ -21,14 +21,13 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import iaik.pki.store.revocation.archive.DataBaseArchiveParameters;
/**
* An implementation of the <code>DataBaseArchiveParameter</code> interface.
- *
+ *
* @see iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter
* @author Patrick Peck
* @version $Id$
@@ -36,11 +35,11 @@ import iaik.pki.store.revocation.archive.DataBaseArchiveParameters;
public class DataBaseArchiveParameterImpl implements DataBaseArchiveParameters {
/** The JDBC URL for accessing the archive. */
- private String jDBCUrl;
+ private final String jDBCUrl;
/**
* Create a new <code>DataBaseArchiveParameterImpl</code>.
- *
+ *
* @param jDBCUrl The JDBC URL of the archive.
*/
public DataBaseArchiveParameterImpl(String jDBCUrl) {
@@ -50,6 +49,7 @@ public class DataBaseArchiveParameterImpl implements DataBaseArchiveParameters {
/**
* @see iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter#getJDBCUrl()
*/
+ @Override
public String getJDBCUrl() {
return jDBCUrl;
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java
index 39da9cf..e48c7e7 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java
@@ -21,50 +21,48 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import java.util.Collections;
import java.util.Set;
-import iaik.pki.store.certstore.CertStoreParameters;
import iaik.pki.store.certstore.CertStoreTypes;
import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters;
/**
* An implementation of the <code>DirectoryCertStoreParameters</code> interface.
- *
+ *
* @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters
* @author Patrick Peck
* @version $Id$
*/
public class DirectoryCertStoreParametersImpl
- implements DirectoryCertStoreParameters {
+ implements DirectoryCertStoreParameters {
/** The root directory of the <code>CertStore</code>. */
- private String rootDirectory;
+ private final String rootDirectory;
/** Whether a new directory may be created. */
- private boolean createNew;
+ private final boolean createNew;
/** The <code>CertStore</code> ID. */
- private String id;
+ private final String id;
/** Whether the <code>CertStore</code> is read-only. */
- private boolean readOnly;
+ private final boolean readOnly;
/**
* Create a new <code>DirectoryCertStoreParameterImpl</code>.
- *
- * @param id The <code>CertStore</code> ID.
+ *
+ * @param id The <code>CertStore</code> ID.
* @param rootDirectory The root directory of the <code>CertStore</code>.
- * @param createNew Whether a new directory may be created.
- * @param readOnly Whether the <code>CertStore</code> is read-only.
+ * @param createNew Whether a new directory may be created.
+ * @param readOnly Whether the <code>CertStore</code> is read-only.
*/
public DirectoryCertStoreParametersImpl(
- String id,
- String rootDirectory,
- boolean createNew,
- boolean readOnly) {
-
- this.id = id;
+ String id,
+ String rootDirectory,
+ boolean createNew,
+ boolean readOnly) {
+
+ this.id = id;
this.rootDirectory = rootDirectory;
this.createNew = createNew;
this.readOnly = readOnly;
@@ -73,6 +71,7 @@ public class DirectoryCertStoreParametersImpl
/**
* @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#getRootDirectory()
*/
+ @Override
public String getRootDirectory() {
return rootDirectory;
}
@@ -80,6 +79,7 @@ public class DirectoryCertStoreParametersImpl
/**
* @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#createNew()
*/
+ @Override
public boolean createNew() {
return createNew;
}
@@ -87,6 +87,7 @@ public class DirectoryCertStoreParametersImpl
/**
* @see iaik.pki.store.certstore.CertStoreParameters#getId()
*/
+ @Override
public String getId() {
return id;
}
@@ -94,6 +95,7 @@ public class DirectoryCertStoreParametersImpl
/**
* @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly()
*/
+ @Override
public boolean isReadOnly() {
return readOnly;
}
@@ -102,14 +104,15 @@ public class DirectoryCertStoreParametersImpl
* @return <code>CertStoreTypes.DIRECTORY</code>
* @see iaik.pki.store.certstore.CertStoreParameters#getType()
*/
+ @Override
public String getType() {
return CertStoreTypes.DIRECTORY;
}
-@Override
-public Set getVirtualStores() {
- // TODO AFITZEK IMPLEMENT THIS METHOD
- return Collections.EMPTY_SET;
-}
+ @Override
+ public Set getVirtualStores() {
+ // TODO AFITZEK IMPLEMENT THIS METHOD
+ return Collections.EMPTY_SET;
+ }
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java
index c9904c5..6275e08 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java
@@ -21,32 +21,30 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
-import iaik.server.modules.crypto.HardwareCryptoModuleConfiguration;
-
import at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule;
+import iaik.server.modules.crypto.HardwareCryptoModuleConfiguration;
/**
* An implementation of the <code>HardwareCryptoModuleConfiguration</code>
* wrapping a <code>HardwareCryptoModule</code> from the MOA configuration.
- *
+ *
* @author Patrick Peck
* @version $Id$
*/
public class HardwareCryptoModuleConfigurationImpl
- implements HardwareCryptoModuleConfiguration {
-
- /** The wrapped <code>HardwareCryptoModule</code>. */
- private HardwareCryptoModule module;
-
+ implements HardwareCryptoModuleConfiguration {
+
+ /** The wrapped <code>HardwareCryptoModule</code>. */
+ private final HardwareCryptoModule module;
+
/**
* Create a new <code>HardwareCryptoModuleConfigurationImpl</code>.
- *
+ *
* @param module The <code>HardwareCryptoModule</code> from the underlying MOA
- * configuration.
- */
+ * configuration.
+ */
public HardwareCryptoModuleConfigurationImpl(HardwareCryptoModule module) {
this.module = module;
}
@@ -54,6 +52,7 @@ public class HardwareCryptoModuleConfigurationImpl
/**
* @see iaik.server.modules.crypto.HardwareCryptoModuleConfiguration#getModuleName()
*/
+ @Override
public String getModuleName() {
return module.getName();
}
@@ -61,6 +60,7 @@ public class HardwareCryptoModuleConfigurationImpl
/**
* @see iaik.server.modules.crypto.HardwareCryptoModuleConfiguration#getSlotID()
*/
+ @Override
public String getSlotID() {
return module.getSlotID();
}
@@ -68,6 +68,7 @@ public class HardwareCryptoModuleConfigurationImpl
/**
* @see iaik.server.modules.crypto.HardwareCryptoModuleConfiguration#getUserPIN()
*/
+ @Override
public char[] getUserPIN() {
return module.getUserPIN().toCharArray();
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java
index 05f5633..9b37c60 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java
@@ -21,34 +21,32 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
-import iaik.server.modules.keys.HardwareKeyModuleConfiguration;
-
import at.gv.egovernment.moa.spss.server.config.HardwareKeyModule;
+import iaik.server.modules.keys.HardwareKeyModuleConfiguration;
/**
* An implementation of the <code>HardwareKeyModuleConfiguration</code>
* interface wrapping a <code>HardwareKeyModule</code> from the MOA
* configuration.
- *
+ *
* @see iaik.server.modules.keys.HardwareKeyModuleConfiguration
* @author Patrick Peck
* @version $Id$
*/
public class HardwareKeyModuleConfigurationImpl
- extends AbstractKeyModuleConfigurationImpl
- implements HardwareKeyModuleConfiguration {
+ extends AbstractKeyModuleConfigurationImpl
+ implements HardwareKeyModuleConfiguration {
/** The wrapped <code>HardwareKeyModule</code>. */
- private HardwareKeyModule keyModule;
+ private final HardwareKeyModule keyModule;
/**
* Create a new <code>HardwareKeyModuleConfigurationImpl</code>.
- *
- * @param keyModule The <code>HardwareKeyModule</code> from the underlying
- * MOA configuration.
+ *
+ * @param keyModule The <code>HardwareKeyModule</code> from the underlying MOA
+ * configuration.
*/
public HardwareKeyModuleConfigurationImpl(HardwareKeyModule keyModule) {
super(keyModule.getId());
@@ -58,6 +56,7 @@ public class HardwareKeyModuleConfigurationImpl
/**
* @see iaik.server.modules.keys.HardwareKeyModuleConfiguration#getModuleName()
*/
+ @Override
public String getModuleName() {
return keyModule.getName();
}
@@ -65,6 +64,7 @@ public class HardwareKeyModuleConfigurationImpl
/**
* @see iaik.server.modules.keys.HardwareKeyModuleConfiguration#getSlotID()
*/
+ @Override
public String getSlotID() {
return keyModule.getSlotID();
}
@@ -72,6 +72,7 @@ public class HardwareKeyModuleConfigurationImpl
/**
* @see iaik.server.modules.keys.HardwareKeyModuleConfiguration#getUserPIN()
*/
+ @Override
public char[] getUserPIN() {
return keyModule.getUserPIN().toCharArray();
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java
index 44600db..8ca19e4 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java
@@ -21,29 +21,18 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
-import iaik.cms.IaikCCProvider;
-import iaik.esi.sva.Configuration;
-import iaik.pki.store.revocation.RevocationFactory;
-import iaik.pki.store.revocation.RevocationSourceStore;
-import iaik.pki.store.truststore.TrustStoreFactory;
-import iaik.security.ec.provider.ECCelerate;
-import iaik.server.ConfigurationData;
-import iaik.server.Configurator;
-import iaik.server.modules.keys.KeyEntryID;
-import iaik.server.modules.keys.KeyModule;
-import iaik.server.modules.keys.KeyModuleFactory;
-
-import java.security.Provider;
-import java.security.Security;
+import java.io.PrintWriter;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.slf4j.LoggerFactory;
+
import at.gv.egovernment.moa.spss.server.config.ConfigurationException;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
import at.gv.egovernment.moa.spss.server.config.KeyGroup;
@@ -54,76 +43,103 @@ import at.gv.egovernment.moa.spss.util.MessageProvider;
import at.gv.egovernment.moa.spss.util.SecProviderUtils;
import at.gv.egovernment.moaspss.logging.LogMsg;
import at.gv.egovernment.moaspss.logging.Logger;
+import iaik.logging.LogFactory;
+import iaik.pki.store.revocation.RevocationFactory;
+import iaik.pki.store.revocation.RevocationSourceStore;
+import iaik.pki.store.truststore.TrustStoreFactory;
+import iaik.server.ConfigurationData;
+import iaik.server.Configurator;
+import iaik.server.modules.keys.KeyEntryID;
+import iaik.server.modules.keys.KeyModule;
+import iaik.server.modules.keys.KeyModuleFactory;
/**
* A class responsible for configuring the IAIK MOA modules.
- *
+ *
* @author Patrick Peck
* @version $Id$
*/
public class IaikConfigurator {
+ private static final org.slf4j.Logger logger = LoggerFactory.getLogger(IaikConfigurator.class);
+
/** The warnings encountered during configuration. */
private List warnings = new ArrayList();
/**
* Configure the IAIK MOA subsystem.
- *
- *
+ *
+ *
* @param moaConfig The underlying MOA configuration.
* @return Returns the config data of the underlying MOA subsystem
- * @throws ConfigurationException An error occurred configuring the IAIK
- * MOA subsystem.
+ * @throws ConfigurationException An error occurred configuring the IAIK MOA
+ * subsystem.
*/
public ConfigurationData configure(ConfigurationProvider moaConfig)
- throws ConfigurationException {
- ConfigurationData configData = new ConfigurationDataImpl(moaConfig);
-
+ throws ConfigurationException {
+ final ConfigurationData configData = new ConfigurationDataImpl(moaConfig);
+
warnings = new ArrayList();
try {
- TransactionId transId = new TransactionId("IaikConfigurator");
-
- //iaik.esi.sva.Configuration config = new Configuration(IaikConfigurator.class.getResourceAsStream("/sva.config"));
-
- //SecProviderUtils.dumpSecProviders("Starting configuration");
-
+ final TransactionId transId = new TransactionId("IaikConfigurator");
+
+ // iaik.esi.sva.Configuration config = new
+ // Configuration(IaikConfigurator.class.getResourceAsStream("/sva.config"));
+
+ // SecProviderUtils.dumpSecProviders("Starting configuration");
+
+ LogFactory.configure(configData.getLoggerConfig());
+
try {
- iaik.pki.Configurator.initCommon(configData.getLoggerConfig(),
- transId);
- //SecProviderUtils.dumpSecProviders("initCommon");
- String certStoreRoot = moaConfig.getCertStoreLocation();
- CertStoreConverter.convert(certStoreRoot, transId);
+ iaik.pki.Configurator.initCommon(configData.getLoggerConfig(),
+ transId);
+ // SecProviderUtils.dumpSecProviders("initCommon");
+ final String certStoreRoot = moaConfig.getCertStoreLocation();
+ CertStoreConverter.convert(certStoreRoot, transId);
} finally {
- //Security.removeProvider(ECCelerate.getInstance().getName());
+ // Security.removeProvider(ECCelerate.getInstance().getName());
}
-
+
Configurator.init(configData, transId);
-
+
SecProviderUtils.dumpSecProviders("Fully configured!");
-
- // Set customized CRL retriever to overcome a classloader problem when MOA is deployed in Tomcat
- RevocationSourceStore rss = RevocationFactory.getInstance(transId).getRevocationSourceStore();
- //rss.setRetriever(new CRLRetriever(), RevocationSourceTypes.CRL);
- if ((moaConfig.getSoftwareKeyModules().size() > 0) || (moaConfig.getHardwareKeyModules().size() > 0)) {
+
+ // Set customized CRL retriever to overcome a classloader problem when MOA is
+ // deployed in Tomcat
+ final RevocationSourceStore rss = RevocationFactory.getInstance(transId).getRevocationSourceStore();
+ // rss.setRetriever(new CRLRetriever(), RevocationSourceTypes.CRL);
+ if (moaConfig.getSoftwareKeyModules().size() > 0 || moaConfig.getHardwareKeyModules().size() > 0) {
dumpKeyEntryIDs();
}
checkKeyGroupConfig(moaConfig);
TrustStoreFactory.reset();
-
+
return configData;
- } catch (iaik.server.ConfigurationException e) {
+ } catch (final iaik.server.ConfigurationException e) {
+ logException(e);
throw new ConfigurationException("config.08", null, e);
- } catch (Throwable t) {
+
+ } catch (final Throwable t) {
+ logException(t);
throw new ConfigurationException("config.08", null, t);
+
}
}
+ private void logException(Throwable e) {
+ final StringWriter out = new StringWriter();
+ final PrintWriter writer = new PrintWriter(out);
+ e.printStackTrace(writer);
+ logger.error("IAIK_Module error: {}", out.toString());
+
+ }
+
/**
* Return the warnings encountered during configuration.
- *
+ *
* @return The warnings.
- */
+ */
public List getWarnings() {
return warnings;
}
@@ -133,71 +149,71 @@ public class IaikConfigurator {
* <code>KeyModule</code>s to the log file.
*/
private void dumpKeyEntryIDs() {
- MessageProvider msg = MessageProvider.getInstance();
- KeyModule module = KeyModuleFactory.getInstance(new TransactionId("dump"));
- Set keyEntryIds = module.getPrivateKeyEntryIDs();
+ final MessageProvider msg = MessageProvider.getInstance();
+ final KeyModule module = KeyModuleFactory.getInstance(new TransactionId("dump"));
+ final Set keyEntryIds = module.getPrivateKeyEntryIDs();
Iterator iter;
for (iter = keyEntryIds.iterator(); iter.hasNext();) {
- KeyEntryID keyEntryId = (KeyEntryID) iter.next();
+ final KeyEntryID keyEntryId = (KeyEntryID) iter.next();
Logger.info(
- new LogMsg(msg.getMessage("config.19", new Object[] { keyEntryId })));
+ new LogMsg(msg.getMessage("config.19", new Object[] { keyEntryId })));
}
}
/**
- * Check that each key group entry in each key group can be resolved to a
+ * Check that each key group entry in each key group can be resolved to a
* KeyEntryID.
- *
+ *
* Logs a warning for each key group entry that cannot be resolved.
- *
+ *
* @param moaConfig The MOA configuration to check.
*/
private void checkKeyGroupConfig(ConfigurationProvider moaConfig) {
- Map keyGroups = moaConfig.getKeyGroups();
+ final Map keyGroups = moaConfig.getKeyGroups();
Iterator iter;
for (iter = keyGroups.values().iterator(); iter.hasNext();) {
- KeyGroup keyGroup = (KeyGroup) iter.next();
- Set keyGroupEntries = keyGroup.getKeyGroupEntries();
+ final KeyGroup keyGroup = (KeyGroup) iter.next();
+ final Set keyGroupEntries = keyGroup.getKeyGroupEntries();
Iterator kgIter;
for (kgIter = keyGroupEntries.iterator(); kgIter.hasNext();) {
- KeyGroupEntry entry = (KeyGroupEntry) kgIter.next();
+ final KeyGroupEntry entry = (KeyGroupEntry) kgIter.next();
if (!findKeyEntryID(entry)) {
warn(
- "config.31",
- new Object[] {
- keyGroup.getId(),
- entry.getModuleID(),
- entry.getIssuerDN(),
- entry.getSerialNumber()});
+ "config.31",
+ new Object[] {
+ keyGroup.getId(),
+ entry.getModuleID(),
+ entry.getIssuerDN(),
+ entry.getSerialNumber() });
}
}
}
}
/**
- * Find out that a certain KeyGroupEntry could be resolved to a KeyEntryID
- * by the Configurator.
+ * Find out that a certain KeyGroupEntry could be resolved to a KeyEntryID by
+ * the Configurator.
*
* @param keyGroupEntry The key group entry to find.
* @return <code>true</code>, if the <code>keyGroupEntry</code> could be
- * resolved to a <code>KeyEntryID</code>; otherwise <code>false</code>.
+ * resolved to a <code>KeyEntryID</code>; otherwise <code>false</code>.
*/
private boolean findKeyEntryID(KeyGroupEntry keyGroupEntry) {
- KeyModule module = KeyModuleFactory.getInstance(new TransactionId("check"));
- Set keyEntryIDs = module.getPrivateKeyEntryIDs();
+ final KeyModule module = KeyModuleFactory.getInstance(new TransactionId("check"));
+ final Set keyEntryIDs = module.getPrivateKeyEntryIDs();
Iterator iter;
for (iter = keyEntryIDs.iterator(); iter.hasNext();) {
- KeyEntryID entry = (KeyEntryID) iter.next();
+ final KeyEntryID entry = (KeyEntryID) iter.next();
if (entry.getCertificateIssuer().equals(keyGroupEntry.getIssuerDN())
- && entry.getCertificateSerialNumber().equals(
- keyGroupEntry.getSerialNumber())
- && entry.getModuleID().equals(keyGroupEntry.getModuleID())) {
+ && entry.getCertificateSerialNumber().equals(
+ keyGroupEntry.getSerialNumber())
+ && entry.getModuleID().equals(keyGroupEntry.getModuleID())) {
return true;
}
}
@@ -207,14 +223,14 @@ public class IaikConfigurator {
/**
* Log a warning.
- *
+ *
* @param messageId The message ID.
- * @param args Additional parameters for the message.
+ * @param args Additional parameters for the message.
* @see at.gv.egovernment.moa.spss.server.util.MessageProvider
*/
private void warn(String messageId, Object[] args) {
- MessageProvider msg = MessageProvider.getInstance();
- String txt = msg.getMessage(messageId, args);
+ final MessageProvider msg = MessageProvider.getInstance();
+ final String txt = msg.getMessage(messageId, args);
Logger.warn(new LogMsg(txt));
warnings.add(txt);
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java
index 317fcca..7ba2122 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java
@@ -21,7 +21,6 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import java.util.Properties;
@@ -32,24 +31,27 @@ import iaik.logging.LoggerConfig;
/**
* Default implementation of the <code>LoggerConfig</code> interface.
- *
+ *
* @author Patrick Peck
* @version $Id$
*/
public class LoggerConfigImpl implements LoggerConfig {
-
+
/** The implementation of iaik.logging.LogFactory. */
- private static final String DEFAULT_IMPLEMENTATION =
- "at.gv.egovernment.moa.spss.server.logging.IaikLogFactory";
+ private static final String DEFAULT_IMPLEMENTATION =
+ "at.gv.egovernment.moa.spss.server.logging.IaikLogFactory";
+ @Override
public String getFactory() {
return DEFAULT_IMPLEMENTATION;
}
+ @Override
public Properties getProperties() throws LogConfigurationException {
return new Properties();
}
+ @Override
public String getNodeId() {
return LoggingContextManager.getInstance().getLoggingContext().getNodeID();
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java
index 6341609..d54bcfd 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java
@@ -23,93 +23,96 @@
package at.gv.egovernment.moa.spss.server.iaik.config;
+import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
import iaik.pki.PKIConfiguration;
import iaik.pki.pathvalidation.ValidationConfiguration;
import iaik.pki.revocation.RevocationConfiguration;
import iaik.pki.store.certstore.CertStoreConfiguration;
import iaik.pki.store.revocation.archive.ArchiveConfiguration;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
/**
* An implementation of the <code>PKIConfiguration</code> interface using data
* from the MOA configuration.
- *
+ *
* @see iaik.pki.PKIConfiguration
* @author Patrick Peck
* @version $Id$
*/
public class PKIConfigurationImpl implements PKIConfiguration {
- /** The <code>CertStore</code> configuration. */
- private CertStoreConfiguration certStoreConfiguration;
- /** The revocation checking configuration. */
- private RevocationConfiguration revocationConfiguration;
- /** The revocation archive configuration. */
- private ArchiveConfiguration archiveConfiguration;
- /** The certificate validation configuration. */
- private ValidationConfiguration validationConfiguration;
- private int connectionTimeout;
- private int readTimeout;
+ /** The <code>CertStore</code> configuration. */
+ private final CertStoreConfiguration certStoreConfiguration;
+ /** The revocation checking configuration. */
+ private final RevocationConfiguration revocationConfiguration;
+ /** The revocation archive configuration. */
+ private ArchiveConfiguration archiveConfiguration;
+ /** The certificate validation configuration. */
+ private final ValidationConfiguration validationConfiguration;
+ private final int connectionTimeout;
+ private final int readTimeout;
- /**
- * Create a new <code>PKIConfigurationImpl</code>.
- *
- * @param config
- * The underlying MOA configuration which will be used to build
- * the configuration data contained in this object.
- */
- public PKIConfigurationImpl(ConfigurationProvider config) {
+ /**
+ * Create a new <code>PKIConfigurationImpl</code>.
+ *
+ * @param config The underlying MOA configuration which will be used to build
+ * the configuration data contained in this object.
+ */
+ public PKIConfigurationImpl(ConfigurationProvider config) {
- this.certStoreConfiguration = new CertStoreConfigurationImpl(config);
- this.revocationConfiguration = new RevocationConfigurationImpl(config);
+ this.certStoreConfiguration = new CertStoreConfigurationImpl(config);
+ this.revocationConfiguration = new RevocationConfigurationImpl(config);
- boolean archiveInfo = config.getEnableRevocationArchiving();
- if (archiveInfo) {
- this.archiveConfiguration = new ArchiveConfigurationImpl(config);
- } else {
- this.archiveConfiguration = null;
- }
+ final boolean archiveInfo = config.getEnableRevocationArchiving();
+ if (archiveInfo) {
+ this.archiveConfiguration = new ArchiveConfigurationImpl(config);
+ } else {
+ this.archiveConfiguration = null;
+ }
- this.validationConfiguration = new ValidationConfigurationImpl(config);
- this.connectionTimeout = config.getConnectionTimeout();
- this.readTimeout = config.getReadTimeout();
- }
+ this.validationConfiguration = new ValidationConfigurationImpl(config);
+ this.connectionTimeout = config.getConnectionTimeout();
+ this.readTimeout = config.getReadTimeout();
+ }
- /**
- * @see iaik.pki.PKIConfiguration#getCertStoreConfiguration()
- */
- public CertStoreConfiguration getCertStoreConfiguration() {
- return certStoreConfiguration;
- }
+ /**
+ * @see iaik.pki.PKIConfiguration#getCertStoreConfiguration()
+ */
+ @Override
+ public CertStoreConfiguration getCertStoreConfiguration() {
+ return certStoreConfiguration;
+ }
- /**
- * @see iaik.pki.PKIConfiguration#getRevocationConfiguration()
- */
- public RevocationConfiguration getRevocationConfiguration() {
- return revocationConfiguration;
- }
+ /**
+ * @see iaik.pki.PKIConfiguration#getRevocationConfiguration()
+ */
+ @Override
+ public RevocationConfiguration getRevocationConfiguration() {
+ return revocationConfiguration;
+ }
- /**
- * @see iaik.pki.PKIConfiguration#getArchiveConfiguration()
- */
- public ArchiveConfiguration getArchiveConfiguration() {
- return archiveConfiguration;
- }
+ /**
+ * @see iaik.pki.PKIConfiguration#getArchiveConfiguration()
+ */
+ @Override
+ public ArchiveConfiguration getArchiveConfiguration() {
+ return archiveConfiguration;
+ }
- /**
- * @see iaik.pki.PKIConfiguration#getValidationConfiguration()
- */
- public ValidationConfiguration getValidationConfiguration() {
- return validationConfiguration;
- }
+ /**
+ * @see iaik.pki.PKIConfiguration#getValidationConfiguration()
+ */
+ @Override
+ public ValidationConfiguration getValidationConfiguration() {
+ return validationConfiguration;
+ }
- @Override
- public int getConnectTimeout() {
- return this.connectionTimeout;
- }
+ @Override
+ public int getConnectTimeout() {
+ return this.connectionTimeout;
+ }
- @Override
- public int getReadTimeout() {
- return this.readTimeout;
- }
+ @Override
+ public int getReadTimeout() {
+ return this.readTimeout;
+ }
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java
index 5df84c9..6aa20cf 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java
@@ -23,9 +23,6 @@
package at.gv.egovernment.moa.spss.server.iaik.config;
-import iaik.pki.revocation.RevocationConfiguration;
-import iaik.pki.revocation.dbcrl.config.DBCrlConfig;
-
import java.security.cert.X509Certificate;
import java.util.Collections;
import java.util.Date;
@@ -33,81 +30,85 @@ import java.util.Map;
import java.util.Set;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
+import iaik.pki.revocation.RevocationConfiguration;
+import iaik.pki.revocation.dbcrl.config.DBCrlConfig;
/**
* An implementation of the <code>RevocationConfiguration</code> interface using
* MOA configuration data.
- *
+ *
* @see iaik.pki.revocation.RevocationConfiguration
* @author Patrick Peck
* @version $Id$
*/
-public class RevocationConfigurationImpl extends AbstractObservableConfiguration implements RevocationConfiguration {
-
- /**
- * The <code>ConfigurationProvider</code> to read the configuration data
- * from.
- */
- private ConfigurationProvider config;
-
- /**
- * Create a new <code>RevocationConfigurationImpl</code>.
- *
- * @param config
- * The underlying MOA configuration containing the configuration
- * data.
- */
- public RevocationConfigurationImpl(ConfigurationProvider config) {
- this.config = config;
- }
-
- /**
- * @see iaik.pki.revocation.RevocationConfiguration#getAlternativeDistributionPoints
- */
- public Set getAlternativeDistributionPoints(X509Certificate cert, X509Certificate issuer, Date date) {
- return config.getDistributionPoints(cert);
- }
-
- /**
- * @see iaik.pki.revocation.RevocationConfiguration#archiveRevocationInfo(java.lang.String,
- * java.lang.String)
- */
- public boolean archiveRevocationInfo(String type, String uri) {
- return config.getEnableRevocationArchiving();
- }
-
- /**
- * @see iaik.pki.revocation.RevocationConfiguration#getCrlRetentionInterval(java.lang.String)
- */
- public Integer getCrlRetentionInterval(String issuername) {
- Map map = config.getCrlRetentionIntervals();
- Integer interval = (Integer) map.get(issuername);
-
- return interval;
- }
-
- @Override
- public DBCrlConfig getDataBaseCRLConfig() {
- // TODO AFITZEK IMPLEMENT THIS METHOD
- return null;
- }
-
- @Override
- public boolean getKeepRevocationInfo() {
- // TODO AFITZEK IMPLEMENT THIS METHOD
- return false;
- }
-
- @Override
- public Set getPositiveOCSPResponders() {
- // TODO AFITZEK IMPLEMENT THIS METHOD
- return Collections.EMPTY_SET;
- }
-
- @Override
- public boolean skipIndirectCRLCheckForAlternativeDistributionPoints() {
- // TODO AFITZEK IMPLEMENT THIS METHOD
- return false;
- }
+public class RevocationConfigurationImpl extends AbstractObservableConfiguration implements
+ RevocationConfiguration {
+
+ /**
+ * The <code>ConfigurationProvider</code> to read the configuration data from.
+ */
+ private final ConfigurationProvider config;
+
+ /**
+ * Create a new <code>RevocationConfigurationImpl</code>.
+ *
+ * @param config The underlying MOA configuration containing the configuration
+ * data.
+ */
+ public RevocationConfigurationImpl(ConfigurationProvider config) {
+ this.config = config;
+ }
+
+ /**
+ * @see iaik.pki.revocation.RevocationConfiguration#getAlternativeDistributionPoints
+ */
+ @Override
+ public Set getAlternativeDistributionPoints(X509Certificate cert, X509Certificate issuer, Date date) {
+ return config.getDistributionPoints(cert);
+ }
+
+ /**
+ * @see iaik.pki.revocation.RevocationConfiguration#archiveRevocationInfo(java.lang.String,
+ * java.lang.String)
+ */
+ @Override
+ public boolean archiveRevocationInfo(String type, String uri) {
+ return config.getEnableRevocationArchiving();
+ }
+
+ /**
+ * @see iaik.pki.revocation.RevocationConfiguration#getCrlRetentionInterval(java.lang.String)
+ */
+ @Override
+ public Integer getCrlRetentionInterval(String issuername) {
+ final Map map = config.getCrlRetentionIntervals();
+ final Integer interval = (Integer) map.get(issuername);
+
+ return interval;
+ }
+
+ @Override
+ public DBCrlConfig getDataBaseCRLConfig() {
+ // TODO AFITZEK IMPLEMENT THIS METHOD
+ return null;
+ }
+
+ @Override
+ public boolean getKeepRevocationInfo() {
+ // TODO AFITZEK IMPLEMENT THIS METHOD
+ return false;
+ }
+
+ @Override
+ public Set getPositiveOCSPResponders() {
+ // TODO AFITZEK IMPLEMENT THIS METHOD
+ return Collections.EMPTY_SET;
+ }
+
+ @Override
+ public boolean skipIndirectCRLCheckForAlternativeDistributionPoints() {
+ // TODO AFITZEK IMPLEMENT THIS METHOD
+ return false;
+ }
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java
index 1aed76e..767b3f2 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java
@@ -21,40 +21,39 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
-import iaik.server.modules.keys.ConfigurationException;
-import iaik.server.modules.keys.SoftwareKeyModuleConfiguration;
import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule;
import at.gv.egovernment.moa.spss.util.MessageProvider;
import at.gv.egovernment.moaspss.logging.LogMsg;
import at.gv.egovernment.moaspss.logging.Logger;
+import iaik.server.modules.keys.ConfigurationException;
+import iaik.server.modules.keys.SoftwareKeyModuleConfiguration;
/**
* An implementation of the <code>SoftwareKeyModuleConfiguration</code> wrapping
* a <code>SoftwareKeyModule</code> from the MOA configuration.
- *
+ *
* @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration
* @author Patrick Peck
* @version $Id$
*/
public class SoftwareKeyModuleConfigurationImpl
- extends AbstractKeyModuleConfigurationImpl
- implements SoftwareKeyModuleConfiguration {
+ extends AbstractKeyModuleConfigurationImpl
+ implements SoftwareKeyModuleConfiguration {
/** The wrapped <code>SoftwareKeyModule</code>. */
- private SoftwareKeyModule keyModule;
+ private final SoftwareKeyModule keyModule;
/**
* Create a new <code>SoftwareKeyModuleConfigurationImpl</code>.
- *
+ *
* @param keyModule The <code>SoftwareKeyModule</code> from the underlying MOA
- * configuration.
+ * configuration.
*/
public SoftwareKeyModuleConfigurationImpl(SoftwareKeyModule keyModule) {
super(keyModule.getId());
@@ -64,6 +63,7 @@ public class SoftwareKeyModuleConfigurationImpl
/**
* @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreTypeName()
*/
+ @Override
public String getKeyStoreTypeName() {
return KEY_STORE_TYPE_NAME_PKCS12;
}
@@ -71,17 +71,18 @@ public class SoftwareKeyModuleConfigurationImpl
/**
* @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreAsStream()
*/
+ @Override
public InputStream getKeyStoreAsStream() {
- MessageProvider msg = MessageProvider.getInstance();
+ final MessageProvider msg = MessageProvider.getInstance();
try {
- String message =
- msg.getMessage("config.18", new Object[] { keyModule.getFileName()});
+ final String message =
+ msg.getMessage("config.18", new Object[] { keyModule.getFileName() });
Logger.info(new LogMsg(message));
return new FileInputStream(keyModule.getFileName());
- } catch (FileNotFoundException e) {
- String message =
- msg.getMessage("config.09", new Object[] { keyModule.getFileName()});
+ } catch (final FileNotFoundException e) {
+ final String message =
+ msg.getMessage("config.09", new Object[] { keyModule.getFileName() });
throw new ConfigurationException(message, e, null);
}
@@ -90,6 +91,7 @@ public class SoftwareKeyModuleConfigurationImpl
/**
* @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreAuthenticationData()
*/
+ @Override
public char[] getKeyStoreAuthenticationData() {
return keyModule.getPassWord().toCharArray();
}
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java
index 9e26fb8..50c3926 100644
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java
+++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java
@@ -21,35 +21,34 @@
* that you distribute must include a readable copy of the "NOTICE" text file.
*/
-
package at.gv.egovernment.moa.spss.server.iaik.config;
import java.security.cert.X509Certificate;
import java.security.spec.AlgorithmParameterSpec;
-import iaik.pki.pathvalidation.ValidationConfiguration;
-
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
+import iaik.pki.pathvalidation.ValidationConfiguration;
/**
* An implementation of the <code>ValidationConfiguration</code> interface using
* MOA configuration data.
- *
+ *
* @see iaik.pki.pathvalidation.ValidationConfiguration
* @author Patrick Peck
* @version $Id$
*/
public class ValidationConfigurationImpl
- extends AbstractObservableConfiguration
- implements ValidationConfiguration {
+ extends AbstractObservableConfiguration
+ implements ValidationConfiguration {
- /** The <code>ConfigurationProvider</code> to read the configuration data
- * from. */
- private ConfigurationProvider config;
+ /**
+ * The <code>ConfigurationProvider</code> to read the configuration data from.
+ */
+ private final ConfigurationProvider config;
/**
* Create a new <code>ValidationConfigurationImpl</code>.
- *
+ *
* @param config The underlying MOA configuration data.
*/
public ValidationConfigurationImpl(ConfigurationProvider config) {
@@ -59,6 +58,7 @@ public class ValidationConfigurationImpl
/**
* @see iaik.pki.pathvalidation.ValidationConfiguration#getChainingMode(java.security.cert.X509Certificate)
*/
+ @Override
public String getChainingMode(X509Certificate cert) {
return config.getChainingMode(cert);
}
@@ -66,6 +66,7 @@ public class ValidationConfigurationImpl
/**
* @see iaik.pki.pathvalidation.ValidationConfiguration#getPublicKeyParamsAsSpec(java.security.cert.X509Certificate)
*/
+ @Override
public AlgorithmParameterSpec getPublicKeyParamsAsSpec(X509Certificate cert) {
return null;
}
@@ -73,6 +74,7 @@ public class ValidationConfigurationImpl
/**
* @see iaik.pki.pathvalidation.ValidationConfiguration#getPublicKeyParamsAsCert(java.security.cert.X509Certificate)
*/
+ @Override
public X509Certificate getPublicKeyParamsAsCert(X509Certificate cert) {
return null;
}