aboutsummaryrefslogtreecommitdiff
path: root/spss/server/serverlib/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'spss/server/serverlib/src/main/java')
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java18
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java8
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java26
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java5
-rw-r--r--spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java61
5 files changed, 106 insertions, 12 deletions
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java
index 2a2427bbb..7381c4733 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java
@@ -195,6 +195,12 @@ public class ConfigurationPartsBuilder {
+ CONF + "RevocationChecking/"
+ CONF + "Archiving/"
+ CONF + "EnableArchiving";
+ private static final String ENABLE_EUTSL_XPATH =
+ ROOT + CONF + "SignatureVerification/"
+ + CONF + "CertificateValidation/"
+ + CONF + "PathValidation/"
+ + CONF + "TrustProfile/"
+ + CONF + "EUTSL";
private static final String CRL_ARCHIVE_DURATION_XPATH =
ROOT + CONF + "SignatureVerification/"
+ CONF + "CertificateValidation/"
@@ -1036,7 +1042,11 @@ public class ConfigurationPartsBuilder {
{
String id = getElementValue(profileElem, CONF + "Id", null);
String trustAnchorsLocStr = getElementValue(profileElem, CONF + "TrustAnchorsLocation", null);
- String signerCertsLocStr = getElementValue(profileElem, CONF + "SignerCertsLocation", null);
+ String signerCertsLocStr = getElementValue(profileElem, CONF + "SignerCertsLocation", null);
+ String sTSLenabled = getElementValue(getConfigElem(), ENABLE_EUTSL_XPATH, null);
+ //System.out.println("sTSLenabled: " + sTSLenabled);
+ boolean tslEnabled = Boolean.valueOf(sTSLenabled).booleanValue();
+ String countries = getElementValue(profileElem, CONF + "EUTSL" + "/" + CONF + "CountrySelection", null);
URI trustAnchorsLocURI = null;
try
@@ -1093,8 +1103,12 @@ public class ConfigurationPartsBuilder {
}
}
+// System.out.println("ID: " + id);
+// System.out.println("Enable EUTSL: " + tslEnabled);
+// System.out.println("Countries: " + countries);
+
signerCertsLocStr = (signerCertsLocURI != null) ? signerCertsLocURI.toString() : null;
- TrustProfile profile = new TrustProfile(id, trustAnchorsLocURI.toString(), signerCertsLocStr);
+ TrustProfile profile = new TrustProfile(id, trustAnchorsLocURI.toString(), signerCertsLocStr, tslEnabled, countries);
trustProfiles.put(id, profile);
}
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java
index cae1497d6..84b8561ac 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java
@@ -654,6 +654,14 @@ public class ConfigurationProvider
public TrustProfile getTrustProfile(String id) {
return (TrustProfile) trustProfiles.get(id);
}
+
+ /**
+ * Returns a map of <code>TrustProfiles</code>
+ * @return
+ */
+ public Map getTrustProfiles() {
+ return trustProfiles;
+ }
/**
* Log a warning.
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java
index 608fe6e2a..dac91be87 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java
@@ -37,6 +37,10 @@ public class TrustProfile {
private String uri;
/** The URI giving the location of the allowed signer certificates. */
private String signerCertsUri;
+ /** Defines if Trustprofile makes use of EU TSL*/
+ private boolean tslEnabled;
+ /** The countries given */
+ private String countries;
/**
* Create a <code>TrustProfile</code>.
@@ -46,10 +50,12 @@ public class TrustProfile {
* @param signerCertsUri The URI of the location of the allowed signer
* certificates of the <code>TrustProfile</code> to create.
*/
- public TrustProfile(String id, String uri, String signerCertsUri) {
+ public TrustProfile(String id, String uri, String signerCertsUri, boolean tslEnabled, String countries) {
this.id = id;
this.uri = uri;
this.signerCertsUri = signerCertsUri;
+ this.tslEnabled = tslEnabled;
+ this.countries = countries;
}
/**
@@ -79,6 +85,22 @@ public class TrustProfile {
public String getSignerCertsUri() {
return signerCertsUri;
}
-
+ /**
+ * Returns if Trustprofile is TSL enabled
+ * @return
+ */
+ public boolean isTSLEnabled() {
+ return tslEnabled;
+ }
+ /**
+ * Returns the given countries
+ * @return Given countries
+ */
+ public String getCountries() {
+ if (!tslEnabled)
+ return null;
+ else
+ return countries;
+ }
}
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java
index d69652b18..c6de3abae 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java
@@ -64,10 +64,11 @@ public class IaikConfigurator {
*
*
* @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.
*/
- public void configure(ConfigurationProvider moaConfig)
+ public ConfigurationData configure(ConfigurationProvider moaConfig)
throws ConfigurationException {
ConfigurationData configData = new ConfigurationDataImpl(moaConfig);
@@ -85,6 +86,8 @@ public class IaikConfigurator {
}
checkKeyGroupConfig(moaConfig);
TrustStoreFactory.reset();
+
+ return configData;
} catch (iaik.server.ConfigurationException e) {
throw new ConfigurationException("config.08", null, e);
} catch (Throwable t) {
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java
index 61dd423b3..71cf4f25b 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java
@@ -24,23 +24,32 @@
package at.gv.egovernment.moa.spss.server.init;
-import java.io.IOException;
-
import iaik.ixsil.init.IXSILInit;
+import iaik.logging.TransactionId;
+import iaik.pki.store.certstore.CertStoreException;
+import iaik.pki.store.certstore.CertStoreParameters;
+import iaik.pki.store.truststore.TrustStoreException;
+import iaik.pki.store.truststore.TrustStoreProfile;
+import iaik.pki.store.utils.StoreUpdater;
+import iaik.server.ConfigurationData;
+import iaik.x509.X509Certificate;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Map;
import at.gv.egovernment.moa.logging.LogMsg;
import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.logging.LoggingContext;
import at.gv.egovernment.moa.logging.LoggingContextManager;
-import at.gv.egovernment.moa.util.Constants;
-import at.gv.egovernment.moa.util.DOMUtils;
-
import at.gv.egovernment.moa.spss.MOAException;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator;
import at.gv.egovernment.moa.spss.server.logging.IaikLog;
import at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner;
import at.gv.egovernment.moa.spss.util.MessageProvider;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
/**
* MOA SP/SS web service initialization.
@@ -105,11 +114,49 @@ public class SystemInitializer {
// initialize configuration
try {
ConfigurationProvider config = ConfigurationProvider.getInstance();
- new IaikConfigurator().configure(config);
+ ConfigurationData configData = new IaikConfigurator().configure(config);
+
+ Map mapTrustProfiles = config.getTrustProfiles();
+
+// Iterator it = mapTrustProfiles.entrySet().iterator();
+// while (it.hasNext()) {
+// Map.Entry pairs = (Map.Entry)it.next();
+// System.out.println(pairs.getKey() + " = " + pairs.getValue());
+// }
+
+ //@TSL get parameters for StoreUpdater
+ CertStoreParameters[] certStoreParameters = configData.getPKIConfiguration().getCertStoreConfiguration().getParameters();
+ TrustStoreProfile[] trustStoreProfiles = null;
+ TransactionId tid = null;
+
+
+
+
+
+ //@TSL Init TSL Module
+// X509Certificate[] removeCertificates = null;
+// X509Certificate[] addCertificates = null;
+//
+// //
+// iaik.pki.store.utils.StoreUpdater storeUpdater = new StoreUpdater(certStoreParameters, trustStoreProfiles, tid);
+// storeUpdater.removeCertificatesFromTrustStores(removeCertificates, tid);
+//
+// storeUpdater.addCertificatesToTrustStores(addCertificates, tid);
+//
+
Logger.info(new LogMsg(msg.getMessage("init.01", null)));
} catch (MOAException e) {
Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e);
- }
+ }
+// catch (CertStoreException e) {
+// //@TSL
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// } catch (TrustStoreException e) {
+// //@TSL
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
// set IXSIL debug output
IXSILInit.setPrintDebugLog(