From 3adf46736778d7b28c7d944b308bcb1620e7f19e Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Tue, 14 Feb 2017 15:38:36 +0100 Subject: change log level of one log message to trace --- .../moa/id/auth/modules/eidas/config/MOAExtendedSWSigner.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/config/MOAExtendedSWSigner.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/config/MOAExtendedSWSigner.java index e08d302f6..c872bcfb6 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/config/MOAExtendedSWSigner.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/config/MOAExtendedSWSigner.java @@ -226,7 +226,7 @@ public class MOAExtendedSWSigner implements ProtocolSignerI, MetadataSignerI { checkCertificateIssuer(credential.getEntityCertificate()); Signature signature; try { - Logger.debug("Creating an OpenSAML signature object"); + Logger.trace("Creating an OpenSAML signature object"); signature = (Signature) Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME) .buildObject(Signature.DEFAULT_ELEMENT_NAME); -- cgit v1.2.3 From 8673d715af90bb7df168f4bac9979ab48ee04e3e Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Tue, 21 Feb 2017 15:30:11 +0100 Subject: update javadoc --- .../java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java index d2c827d55..fcf4c3ffa 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java @@ -32,7 +32,7 @@ public interface AuthConfiguration extends ConfigurationProvider{ * Get a configuration value from basic file based MOA-ID configuration * * @param key configuration key - * @return configuration value + * @return configuration value or null if it is not found */ public String getBasicMOAIDConfiguration(final String key); -- cgit v1.2.3 From 3a55eb69e5fa94d0bcc43a1732850a14e524f6cc Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Tue, 21 Feb 2017 15:31:18 +0100 Subject: add support of additional eIDAS attributes by using a simple configuration file --- .../moa/id/auth/modules/eidas/Constants.java | 51 +++++++++++++--------- .../eidas/engine/MOAEidasProtocolProcesser.java | 13 ++++-- .../eidas/utils/MOAeIDASMetadataGenerator.java | 7 ++- .../auth/modules/eidas/utils/SAMLEngineUtils.java | 33 +++++++++++++- 4 files changed, 77 insertions(+), 27 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java index 369d77863..eb5adcce1 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java @@ -22,14 +22,15 @@ */ package at.gv.egovernment.moa.id.auth.modules.eidas; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import org.apache.xml.security.signature.XMLSignature; import org.opensaml.xml.encryption.EncryptionConstants; import org.opensaml.xml.signature.SignatureConstants; //import eu.eidas.auth.engine.core.validator.eidas.EIDASAttributes; -import eu.eidas.auth.commons.attribute.AttributeRegistries; -import eu.eidas.auth.commons.attribute.AttributeRegistry; - /** * @author tlenz * @@ -61,12 +62,16 @@ public class Constants { public static final String CONIG_PROPS_EIDAS_SAMLENGINE_SIGN_CONFIGFILE = CONIG_PROPS_EIDAS_SAMLENGINE_PREFIX + "." + CONIG_PROPS_EIDAS_SAMLENGINE_SIGN + ".config.file"; public static final String CONIG_PROPS_EIDAS_SAMLENGINE_ENC_CONFIGFILE = CONIG_PROPS_EIDAS_SAMLENGINE_PREFIX + "." - + CONIG_PROPS_EIDAS_SAMLENGINE_ENCRYPT + ".config.file"; + + CONIG_PROPS_EIDAS_SAMLENGINE_ENCRYPT + ".config.file"; + public static final String CONIG_PROPS_EIDAS_SAMLENGINE_ATTIONAL_ATTRIBUTE_DEFINITIONS = + CONIG_PROPS_EIDAS_SAMLENGINE_PREFIX + ".attributes.addition.config"; public static final String CONIG_PROPS_EIDAS_METADATA_VALIDATION_TRUSTSTORE = CONIG_PROPS_EIDAS_PREFIX + ".metadata.validation.truststore"; + public static final String CONIG_PROPS_EIDAS_NODE_COUNTRYCODE = CONIG_PROPS_EIDAS_NODE + ".countrycode"; public static final String CONIG_PROPS_EIDAS_NODE_COUNTRY = CONIG_PROPS_EIDAS_NODE + ".country"; - public static final String CONIG_PROPS_EIDAS_NODE_LoA = CONIG_PROPS_EIDAS_NODE + ".LoA"; + public static final String CONIG_PROPS_EIDAS_NODE_LoA = CONIG_PROPS_EIDAS_NODE + ".LoA"; + //timeouts and clock skews @@ -115,21 +120,27 @@ public class Constants { // } // } // ); - - public static final AttributeRegistry NAT_ATTR = - AttributeRegistries.of( eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.PERSON_IDENTIFIER, - eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_FAMILY_NAME, - eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_GIVEN_NAME, - eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.DATE_OF_BIRTH - ); - - public static final AttributeRegistry LEGAL_ATTR = - AttributeRegistries.of( eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_PERSON_IDENTIFIER, - eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_NAME - ); - - public static final AttributeRegistry MOA_IDP_ATTR_REGISTRY = - AttributeRegistries.copyOf(NAT_ATTR, LEGAL_ATTR); + + //eIDAS attributes that can be provided by MOA-ID + public static final List MOA_IDP_SUPPORTED_eIDAS_ATTRIBUTES; + static { + List supportAttrList = new ArrayList(); + //natural person attributes that can be provided by MOA-ID + supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.PERSON_IDENTIFIER.getNameUri().toString()); + supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_FAMILY_NAME.getNameUri().toString()); + supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_GIVEN_NAME.getNameUri().toString()); + supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.DATE_OF_BIRTH.getNameUri().toString()); + + //legal person attributes that can be provided by MOA-ID + supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_PERSON_IDENTIFIER.getNameUri().toString()); + supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_NAME.getNameUri().toString()); + + //additionl person attributes that can be provided by MOA-ID + //supportAttrList.add("http://ehn/attributes/ehealth/patientidentifier"); + + MOA_IDP_SUPPORTED_eIDAS_ATTRIBUTES = Collections.unmodifiableList(supportAttrList); + + } public static final String METADATA_ALLOWED_ALG_DIGIST = diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAEidasProtocolProcesser.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAEidasProtocolProcesser.java index c24c5efca..8abf29703 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAEidasProtocolProcesser.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAEidasProtocolProcesser.java @@ -22,7 +22,9 @@ */ package at.gv.egovernment.moa.id.auth.modules.eidas.engine; +import eu.eidas.auth.commons.attribute.AttributeRegistry; import eu.eidas.auth.engine.core.eidas.EidasProtocolProcessor; +import eu.eidas.auth.engine.core.eidas.spec.EidasSpec; import eu.eidas.auth.engine.metadata.MetadataFetcherI; import eu.eidas.auth.engine.metadata.MetadataSignerI; @@ -38,11 +40,14 @@ public class MOAEidasProtocolProcesser extends EidasProtocolProcessor { private final MetadataSignerI metadataSigner; /** - * @param metadataFetcher - * @param metadataSigner + * Build a MOA specific eIDAS-engine protocol processor + * + * @param metadataFetcher eIDAS-engine Metadata fetcher implementation + * @param metadataSigner eIDAS-engine Signer implementation + * @param addAttrDefinitions additinal eIDAS attributes */ - public MOAEidasProtocolProcesser(MetadataFetcherI metadataFetcher, MetadataSignerI metadataSigner) { - super(metadataFetcher, metadataSigner); + public MOAEidasProtocolProcesser(MetadataFetcherI metadataFetcher, MetadataSignerI metadataSigner, AttributeRegistry addAttrDefinitions) { + super(EidasSpec.REGISTRY, addAttrDefinitions, metadataFetcher, metadataSigner); this.metadataFetcher = metadataFetcher; this.metadataSigner = metadataSigner; diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java index 8faaf1874..1bebdebbf 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java @@ -305,7 +305,12 @@ public class MOAeIDASMetadataGenerator extends MetadataGenerator { public ImmutableSortedSet> getAllSupportedAttributes() { ImmutableSortedSet.Builder> builder = new ImmutableSortedSet.Builder<>(Ordering.>natural()); - builder.addAll(Constants.MOA_IDP_ATTR_REGISTRY.getAttributes()); + + for (String attr : Constants.MOA_IDP_SUPPORTED_eIDAS_ATTRIBUTES) { + AttributeDefinition supAttr = params.getIdpEngine().getProtocolProcessor().getAttributeDefinitionNullable(attr); + builder.add(supAttr); + } + return builder.build(); } diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java index 70135c06f..edbecc4a0 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java @@ -23,6 +23,8 @@ package at.gv.egovernment.moa.id.auth.modules.eidas.utils; import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; import java.util.HashMap; import java.util.Map; @@ -36,8 +38,13 @@ import at.gv.egovernment.moa.id.auth.modules.eidas.engine.MOAEidasProtocolProces import at.gv.egovernment.moa.id.auth.modules.eidas.engine.MOAeIDASChainingMetadataProvider; import at.gv.egovernment.moa.id.auth.modules.eidas.engine.MOAeIDASMetadataProviderDecorator; import at.gv.egovernment.moa.id.auth.modules.eidas.exceptions.EIDASEngineException; +import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory; import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.FileUtils; +import at.gv.egovernment.moa.util.MiscUtil; import eu.eidas.auth.commons.attribute.AttributeDefinition; +import eu.eidas.auth.commons.attribute.AttributeRegistries; +import eu.eidas.auth.commons.attribute.AttributeRegistry; import eu.eidas.auth.engine.ProtocolEngineI; import eu.eidas.auth.engine.SamlEngineSystemClock; import eu.eidas.auth.engine.metadata.MetadataFetcherI; @@ -62,6 +69,7 @@ public class SAMLEngineUtils { if (eIDASEngine == null) { try { + //get eIDAS SAMLengine configuration from MOA-ID configuration CertificateConfigurationManager configManager = new MOAIDCertificateManagerConfigurationImpl(); @@ -70,12 +78,25 @@ public class SAMLEngineUtils { //set metadata signer metadataSigner = new MOAExtendedSWSigner(configManager); - + + //load additional eIDAS attribute definitions + String additionalAttributeConfigFile = + AuthConfigurationProviderFactory.getInstance().getBasicMOAIDConfiguration( + Constants.CONIG_PROPS_EIDAS_SAMLENGINE_ATTIONAL_ATTRIBUTE_DEFINITIONS); + AttributeRegistry addAttrDefinitions = AttributeRegistries.empty(); + if (MiscUtil.isNotEmpty(additionalAttributeConfigFile)) { + URL addAttrConfigUrl = new URL(FileUtils.makeAbsoluteURL( + additionalAttributeConfigFile, + AuthConfigurationProviderFactory.getInstance().getRootConfigFileDir())); + addAttrDefinitions = AttributeRegistries.fromFile(addAttrConfigUrl.getPath()); + + } + //build eIDAS SAML eninge ProtocolEngineI engine = MOAProtocolEngineFactory.createProtocolEngine( Constants.eIDAS_SAML_ENGINE_NAME, configManager, - new MOAEidasProtocolProcesser(metadataFetcher, metadataSigner), + new MOAEidasProtocolProcesser(metadataFetcher, metadataSigner, addAttrDefinitions), new SamlEngineSystemClock()); //build a map with all actually supported attributes @@ -93,6 +114,14 @@ public class SAMLEngineUtils { Logger.error("eIDAS SAMLengine initialization FAILED!", e); throw new EIDASEngineException("eIDAS.00", new Object[]{e.getMessage()}, e); + } catch (at.gv.egovernment.moa.id.commons.api.exceptions.ConfigurationException e) { + Logger.error("eIDAS SAMLengine initialization FAILED!", e); + throw new EIDASEngineException("eIDAS.00", new Object[]{e.getMessage()}, e); + + } catch (MalformedURLException e) { + Logger.error("eIDAS SAMLengine initialization FAILED!", e); + throw new EIDASEngineException("eIDAS.00", new Object[]{e.getMessage()}, e); + } } -- cgit v1.2.3 From f6acad73155af58b75709077d8dee67dab0be47e Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 22 Feb 2017 09:24:36 +0100 Subject: Refector eIDAS attribute generation do a dynamic way similar to the PVP attribute builder concept The eIDAS attribute list in eIDAS metadata that contains currently supported attributes is also generated dynamical --- .../builder/attributes/IAttributeGenerator.java | 7 + .../moa/id/auth/modules/eidas/Constants.java | 45 ------ .../eidas/utils/MOAeIDASMetadataGenerator.java | 5 +- .../modules/eidas/utils/eIDASAttributeBuilder.java | 167 +++++++++++++++++++++ .../moa/id/protocols/eidas/EIDASData.java | 4 +- .../moa/id/protocols/eidas/EIDASProtocol.java | 8 + .../eidas/attributes/builder/IeIDASAttribute.java | 33 ++++ .../attributes/builder/eIDASAttrDateOfBirth.java | 37 +++++ .../attributes/builder/eIDASAttrFamilyName.java | 61 ++++++++ .../attributes/builder/eIDASAttrGivenName.java | 61 ++++++++ .../attributes/builder/eIDASAttrLegalName.java | 37 +++++ .../builder/eIDASAttrLegalPersonIdentifier.java | 37 +++++ .../eIDASAttrNaturalPersonalIdentifier.java | 116 ++++++++++++++ .../eidas/eIDASAuthenticationRequest.java | 149 ++---------------- ....protocols.builder.attributes.IAttributeBuilder | 6 + ...tocols.eidas.attributes.builder.IeIDASAttribute | 6 + 16 files changed, 596 insertions(+), 183 deletions(-) create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/IeIDASAttribute.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrDateOfBirth.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrFamilyName.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrGivenName.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalName.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalPersonIdentifier.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrNaturalPersonalIdentifier.java create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.IeIDASAttribute diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/IAttributeGenerator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/IAttributeGenerator.java index 0d51818f8..ecd67db64 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/IAttributeGenerator.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/IAttributeGenerator.java @@ -23,6 +23,13 @@ package at.gv.egovernment.moa.id.protocols.builder.attributes; public interface IAttributeGenerator { + /** + * + * @param friendlyName FriendlyName + * @param name Name + * @param value value + * @return + */ public abstract ATT buildStringAttribute(final String friendlyName, final String name, final String value); public abstract ATT buildIntegerAttribute(final String friendlyName, final String name, final int value); diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java index eb5adcce1..36323f3a5 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java @@ -22,14 +22,9 @@ */ package at.gv.egovernment.moa.id.auth.modules.eidas; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import org.apache.xml.security.signature.XMLSignature; import org.opensaml.xml.encryption.EncryptionConstants; import org.opensaml.xml.signature.SignatureConstants; -//import eu.eidas.auth.engine.core.validator.eidas.EIDASAttributes; /** * @author tlenz @@ -93,8 +88,6 @@ public class Constants { //http endpoint descriptions public static final String eIDAS_HTTP_ENDPOINT_SP_POST = "/eidas/sp/post"; public static final String eIDAS_HTTP_ENDPOINT_SP_REDIRECT = "/eidas/sp/redirect"; - //public static final String eIDAS_HTTP_ENDPOINT_IDP_POST = "/eidas/idp/post"; - //public static final String eIDAS_HTTP_ENDPOINT_IDP_REDIRECT = "/eidas/idp/redirect"; public static final String eIDAS_HTTP_ENDPOINT_IDP_COLLEAGUEREQUEST = "/eidas/ColleagueRequest"; public static final String eIDAS_HTTP_ENDPOINT_METADATA = "/eidas/metadata"; @@ -104,44 +97,6 @@ public class Constants { public static final int eIDAS_REVERSIONSLOG_IDP_AUTHREQUEST = 3401; public static final int eIDAS_REVERSIONSLOG_IDP_AUTHRESPONSE = 3402; - //metadata constants -// public final static Map METADATA_POSSIBLE_ATTRIBUTES = Collections.unmodifiableMap( -// new HashMap(){ -// private static final long serialVersionUID = 1L; -// { -// put(EIDASAttributes.ATTRIBUTE_GIVENNAME, EidasAttributesTypes.NATURAL_PERSON_MANDATORY); -// put(EIDASAttributes.ATTRIBUTE_FIRSTNAME, EidasAttributesTypes.NATURAL_PERSON_MANDATORY); -// put(EIDASAttributes.ATTRIBUTE_DATEOFBIRTH, EidasAttributesTypes.NATURAL_PERSON_MANDATORY); -// put(EIDASAttributes.ATTRIBUTE_PERSONIDENTIFIER, EidasAttributesTypes.NATURAL_PERSON_MANDATORY); -// -// //TODO: add additional attributes for eIDAS with mandates -// //put(EIDASAttributes.ATTRIBUTE_LEGALIDENTIFIER, EidasAttributesTypes.LEGAL_PERSON_MANDATORY); -// //put(EIDASAttributes.ATTRIBUTE_LEGALNAME, EidasAttributesTypes.LEGAL_PERSON_MANDATORY); -// } -// } -// ); - - //eIDAS attributes that can be provided by MOA-ID - public static final List MOA_IDP_SUPPORTED_eIDAS_ATTRIBUTES; - static { - List supportAttrList = new ArrayList(); - //natural person attributes that can be provided by MOA-ID - supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.PERSON_IDENTIFIER.getNameUri().toString()); - supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_FAMILY_NAME.getNameUri().toString()); - supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_GIVEN_NAME.getNameUri().toString()); - supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.DATE_OF_BIRTH.getNameUri().toString()); - - //legal person attributes that can be provided by MOA-ID - supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_PERSON_IDENTIFIER.getNameUri().toString()); - supportAttrList.add(eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_NAME.getNameUri().toString()); - - //additionl person attributes that can be provided by MOA-ID - //supportAttrList.add("http://ehn/attributes/ehealth/patientidentifier"); - - MOA_IDP_SUPPORTED_eIDAS_ATTRIBUTES = Collections.unmodifiableList(supportAttrList); - - } - public static final String METADATA_ALLOWED_ALG_DIGIST = SignatureConstants.ALGO_ID_DIGEST_SHA256 + ";" + diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java index 1bebdebbf..9d397074b 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java @@ -77,7 +77,6 @@ import org.slf4j.LoggerFactory; import com.google.common.collect.ImmutableSortedSet; import com.google.common.collect.Ordering; -import at.gv.egovernment.moa.id.auth.modules.eidas.Constants; import at.gv.egovernment.moa.id.protocols.pvp2x.utils.SAML2Utils; import eu.eidas.auth.commons.EIDASUtil; import eu.eidas.auth.commons.EidasStringUtil; @@ -305,8 +304,8 @@ public class MOAeIDASMetadataGenerator extends MetadataGenerator { public ImmutableSortedSet> getAllSupportedAttributes() { ImmutableSortedSet.Builder> builder = new ImmutableSortedSet.Builder<>(Ordering.>natural()); - - for (String attr : Constants.MOA_IDP_SUPPORTED_eIDAS_ATTRIBUTES) { + + for (String attr : eIDASAttributeBuilder.getAllProvideableeIDASAttributes()) { AttributeDefinition supAttr = params.getIdpEngine().getProtocolProcessor().getAttributeDefinitionNullable(attr); builder.add(supAttr); } diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java new file mode 100644 index 000000000..1f34a912d --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java @@ -0,0 +1,167 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.auth.modules.eidas.utils; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.ServiceLoader; + +import com.google.common.collect.ImmutableSet; + +import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters; +import at.gv.egovernment.moa.id.data.IAuthData; +import at.gv.egovernment.moa.id.data.Pair; +import at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder; +import at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator; +import at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.IeIDASAttribute; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.PVPAttributeBuilder; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.MiscUtil; +import eu.eidas.auth.commons.attribute.AttributeDefinition; +import eu.eidas.auth.commons.attribute.AttributeDefinition.Builder; +import eu.eidas.auth.commons.attribute.AttributeValue; +import eu.eidas.auth.commons.attribute.AttributeValueMarshaller; +import eu.eidas.auth.commons.attribute.AttributeValueMarshallingException; + +/** + * @author tlenz + * + */ +public class eIDASAttributeBuilder extends PVPAttributeBuilder { + private static IAttributeGenerator generator = new SimpleEidasAttributeGenerator(); + + private static List listOfSupportedeIDASAttributes; + private static ServiceLoader eIDASAttributLoader = + ServiceLoader.load(IeIDASAttribute.class); + + static { + List supportAttrList = new ArrayList(); + + Logger.info("Select eIDAS attributes that are corrently providable:"); + if (eIDASAttributLoader != null ) { + Iterator moduleLoaderInterator = eIDASAttributLoader.iterator(); + while (moduleLoaderInterator.hasNext()) { + try { + IeIDASAttribute modul = moduleLoaderInterator.next(); + Logger.info("Loading eIDAS attribut-builder Modul Information: " + modul.getName()); + supportAttrList.add(modul.getName()); + + } catch(Throwable e) { + Logger.error("Check configuration! " + "Some attribute-builder modul" + + " is not a valid IAttributeBuilder", e); + } + } + } + + listOfSupportedeIDASAttributes = Collections.unmodifiableList(supportAttrList); + Logger.info("Selection of providable eIDAS attributes done"); + + } + + public static List getAllProvideableeIDASAttributes() { + return listOfSupportedeIDASAttributes; + } + + /** + * + * @param attr + * @param onlineApplicationConfiguration + * @param authData + * @return + */ + public static Pair,ImmutableSet>> buildAttribute(AttributeDefinition attr, IOAAuthParameters onlineApplicationConfiguration, + IAuthData authData) { + + String attrName = attr.getNameUri().toString(); + Logger.trace("Build eIDAS attribute: "+ attrName); + + + IAttributeBuilder attrBuilder = getAttributeBuilder(attrName); + if (attrBuilder != null) { + try { + String attrValue = attrBuilder.build(onlineApplicationConfiguration, authData, generator); + if (MiscUtil.isNotEmpty(attrValue)) { + //set uniqueIdentifier attribute, because eIDAS SAMLEngine use this flag to select the + // Subject->NameID value from this attribute + Builder eIDASAttrBuilder = AttributeDefinition.builder(attr); + eIDASAttrBuilder.uniqueIdentifier(evaluateUniqueID(attrName, authData.isUseMandate())); + AttributeDefinition returnAttr = eIDASAttrBuilder.build(); + + //unmarshal attribute value into eIDAS attribute + AttributeValueMarshaller attributeValueMarshaller = returnAttr.getAttributeValueMarshaller(); + ImmutableSet.Builder> builder = ImmutableSet.builder(); + + AttributeValue attributeValue = null; + try { + attributeValue = attributeValueMarshaller.unmarshal(attrValue, false); + builder.add(attributeValue); + + } catch (AttributeValueMarshallingException e) { + throw new IllegalStateException(e); + + } + + return Pair.newInstance(returnAttr, builder.build()); + + } + + } catch (AttributeException e) { + Logger.debug("Attribute can not generate requested attribute:" + attr.getNameUri().toString() + " Reason:" + e.getMessage()); + + } + + } else + Logger.warn("NO attribute builder FOUND for eIDAS attr: " + attrName); + + return null; + } + + /** + * This method use the information from authenticated session and + * evaluate the uniqueID flag according to eIDAS specification + * + * @param attrName eIDAS attribute name that is evaluated + * @param useMandate flag that indicates if the current authenticated session includes a mandate + * @return true if eIDAS attribute holds the unique ID, otherwise false + */ + private static boolean evaluateUniqueID(String attrName, boolean useMandate) { + //if no mandate is used the natural person identifier is the unique ID + if (!useMandate && + attrName.equals(eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.PERSON_IDENTIFIER.getNameUri().toString())) + return true; + + //if mandates are used the the legal person identifier or the natural person identifier of the mandator is the unique ID + else if (useMandate && + attrName.equals(eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_PERSON_IDENTIFIER.getNameUri().toString())) + return true; + + //TODO: implement flag selector for mandates and natural persons + + + return false; + } + +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASData.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASData.java index 7647b4cab..694efab80 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASData.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASData.java @@ -15,6 +15,8 @@ import eu.eidas.auth.commons.protocol.IAuthenticationRequest; @Scope(value = BeanDefinition.SCOPE_PROTOTYPE) public class EIDASData extends RequestImpl { + public static final String REQ_PARAM_eIDAS_AUTHN_TRANSIENT_ID = "transiendIDRequested"; + /** The Constant serialVersionUID. */ private static final long serialVersionUID = 8765755670214923910L; @@ -28,7 +30,7 @@ public class EIDASData extends RequestImpl { private String remoteIPAddress; private String remoteRelayState; - + @Override public Collection getRequestedAttributes(MetadataProvider metadataProvider) { // TODO Auto-generated method stub diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java index 388d65963..5d13e26e2 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EIDASProtocol.java @@ -67,6 +67,7 @@ import eu.eidas.auth.commons.protocol.eidas.IEidasAuthenticationRequest; import eu.eidas.auth.commons.protocol.eidas.impl.EidasAuthenticationRequest; import eu.eidas.auth.commons.protocol.impl.AuthenticationResponse; import eu.eidas.auth.commons.protocol.impl.AuthenticationResponse.Builder; +import eu.eidas.auth.commons.protocol.impl.SamlNameIdFormat; import eu.eidas.auth.engine.ProtocolEngineI; import eu.eidas.auth.engine.metadata.MetadataUtil; import eu.eidas.engine.exceptions.EIDASSAMLEngineException; @@ -307,6 +308,13 @@ public class EIDASProtocol extends AbstractAuthProtocolModulController { pendingReq.setGenericDataToSession(RequestImpl.eIDAS_GENERIC_REQ_DATA_LEVELOFASSURENCE, eIDASSamlReq.getEidasLevelOfAssurance().stringValue()); + //set flag if transiend identifier is requested + if (MiscUtil.isNotEmpty(eIDASSamlReq.getNameIdFormat()) + && eIDASSamlReq.getNameIdFormat().equals(SamlNameIdFormat.TRANSIENT.getNameIdFormat())) + pendingReq.setGenericDataToSession(EIDASData.REQ_PARAM_eIDAS_AUTHN_TRANSIENT_ID, true); + else + pendingReq.setGenericDataToSession(EIDASData.REQ_PARAM_eIDAS_AUTHN_TRANSIENT_ID, false); + // - memorize requested attributes pendingReq.setEidasRequestedAttributes(eIDASSamlReq.getRequestedAttributes()); diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/IeIDASAttribute.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/IeIDASAttribute.java new file mode 100644 index 000000000..15060fb52 --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/IeIDASAttribute.java @@ -0,0 +1,33 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.eidas.attributes.builder; + +import at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder; + +/** + * @author tlenz + * + */ +public interface IeIDASAttribute extends IAttributeBuilder{ + +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrDateOfBirth.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrDateOfBirth.java new file mode 100644 index 000000000..64e5ae770 --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrDateOfBirth.java @@ -0,0 +1,37 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.eidas.attributes.builder; + +import at.gv.egovernment.moa.id.protocols.builder.attributes.BirthdateAttributeBuilder; + +/** + * @author tlenz + * + */ +public class eIDASAttrDateOfBirth extends BirthdateAttributeBuilder implements IeIDASAttribute { + + @Override + public String getName() { + return eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.DATE_OF_BIRTH.getNameUri().toString(); + } +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrFamilyName.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrFamilyName.java new file mode 100644 index 000000000..4195eeeef --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrFamilyName.java @@ -0,0 +1,61 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.eidas.attributes.builder; + +import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters; +import at.gv.egovernment.moa.id.data.IAuthData; +import at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +/** + * @author tlenz + * + */ +public class eIDASAttrFamilyName implements IeIDASAttribute{ + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#getName() + */ + @Override + public String getName() { + return eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_FAMILY_NAME.getNameUri().toString(); + } + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#build(at.gv.egovernment.moa.id.commons.api.IOAAuthParameters, at.gv.egovernment.moa.id.data.IAuthData, at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator) + */ + @Override + public ATT build(IOAAuthParameters oaParam, IAuthData authData, IAttributeGenerator g) + throws AttributeException { + return g.buildStringAttribute(null, getName(), authData.getFamilyName()); + } + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#buildEmpty(at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator) + */ + @Override + public ATT buildEmpty(IAttributeGenerator g) { + return null; + } + +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrGivenName.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrGivenName.java new file mode 100644 index 000000000..2a654ac44 --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrGivenName.java @@ -0,0 +1,61 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.eidas.attributes.builder; + +import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters; +import at.gv.egovernment.moa.id.data.IAuthData; +import at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; + +/** + * @author tlenz + * + */ +public class eIDASAttrGivenName implements IeIDASAttribute{ + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#getName() + */ + @Override + public String getName() { + return eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.CURRENT_GIVEN_NAME.getNameUri().toString(); + } + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#build(at.gv.egovernment.moa.id.commons.api.IOAAuthParameters, at.gv.egovernment.moa.id.data.IAuthData, at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator) + */ + @Override + public ATT build(IOAAuthParameters oaParam, IAuthData authData, IAttributeGenerator g) + throws AttributeException { + return g.buildStringAttribute(null, getName(), authData.getGivenName()); + } + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#buildEmpty(at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator) + */ + @Override + public ATT buildEmpty(IAttributeGenerator g) { + return null; + } + +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalName.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalName.java new file mode 100644 index 000000000..51a2bd69b --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalName.java @@ -0,0 +1,37 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.eidas.attributes.builder; + +import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateLegalPersonFullNameAttributeBuilder; + +/** + * @author tlenz + * + */ +public class eIDASAttrLegalName extends MandateLegalPersonFullNameAttributeBuilder implements IeIDASAttribute { + + @Override + public String getName() { + return eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_NAME.getNameUri().toString(); + } +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalPersonIdentifier.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalPersonIdentifier.java new file mode 100644 index 000000000..c008048cb --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrLegalPersonIdentifier.java @@ -0,0 +1,37 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.eidas.attributes.builder; + +import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateLegalPersonSourcePinAttributeBuilder; + +/** + * @author tlenz + * + */ +public class eIDASAttrLegalPersonIdentifier extends MandateLegalPersonSourcePinAttributeBuilder implements IeIDASAttribute { + + @Override + public String getName() { + return eu.eidas.auth.engine.core.eidas.spec.LegalPersonSpec.Definitions.LEGAL_PERSON_IDENTIFIER.getNameUri().toString(); + } +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrNaturalPersonalIdentifier.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrNaturalPersonalIdentifier.java new file mode 100644 index 000000000..cb659c2b1 --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eIDASAttrNaturalPersonalIdentifier.java @@ -0,0 +1,116 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.protocols.eidas.attributes.builder; + +import java.security.MessageDigest; + +import at.gv.egovernment.moa.id.auth.modules.eidas.utils.eIDASAttributeProcessingUtils; +import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters; +import at.gv.egovernment.moa.id.data.IAuthData; +import at.gv.egovernment.moa.id.data.Trible; +import at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator; +import at.gv.egovernment.moa.id.protocols.eidas.EIDASData; +import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; +import at.gv.egovernment.moa.id.util.Random; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.Base64Utils; +import at.gv.egovernment.moa.util.MiscUtil; + +/** + * @author tlenz + * + */ +public class eIDASAttrNaturalPersonalIdentifier implements IeIDASAttribute{ + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#getName() + */ + @Override + public String getName() { + return eu.eidas.auth.engine.core.eidas.spec.NaturalPersonSpec.Definitions.PERSON_IDENTIFIER.getNameUri().toString(); + } + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#build(at.gv.egovernment.moa.id.commons.api.IOAAuthParameters, at.gv.egovernment.moa.id.data.IAuthData, at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator) + */ + @Override + public ATT build(IOAAuthParameters oaParam, IAuthData authData, IAttributeGenerator g) + throws AttributeException { + String personalID = authData.getBPK(); + + //generate eIDAS conform 'PersonalIdentifier' attribute + if (!eIDASAttributeProcessingUtils.validateEidasPersonalIdentifier(personalID)) { + Logger.debug("preCalculated PersonalIdentifier does not include eIDAS conform prefixes ... add prefix now"); + if (MiscUtil.isEmpty(authData.getBPKType()) + || !authData.getBPKType().startsWith(at.gv.egovernment.moa.util.Constants.URN_PREFIX_EIDAS)) { + Logger.error("BPKType is empty or does not start with eIDAS bPKType prefix! bPKType:" + authData.getBPKType()); + throw new AttributeException("Suspect bPKType for eIDAS identifier generation"); + + } + + String prefix = authData.getBPKType().substring(at.gv.egovernment.moa.util.Constants.URN_PREFIX_EIDAS.length() + 1); + personalID = prefix.replaceAll("\\+", "/") + "/" + personalID; + + } + + //generate a transient unique identifier if it is requested + Boolean isTransiendIDRequested = + authData.getGenericData(EIDASData.REQ_PARAM_eIDAS_AUTHN_TRANSIENT_ID, Boolean.class); + if (isTransiendIDRequested != null && isTransiendIDRequested) + personalID = generateTransientNameID(personalID); + + return g.buildStringAttribute(null, getName(), personalID); + } + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder#buildEmpty(at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator) + */ + @Override + public ATT buildEmpty(IAttributeGenerator g) { + return null; + } + + private String generateTransientNameID(String nameID) { + //extract source-country and destination country from persistent identifier + Trible split = eIDASAttributeProcessingUtils.parseEidasPersonalIdentifier(nameID); + if (split == null) { + Logger.error("eIDAS 'PersonalIdentifier' has a wrong format. There had to be a ERROR in implementation!!!!"); + throw new IllegalStateException("eIDAS 'PersonalIdentifier' has a wrong format. There had to be a ERROR in implementation!!!!"); + + } + + //build correct formated transient identifier + String random = Random.nextLongRandom(); + try { + MessageDigest md = MessageDigest.getInstance("SHA-1"); + byte[] hash = md.digest((split.getThird() + random).getBytes("ISO-8859-1")); + return split.getFirst() + "/" + split.getSecond() + "/" + Base64Utils.encode(hash); + + } catch (Exception e) { + Logger.error("Can not generate transient personal identifier!", e); + return null; + + } + + } +} diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/eIDASAuthenticationRequest.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/eIDASAuthenticationRequest.java index 2fe52bb4f..d0cda38c7 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/eIDASAuthenticationRequest.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/eIDASAuthenticationRequest.java @@ -23,8 +23,6 @@ package at.gv.egovernment.moa.id.protocols.eidas; import java.io.StringWriter; -import java.security.MessageDigest; -import java.text.SimpleDateFormat; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -43,33 +41,23 @@ import at.gv.egovernment.moa.id.auth.frontend.velocity.VelocityProvider; import at.gv.egovernment.moa.id.auth.modules.eidas.Constants; import at.gv.egovernment.moa.id.auth.modules.eidas.engine.MOAeIDASChainingMetadataProvider; import at.gv.egovernment.moa.id.auth.modules.eidas.utils.SimpleEidasAttributeGenerator; -import at.gv.egovernment.moa.id.auth.modules.eidas.utils.eIDASAttributeProcessingUtils; +import at.gv.egovernment.moa.id.auth.modules.eidas.utils.eIDASAttributeBuilder; import at.gv.egovernment.moa.id.commons.MOAIDConstants; import at.gv.egovernment.moa.id.commons.api.IRequest; import at.gv.egovernment.moa.id.commons.api.exceptions.MOAIDException; import at.gv.egovernment.moa.id.data.IAuthData; +import at.gv.egovernment.moa.id.data.Pair; import at.gv.egovernment.moa.id.data.SLOInformationImpl; import at.gv.egovernment.moa.id.data.SLOInformationInterface; -import at.gv.egovernment.moa.id.data.Trible; import at.gv.egovernment.moa.id.moduls.IAction; import at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeGenerator; -import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateLegalPersonFullNameAttributeBuilder; -import at.gv.egovernment.moa.id.protocols.builder.attributes.MandateLegalPersonSourcePinAttributeBuilder; -import at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes.exceptions.AttributeException; -import at.gv.egovernment.moa.id.util.Random; import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.MiscUtil; import eu.eidas.auth.commons.EidasStringUtil; import eu.eidas.auth.commons.attribute.AttributeDefinition; -import eu.eidas.auth.commons.attribute.AttributeDefinition.Builder; import eu.eidas.auth.commons.attribute.AttributeValue; -import eu.eidas.auth.commons.attribute.AttributeValueMarshaller; -import eu.eidas.auth.commons.attribute.AttributeValueMarshallingException; import eu.eidas.auth.commons.attribute.ImmutableAttributeMap; import eu.eidas.auth.commons.protocol.IResponseMessage; import eu.eidas.auth.commons.protocol.impl.AuthenticationResponse; -import eu.eidas.auth.commons.protocol.impl.SamlNameIdFormat; import eu.eidas.auth.engine.ProtocolEngineI; import eu.eidas.auth.engine.xml.opensaml.SAMLEngineUtils; @@ -97,104 +85,31 @@ public class eIDASAuthenticationRequest implements IAction { else throw new MOAIDException("got wrong IRequest type. is: {}, should be: {}", new String[] {req.getClass().toString(), EIDASData.class.toString()}); - + String subjectNameID = null; - + //gather attributes ImmutableAttributeMap reqAttributeList = (ImmutableAttributeMap) eidasRequest.getEidasRequestedAttributes(); ImmutableAttributeMap.Builder attrMapBuilder = ImmutableAttributeMap.builder(); - - //TODO: if we support more then this minimum required attributes -> redesign to a smoother attribute builder selector + + //generate eIDAS attributes for(AttributeDefinition attr : reqAttributeList.getDefinitions()) { - String newValue = ""; - boolean isUniqueID = false; - try { - switch(attr.getFriendlyName()) { - case Constants.eIDAS_ATTR_DATEOFBIRTH: - newValue = new SimpleDateFormat("YYYY-MM-dd").format(authData.getDateOfBirth()); - break; - case Constants.eIDAS_ATTR_CURRENTFAMILYNAME: - newValue = authData.getFamilyName(); - break; - case Constants.eIDAS_ATTR_CURRENTGIVENNAME: - newValue = authData.getGivenName(); - break; - case Constants.eIDAS_ATTR_PERSONALIDENTIFIER: - newValue = authData.getBPK(); - isUniqueID = true; + Pair, ImmutableSet>> eIDASAttr = eIDASAttributeBuilder.buildAttribute( + attr, req.getOnlineApplicationConfiguration(), authData); - //generate eIDAS conform 'PersonalIdentifier' attribute - if (!eIDASAttributeProcessingUtils.validateEidasPersonalIdentifier(newValue)) { - Logger.debug("preCalculated PersonalIdentifier does not include eIDAS conform prefixes ... add prefix now"); - if (MiscUtil.isEmpty(authData.getBPKType()) - || !authData.getBPKType().startsWith(at.gv.egovernment.moa.util.Constants.URN_PREFIX_EIDAS)) { - Logger.error("BPKType is empty or does not start with eIDAS bPKType prefix! bPKType:" + authData.getBPKType()); - throw new MOAIDException("builder.08", new Object[]{"Suspect bPKType for eIDAS identifier generation"}); - - } - - String prefix = authData.getBPKType().substring(at.gv.egovernment.moa.util.Constants.URN_PREFIX_EIDAS.length() + 1); - newValue = prefix.replaceAll("\\+", "/") + "/" + newValue; - - } - - //generate a transient unique identifier if it is requested - String reqNameIDFormat = eidasRequest.getEidasRequest().getNameIdFormat(); - if (MiscUtil.isNotEmpty(reqNameIDFormat) - && reqNameIDFormat.equals(SamlNameIdFormat.TRANSIENT.getNameIdFormat())) - newValue = generateTransientNameID(newValue); - - - subjectNameID = newValue; - break; - case Constants.eIDAS_ATTR_LEGALPERSONIDENTIFIER: - newValue = new MandateLegalPersonSourcePinAttributeBuilder().build( - req.getOnlineApplicationConfiguration(), authData, generator); - break; - case Constants.eIDAS_ATTR_LEGALNAME: - newValue = new MandateLegalPersonFullNameAttributeBuilder().build( - req.getOnlineApplicationConfiguration(), authData, generator); - break; - - } - - } catch (AttributeException e) { - Logger.debug("Attribute can not generate requested attribute:" + attr.getFriendlyName() + " Reason:" + e.getMessage()); - - } - - if(MiscUtil.isEmpty(newValue)) { + if(eIDASAttr == null) { if (attr.isRequired()) { Logger.info("eIDAS Attr:" + attr.getNameUri() + " is marked as 'Required' but not available."); throw new MOAIDException("eIDAS.15", new Object[]{attr.getFriendlyName()}); } else Logger.info("eIDAS Attr:" + attr.getNameUri() + " is not available."); - } else { - //set uniqueIdentifier attribute, because eIDAS SAMLEngine use this flag to select the - // Subject->NameID value from this attribute - Builder attrBuilder = AttributeDefinition.builder(attr); - attrBuilder.uniqueIdentifier(isUniqueID); - AttributeDefinition returnAttr = attrBuilder.build(); - - //unmarshal attribute value into eIDAS attribute - AttributeValueMarshaller attributeValueMarshaller = returnAttr.getAttributeValueMarshaller(); - ImmutableSet.Builder> builder = ImmutableSet.builder(); - - AttributeValue attributeValue = null; - try { - attributeValue = attributeValueMarshaller.unmarshal(newValue, false); - builder.add(attributeValue); - - } catch (AttributeValueMarshallingException e) { - throw new IllegalStateException(e); - - } - - //add attribute to Map - attrMapBuilder.put((AttributeDefinition)returnAttr, (ImmutableSet) builder.build()); + //add attribute to Map + attrMapBuilder.put( + (AttributeDefinition)eIDASAttr.getFirst(), + (ImmutableSet)eIDASAttr.getSecond()); } } @@ -231,19 +146,7 @@ public class eIDASAuthenticationRequest implements IAction { eIDASRespMsg = engine.generateResponseMessage(eidasRequest.getEidasRequest(), response, true, eidasRequest.getRemoteAddress()); - -// if(null == eidasRequest.getEidasRequest().getAssertionConsumerServiceURL()) { -// String assertionConsumerUrl = MetadataUtil.getAssertionUrlFromMetadata( -// new MOAeIDASMetadataProviderDecorator(eIDASMetadataProvider), -// engine, -// eidasRequest.getEidasRequest()); -// eidasRequest.getEidasRequest().setAssertionConsumerServiceURL(assertionConsumerUrl); -// -// } - -// response = engine.generateEIDASAuthnResponse(eidasRequest.getEidasRequest(), response, eidasRequest.getRemoteAddress(), true); - - + token = EidasStringUtil.encodeToBase64(eIDASRespMsg.getMessageBytes()); } catch(Exception e) { @@ -319,28 +222,6 @@ public class eIDASAuthenticationRequest implements IAction { } - private String generateTransientNameID(String nameID) { - //extract source-country and destination country from persistent identifier - Trible split = eIDASAttributeProcessingUtils.parseEidasPersonalIdentifier(nameID); - if (split == null) { - Logger.error("eIDAS 'PersonalIdentifier' has a wrong format. There had to be a ERROR in implementation!!!!"); - throw new IllegalStateException("eIDAS 'PersonalIdentifier' has a wrong format. There had to be a ERROR in implementation!!!!"); - - } - - //build correct formated transient identifier - String random = Random.nextLongRandom(); - try { - MessageDigest md = MessageDigest.getInstance("SHA-1"); - byte[] hash = md.digest((split.getThird() + random).getBytes("ISO-8859-1")); - return split.getFirst() + "/" + split.getSecond() + "/" + Base64Utils.encode(hash); - - } catch (Exception e) { - Logger.error("Can not generate transient personal identifier!", e); - return null; - - } - - } + } diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder b/id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder new file mode 100644 index 000000000..62e7c20ab --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.builder.attributes.IAttributeBuilder @@ -0,0 +1,6 @@ +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrDateOfBirth +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrFamilyName +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrGivenName +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrNaturalPersonalIdentifier +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrLegalPersonIdentifier +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrLegalName diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.IeIDASAttribute b/id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.IeIDASAttribute new file mode 100644 index 000000000..62e7c20ab --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/resources/META-INF/services/at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.IeIDASAttribute @@ -0,0 +1,6 @@ +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrDateOfBirth +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrFamilyName +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrGivenName +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrNaturalPersonalIdentifier +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrLegalPersonIdentifier +at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASAttrLegalName -- cgit v1.2.3 From 44184c19d53146dcd84e2ddd704ff78aa539d511 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 23 Feb 2017 08:13:11 +0100 Subject: update eIDAS SP metadata, because SP needs persistent identifiers only --- .../modules/eidas/utils/MOAeIDASMetadataGenerator.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java index 9d397074b..7b159c73d 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/MOAeIDASMetadataGenerator.java @@ -208,7 +208,12 @@ public class MOAeIDASMetadataGenerator extends MetadataGenerator { if (!StringUtils.isEmpty(params.getAssertionConsumerUrl())) { addAssertionConsumerService(); } - fillNameIDFormat(spSSODescriptor); + + //FIX: Austrian eIDAS node SP only needs persistent identifiers + NameIDFormat persistentFormat = + (NameIDFormat) BuilderFactoryUtil.buildXmlObject(NameIDFormat.DEFAULT_ELEMENT_NAME); + persistentFormat.setFormat(SamlNameIdFormat.PERSISTENT.getNameIdFormat()); + spSSODescriptor.getNameIDFormats().add(persistentFormat); /**FIXME: * Double signing of SPSSODescribtor is not required @@ -221,8 +226,8 @@ public class MOAeIDASMetadataGenerator extends MetadataGenerator { entityDescriptor.getRoleDescriptors().add(spSSODescriptor); } - - private void fillNameIDFormat(SSODescriptor ssoDescriptor) throws EIDASSAMLEngineException { + + private void fillIDPNameIDFormat(SSODescriptor ssoDescriptor) throws EIDASSAMLEngineException { NameIDFormat persistentFormat = (NameIDFormat) BuilderFactoryUtil.buildXmlObject(NameIDFormat.DEFAULT_ELEMENT_NAME); persistentFormat.setFormat(SamlNameIdFormat.PERSISTENT.getNameIdFormat()); @@ -269,7 +274,9 @@ public class MOAeIDASMetadataGenerator extends MetadataGenerator { .add(getKeyDescriptor(keyInfoGeneratorFactory, params.getEncryptionCredential(), UsageType.ENCRYPTION)); } idpSSODescriptor.addSupportedProtocol(params.getIdpSamlProtocol()); - fillNameIDFormat(idpSSODescriptor); + + //Austrian eIDAS node IDP can provided persistent, transient, and unspecified identifiers + fillIDPNameIDFormat(idpSSODescriptor); if (params.getIdpEngine() != null) { @@ -298,7 +305,7 @@ public class MOAeIDASMetadataGenerator extends MetadataGenerator { } - /*TODO: Only a work-around to add eIDAS attributes, which could be provided from MOA-ID, to IDP metadata + /* FIX: Work-around to add eIDAS attributes, which could be provided from MOA-ID, to IDP metadata * If we restrict the eIDAS Engine attribute definitions then also additional incoming attributes can not processed any more. */ public ImmutableSortedSet> getAllSupportedAttributes() { -- cgit v1.2.3 From 322d191c02df1c1d4bdabe141e9cdc61acc9f015 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 23 Feb 2017 08:13:35 +0100 Subject: add some javadoc information --- .../auth/modules/eidas/utils/eIDASAttributeBuilder.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java index 1f34a912d..22b94178e 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/eIDASAttributeBuilder.java @@ -81,16 +81,23 @@ public class eIDASAttributeBuilder extends PVPAttributeBuilder { } + /** + * Get all eIDAS attribute names that can be generated by the Austrian eIDAS node. + * This list is dynamically generated from loaded eIDAS attribute builders that are found in Java Classpath + * + * @return {@link List} of {@link String} of eIDAS attribute names + */ public static List getAllProvideableeIDASAttributes() { return listOfSupportedeIDASAttributes; } /** - * - * @param attr - * @param onlineApplicationConfiguration - * @param authData - * @return + * This method build an eIDAS response attribute, by using a loaded eIDAS attribute builder. + * + * @param attr eIDAS attribute that should be generated + * @param onlineApplicationConfiguration SP configuration + * @param authData Authentication data that contains user information for attribute generation + * @return eIDAS attribute response {@link Pair} or null if the attribute generation FAILES */ public static Pair,ImmutableSet>> buildAttribute(AttributeDefinition attr, IOAAuthParameters onlineApplicationConfiguration, IAuthData authData) { -- cgit v1.2.3 From c3a7ea3758c23d0d1f147aa29c13d09fd0334f35 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Mon, 27 Feb 2017 14:58:39 +0100 Subject: add iaik_ixsil dependency that is required for moa-id-lib jUnit tests --- .../prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.jar | Bin 0 -> 201276 bytes .../prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.pom | 9 +++++++++ 2 files changed, 9 insertions(+) create mode 100644 repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.jar create mode 100644 repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.pom diff --git a/repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.jar b/repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.jar new file mode 100644 index 000000000..9ac61d5c2 Binary files /dev/null and b/repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.jar differ diff --git a/repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.pom b/repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.pom new file mode 100644 index 000000000..af6c78766 --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/1.2.2.5/iaik_ixsil-1.2.2.5.pom @@ -0,0 +1,9 @@ + + + 4.0.0 + iaik.prod + iaik_ixsil + 1.2.2.5 + POM was created from install:install-file + -- cgit v1.2.3 From 30db55cc7a7a9bfa67b321e66bb8d1b1abf7afc9 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 2 Mar 2017 10:43:59 +0100 Subject: remove MOA-SPSS source code from MOA-ID repository. The MOA-SPSS source is already moved to a new repository. --- pom.xml | 6 +- spss/assembly-lib.xml | 159 -- spss/assembly.xml | 163 -- spss/handbook/clients/api/.gitignore | 2 - spss/handbook/clients/api/pom.xml | 157 -- .../clients/api/signatures/SimpleSignature.xml | 23 - .../handbook/clients/api/CreateXMLSignature.java | 154 -- .../handbook/clients/api/VerifyXMLSignature.java | 171 -- spss/handbook/clients/pom.xml | 46 - spss/handbook/clients/referencedData/.gitignore | 2 - spss/handbook/clients/referencedData/pom.xml | 56 - .../src/main/webapp/META-INF/MANIFEST.MF | 3 - .../referencedData/src/main/webapp/Text.b64 | 1 - .../referencedData/src/main/webapp/Text.txt | 1 - .../referencedData/src/main/webapp/WEB-INF/web.xml | 10 - .../src/main/webapp/XMLDocument.Para.xsl | 19 - .../src/main/webapp/XMLDocument.signed.xml | 27 - .../XMLDocument.withResolvableSchemaHint.xml | 6 - .../src/main/webapp/XMLDocument.withSchemaHint.xml | 6 - .../referencedData/src/main/webapp/XMLDocument.xml | 6 - .../referencedData/src/main/webapp/XMLDocument.xsd | 15 - .../referencedData/src/main/webapp/XMLDocument.xsl | 18 - .../src/main/webapp/XMLDocumentRef.xsl | 4 - spss/handbook/clients/webservice/.gitignore | 2 - .../clients/webservice/conf/http.properties | 78 - .../clients/webservice/conf/log4j.properties | 25 - spss/handbook/clients/webservice/pom.xml | 155 -- ...reateCMSSignatureRequest.Base64Content.resp.xml | 46 - .../CreateCMSSignatureRequest.Base64Content.xml | 17 - .../CreateCMSSignatureRequest.Reference.resp.xml | 38 - .../CreateCMSSignatureRequest.Reference.xml | 14 - .../CreateXMLSignatureRequest.Refs.resp.xml | 31 - .../requests/CreateXMLSignatureRequest.Refs.xml | 137 -- .../CreateXMLSignatureRequest.Simple.resp.xml | 23 - .../requests/CreateXMLSignatureRequest.Simple.xml | 19 - .../CreateXMLSignatureRequest.Supplements.resp.xml | 29 - .../CreateXMLSignatureRequest.Supplements.xml | 40 - .../CreateXMLSignatureRequest.Transforms.resp.xml | 39 - .../CreateXMLSignatureRequest.Transforms.xml | 52 - .../VerifyCMSSignatureRequest.Extended.resp.xml | 29 - .../VerifyCMSSignatureRequest.Extended.xml | 44 - .../VerifyCMSSignatureRequest.Simple.resp.xml | 29 - .../requests/VerifyCMSSignatureRequest.Simple.xml | 39 - .../VerifyXMLSignatureRequest.Enveloped.resp.xml | 28 - .../VerifyXMLSignatureRequest.Enveloped.xml | 10 - ...rifyXMLSignatureRequest.FileURIs.DataObject.xml | 82 - ...SignatureRequest.FileURIs.ServerSupplements.xml | 66 - ...ifyXMLSignatureRequest.FileURIs.Supplements.xml | 70 - .../VerifyXMLSignatureRequest.FileURIs.xml | 58 - .../VerifyXMLSignatureRequest.SigManifest.resp.xml | 24 - .../VerifyXMLSignatureRequest.SigManifest.xml | 50 - .../VerifyXMLSignatureRequest.Simple.resp.xml | 23 - .../requests/VerifyXMLSignatureRequest.Simple.xml | 30 - .../VerifyXMLSignatureRequest.Supplements.resp.xml | 23 - .../VerifyXMLSignatureRequest.Supplements.xml | 62 - .../VerifyXMLSignatureRequest.TSL.resp.xml | 50 - .../requests/VerifyXMLSignatureRequest.TSL.xml | 6 - ...ifyXMLSignatureRequest.XMLDSigManifest.resp.xml | 23 - .../VerifyXMLSignatureRequest.XMLDSigManifest.xml | 31 - ...gnatureRequest.VerifyXML.Enveloped.response.xml | 27 - ...eateXMLSignatureRequest.VerifyXML.Enveloped.xml | 25 - ...atureRequest.VerifyXML.SigManifest.response.xml | 29 - ...teXMLSignatureRequest.VerifyXML.SigManifest.xml | 30 - ...eRequest.VerifyXML.XMLDSigManifest.response.xml | 23 - ...LSignatureRequest.VerifyXML.XMLDSigManifest.xml | 18 - ...LSignatureRequest.Transforms.hashinput.ref2.txt | 8 - .../resources/sslKeys/customer1/moa-ssl-kunde1.cer | Bin 1075 -> 0 bytes .../customer1/moa-ssl-kunde1[pwd=kunde1].p12 | Bin 4126 -> 0 bytes .../customer1/trustedServers[pwd=servers].keystore | Bin 1185 -> 0 bytes .../resources/sslKeys/customer2/moa-ssl-kunde2.cer | Bin 1075 -> 0 bytes .../customer2/moa-ssl-kunde2[pwd=kunde2].p12 | Bin 4126 -> 0 bytes .../customer2/trustedServers[pwd=servers].keystore | Bin 1185 -> 0 bytes .../resources/sslKeys/server/localhost.cer | Bin 1091 -> 0 bytes .../sslKeys/server/tomcat[pwd=server].keystore | Bin 2473 -> 0 bytes .../server/trustedClients[pwd=clients].keystore | Bin 2318 -> 0 bytes .../moa/spss/handbook/clients/webservice/HTTP.java | 229 --- .../clients/webservice/HTTPSClientAuth.java | 146 -- .../clients/webservice/HTTPSServerAuth.java | 149 -- .../C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 | Bin 1385 -> 0 bytes .../E1201A308CC10323C27D9084B048996E44B8F710 | Bin 806 -> 0 bytes .../D44EED7580C7792242D73E267A89C7DB25E4BD08 | Bin 1314 -> 0 bytes .../7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 | Bin 864 -> 0 bytes .../9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 | Bin 1383 -> 0 bytes .../08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 | Bin 991 -> 0 bytes .../0F843FB1E0C626540BE638B79A2987E2611CE630 | Bin 1018 -> 0 bytes .../69F21C82DC9A7A940ACEC414593E59C9E61E522F | Bin 990 -> 0 bytes .../FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 | Bin 1087 -> 0 bytes .../341F53B3B17518213B1856BFAB3CEFBE948AFC0D | Bin 1070 -> 0 bytes .../3A24040C01D5C9A4980575BFF99A25E534A056CB | Bin 1070 -> 0 bytes .../FB356CEF4406D1F135E3FC59026B338D3F518F9A | Bin 886 -> 0 bytes .../BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 | Bin 995 -> 0 bytes .../E7340D1FB627D8917A9C0D23F21515C441BF1214 | Bin 1292 -> 0 bytes .../2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D | Bin 820 -> 0 bytes .../386C1663C6390BC288DC171522439210AF361958 | Bin 1000 -> 0 bytes .../9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 | Bin 1151 -> 0 bytes .../49969819654C230ECDF779ABB9629A211FCC43D6 | Bin 1353 -> 0 bytes .../D0AF386E182F00983637F97C0A5F4708F9F641A7 | Bin 1157 -> 0 bytes .../6814C7316CEA7191C9CB3BE58199B4A957210D9C | Bin 704 -> 0 bytes .../5F06F65C714047E3B282AEC427C35AB703E49D8E | Bin 1169 -> 0 bytes .../D45360060761812D33DE294EAC1573F6DE12A208 | Bin 1169 -> 0 bytes .../C529469053D9F95810A8F7F2DB9A6596A7655732 | Bin 913 -> 0 bytes .../D3C063F219ED073E34AD5D750B327629FFD59AF2 | Bin 979 -> 0 bytes .../1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 | Bin 991 -> 0 bytes .../AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 | Bin 919 -> 0 bytes .../C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 | Bin 1018 -> 0 bytes .../DFAE695342AC81A521025904406884399822B233 | Bin 987 -> 0 bytes .../12B06E039F1A36D8238AFC508009E1ADF88BF66F | Bin 1253 -> 0 bytes .../0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 | Bin 704 -> 0 bytes .../D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D | Bin 914 -> 0 bytes .../88D6151358A5E3C81D7AE1A536121DC03011BC03 | Bin 1205 -> 0 bytes .../35A40EF932B1F23980E2C672FC939E91EEBD0317 | Bin 1262 -> 0 bytes .../B1D0BC027906A3B7E7518C93ACB26D978233ED27 | Bin 1171 -> 0 bytes .../75F792DE2CF544007F470F1B924961C2BD2EF517 | Bin 802 -> 0 bytes .../08BBE8E906397158FA4BF4058BBBDB5EA11BAE82 | Bin 979 -> 0 bytes .../66AB66128A44574873E54E6584E450C4EB3B9A1E | Bin 1170 -> 0 bytes .../65698A39E03FF00FD552D4AD99FB290C2B9D4BEA | Bin 1018 -> 0 bytes .../04CF0318BA0B54DD76E1DE143445210BDD32E299 | Bin 865 -> 0 bytes .../0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F | Bin 861 -> 0 bytes .../51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE | Bin 865 -> 0 bytes .../9E0512DD61DA5949D1D8631C3F19D75F496C3733 | Bin 864 -> 0 bytes .../E6E6FC88719177C9B7421825757C5E47BCAC85F6 | Bin 860 -> 0 bytes .../C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E | Bin 1298 -> 0 bytes .../A2F138CD16AD04BC3F145E3780BFA169BFDA263B | Bin 1505 -> 0 bytes .../C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 | Bin 1234 -> 0 bytes .../23E594945195F2414803B4D564D2A3A3F5D88B8C | Bin 791 -> 0 bytes .../6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A | Bin 1256 -> 0 bytes .../65EF37033859C2F709A64086D3A5BD1B8F1A85A4 | Bin 1045 -> 0 bytes .../07298E24461954E4696D2ED9FFB7D52B57F325B3 | Bin 1279 -> 0 bytes .../B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 | Bin 1273 -> 0 bytes .../3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 | Bin 914 -> 0 bytes .../84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E | Bin 1747 -> 0 bytes .../9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA | Bin 1391 -> 0 bytes .../C23FC1895966021249B35412C0C8C56D107732DE | Bin 1563 -> 0 bytes .../51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 | Bin 1130 -> 0 bytes .../F5F2456D79490C268569970E900C68FD1C7DC8E5 | Bin 1264 -> 0 bytes .../F86591A6D86718886A0234B8E54E21AAEA63E24B | Bin 1586 -> 0 bytes .../B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F | Bin 1188 -> 0 bytes .../620127A8E5886A4805403977C3EF7D5EAF881526 | Bin 870 -> 0 bytes .../FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 | Bin 1141 -> 0 bytes .../4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 | Bin 984 -> 0 bytes .../6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B | Bin 1159 -> 0 bytes .../341EA32E448659125A67DD04177FD17468FCFCB1 | Bin 1366 -> 0 bytes .../069519EC949AC6B91D4C33A3F3665441F0220D20 | Bin 1313 -> 0 bytes .../2F5EBA5055E9F7444852ADCEEB769E5DE157A03D | Bin 1352 -> 0 bytes .../334710B9169BCD20687A6302EEB16AEB97F288CD | Bin 825 -> 0 bytes .../D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 | Bin 1213 -> 0 bytes .../CA80A13D41116E24CB1479E970CDC1C030C5907C | Bin 1272 -> 0 bytes .../7A2CFA69FCA284D4627012A7A55662594C803B2A | Bin 901 -> 0 bytes .../ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B | Bin 901 -> 0 bytes .../53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 | Bin 1546 -> 0 bytes .../00845B74CA13FE0A9056E6C0B5126FECF73B0D8C | Bin 740 -> 0 bytes .../474BC41135FB88BF58B5A8D976A1D5583378D85E | Bin 1133 -> 0 bytes .../6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 | Bin 1171 -> 0 bytes .../FDC348410699803DE7D8276813BC2232EA99A878 | Bin 835 -> 0 bytes .../BF648929E7DAABD8D97B3202F48D6C4A19C78F6C | Bin 990 -> 0 bytes .../FE4F09F5D1A4AADE9232D9E2D6B9A2552BC48A22 | Bin 1147 -> 0 bytes .../6DCD5118D1542E6C205C580775C5420B7509506B | Bin 1076 -> 0 bytes .../3B8484BF1370941BF03F206B5C4958DA4E1559BB | Bin 1065 -> 0 bytes .../6DD653FB8FE2614249924274043E834664EBE980 | Bin 1065 -> 0 bytes .../C0EF3E7A54B4C501295F77974B1995E36B25C92B | Bin 1066 -> 0 bytes .../D29172D3F501A2D7A47F702633044F519A3A5F0B | Bin 1066 -> 0 bytes .../842B3870A64001CDD90978D0E554DAF94D9ABDFE | Bin 947 -> 0 bytes .../679A4F81FC705DDEC419778DD2EBD875F4C242C6 | Bin 975 -> 0 bytes .../82096E6D9B1248321625323D52858642CB0B748E | Bin 975 -> 0 bytes .../53A6B611F8CEE0315BCCE5D59898931ED390E400 | Bin 761 -> 0 bytes .../A149EE01A250491C07D5A279D3B58A646288DA22 | Bin 1185 -> 0 bytes .../AD8ECBB67B9DC59406F92A296A38192297A4F169 | Bin 1191 -> 0 bytes .../45B43346251FDF9E95DCB7F36928785D46D63913 | Bin 1136 -> 0 bytes .../E33619C88426E4FE956041E6751ADDEC9C10F0BC | Bin 1136 -> 0 bytes .../35202B14F69409EAA51CD8AB547AC0CD5E993F3F | Bin 1053 -> 0 bytes .../41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA | Bin 1165 -> 0 bytes .../79B21E2743A879AFF5403ECEA09EAC2084EF4799 | Bin 1014 -> 0 bytes .../3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 | Bin 1030 -> 0 bytes .../9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B | Bin 932 -> 0 bytes .../A562C4B99E2847251CB4A1F05DA1FF43E7296F0B | Bin 999 -> 0 bytes .../9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C | Bin 997 -> 0 bytes .../9F0E0FBB25F66FF88C8E033EFF358923C84A2926 | Bin 930 -> 0 bytes .../C87D1855227D995C332C4C9072A2E2053F2CC623 | Bin 1028 -> 0 bytes .../42AD1897A4643D2AA634D980F16349E6694F3B1B | Bin 1237 -> 0 bytes .../FE7891B6ED7B178F528A28B21478299F865889BD | Bin 1333 -> 0 bytes .../3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B | Bin 1201 -> 0 bytes .../8784ED81F5A22779EB0B081945FD151992557FBE | Bin 1159 -> 0 bytes .../88583DB03975127CB488CA7DDE303A1646CEA97B | Bin 1159 -> 0 bytes .../0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 | Bin 1058 -> 0 bytes .../20CAECDCA766243AAD6FA1327618FC81BA65DC0F | Bin 1057 -> 0 bytes .../96D5D179016A5A6546973BA63733617EE1F1540D | Bin 1058 -> 0 bytes .../CF236CF66379EA506F967D21F0E25E87529D9687 | Bin 1058 -> 0 bytes .../FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 | Bin 1057 -> 0 bytes .../266FCA0265A576548425BDAE15448665EE8BB889 | Bin 1076 -> 0 bytes .../D4D1370FD1D9EAA46412008FF3E59E114BCF724A | Bin 1111 -> 0 bytes .../DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A | Bin 1110 -> 0 bytes .../E619D25B380B7B13FDA33E8A58CD82D8A88E0515 | Bin 1111 -> 0 bytes .../F825578F8F5484DFB40F81867C392D6CB0012B92 | Bin 1110 -> 0 bytes .../A9D28607928FA8615E2615CC9D71B535C5D0D419 | Bin 734 -> 0 bytes .../4D523730501ADB80A76B0B473A4D21C7D86F8374 | Bin 1167 -> 0 bytes .../7AC3EFA52DE27A930EC8754DB5E061476948E914 | Bin 1028 -> 0 bytes .../8944AF64790FA467C02424CB22523A068C3B72DB | Bin 1073 -> 0 bytes .../36B41A8B411985ED1032DBD85A154207164A9B85 | Bin 1069 -> 0 bytes .../AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 | Bin 1339 -> 0 bytes .../07A6DEED70213CCF598F278789680DA4C04A0331 | Bin 1266 -> 0 bytes .../A5A00B223EF24AED92D03F652CFE367CA9D1B200 | Bin 958 -> 0 bytes .../BD78039E45BA4E4B13ADECC58124520ACE83B6A7 | Bin 1614 -> 0 bytes .../7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 | Bin 920 -> 0 bytes .../D1474E7D99512D05B98DD37B3FE86496A03D088D | Bin 922 -> 0 bytes .../9766A5ED03482991DA91BB763ECDCD9417394100 | Bin 1169 -> 0 bytes .../BB97947C31BBF3364A2909F9876DBD3B87B5B62A | Bin 1169 -> 0 bytes .../60B7181FD8BCA00B84961BF31DB08C50376CCF44 | Bin 1068 -> 0 bytes .../74801529B4E8E5764FFC4D8E6577E1F84E8101CE | Bin 1067 -> 0 bytes .../7B7B60B748C82B34EE71A3CEA729C477083F0BDA | Bin 1068 -> 0 bytes .../EBB80BE34C78814AE659BBA3A2394E4D9857123D | Bin 1068 -> 0 bytes .../7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 | Bin 700 -> 0 bytes .../42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA | Bin 975 -> 0 bytes .../51C01567BCB22968EF5A297B7EA84E195594E0E8 | Bin 975 -> 0 bytes .../DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE | Bin 823 -> 0 bytes .../844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA | Bin 1159 -> 0 bytes .../B38C775A18C1195D01658D75FBDA3258B6DF018B | Bin 1159 -> 0 bytes .../6955D95F6B0799F7D96F4FC28E6E6C64758C1240 | Bin 1224 -> 0 bytes .../F96FE4F59166EFA9000B21A16EF22CF14468890C | Bin 944 -> 0 bytes .../7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E | Bin 1159 -> 0 bytes .../A79681CBDD69EC741214136F128923A574E26F03 | Bin 1159 -> 0 bytes .../C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED | Bin 406 -> 0 bytes .../7666A8BD2C2513DE489C06D08D566F177ECE84AA | Bin 1260 -> 0 bytes .../02A0E6456442E35198532ACFFB6FEE3B606D9FA3 | Bin 1366 -> 0 bytes .../7D60E314AA6AEF548A614A9354C5068192051A29 | Bin 2278 -> 0 bytes .../159E42D4A53599389431771D5C936552BB22B084 | Bin 1576 -> 0 bytes .../C6658C25AFB8A9D738F2BC591775D167549FFD3A | Bin 1264 -> 0 bytes .../8AB0A3519AFA7F3C04074522678BAA1CB3DC734F | Bin 930 -> 0 bytes .../DF47B3040E7632614464BD2EC4ECD1B8030F53E3 | Bin 933 -> 0 bytes .../E117479B4A41D7F3223FCAE50560B0D57B22217D | Bin 997 -> 0 bytes .../07976A2A16EC182670161B46886B05E1FEAC16B1 | Bin 1209 -> 0 bytes .../52ED0FAFBD38A868C678174D7EB03D266ADB221C | Bin 994 -> 0 bytes .../969A71FDCC5302167A60158828B9E7862DED3B4D | Bin 1580 -> 0 bytes .../8BA5C0847597612C7E16970EAE55EF58D32E9CF3 | Bin 1202 -> 0 bytes .../18585FC53A283488E4BA84867980E9B1F2B28ADA | Bin 1313 -> 0 bytes .../27337257493B86B9BFF78D569F938D692A430EAE | Bin 1218 -> 0 bytes .../4832F0A28C3724A92F6CB3314F747D0E74FC7344 | Bin 1217 -> 0 bytes .../6352302A5072DBFB769D4FF4C70C86432C4C1683 | Bin 1218 -> 0 bytes .../EE886B907E31667D622677F665F25C54AF9A7F65 | Bin 1218 -> 0 bytes .../698563ECEE29232C5304487D972310F86650C3A6 | Bin 1185 -> 0 bytes .../2A5945E1FC2006BE0D59C3375253C9D3327D197D | Bin 1580 -> 0 bytes .../B4B77C83465979E3679E3A33F972F48EE3730A18 | Bin 924 -> 0 bytes .../3AAD23B00CA10E54E6368DF7952E3F4B5108B65C | Bin 606 -> 0 bytes .../14E59C02A6877B0EBD2C4203886BA25959C1D267 | Bin 1020 -> 0 bytes .../ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 | Bin 1067 -> 0 bytes .../F3AE9FEA4DECEE5330770A2520BD86909929E7BE | Bin 758 -> 0 bytes .../16D8270DE51B034E77B7CDAF1DEE623916243DDC | Bin 1068 -> 0 bytes .../3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 | Bin 1068 -> 0 bytes .../40B51EEF4E709FBD47935DDD83A1F640D0CC378A | Bin 1067 -> 0 bytes .../D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 | Bin 1068 -> 0 bytes .../CAF84A42305615AC2C582F6412BDA3E36DAC3D25 | Bin 786 -> 0 bytes .../D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 | Bin 660 -> 0 bytes .../EC988340526163D5B7AC80481B2AC76828EDDC6C | Bin 1157 -> 0 bytes .../2E66C9841181C08FB1DFABD4FF8D5CC72BE08F02 | Bin 1485 -> 0 bytes ...0240701.SerNo144ddd(SecureSignatureKeypair).cer | 26 - ...0240701.SerNo144de4(SecureSignatureKeypair).cer | 23 - ...0240701.SerNo144df5(SecureSignatureKeypair).cer | 23 - ...-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer | Bin 1485 -> 0 bytes ...-Test-Root-05-20141215-20241209.SerNo165fae.crt | 34 - ...0701-20240701.SerNo144dc3(CertifiedKeypair).cer | 21 - ...rust-nQual-03-20140723-20250723.SerNo14b4f9.cer | 23 - ...Test-Sig-02.20141124-20241118.SerNo3969edc1.cer | Bin 1029 -> 0 bytes ...remium-enc-02.20140701-20240701.SerNo144dfd.cer | Bin 1159 -> 0 bytes ...a-sign-SSL-03.20140723-20240723.SerNo14b4fd.cer | 26 - ...remium-Sig-05.20141215-20141209.SerNo165fb8.crt | 36 - ...-Test-Qual-01.20141117-20241111.SerNo16120f.cer | 23 - ...rate-light-02.20140905-20240905.SerNo153B49.cer | Bin 1167 -> 0 bytes ...remium-sig-02.20140701-20240701.SerNo144e10.cer | Bin 1159 -> 0 bytes ...remium-sig-03.20140701-20240701.SerNo144e13.cer | Bin 1159 -> 0 bytes ...remium-Enc-05.20141215-20141209.SerNo165fb7.crt | 36 - .../toBeAdded/atrust_OCSP_Responder_03-1.crt | Bin 1185 -> 0 bytes .../keys/common/moa-signaturdienst-allekunden.cer | Bin 1071 -> 0 bytes ...a-signaturdienst-allekunden[pwd=allekunden].p12 | Bin 2995 -> 0 bytes .../keys/customer1/moa-signaturdienst-kunde1.cer | Bin 1067 -> 0 bytes .../moa-signaturdienst-kunde1[pwd=kunde1].p12 | Bin 2987 -> 0 bytes .../keys/customer2/moa-signaturdienst-kunde2.cer | Bin 1067 -> 0 bytes .../moa-signaturdienst-kunde2[pwd=kunde2].p12 | Bin 2987 -> 0 bytes spss/handbook/conf/moa-spss/log4j.properties | 38 - spss/handbook/conf/moa-spss/sp.minimum.config.xml | 112 -- .../conf/moa-spss/sp.minimum_with_tsl.config.xml | 131 -- spss/handbook/conf/moa-spss/spss.config.xml | 221 --- spss/handbook/conf/moa-spss/ss.minimum.config.xml | 99 -- .../moa-spss/sslKeys/server/moa-ssl-server.der | Bin 1115 -> 0 bytes .../sslKeys/server/moa-ssl-server[pwd=server].p12 | Bin 4925 -> 0 bytes .../sslKeys/tomcat/tomcat[pwd=server].keystore | Bin 4481 -> 0 bytes .../tomcat/trustedClients[pwd=clients].keystore | Bin 1078 -> 0 bytes ...-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer | Bin 1485 -> 0 bytes ...est-Qual-02.20141124-20141118.SerNo3969edbf.cer | Bin 996 -> 0 bytes ...-Test-Root-05-20141215-20241209.SerNo165fae.crt | 34 - ...0701-20240701.SerNo144dc3(CertifiedKeypair).cer | 21 - ...040326-20070326.SerNo6632(CertifiedKeypair).cer | Bin 864 -> 0 bytes ...rust-nQual-01.20041201-20141201.SerNo01c85e.cer | Bin 865 -> 0 bytes ...-Trust-nQual-01.20041201-20141201.SerNoe242.cer | Bin 865 -> 0 bytes ...rust-nQual-03-20140723-20250723.SerNo14b4f9.cer | 23 - ...rust-nQual-03.20050817-20150817.SerNo016c1e.cer | Bin 979 -> 0 bytes ...Trust-nQual-04.20130708-20230701.SerNof28a2.cer | Bin 979 -> 0 bytes ...010427-20040427.SerNo006f[CertifiedKeypair].cer | Bin 860 -> 0 bytes ...011212-20041212.SerNo0213[CertifiedKeypair].cer | Bin 864 -> 0 bytes ...011212-20041212.SerNo0218[CertifiedKeypair].cer | Bin 861 -> 0 bytes ...band oesterr. Sozialvers.,CN=Root-CA 1-2045.der | Bin 1747 -> 0 bytes ...IZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer | Bin 1170 -> 0 bytes .../MOA_Test_CA.20070823-20131022.Serno01.cer | Bin 958 -> 0 bytes ...EST-nQual-01a.20041117-20080630.SerNo00da8b.cer | Bin 995 -> 0 bytes ...-Test-Qual-01.20141117-20241111.SerNo16120f.cer | 23 - ...-20140326.SerNo6646[SecureSignatureKeypair].cer | Bin 1076 -> 0 bytes ...m_A1-Signatur_20060912-20110912_SerNo027866.cer | Bin 1141 -> 0 bytes ...kom_A1-Signatur_20070501-20120501_SerNo6650.cer | Bin 870 -> 0 bytes ...-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer | Bin 1485 -> 0 bytes ...0701-20240701.SerNo144dc3(CertifiedKeypair).cer | 21 - ...040326-20070326.SerNo6632(CertifiedKeypair).cer | Bin 864 -> 0 bytes ...rust-nQual-01.20041201-20141201.SerNo01c85e.cer | Bin 865 -> 0 bytes ...-Trust-nQual-01.20041201-20141201.SerNoe242.cer | Bin 865 -> 0 bytes ...rust-nQual-03-20140723-20250723.SerNo14b4f9.cer | 23 - ...rust-nQual-03.20050817-20150817.SerNo016c1e.cer | Bin 979 -> 0 bytes ...Trust-nQual-04.20130708-20230701.SerNof28a2.cer | Bin 979 -> 0 bytes ...010427-20040427.SerNo006f[CertifiedKeypair].cer | Bin 860 -> 0 bytes ...011212-20041212.SerNo0213[CertifiedKeypair].cer | Bin 864 -> 0 bytes ...011212-20041212.SerNo0218[CertifiedKeypair].cer | Bin 861 -> 0 bytes ...band oesterr. Sozialvers.,CN=Root-CA 1-2045.der | Bin 1747 -> 0 bytes ...kom.A1-Signatur.20040326-20140326.SerNo6646.cer | Bin 1076 -> 0 bytes ...m_A1-Signatur_20060912-20110912_SerNo027866.cer | Bin 1141 -> 0 bytes ...kom_A1-Signatur_20070501-20120501_SerNo6650.cer | Bin 870 -> 0 bytes ...traut Kotschy.20070119-20120119.SerNo02de1c.cer | Bin 1385 -> 0 bytes ...GIZ_Administrator.20070829-20120829.SerNo00.cer | Bin 1273 -> 0 bytes ...Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer | Bin 1205 -> 0 bytes ...utzkommission-20100728-20150728.SerNo0729E2.cer | Bin 1505 -> 0 bytes ...A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer | Bin 2278 -> 0 bytes ...rust-nQual-03-20140723-20250723.SerNo14b4f9.cer | 23 - ...rust-nQual-03.20050817-20150817.SerNo016c1e.cer | Bin 979 -> 0 bytes ..._-_Signaturdienst.20070829-20140101.SerNo02.cer | Bin 1272 -> 0 bytes ...Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer | Bin 1205 -> 0 bytes ...traut_Kotschy.20070119-20120119.SerNo02DE1C.cer | Bin 1385 -> 0 bytes ...porate-light-02.20140905-20240905.SrN153B49.crt | Bin 1167 -> 0 bytes .../a-sign-corporate-light-02.cer | Bin 1167 -> 0 bytes ...rate-light-03-20051114-20151114.SerNo01aaed.der | Bin 1171 -> 0 bytes ...traut Kotschy-20070119-20120119.SerNo02de1c.der | Bin 1385 -> 0 bytes ...Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer | Bin 1205 -> 0 bytes ...utzkommission-20100728-20150728.SerNo0729E2.cer | Bin 1505 -> 0 bytes ...A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer | Bin 2278 -> 0 bytes ...rust-nQual-03-20140723-20250723.SerNo14b4f9.cer | 23 - ...rust-nQual-03.20050817-20150817.SerNo016c1e.cer | Bin 979 -> 0 bytes ...ab-BM-f-Inneres-20040219-20070219.SerNo5c39.der | Bin 1205 -> 0 bytes ...traut_Kotschy.20070119-20120119.SerNo02DE1C.cer | Bin 1385 -> 0 bytes ...porate-light-02.20140905-20240905.SrN153B49.crt | Bin 1167 -> 0 bytes .../identityLink/a-sign-corporate-light-02.cer | Bin 1167 -> 0 bytes ...rate-light-03-20051114-20151114.SerNo01AAED.cer | Bin 1171 -> 0 bytes ...rate-light-03-20051114-20151114.SerNo01aaed.der | Bin 1171 -> 0 bytes ...-CERT GOVERNMENT.20051001-20111023.SerNo170.cer | Bin 1563 -> 0 bytes ...-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer | Bin 1614 -> 0 bytes .../A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer | Bin 2278 -> 0 bytes ...rust-nQual-03-20140723-20250723.SerNo14b4f9.cer | 23 - ...rust-nQual-03.20050817-20150817.SerNo016c1e.cer | Bin 979 -> 0 bytes ...-Premium-Enc-01.20030123-20060123.SerNo1815.cer | Bin 1057 -> 0 bytes ...-Premium-Enc-01.20030123-20060123.SerNo210E.cer | Bin 1057 -> 0 bytes ...Premium-Enc-01.20041206-20081201.SerNo1C864.cer | Bin 1058 -> 0 bytes ...-Premium-Enc-01.20041206-20081201.SerNoE287.cer | Bin 1058 -> 0 bytes ...Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer | Bin 1058 -> 0 bytes ...Premium-Enc-02.20041215-20141214.SerNo1C858.cer | Bin 1159 -> 0 bytes ...-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer | Bin 1159 -> 0 bytes ...4.20130708-20230701.SerNo\342\200\216f28c4.cer" | Bin 1073 -> 0 bytes ...Premium-Enc-05.20130923-20230920.SerNoFCDEE.cer | Bin 1580 -> 0 bytes ...-Premium-Sig-01.20030123-20060123.SerNo1814.cer | Bin 1217 -> 0 bytes ...-Premium-Sig-01.20030123-20060123.SerNo2115.cer | Bin 1313 -> 0 bytes ...Premium-Sig-01.20041206-20081201.SerNo1C856.cer | Bin 1218 -> 0 bytes ...-Premium-Sig-01.20041206-20081201.SerNoE28E.cer | Bin 1218 -> 0 bytes ...Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer | Bin 1218 -> 0 bytes ...Premium-Sig-02.20041215-20141214.SerNo1C859.cer | Bin 1159 -> 0 bytes ...-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer | Bin 1159 -> 0 bytes ...Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer | Bin 1159 -> 0 bytes ...Premium-Sig-03.20080429-20180429.SerNo41D15.cer | Bin 1159 -> 0 bytes ...Premium-Sig-04.20130702-20230701.SerNof1d50.cer | Bin 1070 -> 0 bytes ...4.20130705-20230701.SerNo\342\200\216f24d6.cer" | Bin 1070 -> 0 bytes ...Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer | Bin 1580 -> 0 bytes ...remium-enc-02.20140701-20240701.SerNo144dfd.cer | Bin 1159 -> 0 bytes ...n-corporate-03.20051114-20151114.SerNo1AAEC.cer | Bin 1159 -> 0 bytes ...4.2010821-20230821.SerNo.\342\200\216f76bd.cer" | Bin 1069 -> 0 bytes ...n-corporate-05.20130923-20230920.SerNoFCE21.cer | Bin 1576 -> 0 bytes ...porate-light-01.20021120-20051120.SerNo1390.cer | Bin 1065 -> 0 bytes ...porate-light-01.20021120-20051120.SerNo2111.cer | Bin 1065 -> 0 bytes ...porate-light-01.20041201-20081201.SerNoE244.cer | Bin 1066 -> 0 bytes ...orate-light-01.20081201-20121201.SerNo4AFF1.cer | Bin 1066 -> 0 bytes ...porate-light-02.20041215-20141214.SerNoE4A8.cer | Bin 1167 -> 0 bytes ...porate-light-02.20140905-20240905.SrN153B49.crt | Bin 1167 -> 0 bytes ...orate-light-03.20051114-20151114.SerNo1AAED.cer | Bin 1171 -> 0 bytes ...orate-medium-01.20030327-20060327.SerNo1C1C.cer | Bin 1067 -> 0 bytes ...rate-medium-01.20041206-20081201.SerNo1C867.cer | Bin 1068 -> 0 bytes ...orate-medium-01.20041206-20081201.SerNoE28A.cer | Bin 1068 -> 0 bytes ...rate-medium-01.20081201-20121201.SerNo4AFF3.cer | Bin 1068 -> 0 bytes ...rate-medium-02.20041215-20141214.SerNo1C85C.cer | Bin 1169 -> 0 bytes ...orate-medium-02.20041215-20141214.SerNoE4A9.cer | Bin 1169 -> 0 bytes ...orate-strong-01.20030327-20060327.SerNo1C1D.cer | Bin 1067 -> 0 bytes ...rate-strong-01.20041206-20081201.SerNo1C868.cer | Bin 1068 -> 0 bytes ...orate-strong-01.20041206-20081201.SerNoE28B.cer | Bin 1068 -> 0 bytes ...rate-strong-01.20081201-20131201.SerNo4C3C6.cer | Bin 1068 -> 0 bytes ...rate-strong-02.20041215-20141214.SerNo1C85D.cer | Bin 1169 -> 0 bytes ...orate-strong-02.20041215-20141214.SerNoE4AA.cer | Bin 1169 -> 0 bytes ...remium-sig-02.20140701-20240701.SerNo144e10.cer | Bin 1159 -> 0 bytes ...remium-sig-03.20140701-20240701.SerNo144e13.cer | Bin 1159 -> 0 bytes ...0240701.SerNo144ddd(SecureSignatureKeypair).cer | 26 - ...A-Trust-Qual-01.20041201-20141201.SerNoE243.cer | Bin 1111 -> 0 bytes ...rust-Qual-01b.20041201-20141201.SerNo01C854.cer | Bin 1111 -> 0 bytes ...0240701.SerNo144de4(SecureSignatureKeypair).cer | 23 - ...A-Trust-Qual-02.20041203-20141203.SerNoE248.cer | Bin 975 -> 0 bytes ...rust-Qual-02b.20041203-20141203.SerNo01C857.cer | Bin 975 -> 0 bytes ...0240701.SerNo144df5(SecureSignatureKeypair).cer | 23 - ...-20180425.SerNoe694(SecureSignatureKeypair).cer | Bin 975 -> 0 bytes ...rust-Qual-03b.20080424-20180424.SerNo041D14.cer | Bin 975 -> 0 bytes ...-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer | Bin 1485 -> 0 bytes ...-Test-Root-05-20141215-20241209.SerNo165fae.crt | 34 - ...rust-nQual-03.20050817-20150817.SerNo016c1e.cer | Bin 979 -> 0 bytes ...-20041130.SerNo01f6[SecureSignatureKeypair].cer | Bin 901 -> 0 bytes ...-20041215.SerNo021e[SecureSignatureKeypair].cer | Bin 901 -> 0 bytes ...-20050207.SerNo0291[SecureSignatureKeypair].cer | Bin 1110 -> 0 bytes ...-20050207.SerNo210d[SecureSignatureKeypair].cer | Bin 1110 -> 0 bytes ...band oesterr. Sozialvers.,CN=Root-CA 1-2045.der | Bin 1747 -> 0 bytes ...IZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer | Bin 1170 -> 0 bytes .../MOA_Test_CA.20070823-20131022.Serno01.cer | Bin 958 -> 0 bytes ...Test-Sig-02.20141124-20141118.SerNo3969edc1.cer | Bin 1029 -> 0 bytes ...TEST-Qual-01a.20041117-20141117.SerNo00da88.cer | Bin 991 -> 0 bytes ...remium-Sig-05.20141215-20141209.SerNo165fb8.crt | 36 - ...-Test-Qual-01.20141117-20241111.SerNo16120f.cer | 23 - ...-20140326.SerNo6646[SecureSignatureKeypair].cer | Bin 1076 -> 0 bytes ...m_A1-Signatur_20060912-20110912_SerNo027866.cer | Bin 1141 -> 0 bytes ...kom_A1-Signatur_20070501-20120501_SerNo6650.cer | Bin 870 -> 0 bytes ...-Premium-Sig-01.20030123-20060123.SerNo1814.cer | Bin 1217 -> 0 bytes ...-Premium-Sig-01.20030123-20060123.SerNo2115.cer | Bin 1313 -> 0 bytes ...Premium-Sig-01.20041206-20081201.SerNo1C856.cer | Bin 1218 -> 0 bytes ...-Premium-Sig-01.20041206-20081201.SerNoE28E.cer | Bin 1218 -> 0 bytes ...Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer | Bin 1218 -> 0 bytes ...Premium-Sig-02.20041215-20141214.SerNo1C859.cer | Bin 1159 -> 0 bytes ...-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer | Bin 1159 -> 0 bytes ...Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer | Bin 1159 -> 0 bytes ...Premium-Sig-03.20080429-20180429.SerNo41D15.cer | Bin 1159 -> 0 bytes ...Premium-Sig-04.20130702-20230701.SerNof1d50.cer | Bin 1070 -> 0 bytes ...4.20130705-20230701.SerNo\342\200\216f24d6.cer" | Bin 1070 -> 0 bytes ...Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer | Bin 1580 -> 0 bytes ...mium-mobile-03.20090909-20140909.SerNo5EFE7.cer | Bin 1165 -> 0 bytes ...mium-mobile-03.20090909-20140909.SerNo7F061.cer | Bin 1014 -> 0 bytes ...mium-mobile-04.20130702-20180701.SerNof1d4f.cer | Bin 1076 -> 0 bytes ...mium-mobile-05.20130923-20230920.SerNoFCDD4.cer | Bin 1586 -> 0 bytes ...0240701.SerNo144ddd(SecureSignatureKeypair).cer | 26 - ...A-Trust-Qual-01.20041201-20141201.SerNoE243.cer | Bin 1111 -> 0 bytes ...rust-Qual-01b.20041201-20141201.SerNo01C854.cer | Bin 1111 -> 0 bytes ...0240701.SerNo144de4(SecureSignatureKeypair).cer | 23 - ...A-Trust-Qual-02.20041203-20141203.SerNoE248.cer | Bin 975 -> 0 bytes ...rust-Qual-02b.20041203-20141203.SerNo01C857.cer | Bin 975 -> 0 bytes ...0240701.SerNo144df5(SecureSignatureKeypair).cer | 23 - ...-20180425.SerNoe694(SecureSignatureKeypair).cer | Bin 975 -> 0 bytes ...rust-Qual-03b.20080424-20180424.SerNo041D14.cer | Bin 975 -> 0 bytes ...-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer | Bin 1485 -> 0 bytes ...rust-nQual-03.20050817-20150817.SerNo016c1e.cer | Bin 979 -> 0 bytes ...-20041130.SerNo01f6[SecureSignatureKeypair].cer | Bin 901 -> 0 bytes ...-20041215.SerNo021e[SecureSignatureKeypair].cer | Bin 901 -> 0 bytes ...-20050207.SerNo0291[SecureSignatureKeypair].cer | Bin 1110 -> 0 bytes ...-20050207.SerNo210d[SecureSignatureKeypair].cer | Bin 1110 -> 0 bytes ...band oesterr. Sozialvers.,CN=Root-CA 1-2045.der | Bin 1747 -> 0 bytes ...-20140326.SerNo6646[SecureSignatureKeypair].cer | Bin 1076 -> 0 bytes ...m_A1-Signatur_20060912-20110912_SerNo027866.cer | Bin 1141 -> 0 bytes ...kom_A1-Signatur_20070501-20120501_SerNo6650.cer | Bin 870 -> 0 bytes ...IZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer | Bin 1170 -> 0 bytes ...AIK-Test-Root-CA_20080114-20180114.SerNo.01.der | Bin 880 -> 0 bytes .../MOA_Test_CA.20070823-20131022.Serno01.cer | Bin 958 -> 0 bytes .../trust/eu/(SIGN) AGNIESZKA BAJNO_To20181219.crt | 41 - .../(SIGN) JOLANDA VAN EIJNDTHOVEN_To20180915.crt | 42 - .../conf/moa-spss/tslworking/trust/eu/EU.der | Bin 1440 -> 0 bytes .../conf/moa-spss/tslworking/trust/eu/EU2.der | Bin 1856 -> 0 bytes spss/handbook/handbook.html | 6 - spss/handbook/handbook/common/LogoBKA.png | Bin 8062 -> 0 bytes spss/handbook/handbook/common/LogoEGIZ.png | Bin 77395 -> 0 bytes spss/handbook/handbook/common/MOA.css | 617 ------- .../handbook/config/MOA-SPSS-config-2.0.0.xsd | 353 ---- spss/handbook/handbook/config/config.html | 1224 ------------- spss/handbook/handbook/faq/faq.html | 169 -- spss/handbook/handbook/index.html | 33 - spss/handbook/handbook/install/install.html | 492 ------ spss/handbook/handbook/intro/intro.html | 43 - spss/handbook/handbook/spec/MOA-SPSS-1.3.pdf | Bin 146062 -> 0 bytes spss/handbook/handbook/spec/MOA-SPSS-2.0.0.pdf | Bin 291606 -> 0 bytes spss/handbook/handbook/spec/MOA-SPSS-2.0.0.wsdl | 128 -- spss/handbook/handbook/spec/MOA-SPSS-2.0.0.xsd | 572 ------- spss/handbook/handbook/usage/usage.html | 1366 --------------- spss/handbook/pom.xml | 45 - spss/pom.xml | 47 - spss/server/history.txt | 470 ----- spss/server/pom.xml | 48 - spss/server/readme.inst.txt | 38 - spss/server/readme.update.txt | 76 - spss/server/serverlib/.gitignore | 1 - spss/server/serverlib/pom.xml | 338 ---- .../resources/data/deploy/tomcat/unix/moa-env.sh | 13 - .../data/deploy/tomcat/uriworkermap.properties | 4 - .../data/deploy/tomcat/win32/startTomcat.bat | 28 - .../data/deploy/tomcat/win32/stopTomcat.bat | 13 - .../data/deploy/tomcat/workers.properties | 6 - .../moa/spss/MOAApplicationException.java | 70 - .../at/gv/egovernment/moa/spss/MOAException.java | 190 -- .../egovernment/moa/spss/MOARuntimeException.java | 191 --- .../egovernment/moa/spss/MOASystemException.java | 69 - .../gv/egovernment/moa/spss/api/Configurator.java | 84 - .../gv/egovernment/moa/spss/api/SPSSFactory.java | 1138 ------------ .../moa/spss/api/SignatureCreationService.java | 81 - .../moa/spss/api/SignatureVerificationService.java | 93 - .../moa/spss/api/cmssign/CMSSignatureResponse.java | 41 - .../api/cmssign/CreateCMSSignatureRequest.java | 49 - .../api/cmssign/CreateCMSSignatureResponse.java | 42 - .../cmssign/CreateCMSSignatureResponseElement.java | 51 - .../moa/spss/api/cmssign/DataObjectInfo.java | 58 - .../moa/spss/api/cmssign/SingleSignatureInfo.java | 51 - .../moa/spss/api/cmsverify/CMSContent.java | 52 - .../spss/api/cmsverify/CMSContentExcplicit.java | 43 - .../spss/api/cmsverify/CMSContentReference.java | 41 - .../moa/spss/api/cmsverify/CMSDataObject.java | 57 - .../api/cmsverify/VerifyCMSSignatureRequest.java | 76 - .../api/cmsverify/VerifyCMSSignatureResponse.java | 45 - .../VerifyCMSSignatureResponseElement.java | 57 - .../moa/spss/api/common/Base64Transform.java | 37 - .../spss/api/common/CanonicalizationTransform.java | 41 - .../moa/spss/api/common/CheckResult.java | 49 - .../egovernment/moa/spss/api/common/Content.java | 71 - .../moa/spss/api/common/ContentBinary.java | 45 - .../moa/spss/api/common/ContentLocRef.java | 41 - .../moa/spss/api/common/ContentReference.java | 35 - .../moa/spss/api/common/ContentXML.java | 43 - .../moa/spss/api/common/ElementSelector.java | 52 - .../api/common/EnvelopedSignatureTransform.java | 39 - .../common/ExclusiveCanonicalizationTransform.java | 51 - .../egovernment/moa/spss/api/common/InputData.java | 71 - .../egovernment/moa/spss/api/common/MetaInfo.java | 61 - .../moa/spss/api/common/SignerInfo.java | 92 - .../moa/spss/api/common/TSLConfiguration.java | 81 - .../egovernment/moa/spss/api/common/Transform.java | 40 - .../moa/spss/api/common/X509IssuerSerial.java | 49 - .../spss/api/common/XMLDataObjectAssociation.java | 49 - .../moa/spss/api/common/XPathFilter.java | 62 - .../moa/spss/api/common/XPathFilter2Transform.java | 49 - .../moa/spss/api/common/XPathTransform.java | 54 - .../moa/spss/api/common/XSLTTransform.java | 47 - .../moa/spss/api/impl/Base64TransformImpl.java | 46 - .../moa/spss/api/impl/CMSContentExplicitImpl.java | 64 - .../moa/spss/api/impl/CMSContentReferenceImpl.java | 62 - .../moa/spss/api/impl/CMSDataObjectImpl.java | 91 - .../spss/api/impl/CMSSignatureResponseImpl.java | 64 - .../api/impl/CanonicalizationTransformImpl.java | 49 - .../moa/spss/api/impl/CheckResultImpl.java | 76 - .../moa/spss/api/impl/ContentBinaryImpl.java | 64 - .../egovernment/moa/spss/api/impl/ContentImpl.java | 52 - .../moa/spss/api/impl/ContentLocRefImpl.java | 68 - .../moa/spss/api/impl/ContentReferenceImpl.java | 48 - .../moa/spss/api/impl/ContentXMLImpl.java | 64 - .../api/impl/CreateCMSSignatureRequestImpl.java | 77 - .../api/impl/CreateCMSSignatureResponseImpl.java | 60 - ...ateSignatureEnvironmentProfileExplicitImpl.java | 90 - .../CreateSignatureEnvironmentProfileIDImpl.java | 63 - .../moa/spss/api/impl/CreateSignatureInfoImpl.java | 74 - .../spss/api/impl/CreateSignatureLocationImpl.java | 55 - .../spss/api/impl/CreateTransformsInfoImpl.java | 75 - .../CreateTransformsInfoProfileExplicitImpl.java | 86 - .../impl/CreateTransformsInfoProfileIDImpl.java | 62 - .../api/impl/CreateXMLSignatureRequestImpl.java | 77 - .../api/impl/CreateXMLSignatureResponseImpl.java | 61 - .../moa/spss/api/impl/DataObjectInfoCMSImpl.java | 69 - .../moa/spss/api/impl/DataObjectInfoImpl.java | 103 -- .../moa/spss/api/impl/ElementSelectorImpl.java | 71 - .../api/impl/EnvelopedSignatureTransformImpl.java | 46 - .../moa/spss/api/impl/ErrorResponseImpl.java | 76 - .../ExclusiveCanonicalizationTransformImpl.java | 72 - .../moa/spss/api/impl/InputDataBinaryImpl.java | 123 -- .../moa/spss/api/impl/InputDataXMLImpl.java | 123 -- .../spss/api/impl/ManifestRefsCheckResultImpl.java | 68 - .../api/impl/ManifestRefsCheckResultInfoImpl.java | 56 - .../moa/spss/api/impl/MetaInfoImpl.java | 99 -- .../moa/spss/api/impl/ReferenceInfoImpl.java | 62 - .../spss/api/impl/ReferencesCheckResultImpl.java | 70 - .../api/impl/ReferencesCheckResultInfoImpl.java | 70 - .../moa/spss/api/impl/SPSSFactoryImpl.java | 656 ------- .../api/impl/SignatureEnvironmentResponseImpl.java | 65 - .../api/impl/SignatureManifestCheckParamsImpl.java | 76 - .../moa/spss/api/impl/SignerInfoImpl.java | 159 -- .../spss/api/impl/SingleSignatureInfoCMSImpl.java | 62 - .../moa/spss/api/impl/SingleSignatureInfoImpl.java | 73 - .../api/impl/SupplementProfileExplicitImpl.java | 63 - .../moa/spss/api/impl/SupplementProfileIDImpl.java | 61 - .../moa/spss/api/impl/TSLConfigurationImpl.java | 100 -- .../moa/spss/api/impl/TransformImpl.java | 50 - .../api/impl/TransformParameterBinaryImpl.java | 66 - .../moa/spss/api/impl/TransformParameterImpl.java | 49 - .../spss/api/impl/TransformParameterURIImpl.java | 48 - .../spss/api/impl/TransformPatameterHashImpl.java | 78 - .../api/impl/VerifyCMSSignatureRequestImpl.java | 117 -- .../VerifyCMSSignatureResponseElementImpl.java | 86 - .../api/impl/VerifyCMSSinatureResponseImpl.java | 61 - .../moa/spss/api/impl/VerifySignatureInfoImpl.java | 71 - .../spss/api/impl/VerifySignatureLocationImpl.java | 39 - .../spss/api/impl/VerifyTransformsDataImpl.java | 60 - .../VerifyTransformsInfoProfileExplicitImpl.java | 85 - .../impl/VerifyTransformsInfoProfileIDImpl.java | 62 - .../api/impl/VerifyXMLSignatureRequestImpl.java | 137 -- .../api/impl/VerifyXMLSignatureResponseImpl.java | 166 -- .../moa/spss/api/impl/X509IssuerSerialImpl.java | 69 - .../api/impl/XMLDataObjectAssociationImpl.java | 69 - .../spss/api/impl/XPathFilter2TransformImpl.java | 67 - .../moa/spss/api/impl/XPathFilterImpl.java | 88 - .../moa/spss/api/impl/XPathTransformImpl.java | 83 - .../moa/spss/api/impl/XSLTransformImpl.java | 61 - .../xmlbind/CreateCMSSignatureRequestParser.java | 261 --- .../xmlbind/CreateCMSSignatureResponseBuilder.java | 145 -- .../xmlbind/CreateXMLSignatureRequestParser.java | 312 ---- .../xmlbind/CreateXMLSignatureResponseBuilder.java | 143 -- .../moa/spss/api/xmlbind/ProfileParser.java | 309 ---- .../moa/spss/api/xmlbind/RequestParserUtils.java | 181 -- .../moa/spss/api/xmlbind/ResponseBuilderUtils.java | 289 ---- .../moa/spss/api/xmlbind/TransformParser.java | 270 --- .../xmlbind/VerifyCMSSignatureRequestParser.java | 210 --- .../xmlbind/VerifyCMSSignatureResponseBuilder.java | 131 -- .../xmlbind/VerifyXMLSignatureRequestParser.java | 299 ---- .../xmlbind/VerifyXMLSignatureResponseBuilder.java | 340 ---- .../xmlsign/CreateSignatureEnvironmentProfile.java | 54 - .../CreateSignatureEnvironmentProfileExplicit.java | 54 - .../CreateSignatureEnvironmentProfileID.java | 44 - .../moa/spss/api/xmlsign/CreateSignatureInfo.java | 49 - .../spss/api/xmlsign/CreateSignatureLocation.java | 47 - .../moa/spss/api/xmlsign/CreateTransformsInfo.java | 51 - .../api/xmlsign/CreateTransformsInfoProfile.java | 52 - .../CreateTransformsInfoProfileExplicit.java | 50 - .../api/xmlsign/CreateTransformsInfoProfileID.java | 42 - .../api/xmlsign/CreateXMLSignatureRequest.java | 50 - .../api/xmlsign/CreateXMLSignatureResponse.java | 44 - .../xmlsign/CreateXMLSignatureResponseElement.java | 53 - .../moa/spss/api/xmlsign/DataObjectInfo.java | 72 - .../moa/spss/api/xmlsign/ErrorResponse.java | 48 - .../api/xmlsign/SignatureEnvironmentResponse.java | 44 - .../moa/spss/api/xmlsign/SingleSignatureInfo.java | 56 - .../api/xmlverify/ManifestRefsCheckResult.java | 48 - .../api/xmlverify/ManifestRefsCheckResultInfo.java | 43 - .../moa/spss/api/xmlverify/ReferenceInfo.java | 43 - .../spss/api/xmlverify/ReferencesCheckResult.java | 47 - .../api/xmlverify/ReferencesCheckResultInfo.java | 49 - .../xmlverify/SignatureManifestCheckParams.java | 50 - .../moa/spss/api/xmlverify/SupplementProfile.java | 52 - .../api/xmlverify/SupplementProfileExplicit.java | 43 - .../spss/api/xmlverify/SupplementProfileID.java | 42 - .../moa/spss/api/xmlverify/TransformParameter.java | 64 - .../api/xmlverify/TransformParameterBinary.java | 45 - .../spss/api/xmlverify/TransformParameterHash.java | 50 - .../spss/api/xmlverify/TransformParameterURI.java | 36 - .../spss/api/xmlverify/VerifySignatureInfo.java | 51 - .../api/xmlverify/VerifySignatureLocation.java | 37 - .../api/xmlverify/VerifyTransformsInfoProfile.java | 52 - .../VerifyTransformsInfoProfileExplicit.java | 49 - .../xmlverify/VerifyTransformsInfoProfileID.java | 42 - .../api/xmlverify/VerifyXMLSignatureRequest.java | 79 - .../api/xmlverify/VerifyXMLSignatureResponse.java | 87 - .../spss/server/config/CRLDistributionPoint.java | 189 -- .../spss/server/config/ConfigurationException.java | 63 - .../server/config/ConfigurationPartsBuilder.java | 1807 -------------------- .../spss/server/config/ConfigurationProvider.java | 967 ----------- .../moa/spss/server/config/DistributionPoint.java | 62 - .../spss/server/config/HardwareCryptoModule.java | 84 - .../moa/spss/server/config/HardwareKeyModule.java | 83 - .../moa/spss/server/config/IssuerAndSerial.java | 149 -- .../moa/spss/server/config/KeyGroup.java | 105 -- .../moa/spss/server/config/KeyGroupEntry.java | 130 -- .../moa/spss/server/config/KeyModule.java | 65 - .../spss/server/config/OCSPDistributionPoint.java | 57 - .../moa/spss/server/config/SoftwareKeyModule.java | 72 - .../moa/spss/server/config/TrustProfile.java | 132 -- .../cmssign/CMSSignatureCreationProfileImpl.java | 249 --- .../CMSSignatureVerificationProfileImpl.java | 61 - .../config/AbstractKeyModuleConfigurationImpl.java | 60 - .../config/AbstractObservableConfiguration.java | 72 - .../iaik/config/ArchiveConfigurationImpl.java | 121 -- .../moa/spss/server/iaik/config/CRLRetriever.java | 93 - .../iaik/config/CertStoreConfigurationImpl.java | 74 - .../server/iaik/config/ConfigurationDataImpl.java | 145 -- .../iaik/config/DataBaseArchiveParameterImpl.java | 57 - .../config/DirectoryCertStoreParametersImpl.java | 105 -- .../HardwareCryptoModuleConfigurationImpl.java | 75 - .../config/HardwareKeyModuleConfigurationImpl.java | 79 - .../spss/server/iaik/config/IaikConfigurator.java | 198 --- .../spss/server/iaik/config/LoggerConfigImpl.java | 58 - .../server/iaik/config/PKIConfigurationImpl.java | 104 -- .../iaik/config/RevocationConfigurationImpl.java | 89 - .../config/SoftwareKeyModuleConfigurationImpl.java | 99 -- .../iaik/config/ValidationConfigurationImpl.java | 80 - .../moa/spss/server/iaik/pki/PKIProfileImpl.java | 140 -- .../pki/pathvalidation/ValidationProfileImpl.java | 131 -- .../iaik/pki/revocation/RevocationProfileImpl.java | 88 - .../store/truststore/TrustStoreProfileImpl.java | 159 -- .../server/iaik/xml/Base64TransformationImpl.java | 67 - .../server/iaik/xml/ByteArrayDataObjectImpl.java | 78 - .../server/iaik/xml/ByteStreamDataObjectImpl.java | 73 - .../spss/server/iaik/xml/CanonicalizationImpl.java | 67 - .../moa/spss/server/iaik/xml/DataObjectImpl.java | 111 -- .../xml/EnvelopedSignatureTransformationImpl.java | 66 - .../iaik/xml/ExclusiveCanonicalizationImpl.java | 100 -- .../moa/spss/server/iaik/xml/SigningTimeImpl.java | 58 - .../spss/server/iaik/xml/TransformationImpl.java | 67 - .../spss/server/iaik/xml/XMLDataObjectImpl.java | 70 - .../server/iaik/xml/XMLNodeListDataObjectImpl.java | 71 - .../moa/spss/server/iaik/xml/XMLSignatureImpl.java | 67 - .../moa/spss/server/iaik/xml/XPath2FilterImpl.java | 140 -- .../server/iaik/xml/XPath2TransformationImpl.java | 106 -- .../server/iaik/xml/XPathTransformationImpl.java | 122 -- .../server/iaik/xml/XSLTTransformationImpl.java | 192 --- .../iaik/xmlsign/DataObjectTreatmentImpl.java | 174 -- .../xmlsign/XMLSignatureCreationProfileImpl.java | 399 ----- .../xmlsign/XMLSignatureInsertionLocationImpl.java | 69 - .../XMLSignatureVerificationProfileImpl.java | 172 -- .../moa/spss/server/init/ConfiguratorImpl.java | 66 - .../moa/spss/server/init/SystemInitializer.java | 217 --- .../server/invoke/CMSSignatureCreationInvoker.java | 437 ----- .../invoke/CMSSignatureVerificationInvoker.java | 371 ---- .../CMSSignatureVerificationProfileFactory.java | 85 - .../invoke/CreateCMSSignatureResponseBuilder.java | 93 - .../invoke/CreateXMLSignatureResponseBuilder.java | 95 - .../moa/spss/server/invoke/DataObjectFactory.java | 1009 ----------- .../spss/server/invoke/ExternalURIResolver.java | 177 -- .../spss/server/invoke/IaikExceptionMapper.java | 318 ---- .../moa/spss/server/invoke/InvokerUtils.java | 87 - .../moa/spss/server/invoke/ProfileMapper.java | 273 --- .../spss/server/invoke/ServiceContextUtils.java | 75 - .../invoke/SignatureCreationServiceImpl.java | 71 - .../invoke/SignatureVerificationServiceImpl.java | 100 -- .../spss/server/invoke/TransformationFactory.java | 282 --- .../invoke/VerifyCMSSignatureResponseBuilder.java | 127 -- .../invoke/VerifyXMLSignatureResponseBuilder.java | 486 ------ .../server/invoke/XMLSignatureCreationInvoker.java | 586 ------- .../invoke/XMLSignatureCreationProfileFactory.java | 543 ------ .../invoke/XMLSignatureVerificationInvoker.java | 727 -------- .../XMLSignatureVerificationProfileFactory.java | 170 -- .../moa/spss/server/logging/IaikLog.java | 150 -- .../moa/spss/server/logging/IaikLogFactory.java | 66 - .../moa/spss/server/logging/IaikLogMsg.java | 78 - .../moa/spss/server/logging/TransactionId.java | 62 - .../moa/spss/server/service/AxisHandler.java | 482 ------ .../server/service/CertificateProviderServlet.java | 178 -- .../spss/server/service/ConfigurationServlet.java | 148 -- .../server/service/RevocationArchiveCleaner.java | 102 -- .../moa/spss/server/service/ServiceUtils.java | 105 -- .../server/service/SignatureCreationService.java | 226 --- .../service/SignatureVerificationService.java | 179 -- .../server/transaction/TransactionContext.java | 380 ---- .../transaction/TransactionContextManager.java | 86 - .../server/transaction/TransactionIDGenerator.java | 75 - .../moa/spss/server/util/IdGenerator.java | 85 - .../moa/spss/tsl/config/Configurator.java | 130 -- .../moa/spss/tsl/connector/TSLConnector.java | 974 ----------- .../spss/tsl/connector/TSLConnectorInterface.java | 95 - .../exception/MitigatedTSLSecurityException.java | 17 - .../moa/spss/tsl/timer/TSLUpdaterTimerTask.java | 212 --- .../moa/spss/tsl/utils/CertificateReader.java | 155 -- .../egovernment/moa/spss/tsl/utils/Mitigation.java | 15 - .../spss/tsl/utils/TSLEUImportFromFileContext.java | 140 -- .../moa/spss/tsl/utils/TSLEvaluationContext.java | 134 -- .../spss/tsl/utils/TSLImportFromFileContext.java | 856 ---------- .../moa/spss/util/CertificateUtils.java | 286 ---- .../moa/spss/util/ExternalURIVerifier.java | 114 -- .../moa/spss/util/MOASPSSEntityResolver.java | 142 -- .../egovernment/moa/spss/util/MessageProvider.java | 89 - .../gv/egovernment/moa/spss/util/QCSSCDResult.java | 37 - .../serverlib/src/main/javadoc/overview.html | 155 -- .../properties/spss_messages_de.properties | 179 -- .../src/main/resources/resources/security/cacerts | Bin 7365 -> 0 bytes .../resources/resources/wsdl/MOA-SPSS-2.0.0.wsdl | 128 -- .../resources/resources/wsdl/MOA-SPSS-2.0.0.xsd | 471 ----- .../test/at/gv/egovernment/moa/spss/AllTests.java | 64 - .../at/gv/egovernment/moa/spss/SPSSTestCase.java | 106 -- .../egovernment/moa/spss/api/xmlbind/AllTests.java | 48 - .../CreateXMLSignatureRequestParserTest.java | 95 - .../moa/spss/api/xmlbind/TransformParserTest.java | 137 -- .../VerifyCMSSignatureRequestParserTest.java | 85 - .../VerifyXMLSignatureRequestParserTest.java | 105 -- .../moa/spss/server/config/AllTests.java | 44 - .../server/config/ConfigurationProviderTest1.java | 401 ----- .../server/config/ConfigurationProviderTest2.java | 249 --- .../server/config/ConfigurationProviderTest3.java | 190 -- .../iaik/config/ConfigurationDataImplTest.java | 173 -- .../server/iaik/config/IaikConfiguratorTest.java | 60 - .../moa/spss/server/invoke/AllTests.java | 49 - .../CMSSignatureVerificationInvokerTest.java | 87 - .../spss/server/invoke/DataObjectFactoryTest.java | 204 --- .../server/invoke/TransformationFactoryTest.java | 225 --- .../invoke/XMLSignatureCreationInvokerTest.java | 87 - .../XMLSignatureVerificationInvokerTest.java | 85 - .../moa/spss/server/tools/CertToolTest.java | 73 - spss/server/serverws/.gitignore | 2 - .../serverws/WebContent/META-INF/MANIFEST.MF | 3 - spss/server/serverws/WebContent/WEB-INF/web.xml | 13 - .../serverws/data/deploy/tomcat/server.mod_jk.xml | 166 -- spss/server/serverws/data/deploy/tomcat/server.xml | 169 -- .../serverws/data/deploy/tomcat/unix/moa-env.sh | 12 - .../data/deploy/tomcat/uriworkermap.properties | 4 - .../data/deploy/tomcat/win32/startTomcat.bat | 31 - .../data/deploy/tomcat/win32/stopTomcat.bat | 13 - .../serverws/data/deploy/tomcat/workers.properties | 6 - .../server/serverws/data/deploy/tools/certtool.bat | 25 - spss/server/serverws/data/deploy/tools/certtool.sh | 20 - .../serverws/data/deploy/tools/configtool.bat | 25 - .../serverws/data/deploy/tools/configtool.sh | 20 - spss/server/serverws/pom.xml | 206 --- .../properties/spss_messages_de.properties | 151 -- spss/server/serverws/resources/security/cacerts | Bin 7365 -> 0 bytes .../serverws/resources/wsdl/MOA-SPSS-2.0.0.wsdl | 128 -- .../serverws/resources/wsdl/MOA-SPSS-2.0.0.xsd | 564 ------ spss/server/serverws/spec/MOA-SPSS-1.3.doc | Bin 559616 -> 0 bytes .../serverws/src/main/webapp/META-INF/MANIFEST.MF | 3 - .../src/main/webapp/WEB-INF/server-config.wsdd | 49 - .../serverws/src/main/webapp/WEB-INF/web.xml | 63 - spss/server/tools/.gitignore | 1 - spss/server/tools/pom.xml | 104 -- .../moa/spss/server/tools/CertTool.java | 266 --- .../moa/spss/server/tools/ConfigTool.java | 83 - .../main/resources/tools/ConfigurationMapper.xsl | 343 ---- spss/server/tools/src/main/scripts/certtool.bat | 25 - spss/server/tools/src/main/scripts/certtool.sh | 20 - spss/server/tools/src/main/scripts/configtool.bat | 25 - spss/server/tools/src/main/scripts/configtool.sh | 20 - spss/spss.iml | 13 - 817 files changed, 1 insertion(+), 51643 deletions(-) delete mode 100644 spss/assembly-lib.xml delete mode 100644 spss/assembly.xml delete mode 100644 spss/handbook/clients/api/.gitignore delete mode 100644 spss/handbook/clients/api/pom.xml delete mode 100644 spss/handbook/clients/api/signatures/SimpleSignature.xml delete mode 100644 spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java delete mode 100644 spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java delete mode 100644 spss/handbook/clients/pom.xml delete mode 100644 spss/handbook/clients/referencedData/.gitignore delete mode 100644 spss/handbook/clients/referencedData/pom.xml delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/Text.b64 delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/Text.txt delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/WEB-INF/web.xml delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.Para.xsl delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.signed.xml delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withResolvableSchemaHint.xml delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xml delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsd delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsl delete mode 100644 spss/handbook/clients/referencedData/src/main/webapp/XMLDocumentRef.xsl delete mode 100644 spss/handbook/clients/webservice/.gitignore delete mode 100644 spss/handbook/clients/webservice/conf/http.properties delete mode 100644 spss/handbook/clients/webservice/conf/log4j.properties delete mode 100644 spss/handbook/clients/webservice/pom.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.response.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.response.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.response.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.xml delete mode 100644 spss/handbook/clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.cer delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1[pwd=kunde1].p12 delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/customer1/trustedServers[pwd=servers].keystore delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.cer delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2[pwd=kunde2].p12 delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/customer2/trustedServers[pwd=servers].keystore delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/server/localhost.cer delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/server/tomcat[pwd=server].keystore delete mode 100644 spss/handbook/clients/webservice/resources/sslKeys/server/trustedClients[pwd=clients].keystore delete mode 100644 spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java delete mode 100644 spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java delete mode 100644 spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java delete mode 100644 spss/handbook/conf/moa-spss/certstore/01540E2704537AA810D671E1C4106FD8821EB52A/C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 delete mode 100644 spss/handbook/conf/moa-spss/certstore/032F2123890A879585CE96674CA4C37B55986729/E1201A308CC10323C27D9084B048996E44B8F710 delete mode 100644 spss/handbook/conf/moa-spss/certstore/04462EF01783744F9F4CDE3705FD86D488697C9F/D44EED7580C7792242D73E267A89C7DB25E4BD08 delete mode 100644 spss/handbook/conf/moa-spss/certstore/083E1A0528C48475951A6610360D813E2713DCC7/7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 delete mode 100644 spss/handbook/conf/moa-spss/certstore/0889EBEC55D9E34E782E6D3C250840EB932EEA2F/9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 delete mode 100644 spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 delete mode 100644 spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/0F843FB1E0C626540BE638B79A2987E2611CE630 delete mode 100644 spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/69F21C82DC9A7A940ACEC414593E59C9E61E522F delete mode 100644 spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 delete mode 100644 spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/341F53B3B17518213B1856BFAB3CEFBE948AFC0D delete mode 100644 spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/3A24040C01D5C9A4980575BFF99A25E534A056CB delete mode 100644 spss/handbook/conf/moa-spss/certstore/0FE419AB943E7E5C6A7190CC6BBE8E3F914C658A/FB356CEF4406D1F135E3FC59026B338D3F518F9A delete mode 100644 spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 delete mode 100644 spss/handbook/conf/moa-spss/certstore/10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D/E7340D1FB627D8917A9C0D23F21515C441BF1214 delete mode 100644 spss/handbook/conf/moa-spss/certstore/125E4AC6B38C1E0BF34BF7D927CBB947E35141E8/2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D delete mode 100644 spss/handbook/conf/moa-spss/certstore/15A052B0DC4E0333656264E2FEEBE45B1BE449BF/386C1663C6390BC288DC171522439210AF361958 delete mode 100644 spss/handbook/conf/moa-spss/certstore/1607988A938D3D339F40AFB567384BC5B7540935/9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 delete mode 100644 spss/handbook/conf/moa-spss/certstore/1A283D1183DB82A548427B4F19E99E7A8EA728D7/49969819654C230ECDF779ABB9629A211FCC43D6 delete mode 100644 spss/handbook/conf/moa-spss/certstore/1BF3C1D2767F5C333AD5531531FEE3A712935B73/D0AF386E182F00983637F97C0A5F4708F9F641A7 delete mode 100644 spss/handbook/conf/moa-spss/certstore/20DD04B052D2D364E5FF851A3FD314F0FD91253E/6814C7316CEA7191C9CB3BE58199B4A957210D9C delete mode 100644 spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/5F06F65C714047E3B282AEC427C35AB703E49D8E delete mode 100644 spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/D45360060761812D33DE294EAC1573F6DE12A208 delete mode 100644 spss/handbook/conf/moa-spss/certstore/22973CFC20EA68162A0B2E837D45FB8266ACDBCF/C529469053D9F95810A8F7F2DB9A6596A7655732 delete mode 100644 spss/handbook/conf/moa-spss/certstore/238ACC1D03DA5A2E7E580D760FB3EE218FDC5A97/D3C063F219ED073E34AD5D750B327629FFD59AF2 delete mode 100644 spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 delete mode 100644 spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 delete mode 100644 spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 delete mode 100644 spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/DFAE695342AC81A521025904406884399822B233 delete mode 100644 spss/handbook/conf/moa-spss/certstore/2962CDAADFA0BF8EE53B80870C53E551A43EA72A/12B06E039F1A36D8238AFC508009E1ADF88BF66F delete mode 100644 spss/handbook/conf/moa-spss/certstore/2C976220B378E08DF5E68CBC54C05CE41224FD29/0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 delete mode 100644 spss/handbook/conf/moa-spss/certstore/2F5DA022AAFF668F34C35A80049D690F3CFE3040/D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D delete mode 100644 spss/handbook/conf/moa-spss/certstore/31B5BA02D476873C5220CDCFA0C095C4A31DEFDF/88D6151358A5E3C81D7AE1A536121DC03011BC03 delete mode 100644 spss/handbook/conf/moa-spss/certstore/328AA897B7E6270202B2FC0889FF88D66BB41122/35A40EF932B1F23980E2C672FC939E91EEBD0317 delete mode 100644 spss/handbook/conf/moa-spss/certstore/3314CE3E42175EACC28D57C35F192430BBADAC1A/B1D0BC027906A3B7E7518C93ACB26D978233ED27 delete mode 100644 spss/handbook/conf/moa-spss/certstore/337F895A0435AA7E2629C5282B5A0DBBE19EE1C7/75F792DE2CF544007F470F1B924961C2BD2EF517 delete mode 100644 spss/handbook/conf/moa-spss/certstore/349CA7B279F4EF3C085B1E8D08AA5DE3EC586188/08BBE8E906397158FA4BF4058BBBDB5EA11BAE82 delete mode 100644 spss/handbook/conf/moa-spss/certstore/3868959083AA986194E58E73798BCD724D785A0E/66AB66128A44574873E54E6584E450C4EB3B9A1E delete mode 100644 spss/handbook/conf/moa-spss/certstore/3A095C38EB5D5824FE61BE43F9CDF6515DC94805/65698A39E03FF00FD552D4AD99FB290C2B9D4BEA delete mode 100644 spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/04CF0318BA0B54DD76E1DE143445210BDD32E299 delete mode 100644 spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F delete mode 100644 spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE delete mode 100644 spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/9E0512DD61DA5949D1D8631C3F19D75F496C3733 delete mode 100644 spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/E6E6FC88719177C9B7421825757C5E47BCAC85F6 delete mode 100644 spss/handbook/conf/moa-spss/certstore/3B76D7A5CE7EC6022D7990CFEA534C908717DF54/C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E delete mode 100644 spss/handbook/conf/moa-spss/certstore/3C025917C3C938FEB856E5440D28E4A568C311DC/A2F138CD16AD04BC3F145E3780BFA169BFDA263B delete mode 100644 spss/handbook/conf/moa-spss/certstore/3C627C9D89A5BFB5E4E385982DF33B7E7F6E8D2D/C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 delete mode 100644 spss/handbook/conf/moa-spss/certstore/3C7CE93947421CB66603DC7DBAB0F04C4788382F/23E594945195F2414803B4D564D2A3A3F5D88B8C delete mode 100644 spss/handbook/conf/moa-spss/certstore/405D86C9D39B1061885678ED90780A0F04A76327/6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A delete mode 100644 spss/handbook/conf/moa-spss/certstore/4224231A54F64581FBA2AB6ED82ADE467F144BDC/65EF37033859C2F709A64086D3A5BD1B8F1A85A4 delete mode 100644 spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/07298E24461954E4696D2ED9FFB7D52B57F325B3 delete mode 100644 spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 delete mode 100644 spss/handbook/conf/moa-spss/certstore/45E2F3F807C6EAB9EDC1B3250F7558CA12A063DE/3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 delete mode 100644 spss/handbook/conf/moa-spss/certstore/47ED4C584F9DCD54A6C2925252C5603ADAC93F49/84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E delete mode 100644 spss/handbook/conf/moa-spss/certstore/487F4DEE9E63DADEB4CAAB07E0E166ACC9F584B6/9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA delete mode 100644 spss/handbook/conf/moa-spss/certstore/4C7CAA9FE9C08078541DA31B76FF0951E73480FF/C23FC1895966021249B35412C0C8C56D107732DE delete mode 100644 spss/handbook/conf/moa-spss/certstore/52B42552A440A54C21A39D46D7F176AF28BEB5AA/51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 delete mode 100644 spss/handbook/conf/moa-spss/certstore/53CF955B19387A437659158BC050B7BC4B238132/F5F2456D79490C268569970E900C68FD1C7DC8E5 delete mode 100644 spss/handbook/conf/moa-spss/certstore/54A361D38F73772377E15E145772C03EC0197142/F86591A6D86718886A0234B8E54E21AAEA63E24B delete mode 100644 spss/handbook/conf/moa-spss/certstore/550E9627E9094A2D1BB6385821334D02122BCF26/B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F delete mode 100644 spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/620127A8E5886A4805403977C3EF7D5EAF881526 delete mode 100644 spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 delete mode 100644 spss/handbook/conf/moa-spss/certstore/5650A465FD3B5EF83639E11F324A2A0EA98AF935/4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 delete mode 100644 spss/handbook/conf/moa-spss/certstore/58090A698038FEDAD56B4B976F23C29950D1D5A5/6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B delete mode 100644 spss/handbook/conf/moa-spss/certstore/59484253C7D4C5BEAB7D2BABFAC13DDD1CA53FCC/341EA32E448659125A67DD04177FD17468FCFCB1 delete mode 100644 spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 delete mode 100644 spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D delete mode 100644 spss/handbook/conf/moa-spss/certstore/60EF765436B4F314F2285BE2D89A511073AC0D58/334710B9169BCD20687A6302EEB16AEB97F288CD delete mode 100644 spss/handbook/conf/moa-spss/certstore/6144BFC0CBE85C63DEFB6F208D80385B89F68046/D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 delete mode 100644 spss/handbook/conf/moa-spss/certstore/68AF646E90A6FF370230F64ACD4E8A4F12C03916/CA80A13D41116E24CB1479E970CDC1C030C5907C delete mode 100644 spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/7A2CFA69FCA284D4627012A7A55662594C803B2A delete mode 100644 spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B delete mode 100644 spss/handbook/conf/moa-spss/certstore/6F86F897C45679B45F03C67D44B6447EFF43B758/53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 delete mode 100644 spss/handbook/conf/moa-spss/certstore/728C819D737EE42627F96F839C33BB6E68E85F68/00845B74CA13FE0A9056E6C0B5126FECF73B0D8C delete mode 100644 spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/474BC41135FB88BF58B5A8D976A1D5583378D85E delete mode 100644 spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 delete mode 100644 spss/handbook/conf/moa-spss/certstore/76011AE57123CC4E476C094C48C461DC37A0DEDD/FDC348410699803DE7D8276813BC2232EA99A878 delete mode 100644 spss/handbook/conf/moa-spss/certstore/7A9DC855647136050A8D75D6571AC64739F36C6C/BF648929E7DAABD8D97B3202F48D6C4A19C78F6C delete mode 100644 spss/handbook/conf/moa-spss/certstore/88BBA52A5AF119284F03A7D0D1DA61934EE57A79/FE4F09F5D1A4AADE9232D9E2D6B9A2552BC48A22 delete mode 100644 spss/handbook/conf/moa-spss/certstore/88D9F0C0EBB72C58516EC96AEED397FA86B40E39/6DCD5118D1542E6C205C580775C5420B7509506B delete mode 100644 spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/3B8484BF1370941BF03F206B5C4958DA4E1559BB delete mode 100644 spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/6DD653FB8FE2614249924274043E834664EBE980 delete mode 100644 spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/C0EF3E7A54B4C501295F77974B1995E36B25C92B delete mode 100644 spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/D29172D3F501A2D7A47F702633044F519A3A5F0B delete mode 100644 spss/handbook/conf/moa-spss/certstore/8FDB1CB752D82C88C89F9E9DA7AD2F54C6FA6F3B/842B3870A64001CDD90978D0E554DAF94D9ABDFE delete mode 100644 spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/679A4F81FC705DDEC419778DD2EBD875F4C242C6 delete mode 100644 spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/82096E6D9B1248321625323D52858642CB0B748E delete mode 100644 spss/handbook/conf/moa-spss/certstore/91C4DD783D6D38F0325FE74930BF61F656364EA9/53A6B611F8CEE0315BCCE5D59898931ED390E400 delete mode 100644 spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 delete mode 100644 spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 delete mode 100644 spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/45B43346251FDF9E95DCB7F36928785D46D63913 delete mode 100644 spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/E33619C88426E4FE956041E6751ADDEC9C10F0BC delete mode 100644 spss/handbook/conf/moa-spss/certstore/975729FFAF7EB667BCF68E9B886EA876E44F46D0/35202B14F69409EAA51CD8AB547AC0CD5E993F3F delete mode 100644 spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA delete mode 100644 spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/79B21E2743A879AFF5403ECEA09EAC2084EF4799 delete mode 100644 spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 delete mode 100644 spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B delete mode 100644 spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/A562C4B99E2847251CB4A1F05DA1FF43E7296F0B delete mode 100644 spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C delete mode 100644 spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9F0E0FBB25F66FF88C8E033EFF358923C84A2926 delete mode 100644 spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/C87D1855227D995C332C4C9072A2E2053F2CC623 delete mode 100644 spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/42AD1897A4643D2AA634D980F16349E6694F3B1B delete mode 100644 spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/FE7891B6ED7B178F528A28B21478299F865889BD delete mode 100644 spss/handbook/conf/moa-spss/certstore/A15B5DBE14A19CF859F48E2DA2A29A4C3DB4D680/3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B delete mode 100644 spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/8784ED81F5A22779EB0B081945FD151992557FBE delete mode 100644 spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/88583DB03975127CB488CA7DDE303A1646CEA97B delete mode 100644 spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 delete mode 100644 spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/20CAECDCA766243AAD6FA1327618FC81BA65DC0F delete mode 100644 spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/96D5D179016A5A6546973BA63733617EE1F1540D delete mode 100644 spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/CF236CF66379EA506F967D21F0E25E87529D9687 delete mode 100644 spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 delete mode 100644 spss/handbook/conf/moa-spss/certstore/A7437C35301BDB5349F320B62231615028F397F8/266FCA0265A576548425BDAE15448665EE8BB889 delete mode 100644 spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/D4D1370FD1D9EAA46412008FF3E59E114BCF724A delete mode 100644 spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A delete mode 100644 spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/E619D25B380B7B13FDA33E8A58CD82D8A88E0515 delete mode 100644 spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/F825578F8F5484DFB40F81867C392D6CB0012B92 delete mode 100644 spss/handbook/conf/moa-spss/certstore/AAB27F0E98B28AF253454415F6490CB5F43A4B49/A9D28607928FA8615E2615CC9D71B535C5D0D419 delete mode 100644 spss/handbook/conf/moa-spss/certstore/AC1B67D7D5A300767C0944ACE8458DD49960F1BD/4D523730501ADB80A76B0B473A4D21C7D86F8374 delete mode 100644 spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 delete mode 100644 spss/handbook/conf/moa-spss/certstore/B1A1ACC805C656EF257C5115509B977964591D7E/8944AF64790FA467C02424CB22523A068C3B72DB delete mode 100644 spss/handbook/conf/moa-spss/certstore/B293710691F553804016FCEC3428ABA1CB11ADF7/36B41A8B411985ED1032DBD85A154207164A9B85 delete mode 100644 spss/handbook/conf/moa-spss/certstore/B310CEED301C503EDB15720F94D5D7E76BF423DA/AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 delete mode 100644 spss/handbook/conf/moa-spss/certstore/B3EB7B59ECFF1E25E16C64BB24993D1B20DCFC28/07A6DEED70213CCF598F278789680DA4C04A0331 delete mode 100644 spss/handbook/conf/moa-spss/certstore/B749506C821467F7D6F4E8943D07DDED771A7B47/A5A00B223EF24AED92D03F652CFE367CA9D1B200 delete mode 100644 spss/handbook/conf/moa-spss/certstore/B9041947DCD9B7E2B82D72D6A0FF1FBC4B213DC0/BD78039E45BA4E4B13ADECC58124520ACE83B6A7 delete mode 100644 spss/handbook/conf/moa-spss/certstore/BAA9ADD095E87E0B490B6DD933AA2F450C6B9492/7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 delete mode 100644 spss/handbook/conf/moa-spss/certstore/BE47A5DA41A35F740D98305DA8FF4096B71492BE/D1474E7D99512D05B98DD37B3FE86496A03D088D delete mode 100644 spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/9766A5ED03482991DA91BB763ECDCD9417394100 delete mode 100644 spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/BB97947C31BBF3364A2909F9876DBD3B87B5B62A delete mode 100644 spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/60B7181FD8BCA00B84961BF31DB08C50376CCF44 delete mode 100644 spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/74801529B4E8E5764FFC4D8E6577E1F84E8101CE delete mode 100644 spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/7B7B60B748C82B34EE71A3CEA729C477083F0BDA delete mode 100644 spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/EBB80BE34C78814AE659BBA3A2394E4D9857123D delete mode 100644 spss/handbook/conf/moa-spss/certstore/BED4C70D83B5042F4254459064FDEACD43DD1EDF/7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 delete mode 100644 spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA delete mode 100644 spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/51C01567BCB22968EF5A297B7EA84E195594E0E8 delete mode 100644 spss/handbook/conf/moa-spss/certstore/C15FFFE6EFAD484909C9EFC6CD5C20435E326685/DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE delete mode 100644 spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA delete mode 100644 spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/B38C775A18C1195D01658D75FBDA3258B6DF018B delete mode 100644 spss/handbook/conf/moa-spss/certstore/C2A7CAE9E68EB7945828D193CB22CDD246BC7F95/6955D95F6B0799F7D96F4FC28E6E6C64758C1240 delete mode 100644 spss/handbook/conf/moa-spss/certstore/C52E4A04A22D98C70E19F1969AD71C838E4371B3/F96FE4F59166EFA9000B21A16EF22CF14468890C delete mode 100644 spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E delete mode 100644 spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/A79681CBDD69EC741214136F128923A574E26F03 delete mode 100644 spss/handbook/conf/moa-spss/certstore/C7E1D3604D2A960201D70F29B8A80EDA11475EEB/C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED delete mode 100644 spss/handbook/conf/moa-spss/certstore/C976280EC7FECF169577E31D8CA0BB00967904B1/7666A8BD2C2513DE489C06D08D566F177ECE84AA delete mode 100644 spss/handbook/conf/moa-spss/certstore/CABD2EA6CA438084840DCCAE875F341E2D3A2C43/02A0E6456442E35198532ACFFB6FEE3B606D9FA3 delete mode 100644 spss/handbook/conf/moa-spss/certstore/CC93161E57C3898635E1D086008BD053F542457F/7D60E314AA6AEF548A614A9354C5068192051A29 delete mode 100644 spss/handbook/conf/moa-spss/certstore/CCBA90ED697BA209AB6093FC19FB15B53EE26933/159E42D4A53599389431771D5C936552BB22B084 delete mode 100644 spss/handbook/conf/moa-spss/certstore/CD2D87A57D1568A515128BE9DA8B3CAE7AC007A4/C6658C25AFB8A9D738F2BC591775D167549FFD3A delete mode 100644 spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/8AB0A3519AFA7F3C04074522678BAA1CB3DC734F delete mode 100644 spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/DF47B3040E7632614464BD2EC4ECD1B8030F53E3 delete mode 100644 spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/E117479B4A41D7F3223FCAE50560B0D57B22217D delete mode 100644 spss/handbook/conf/moa-spss/certstore/D4D40BD33958CD9169A7AB6304AA2BBAD22DC595/07976A2A16EC182670161B46886B05E1FEAC16B1 delete mode 100644 spss/handbook/conf/moa-spss/certstore/D708C897515970D33EF7CD0C2474449D3AB6AA83/52ED0FAFBD38A868C678174D7EB03D266ADB221C delete mode 100644 spss/handbook/conf/moa-spss/certstore/D866A07634012B24DB601087D8B3A9FFEDF5CADB/969A71FDCC5302167A60158828B9E7862DED3B4D delete mode 100644 spss/handbook/conf/moa-spss/certstore/DD29E76659D18371B78E61E7DF4D4B8FEDCAF8E7/8BA5C0847597612C7E16970EAE55EF58D32E9CF3 delete mode 100644 spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/18585FC53A283488E4BA84867980E9B1F2B28ADA delete mode 100644 spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/27337257493B86B9BFF78D569F938D692A430EAE delete mode 100644 spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/4832F0A28C3724A92F6CB3314F747D0E74FC7344 delete mode 100644 spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/6352302A5072DBFB769D4FF4C70C86432C4C1683 delete mode 100644 spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/EE886B907E31667D622677F665F25C54AF9A7F65 delete mode 100644 spss/handbook/conf/moa-spss/certstore/E47BA33321A8A919414A123C91F5D253766AB078/698563ECEE29232C5304487D972310F86650C3A6 delete mode 100644 spss/handbook/conf/moa-spss/certstore/E583DB7202A8D1570A18CD11146B0CBCA438F71A/2A5945E1FC2006BE0D59C3375253C9D3327D197D delete mode 100644 spss/handbook/conf/moa-spss/certstore/E6A4C843059A6043B4DC967F9EF892B695990777/B4B77C83465979E3679E3A33F972F48EE3730A18 delete mode 100644 spss/handbook/conf/moa-spss/certstore/EA7E6D37E678C1BCA5060F97DAF09F559DFD04B7/3AAD23B00CA10E54E6368DF7952E3F4B5108B65C delete mode 100644 spss/handbook/conf/moa-spss/certstore/EEE6351C5C6EBD8644AB88E7648D44FA07C72A80/14E59C02A6877B0EBD2C4203886BA25959C1D267 delete mode 100644 spss/handbook/conf/moa-spss/certstore/F1B84756A1EAB09C171B2783DD163B42A9BD0BBB/ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 delete mode 100644 spss/handbook/conf/moa-spss/certstore/F3DA7C495789E656FA27E611CCAFA05F232ADEA0/F3AE9FEA4DECEE5330770A2520BD86909929E7BE delete mode 100644 spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/16D8270DE51B034E77B7CDAF1DEE623916243DDC delete mode 100644 spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 delete mode 100644 spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/40B51EEF4E709FBD47935DDD83A1F640D0CC378A delete mode 100644 spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 delete mode 100644 spss/handbook/conf/moa-spss/certstore/F48B57F89BACD8687EBB12223A5B8E5EF3774583/CAF84A42305615AC2C582F6412BDA3E36DAC3D25 delete mode 100644 spss/handbook/conf/moa-spss/certstore/F613568C1D7A1300B32609998288211959DBDFB0/D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 delete mode 100644 spss/handbook/conf/moa-spss/certstore/F7D331850EC13D22284909E0FC3493A65FFA7F30/EC988340526163D5B7AC80481B2AC76828EDDC6C delete mode 100644 spss/handbook/conf/moa-spss/certstore/FE51079176B9F46204816CABA94824B3B14A3830/2E66C9841181C08FB1DFABD4FF8D5CC72BE08F02 delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-SSL-03.20140723-20240723.SerNo14b4fd.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt delete mode 100644 spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crt delete mode 100644 spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.cer delete mode 100644 spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden[pwd=allekunden].p12 delete mode 100644 spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.cer delete mode 100644 spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1[pwd=kunde1].p12 delete mode 100644 spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.cer delete mode 100644 spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12 delete mode 100644 spss/handbook/conf/moa-spss/log4j.properties delete mode 100644 spss/handbook/conf/moa-spss/sp.minimum.config.xml delete mode 100644 spss/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml delete mode 100644 spss/handbook/conf/moa-spss/spss.config.xml delete mode 100644 spss/handbook/conf/moa-spss/ss.minimum.config.xml delete mode 100644 spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der delete mode 100644 spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server[pwd=server].p12 delete mode 100644 spss/handbook/conf/moa-spss/sslKeys/tomcat/tomcat[pwd=server].keystore delete mode 100644 spss/handbook/conf/moa-spss/sslKeys/tomcat/trustedClients[pwd=clients].keystore delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Dr. Waltraut Kotschy.20070119-20120119.SerNo02de1c.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/EGIZ_Administrator.20070829-20120829.SerNo00.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/EGIZ_Test_CA_-_Signaturdienst.20070829-20140101.SerNo02.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Dr. Waltraut Kotschy-20070119-20120119.SerNo02de1c.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/Nikolaus-Schwab-BM-f-Inneres-20040219-20070219.SerNo5c39.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01AAED.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20051001-20111023.SerNo170.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo1815.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo210E.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNo1C864.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNoE287.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNo1C858.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer delete mode 100644 "spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-04.20130708-20230701.SerNo\342\200\216f28c4.cer" delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-05.20130923-20230920.SerNoFCDEE.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer delete mode 100644 "spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-03.20051114-20151114.SerNo1AAEC.cer delete mode 100644 "spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-04.2010821-20230821.SerNo.\342\200\216f76bd.cer" delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-05.20130923-20230920.SerNoFCE21.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo1390.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo2111.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20041201-20081201.SerNoE244.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20081201-20121201.SerNo4AFF1.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20041215-20141214.SerNoE4A8.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-03.20051114-20151114.SerNo1AAED.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20030327-20060327.SerNo1C1C.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNo1C867.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNoE28A.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20081201-20121201.SerNo4AFF3.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNo1C85C.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNoE4A9.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20030327-20060327.SerNo1C1D.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNo1C868.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNoE28B.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20081201-20131201.SerNo4C3C6.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNo1C85D.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNoE4AA.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer delete mode 100644 "spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo5EFE7.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo7F061.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-04.20130702-20180701.SerNof1d4f.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-05.20130923-20230920.SerNoFCDD4.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/testTSL/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/testTSL/IAIK-Test-Root-CA_20080114-20180114.SerNo.01.der delete mode 100644 spss/handbook/conf/moa-spss/trustProfiles/testTSL/MOA_Test_CA.20070823-20131022.Serno01.cer delete mode 100644 spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) AGNIESZKA BAJNO_To20181219.crt delete mode 100644 spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) JOLANDA VAN EIJNDTHOVEN_To20180915.crt delete mode 100644 spss/handbook/conf/moa-spss/tslworking/trust/eu/EU.der delete mode 100644 spss/handbook/conf/moa-spss/tslworking/trust/eu/EU2.der delete mode 100644 spss/handbook/handbook.html delete mode 100644 spss/handbook/handbook/common/LogoBKA.png delete mode 100644 spss/handbook/handbook/common/LogoEGIZ.png delete mode 100644 spss/handbook/handbook/common/MOA.css delete mode 100644 spss/handbook/handbook/config/MOA-SPSS-config-2.0.0.xsd delete mode 100644 spss/handbook/handbook/config/config.html delete mode 100644 spss/handbook/handbook/faq/faq.html delete mode 100644 spss/handbook/handbook/index.html delete mode 100644 spss/handbook/handbook/install/install.html delete mode 100644 spss/handbook/handbook/intro/intro.html delete mode 100644 spss/handbook/handbook/spec/MOA-SPSS-1.3.pdf delete mode 100644 spss/handbook/handbook/spec/MOA-SPSS-2.0.0.pdf delete mode 100644 spss/handbook/handbook/spec/MOA-SPSS-2.0.0.wsdl delete mode 100644 spss/handbook/handbook/spec/MOA-SPSS-2.0.0.xsd delete mode 100644 spss/handbook/handbook/usage/usage.html delete mode 100644 spss/handbook/pom.xml delete mode 100644 spss/pom.xml delete mode 100644 spss/server/history.txt delete mode 100644 spss/server/pom.xml delete mode 100644 spss/server/readme.inst.txt delete mode 100644 spss/server/readme.update.txt delete mode 100644 spss/server/serverlib/.gitignore delete mode 100644 spss/server/serverlib/pom.xml delete mode 100644 spss/server/serverlib/resources/data/deploy/tomcat/unix/moa-env.sh delete mode 100644 spss/server/serverlib/resources/data/deploy/tomcat/uriworkermap.properties delete mode 100644 spss/server/serverlib/resources/data/deploy/tomcat/win32/startTomcat.bat delete mode 100644 spss/server/serverlib/resources/data/deploy/tomcat/win32/stopTomcat.bat delete mode 100644 spss/server/serverlib/resources/data/deploy/tomcat/workers.properties delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAApplicationException.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAException.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOARuntimeException.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOASystemException.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/Configurator.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureCreationService.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CMSSignatureResponse.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureRequest.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponse.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponseElement.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/DataObjectInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/SingleSignatureInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Base64Transform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CheckResult.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Content.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentBinary.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentLocRef.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentReference.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentXML.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ElementSelector.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/InputData.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/MetaInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/SignerInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/TSLConfiguration.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Transform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathTransform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSSignatureResponseImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentLocRefImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureRequestImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureResponseImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoCMSImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataBinaryImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataXMLImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoCMSImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TSLConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/CRLDistributionPoint.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroup.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyModule.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/OCSPDistributionPoint.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmssign/CMSSignatureCreationProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureCreationInvoker.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateCMSSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLog.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/TransactionId.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/util/IdGenerator.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/config/Configurator.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnector.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnectorInterface.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/exception/MitigatedTSLSecurityException.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/timer/TSLUpdaterTimerTask.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/CertificateReader.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/Mitigation.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEUImportFromFileContext.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLImportFromFileContext.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/ExternalURIVerifier.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MOASPSSEntityResolver.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MessageProvider.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/QCSSCDResult.java delete mode 100644 spss/server/serverlib/src/main/javadoc/overview.html delete mode 100644 spss/server/serverlib/src/main/resources/resources/properties/spss_messages_de.properties delete mode 100644 spss/server/serverlib/src/main/resources/resources/security/cacerts delete mode 100644 spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.wsdl delete mode 100644 spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.xsd delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/AllTests.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/SPSSTestCase.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/AllTests.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java delete mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java delete mode 100644 spss/server/serverws/.gitignore delete mode 100644 spss/server/serverws/WebContent/META-INF/MANIFEST.MF delete mode 100644 spss/server/serverws/WebContent/WEB-INF/web.xml delete mode 100644 spss/server/serverws/data/deploy/tomcat/server.mod_jk.xml delete mode 100644 spss/server/serverws/data/deploy/tomcat/server.xml delete mode 100644 spss/server/serverws/data/deploy/tomcat/unix/moa-env.sh delete mode 100644 spss/server/serverws/data/deploy/tomcat/uriworkermap.properties delete mode 100644 spss/server/serverws/data/deploy/tomcat/win32/startTomcat.bat delete mode 100644 spss/server/serverws/data/deploy/tomcat/win32/stopTomcat.bat delete mode 100644 spss/server/serverws/data/deploy/tomcat/workers.properties delete mode 100644 spss/server/serverws/data/deploy/tools/certtool.bat delete mode 100644 spss/server/serverws/data/deploy/tools/certtool.sh delete mode 100644 spss/server/serverws/data/deploy/tools/configtool.bat delete mode 100644 spss/server/serverws/data/deploy/tools/configtool.sh delete mode 100644 spss/server/serverws/pom.xml delete mode 100644 spss/server/serverws/resources/properties/spss_messages_de.properties delete mode 100644 spss/server/serverws/resources/security/cacerts delete mode 100644 spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.wsdl delete mode 100644 spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.xsd delete mode 100644 spss/server/serverws/spec/MOA-SPSS-1.3.doc delete mode 100644 spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF delete mode 100644 spss/server/serverws/src/main/webapp/WEB-INF/server-config.wsdd delete mode 100644 spss/server/serverws/src/main/webapp/WEB-INF/web.xml delete mode 100644 spss/server/tools/.gitignore delete mode 100644 spss/server/tools/pom.xml delete mode 100644 spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java delete mode 100644 spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java delete mode 100644 spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl delete mode 100644 spss/server/tools/src/main/scripts/certtool.bat delete mode 100644 spss/server/tools/src/main/scripts/certtool.sh delete mode 100644 spss/server/tools/src/main/scripts/configtool.bat delete mode 100644 spss/server/tools/src/main/scripts/configtool.sh delete mode 100644 spss/spss.iml diff --git a/pom.xml b/pom.xml index b3176bd2d..ebc429fba 100644 --- a/pom.xml +++ b/pom.xml @@ -83,11 +83,7 @@ - - - - id - + id diff --git a/spss/assembly-lib.xml b/spss/assembly-lib.xml deleted file mode 100644 index d8b78d2e8..000000000 --- a/spss/assembly-lib.xml +++ /dev/null @@ -1,159 +0,0 @@ - - spss-${moa-spss-version}-lib - - - dir - zip - - - - moa-spss-lib-${moa-spss-version} - - - - - MOA.spss.server:moa-spss-lib - - - true - - - - xalan-bin-dist:xalan - xerces:xercesImpl - xalan-bin-dist:xml-apis - xalan-bin-dist:serializer - - /endorsed - - ${artifactId}.${extension} - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_Pkcs11Provider - iaik.prod:iaik_Pkcs11Wrapper:jar - - /ext - - ${artifactId}.${extension} - - - - MOA:moa-common - - / - - ${artifactId}.${extension} - - - - MOA:moa-common - xalan-bin-dist:xalan - xerces:xercesImpl - xalan-bin-dist:xml-apis - xalan-bin-dist:serializer - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_Pkcs11Provider - iaik.prod:iaik_Pkcs11Wrapper - - /lib - - - moa-spss.${extension} - false - - - - - MOA.spss.server:moa-spss-lib - - - javadoc - false - api-doc - /doc - true - - - - - MOA.spss.server:moa-spss-tools - - - true - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_moa - log4j:log4j - xalan-bin-dist:xalan - - /tools - - ${artifactId}.${extension} - - - /tools - tools.${extension} - false - - - - - - component-pkcs11libs.xml - - - - - ${basedir}/spss/handbook/handbook.html - /doc - - - - - - ${basedir}/spss/server - / - - *.txt - - - readme.src.txt - - - - ${basedir}/spss/handbook/conf - /conf - - - ${basedir}/spss/handbook/handbook - /doc/handbook - - - ${basedir}/spss/handbook/clients - /doc/clients - - - ${basedir} - / - - LICENSE-2.0.txt - NOTICE.txt - IAIK-LICENSE.txt - EUPL v.1.1 - Licence.pdf - SIC_LICENSE.txt - - - - ${basedir}/spss/server/tools/src/main/scripts - /tools - - - - diff --git a/spss/assembly.xml b/spss/assembly.xml deleted file mode 100644 index 20673b198..000000000 --- a/spss/assembly.xml +++ /dev/null @@ -1,163 +0,0 @@ - - spss-${moa-spss-version} - - - dir - zip - - - - moa-spss-${moa-spss-version} - - - - - MOA.spss.server:moa-spss-ws - - - true - - - - xalan-bin-dist:xalan - xerces:xercesImpl - xalan-bin-dist:xml-apis - xalan-bin-dist:serializer - - /endorsed - - ${artifactId}.${extension} - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_Pkcs11Provider - iaik.prod:iaik_Pkcs11Wrapper:jar - - /ext - - ${artifactId}.${extension} - - - - javax.servlet:servlet-api - javax.activation:activation - axis:axis - org.apache.axis:axis-jaxrpc - org.apache.axis:axis-saaj - axis:axis-wsdl4j - commons-discovery:commons-discovery - commons-logging:commons-logging - javax.mail:mail - xalan-bin-dist:serializer - xerces:xercesImpl - - /doc/clients/webservice/lib - - ${artifactId}-${version}.${extension} - - - moa-spss.${extension} - false - - - - - MOA.spss.server:moa-spss-lib - - - javadoc - false - api-doc - /doc - true - - - - - MOA.spss.server:moa-spss-tools - - - true - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_moa - log4j:log4j - xalan-bin-dist:xalan - - /tools - - ${artifactId}.${extension} - - - /tools - tools.${extension} - false - - - - - - component-pkcs11libs.xml - - - - - ${basedir}/spss/handbook/handbook.html - /doc - - - - - - ${basedir}/spss/server - / - - *.txt - - - readme.src.txt - - - - ${basedir}/spss/handbook/conf - /conf - - - ${basedir}/spss/handbook/handbook - /doc/handbook - - - ${basedir}/spss/handbook/clients - /doc/clients - - - ${basedir} - / - - LICENSE-2.0.txt - NOTICE.txt - IAIK-LICENSE.txt - EUPL v.1.1 - Licence.pdf - SIC_LICENSE.txt - - - - ${basedir}/spss/server/serverws/data/deploy/tomcat - /tomcat - - - ${basedir}/spss/server/serverws/data/deploy/tools - /tools - - - ${basedir}/spss/server/tools/src/main/scripts - /tools - - - - diff --git a/spss/handbook/clients/api/.gitignore b/spss/handbook/clients/api/.gitignore deleted file mode 100644 index 934e0e06f..000000000 --- a/spss/handbook/clients/api/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/bin -/target diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml deleted file mode 100644 index 0690b65e3..000000000 --- a/spss/handbook/clients/api/pom.xml +++ /dev/null @@ -1,157 +0,0 @@ - - - MOA.spss.handbook.clients - moa-spss-handbook-clients - 2.0 - - - 4.0.0 - MOA.spss.handbook - moa-spss-handbook-apiClient - jar - MOA SP/SS Handbook API Client - - - ${basedir}/../../../../../repository - - - - - axis - axis - - - org.apache.axis - axis-jaxrpc - - - org.apache.axis - axis-saaj - - - axis - axis-wsdl4j - - - commons-discovery - commons-discovery - - - commons-logging - commons-logging - - - javax.activation - activation - - - javax.mail - mail - - - junit - junit - - - log4j - log4j - - - org.postgresql - postgresql - - - javax.servlet - servlet-api - - - - xalan-bin-dist - xalan - compile - - - xerces - xercesImpl - - - xalan-bin-dist - xml-apis - - - xalan-bin-dist - serializer - - - iaik.prod - iaik_moa - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_jce_full - compile - - - iaik.prod - iaik_ecc - compile - - - iaik.prod - iaik_cms - runtime - - - iaik.prod - iaik_Pkcs11Provider - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - win32 - dll - runtime - true - - - MOA - moa-common - - - MOA.spss.server - moa-spss-lib - - - - - - - - diff --git a/spss/handbook/clients/api/signatures/SimpleSignature.xml b/spss/handbook/clients/api/signatures/SimpleSignature.xml deleted file mode 100644 index 9ecd215c1..000000000 --- a/spss/handbook/clients/api/signatures/SimpleSignature.xml +++ /dev/null @@ -1,23 +0,0 @@ - -tLODyeiWFbAkQKwhrR23jtcgu4k=VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqDiese Daten werden signiert. \ No newline at end of file diff --git a/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java b/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java deleted file mode 100644 index aad0a0ce1..000000000 --- a/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.handbook.clients.api; - -import java.io.ByteArrayInputStream; -import java.util.ArrayList; -import java.util.List; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.SignatureCreationService; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; -import at.gv.egovernment.moa.util.DOMUtils; - -/** - * Dieses einfache Beispiel demonstriert grundlegend den Gebrauch der API von MOA SP/SS. Es wird damit eine - * einfach aufgebaute XML-Signatur erzeugt. - */ -public class CreateXMLSignature -{ - /** - * Methode main. - * - * Enthält beispielhaften Code zum grundlegenden Gebrauch der API von MOA SP/SS. Es wird damit eine - * einfach aufgebaute XML-Signatur erzeugt. - * - * ACHTUNG: Stellen Sie bei Verwendung von J2SE 1.4.x bzw. 5.x sicher, dass Sie die System-Property - * java.endorsed.dirs auf jenes Verzeichnis gesetzt haben, in dem sich die XPath- - * und XSLT-Bibliothek Xalan-J befindet. - * - * @param args
    - *
  • - * args[0] enthält einen Verweis auf die Konfigurations-Datei von MOA SP/SS Der Verweis - * enthält entweder eine absolute oder eine relative Pfadangabe, wobei eine relative - * Angabe als relativ zum Arbeitsverzeichnis der Java VM interpretiert wird. - *
  • - *
  • - * args[1] enthält einen Verweis auf die Konfigurations-Datei von Log4J, dem Logging- - * Framework, das von MOA SP/SS verwendet wird. Der Verweis enth�lt entweder eine - * absolute oder eine relative Pfadangabe, wobei eine relative Angabe als relativ zum - * Arbeitsverzeichnis der Java VM interpretiert wird. - *
  • - *
- * - * @throws Exception Sollten Fehler auftreten werden die Fehler an die Java-VM weitergeleitet. - */ - public static void main(String[] args) throws Exception - { - // Setzen der System-Properties - init(args); - - // Serverfunktionshandler instanzieren - SPSSFactory spf = SPSSFactory.getInstance(); - - // Zu signierende Daten in ein Contentobjekt einbinden (die Daten werden hier explizit angegeben, - // sollen aber in der Signatur mittels URL "http://uri.data.org" referenziert werden - byte[] data = "Diese Daten werden signiert.".getBytes("UTF-8"); - ByteArrayInputStream bis = new ByteArrayInputStream(data); - Content cont = spf.createContent(bis, null); - - // Metainformationen zu den zu signierenden Daten erstellen - MetaInfo mi = spf.createMetaInfo("text/plain", null, null, null); - - // Transformationen erstellen (hier werden keine Transformationen angewandt) - CreateTransformsInfo cti = spf.createCreateTransformsInfo(null, mi); - CreateTransformsInfoProfile ct = spf.createCreateTransformsInfoProfile(cti, null); - - // Datenobjekt aufbauen - DataObjectInfo doi = spf.createDataObjectInfo(DataObjectInfo.STRUCTURE_ENVELOPING, false, cont, ct); - - // Erstellen eines SingleSignatureInfo-Containers - // Enth�lt alle Angaben zur Erstellung *einer* Signatur - List dataobjectinfolist = new ArrayList(); - dataobjectinfolist.add(doi); - SingleSignatureInfo ssi = spf.createSingleSignatureInfo(dataobjectinfolist, null, false); - - // Erstellen des Request-Objekts (Schl�sselbezeichner, Liste von SingleSignatureInfo-Containern) - List singlesignatureinfolist = new ArrayList(); - singlesignatureinfolist.add(ssi); - CreateXMLSignatureRequest cxsreq = spf.createCreateXMLSignatureRequest("KG_allgemein", - singlesignatureinfolist); - - // Signatureerstellungsservice instanzieren und aufrufen - SignatureCreationService scs = SignatureCreationService.getInstance(); - CreateXMLSignatureResponse cxsres = scs.createXMLSignature(cxsreq); - - // Response auswerten - List elements = cxsres.getResponseElements(); - SignatureEnvironmentResponse ser = (SignatureEnvironmentResponse) elements.get(0); - - // Auswertung des ersten (und einzigen) SignatureEnvironmentResponse-Containers - int response_type = ser.getResponseType(); - - if (response_type == SignatureEnvironmentResponse.ERROR_RESPONSE) - { - // Fehlerfall - System.out.println("Bei der Erstellung der Signatur ist ein Fehler aufgetreten."); - } - else - { - // Signaturerstellung erfolgreich - System.out.println("Signaturerstellung erfolgreich:"); - - Element se = ser.getSignatureEnvironment(); - System.out.println(DOMUtils.serializeNode(se)); - } - } - - /** - * Setzt die notwendigen System-Properties f�r die Konfiguration der MOA SP/SS API. - * - * @param args Siehe @link CreateXMLSignature#main(String[]). - */ - private static void init(String[] args) - { - if (args == null || args.length != 2) - { - System.out.println("Verwendung: CreateXMLSignature "); - } - System.setProperty("moa.spss.server.configuration", args[0]); - System.setProperty("log4j.configuration", "file:" + args[1]); - } -} \ No newline at end of file diff --git a/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java b/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java deleted file mode 100644 index 6a4a57c11..000000000 --- a/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.handbook.clients.api; - -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.util.HashMap; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.SignatureVerificationService; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; - -/** - * Dieses einfache Beispiel demonstriert grundlegend den Gebrauch der API von MOA SP/SS. - * Es wird damit eine einfach aufgebaute XML-Signatur gepr�ft. - */ - -public class VerifyXMLSignature -{ - /** - * Methode main. - * - * Enthält beispielhaften Code zum grundlegenden Gebrauch der API von MOA SP/SS. - * Es wird damit eine einfach aufgebaute XML-Signatur geprüft. - * - * ACHTUNG: Stellen Sie bei Verwendung von J2SE 1.4.x bzw. 5.x sicher, dass Sie die System-Property - * java.endorsed.dirs auf jenes Verzeichnis gesetzt haben, in dem sich die XPath- - * und XSLT-Bibliothek Xalan-J befindet. - * - * @param args
    - *
  • - * args[0] enthält einen Verweis auf die Konfigurations-Datei von MOA SP/SS Der Verweis - * enthält entweder eine absolute oder eine relative Pfadangabe, wobei eine relative - * Angabe als relativ zum Arbeitsverzeichnis der Java VM interpretiert wird. - *
  • - *
  • - * args[1] enthält einen Verweis auf die Konfigurations-Datei von Log4J, dem Logging- - * Framework, das von MOA SP/SS verwendet wird. Der Verweis enth�lt entweder eine - * absolute oder eine relative Pfadangabe, wobei eine relative Angabe als relativ zum - * Arbeitsverzeichnis der Java VM interpretiert wird. - *
  • - *
  • - * args[2] enth�lt Pfad und Dateiname des XML-Dokuments mit der darin enthaltenen, zu - * prüfenden XML-Signatur. Verwenden Sie z.B. das mit diesem Handbuch mitgelieferte - * Beispiel clients/api/signatures/SimpleSignature.xml. - *
  • - *
- */ - public static void main(String[] args) - { - // Setzen der System-Properties - init(args); - - // Factory und Service instanzieren - SPSSFactory spssFac = SPSSFactory.getInstance(); - SignatureVerificationService sigVerifyService = SignatureVerificationService.getInstance(); - - // Content aus Dokument mit zu pr�fender Signatur erstellen - FileInputStream sigDocFIS = null; - try - { - sigDocFIS = new FileInputStream(args[2]); - } - catch (FileNotFoundException e1) - { - System.err.println("XML-Dokument mit zu prüfender Signatur nicht gefunden: " + args[2]); - System.exit(-1); - } - Content sigDocContent = spssFac.createContent(sigDocFIS, null); - - // Position der zu pr�fenden Signatur im Dokument angeben - // (Nachdem im XPath-Ausdruck ein NS-Pr�fix verwendet wird, muss in einer Lookup-Tabelle - // der damit bezeichnete Namenraum mitgegeben werden) - HashMap nSMap = new HashMap(); - nSMap.put("dsig", "http://www.w3.org/2000/09/xmldsig#"); - VerifySignatureLocation sigLocation = spssFac.createVerifySignatureLocation("//dsig:Signature", nSMap); - - // Zu pr�fendes Dokument und Signaturposition zusammenfassen - VerifySignatureInfo sigInfo = spssFac.createVerifySignatureInfo(sigDocContent, sigLocation); - - // Pr�frequest zusammenstellen - VerifyXMLSignatureRequest verifyRequest = spssFac.createVerifyXMLSignatureRequest( - null, // Wird Pr�fzeit nicht angegeben, wird aktuelle Zeit verwendet - sigInfo, - null, // Keine Erg�nzungsobjekte notwendig - null, // Signaturmanifest-Pr�fung soll nicht durchgef�hrt werden - false, // Hash-Inputdaten, d.h. tats�chlich signierte Daten werden nicht zur�ckgeliefert - "Test-Signaturdienste"); // ID des verwendeten Vertrauensprofils - - VerifyXMLSignatureResponse verifyResponse = null; - try - { - // Aufruf der Signaturpr�fung - verifyResponse = sigVerifyService.verifyXMLSignature(verifyRequest); - } - catch (MOAException e) - { - // Service liefert Fehler - System.err.println("Die Signaturprüfung hat folgenden Fehler geliefert:"); - System.err.println("Fehlercode: " + e.getMessageId()); - System.err.println("Fehlernachricht: " + e.getMessage()); - System.exit(-1); - } - - // Auswertung der Response - System.out.println(); - System.out.println("Ergebnisse der Signaturprüfung:"); - System.out.println(); - - // Besondere Eigenschaften des Signatorzertifikats - SignerInfo signerInfo = verifyResponse.getSignerInfo(); - System.out.println("*** Ist Zertifikat des Signators qualifiziert? " + ((signerInfo.isQualifiedCertificate()) ? "ja" : "nein")); - System.out.println("*** Ist Zertifikat des Signators von einer Behürde? " + ((signerInfo.isPublicAuthority()) ? "ja" : "nein")); - - // Ergebnisse von Signatur- und Zertifikatspr�fung - System.out.println(); - System.out.println("Ergebniscode der Signaturprüfung: " + verifyResponse.getSignatureCheck().getCode()); - System.out.println("Ergebniscode der Zertifikatsprüfung: " + verifyResponse.getCertificateCheck().getCode()); - - // Signatorzertifikat - System.out.println(); - System.out.println("*** Zertifikat des Signators:"); - System.out.println("Aussteller: " + signerInfo.getSignerCertificate().getIssuerDN()); - System.out.println("Subject: " + signerInfo.getSignerCertificate().getSubjectDN()); - System.out.println("Seriennummer: " + signerInfo.getSignerCertificate().getSerialNumber()); - } - - /** - * Setzt die notwendigen System-Properties f�r die Konfiguration der MOA SP/SS API. - * - * @param args Siehe @link VerifyXMLSignature#main(String[]). - */ - private static void init(String[] args) - { - if (args == null || args.length != 3) - { - System.out.println("Verwendung: VerifyXMLSignature "); - System.exit(-1); - } - System.setProperty("moa.spss.server.configuration", args[0]); - System.setProperty("log4j.configuration", "file:" + args[1]); - } -} \ No newline at end of file diff --git a/spss/handbook/clients/pom.xml b/spss/handbook/clients/pom.xml deleted file mode 100644 index 1dfa3d532..000000000 --- a/spss/handbook/clients/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - MOA.spss.handbook - moa-spss-handbook - 2.0 - - - 4.0.0 - MOA.spss.handbook.clients - moa-spss-handbook-clients - pom - MOA SP/SS Handbook Clients - - - referencedData - api - webservice - - - - ${basedir}/../../../../repository - - - - - - - diff --git a/spss/handbook/clients/referencedData/.gitignore b/spss/handbook/clients/referencedData/.gitignore deleted file mode 100644 index 934e0e06f..000000000 --- a/spss/handbook/clients/referencedData/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/bin -/target diff --git a/spss/handbook/clients/referencedData/pom.xml b/spss/handbook/clients/referencedData/pom.xml deleted file mode 100644 index e9370cd44..000000000 --- a/spss/handbook/clients/referencedData/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - MOA.spss.handbook.clients - moa-spss-handbook-clients - 2.0 - - - 4.0.0 - MOA.spss.handbook - moa-spss-handbook-referencedData - war - MOA SP/SS Handbook Referenced Data - - - ${basedir}/../../../../../repository - - - - - - org.apache.maven.plugins - maven-war-plugin - - referencedData - - - false - true - - false - - - - - - - - diff --git a/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF b/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 5e9495128..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/spss/handbook/clients/referencedData/src/main/webapp/Text.b64 b/spss/handbook/clients/referencedData/src/main/webapp/Text.b64 deleted file mode 100644 index 0f4636b9a..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/Text.b64 +++ /dev/null @@ -1 +0,0 @@ -RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu \ No newline at end of file diff --git a/spss/handbook/clients/referencedData/src/main/webapp/Text.txt b/spss/handbook/clients/referencedData/src/main/webapp/Text.txt deleted file mode 100644 index 3a75c06b3..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/Text.txt +++ /dev/null @@ -1 +0,0 @@ -Diese Daten sind reiner Text. \ No newline at end of file diff --git a/spss/handbook/clients/referencedData/src/main/webapp/WEB-INF/web.xml b/spss/handbook/clients/referencedData/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 002520ba5..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - MOA Webservice Client: Referenzierte Web-Daten - MOA Webservice Client: Referenzierte Web-Daten - diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.Para.xsl b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.Para.xsl deleted file mode 100644 index 11d6dd6f9..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.Para.xsl +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - HTML-Dokument - - - - - - - -

- -

-
-
diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.signed.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.signed.xml deleted file mode 100644 index 897b3c896..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.signed.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen.2b83+NbXDFijHzz+sH0T7fM36sA=30zsZMPn1mR5G5oIGJvTRmCik3WuepfZF6AhLwxgJDMJlPQ8rheBWCaKihzXnHaSMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq - \ No newline at end of file diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withResolvableSchemaHint.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withResolvableSchemaHint.xml deleted file mode 100644 index 4f1124637..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withResolvableSchemaHint.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml deleted file mode 100644 index 82f65d99e..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xml deleted file mode 100644 index 1c48dce36..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsd b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsd deleted file mode 100644 index a2930f1da..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsd +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsl b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsl deleted file mode 100644 index 85755c2e6..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsl +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - HTML-Dokument - - - -

- -

-
- - -
-
diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocumentRef.xsl b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocumentRef.xsl deleted file mode 100644 index c385f9d1f..000000000 --- a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocumentRef.xsl +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/spss/handbook/clients/webservice/.gitignore b/spss/handbook/clients/webservice/.gitignore deleted file mode 100644 index 934e0e06f..000000000 --- a/spss/handbook/clients/webservice/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/bin -/target diff --git a/spss/handbook/clients/webservice/conf/http.properties b/spss/handbook/clients/webservice/conf/http.properties deleted file mode 100644 index 8bf490a85..000000000 --- a/spss/handbook/clients/webservice/conf/http.properties +++ /dev/null @@ -1,78 +0,0 @@ -### -# Properties für den HTTP(S) Client -### - -# -# Signieren -# - -# Name des Webservices, fix "SignatureCreation" -signServiceQName = SignatureCreation - -# Zugangspunkt des Webservices -signServiceEndPoint = http://localhost:8080/moa-spss/services/SignatureCreation -#signServiceEndPoint = https://localhost:8443/moa-spss/services/SignatureCreation - -# Name des zu sendenden Signaturerstellungsrequests (entweder absolute -# oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum -# Arbeitsverzeichnis der Java VM interpretiert) -signRequest = resources/requests/CreateXMLSignatureRequest.Simple.xml -#signRequest=resources/requests/CreateXMLSignatureRequest.Refs.xml -#signRequest=resources/requests/CreateXMLSignatureRequest.Transforms.xml -#signRequest=resources/requests/CreateXMLSignatureRequest.Supplements.xml - - -# -# Verifizieren -# - -# Name des Webservices, fix "SignatureVerification" -verifyServiceQName = SignatureVerification - -# Zugangspunkt des Webservices -verifyServiceEndPoint = http://localhost:18080/moa-spss/services/SignatureVerification -#verifyServiceEndPoint = https://localhost:8443/moa-spss/services/SignatureVerification - -# Name des zu sendenden Signaturprüfrequests (entweder absolute -# oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum -# Arbeitsverzeichnis der Java VM interpretiert) -verifyRequest=resources/requests/VerifyCMSSignatureRequest.Simple.xml -#verifyRequest=resources/requests/VerifyCMSSignatureRequest.Extended.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.Simple.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.Enveloped.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.Supplements.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.SigManifest.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml -#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml - -# -# JSSE-Konfiguration -# - -# Typ des JSSE-Truststores (entweder "JKS" für einen Java Key Store oder -# "PKCS12" für eine PKCS#12-Datei). -ssl.truststore.type = JKS - -# Relativer oder absoluter Pfad zum JSSE-Truststore. Ein relativer Pfad -# wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). -ssl.truststore.loc = resources/sslKeys/customer1/trustedServers[pwd=servers].keystore -#ssl.truststore.loc = resources/sslKeys/customer2/trustedServers[pwd=servers].keystore - -# Passwort für den JSSE-Truststore. -ssl.truststore.pwd = servers - -# Typ des JSSE-Keystores (entweder "JKS" für einen Java Key Store oder -# "PKCS12" für eine PKCS#12-Datei). -ssl.keystore.type = PKCS12 - -# Relativer oder absoluter Pfad zum JSSE-Keystore. Ein relativer Pfad -# wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). -ssl.keystore.loc = resources/sslKeys/customer1/moa-ssl-kunde1[pwd=kunde1].p12 -#ssl.keystore.loc = resources/sslKeys/customer2/moa-ssl-kunde2[pwd=kunde2].p12 - -# Passwort für den JSSE-Keystore. -ssl.keystore.pwd = kunde1 -#ssl.keystore.pwd = kunde2 diff --git a/spss/handbook/clients/webservice/conf/log4j.properties b/spss/handbook/clients/webservice/conf/log4j.properties deleted file mode 100644 index bf7c98c0c..000000000 --- a/spss/handbook/clients/webservice/conf/log4j.properties +++ /dev/null @@ -1,25 +0,0 @@ -# commons-logging setup -org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory - -# define log4j root loggers -log4j.rootLogger=info, stdout -#log4j.rootLogger=info, stdout, R -#log4j.logger.moa=info -#log4j.logger.moa.spss.server=debug -#log4j.logger.iaik.server=info -#log4j.logger.moa.id.auth=debug -#log4j.logger.moa.id.proxy=debug - -# configure the stdout appender -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20.20c | %10t | %m%n - -# configure the rolling file appender (R) -log4j.appender.R=org.apache.log4j.RollingFileAppender -log4j.appender.R.File=${catalina.base}/logs/moa-id.log -log4j.appender.R.MaxFileSize=10000KB -log4j.appender.R.MaxBackupIndex=1 -log4j.appender.R.layout=org.apache.log4j.PatternLayout -log4j.appender.R.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %t | %m%n - diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml deleted file mode 100644 index 9a98ce472..000000000 --- a/spss/handbook/clients/webservice/pom.xml +++ /dev/null @@ -1,155 +0,0 @@ - - - MOA.spss.handbook.clients - moa-spss-handbook-clients - 2.0 - - - 4.0.0 - moa-spss-handbook-webserviceClient - jar - MOA SP/SS Handbook WebService Client - - - ${basedir}/../../../../../repository - - - - - axis - axis - - - org.apache.axis - axis-jaxrpc - - - org.apache.axis - axis-saaj - - - axis - axis-wsdl4j - - - commons-discovery - commons-discovery - - - commons-logging - commons-logging - - - javax.activation - activation - - - javax.mail - mail - - - junit - junit - - - log4j - log4j - - - org.postgresql - postgresql - - - javax.servlet - servlet-api - - - xalan-bin-dist - xalan - compile - - - xerces - xercesImpl - - - xalan-bin-dist - xml-apis - - - xalan-bin-dist - serializer - - - iaik.prod - iaik_moa - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_jce_full - compile - - - iaik.prod - iaik_ecc - compile - - - iaik.prod - iaik_cms - runtime - - - iaik.prod - iaik_Pkcs11Provider - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - win32 - dll - runtime - true - - - MOA - moa-common - - - MOA.spss.server - moa-spss-lib - - - - - - - - diff --git a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.resp.xml deleted file mode 100644 index 45b06e48f..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.resp.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgMwgAYJKoZIhvcNAQcB -oIAkgAQdRGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4AAAAAAACgggQvMIIE -KzCCA5SgAwIBAgIGY6tXffAmMA0GCSqGSIb3DQEBBQUAMEAxIjAgBgNVBAMTGUlB -SUsgVGVzdCBJbnRlcm1lZGlhdGUgQ0ExDTALBgNVBAoTBElBSUsxCzAJBgNVBAYT -AkFUMB4XDTEzMDQxNjE0MzMyNFoXDTIzMDQxNjE0MzMyNFowfjELMAkGA1UEBhMC -QVQxDTALBgNVBAcTBEdyYXoxJjAkBgNVBAoTHUdyYXogVW5pdmVyc2l0eSBvZiBU -ZWNobm9sb2d5MQ0wCwYDVQQLEwRFR0laMSkwJwYDVQQDEyBUZXN0IFNpZ25hdHVy -ZGllbnN0IGFsbGVyIEt1bmRlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAN1oJenNIuGzCiny3kibTm1pYPfuCqbE+6x+skNXj+TRY0vsR+Skj5P1/sNl -iFF0qVPrtH+VGvhzLBhb98uPEkxQ1xpl+AJ0YJin0XMW1+PMCGOuQ+A/mfsx9gZC -lAMPffgCOBgEuAuugfl7NfW1+4wK8cy4OKUAl6/UuTKWhlZyh0HIsAVmvHquPsOa -Fy607KI0JAK8QXogHu4nNXSRCuwf3YMM/lR1ky0Q90IBk4uBKE+2pPiIQAej6kiP -a2HcbKNT9UCtmcUOtmaNPHhlGvjAAe6LBj7MfHjfHsvn3ub07w4hDG3NauaEiDcu -cwjtOg9Bl6F8EcIzB8cmo25ZkrkCAwEAAaOCAWwwggFoMA4GA1UdDwEB/wQEAwIG -wDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBT5IDty8bqV51kzZB7+jExO+YOLUTBQ -BgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY2EuaWFpay50dWdyYXouYXQvY2Fwc28v -Y3Jscy9JQUlLVGVzdF9JbnRlcm1lZGlhdGVDQS5jcmwwgaoGCCsGAQUFBwEBBIGd -MIGaMEoGCCsGAQUFBzABhj5odHRwOi8vY2EuaWFpay50dWdyYXouYXQvY2Fwc28v -T0NTUD9jYT1JQUlLVGVzdF9JbnRlcm1lZGlhdGVDQTBMBggrBgEFBQcwAoZAaHR0 -cDovL2NhLmlhaWsudHVncmF6LmF0L2NhcHNvL2NlcnRzL0lBSUtUZXN0X0ludGVy -bWVkaWF0ZUNBLmNlcjAJBgNVHREEAjAAMB8GA1UdIwQYMBaAFGiiXhHa3i+Aa0RE -v436ZTaBJKdvMA0GCSqGSIb3DQEBBQUAA4GBAGzwtp4nq0IxjnK5D86/9Gg6NRN2 -K39wN8/Zd6Uo8OnwmpYxEdfLsnDhp+H1IcqRFroqDRDmtoRXRqIW0VKJno70CzuW -+3ZFsSopH51BbHSxIvXAbxfOPX1PZQ1fXGTo5gWaJ62Xeu6zi+YtSxQHNMHqUxO/ -llGVtT8VDtNGS0wGMYIC0TCCAs0CAQEwSjBAMSIwIAYDVQQDExlJQUlLIFRlc3Qg -SW50ZXJtZWRpYXRlIENBMQ0wCwYDVQQKEwRJQUlLMQswCQYDVQQGEwJBVAIGY6tX -ffAmMAsGCWCGSAFlAwQCA6CCAVwwFgYGBACNRQIBMQwMCnRleHQvcGxhaW4wGAYJ -KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTMwNTE2MDkz -MzUxWjBPBgkqhkiG9w0BCQQxQgRAds7061RkR9wybcxKrtd9Uc/S/DNyxhvXPzr5 -A8IphKGDTe4lHXiky2xwjYEcSE7Mx3Jm8Lo5d9iFu45Dq9nx0DCBuAYLKoZIhvcN -AQkQAi8xgagwgaUwgaIwgZ8wCwYJYIZIAWUDBAIDBEBxEElsIgrSD8KgnZk88uom -iqWEEvWoMufQe68l7z1/qYX39aLlD2ShpHolkI+EM5JuuWM678CAJdkOTvxUvKm8 -ME4wRKRCMEAxIjAgBgNVBAMTGUlBSUsgVGVzdCBJbnRlcm1lZGlhdGUgQ0ExDTAL -BgNVBAoTBElBSUsxCzAJBgNVBAYTAkFUAgZjq1d98CYwCwYJKoZIhvcNAQEBBIIB -AN0fuQCwuCxNQOGtR+Jv6lk/1QQkkxD7YUvbjGbJoaX+qpYmRFyw5dLo1y+1p4fR -Sxyy0Zn2Yo8dD+5q/4LFtC4O1sz6qGZtmDMizwOuRcDQ0sn+nBQcDDWw81QKWqha -g7VWOotssgq9Rt//YswBh/mx5B7yEx7RXdzvK9knPncyXnM5Yef7yrhJ65txJMSA -hWUqikMC6NUn8N+ZCYyFlqyCWmbwpvBqXXb5OLt5Ke/lqKKG7iQrVwfTPBy0A7SA -ZnOHW9RnKfC9lXfT0Qf9jVCsXaTznlLQS5FzUVQNmEJzWF7WAwYzVhRgmxWhbnp+ -V8aqyuBfKTs4gm0sQIxXoToAAAAAAAA= - - - - diff --git a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.xml b/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.xml deleted file mode 100644 index 28b67f94c..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - KG_allgemein - - - - - text/plain - - - RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4= - - - - - - diff --git a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.resp.xml deleted file mode 100644 index c81e98fee..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.resp.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - MIAGCSqGSIb3DQEHAqCAMIACAQExDTALBglghkgBZQMEAgMwgAYJKoZIhvcNAQcB -AACgggQvMIIEKzCCA5SgAwIBAgIGY6tXffAmMA0GCSqGSIb3DQEBBQUAMEAxIjAg -BgNVBAMTGUlBSUsgVGVzdCBJbnRlcm1lZGlhdGUgQ0ExDTALBgNVBAoTBElBSUsx -CzAJBgNVBAYTAkFUMB4XDTEzMDQxNjE0MzMyNFoXDTIzMDQxNjE0MzMyNFowfjEL -MAkGA1UEBhMCQVQxDTALBgNVBAcTBEdyYXoxJjAkBgNVBAoTHUdyYXogVW5pdmVy -c2l0eSBvZiBUZWNobm9sb2d5MQ0wCwYDVQQLEwRFR0laMSkwJwYDVQQDEyBUZXN0 -IFNpZ25hdHVyZGllbnN0IGFsbGVyIEt1bmRlbjCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAN1oJenNIuGzCiny3kibTm1pYPfuCqbE+6x+skNXj+TRY0vs -R+Skj5P1/sNliFF0qVPrtH+VGvhzLBhb98uPEkxQ1xpl+AJ0YJin0XMW1+PMCGOu -Q+A/mfsx9gZClAMPffgCOBgEuAuugfl7NfW1+4wK8cy4OKUAl6/UuTKWhlZyh0HI -sAVmvHquPsOaFy607KI0JAK8QXogHu4nNXSRCuwf3YMM/lR1ky0Q90IBk4uBKE+2 -pPiIQAej6kiPa2HcbKNT9UCtmcUOtmaNPHhlGvjAAe6LBj7MfHjfHsvn3ub07w4h -DG3NauaEiDcucwjtOg9Bl6F8EcIzB8cmo25ZkrkCAwEAAaOCAWwwggFoMA4GA1Ud -DwEB/wQEAwIGwDAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBT5IDty8bqV51kzZB7+ -jExO+YOLUTBQBgNVHR8ESTBHMEWgQ6BBhj9odHRwOi8vY2EuaWFpay50dWdyYXou -YXQvY2Fwc28vY3Jscy9JQUlLVGVzdF9JbnRlcm1lZGlhdGVDQS5jcmwwgaoGCCsG -AQUFBwEBBIGdMIGaMEoGCCsGAQUFBzABhj5odHRwOi8vY2EuaWFpay50dWdyYXou -YXQvY2Fwc28vT0NTUD9jYT1JQUlLVGVzdF9JbnRlcm1lZGlhdGVDQTBMBggrBgEF -BQcwAoZAaHR0cDovL2NhLmlhaWsudHVncmF6LmF0L2NhcHNvL2NlcnRzL0lBSUtU -ZXN0X0ludGVybWVkaWF0ZUNBLmNlcjAJBgNVHREEAjAAMB8GA1UdIwQYMBaAFGii -XhHa3i+Aa0REv436ZTaBJKdvMA0GCSqGSIb3DQEBBQUAA4GBAGzwtp4nq0IxjnK5 -D86/9Gg6NRN2K39wN8/Zd6Uo8OnwmpYxEdfLsnDhp+H1IcqRFroqDRDmtoRXRqIW -0VKJno70CzuW+3ZFsSopH51BbHSxIvXAbxfOPX1PZQ1fXGTo5gWaJ62Xeu6zi+Yt -SxQHNMHqUxO/llGVtT8VDtNGS0wGMYIB/TCCAfkCAQEwSjBAMSIwIAYDVQQDExlJ -QUlLIFRlc3QgSW50ZXJtZWRpYXRlIENBMQ0wCwYDVQQKEwRJQUlLMQswCQYDVQQG -EwJBVAIGY6tXffAmMAsGCWCGSAFlAwQCA6CBiTAYBgkqhkiG9w0BCQMxCwYJKoZI -hvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMzA1MDYyMDE3NThaME8GCSqGSIb3DQEJ -BDFCBEB2zvTrVGRH3DJtzEqu131Rz9L8M3LGG9c/OvkDwimEoYNN7iUdeKTLbHCN -gRxITszHcmbwujl32IW7jkOr2fHQMAsGCSqGSIb3DQEBAQSCAQARQoV2xP8NRZpi -PXk8554tQQ1EiT0EDbgbxtpPMlkTz4WODxcY+qpKC3ZM6uaOnTPfCwya/xucFC/u -A2rvuvyuaoDDAPmvdmsFtNX0ymO3THECe95iJ3pd92m2DjfyEPS2S7hRkoSaMzqd -BBLjwSGm8ZaM8J1Pd4hC6pKEdgMFB3VOgZFHOZd2fG60olI3wcYVvu1Rwkab5R9/ -kTsMHqDjLz0reHRK5G4RUAZ7NSZ+h7HWuaoTviaWPM37iUw4ipko5+vR6m3kxbUv -p2mVhbGtiVjV6lwOfCA5kuFFjeaLrxLwv5JeVQItzw4E3DMEB2+csSA/qTH/xly4 -SwxhbA9pAAAAAAAA - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.xml b/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.xml deleted file mode 100644 index 976ea7a6a..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - KG_allgemein - - - - - text/plain - - - - - - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml deleted file mode 100644 index bad31d170..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen.A8ml6/aZKCmj1hONwvLItIwGHoc=0P878Dsmtxv5goj+6KgNmj6S/EE=0P878Dsmtxv5goj+6KgNmj6S/EE=2b83+NbXDFijHzz+sH0T7fM36sA=0P878Dsmtxv5goj+6KgNmj6S/EE=0P878Dsmtxv5goj+6KgNmj6S/EE=2b83+NbXDFijHzz+sH0T7fM36sA=mNsxUkFoF46XZVBivBo4aasFCTQ=kaAiAZgnUMYb3/IV5mmJinrH3et5M+o4OWMhgA3C9SZSPsE+ptWUAPU1VKl1G2AFMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. -RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQua53jOsL7KbyltpByAK87FoMZphI=a53jOsL7KbyltpByAK87FoMZphI= - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml deleted file mode 100644 index f4dd2dbb6..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml +++ /dev/null @@ -1,137 +0,0 @@ - - - KG_allgemein - - - - - RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu - - - - - text/plain - - - - - - - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - - - - - - application/xml - - - - - - - - - - - text/plain - - - - - - - - http://localhost:8080/referencedData/Text.txt - - - - - text/plain - - - - - - - - RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu - - - - - text/plain - - - - - - - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - - - - - - application/xml - - - - - - - - - - - - text/plain - - - - - - - - http://localhost:8080/referencedData/Text.txt - - - - - text/plain - - - - - - - - - - - - - - application/xml - - - - - - - http://localhost:8080/referencedData/XMLDocument.xml - - - /doc:XMLDocument - - - - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml deleted file mode 100644 index edcb03c09..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml +++ /dev/null @@ -1,23 +0,0 @@ - -tLODyeiWFbAkQKwhrR23jtcgu4k=VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqDiese Daten werden signiert. \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml deleted file mode 100644 index 3344b4709..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - KG_allgemein - - - - Diese Daten werden signiert. - - - - - text/plain - - - - - - - diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml deleted file mode 100644 index def0daf25..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - -luM3wUmedTvkMHVedQkA/8otXUE=vGVimRmUHwrDR8feQCK1DZ2kyDw0CCrXimJi/yCrIoqSkUKFlKrtAyP2RUBXXjyeMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml deleted file mode 100644 index 9144e83f8..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - KG_allgemein - - - - - - - - - - - - - - - application/xhtml+xml - - - - - http://localhost:8080/referencedData/XMLDocument.Para.xsl - - - - - - - - /doc:XMLDocument - - - http://localhost:8080/referencedData/XMLDocument.xsd - - - - - - diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml deleted file mode 100644 index 1d5bd65ea..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml +++ /dev/null @@ -1,39 +0,0 @@ - -a53jOsL7KbyltpByAK87FoMZphI=/doc:XMLDocument/doc:Paragraph[2] - - - - - HTML-Dokument - - - -

- -

-
- - -
-
fIPwneCpjVqTXwHMN9DFfx6tJIU=
kWm9iFL5UngH8uDG6094K99J/WB/PdlqzfI6WtGpJ3jiCTV7mn/mzYWMv09b3veeMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml deleted file mode 100644 index 6375365b2..000000000 --- a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - KG_allgemein - - - - - - - - - - text/plain - - - - - - - - - - - /doc:XMLDocument/doc:Paragraph[2] - - - - - - - HTML-Dokument - - - -

- -

-
- - -
-
- -
- - application/xhtml+xml - -
-
-
-
-
diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml deleted file mode 100644 index daa22bdb3..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml +++ /dev/null @@ -1,29 +0,0 @@ - -serialNumber=615536615920,givenName=Gregor,SN=Karlinger,CN=Gregor Karlinger,C=ATCN=TrustSignTest-Sig-01,OU=TrustSignTest-Sig-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT2892MIIFLjCCBBagAwIBAgICC0wwDQYJKoZIhvcNAQEFBQAwgdkxCzAJBgNVBAYTAkFU -MYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwAcgAg -AFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAAZQBs -AGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIASDEd -MBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNVBAMTFFRydXN0U2ln -blRlc3QtU2lnLTAxMB4XDTAzMDgyNzEyMDEyNFoXDTA2MDgyNzEyMDEyNFowZDEL -MAkGA1UEBhMCQVQxGTAXBgNVBAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQT -CUthcmxpbmdlcjEPMA0GA1UEKhMGR3JlZ29yMRUwEwYDVQQFEww2MTU1MzY2MTU5 -MjAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKDSK1XaYK0Ydbk6V58g7QzQ -Ysk0A6C2JyhiZy3078DJ1EkwzBMVejTNq1e9wp+BmeZ2YpiftNyRFfu/Gg8ksOUQ -2oCn9A9pZLUGvtajA3aL8f182GQODRqQmelvYSUL/u9vAChOlcT+UEqj5jW4xjd4 -XsCotX4Kz+ofkD+SAlf1AgMBAAGjggH2MIIB8jATBgNVHSMEDDAKgAhKfsjmnWR0 -6TA+BggrBgEFBQcBAwEB/wQvMC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVIC -AQACAQAwCgYIKwYBBQUHCwEwgYIGCCsGAQUFBwEBBHYwdDAvBggrBgEFBQcwAYYj -aHR0cDovL29jc3AtdGVzdC5hLXRydXN0LmF0OjgyL29jc3AwQQYIKwYBBQUHMAKG -NWh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9UcnVzdFNpZ25UZXN0LVNpZy0w -MWMuY3J0MFEGA1UdIARKMEgwPAYGKigAEQEDMDIwMAYIKwYBBQUHAgEWJGh0dHA6 -Ly93d3cuYS10cnVzdC5hdC9kb2NzL1RydXN0VGVzdDAIBgYEAIswAQEwbgYDVR0f -BGcwZTBjoGGgX4ZdbGRhcDovL2xkYXAtdGVzdC5hLXRydXN0LmF0L291PVRydXN0 -U2lnblRlc3QtU2lnLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2Nh -dGlvbmxpc3Q/MBEGA1UdDgQKBAhNa9QR1H4T3zAOBgNVHQ8BAf8EBAMCBsAwJQYD -VR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8uZ3YuYXQwCQYDVR0TBAIwADAN -BgkqhkiG9w0BAQUFAAOCAQEALi2DEl6whJsiQF+bsNVR8CQhXg6ZuzTGlPhyCBum -765Y5gMRLEfAx2D8Wv4XXPHasAxZ/NKZRwbfLWN7IxPeVHF+vCShlXmYGWVj75fE -EGStIKyULqZB7jOJdsFHNdvp8yQaexR9olO3neXjrFmcXFVhpZFJomBH6JEL0uRa -LsPlN97OTa1NKkdj92SX8IkcV2k9yQ3Nl2KgicZDlxdYtSDGh9P0KddJZZJTRAdm -ixWb4Y2cGkRDhXoHzvHcZQ7eqJYHPapm3NTZ428I7LCKma8859rMwRSNTN14yIVL -KkgBtxvmstGVa33Ki53LBkSSuBMH3Pa+4xbnYSkJA4phaA==01 \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml deleted file mode 100644 index 16e961b96..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - 2004-08-17T08:00:00+02:00 - MIIHiwYJKoZIhvcNAQcCoIIHfDCCB3gCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCBTIw -ggUuMIIEFqADAgECAgILTDANBgkqhkiG9w0BAQUFADCB2TELMAkGA1UEBhMCQVQxgYswgYgGA1UE -Ch6BgABBAC0AVAByAHUAcwB0ACAARwBlAHMALgAgAGYA/AByACAAUwBpAGMAaABlAHIAaABlAGkA -dABzAHMAeQBzAHQAZQBtAGUAIABpAG0AIABlAGwAZQBrAHQAcgAuACAARABhAHQAZQBuAHYAZQBy -AGsAZQBoAHIAIABHAG0AYgBIMR0wGwYDVQQLExRUcnVzdFNpZ25UZXN0LVNpZy0wMTEdMBsGA1UE -AxMUVHJ1c3RTaWduVGVzdC1TaWctMDEwHhcNMDMwODI3MTIwMTI0WhcNMDYwODI3MTIwMTI0WjBk -MQswCQYDVQQGEwJBVDEZMBcGA1UEAxMQR3JlZ29yIEthcmxpbmdlcjESMBAGA1UEBBMJS2FybGlu -Z2VyMQ8wDQYDVQQqEwZHcmVnb3IxFTATBgNVBAUTDDYxNTUzNjYxNTkyMDCBnzANBgkqhkiG9w0B -AQEFAAOBjQAwgYkCgYEAoNIrVdpgrRh1uTpXnyDtDNBiyTQDoLYnKGJnLfTvwMnUSTDMExV6NM2r -V73Cn4GZ5nZimJ+03JEV+78aDySw5RDagKf0D2lktQa+1qMDdovx/XzYZA4NGpCZ6W9hJQv+728A -KE6VxP5QSqPmNbjGN3hewKi1fgrP6h+QP5ICV/UCAwEAAaOCAfYwggHyMBMGA1UdIwQMMAqACEp+ -yOadZHTpMD4GCCsGAQUFBwEDAQH/BC8wLTAIBgYEAI5GAQEwFQYGBACORgECMAsTA0VVUgIBAAIB -ADAKBggrBgEFBQcLATCBggYIKwYBBQUHAQEEdjB0MC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC10 -ZXN0LmEtdHJ1c3QuYXQ6ODIvb2NzcDBBBggrBgEFBQcwAoY1aHR0cDovL3d3dy5hLXRydXN0LmF0 -L2NlcnRzL1RydXN0U2lnblRlc3QtU2lnLTAxYy5jcnQwUQYDVR0gBEowSDA8BgYqKAARAQMwMjAw -BggrBgEFBQcCARYkaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvVHJ1c3RUZXN0MAgGBgQAizAB -ATBuBgNVHR8EZzBlMGOgYaBfhl1sZGFwOi8vbGRhcC10ZXN0LmEtdHJ1c3QuYXQvb3U9VHJ1c3RT -aWduVGVzdC1TaWctMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD8w -EQYDVR0OBAoECE1r1BHUfhPfMA4GA1UdDwEB/wQEAwIGwDAlBgNVHREEHjAcgRpncmVnb3Iua2Fy -bGluZ2VyQGNpby5ndi5hdDAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQAuLYMSXrCEmyJA -X5uw1VHwJCFeDpm7NMaU+HIIG6bvrljmAxEsR8DHYPxa/hdc8dqwDFn80plHBt8tY3sjE95UcX68 -JKGVeZgZZWPvl8QQZK0grJQupkHuM4l2wUc12+nzJBp7FH2iU7ed5eOsWZxcVWGlkUmiYEfokQvS -5Fouw+U33s5NrU0qR2P3ZJfwiRxXaT3JDc2XYqCJxkOXF1i1IMaH0/Qp10llklNEB2aLFZvhjZwa -REOFegfO8dxlDt6olgc9qmbc1NnjbwjssIqZrzzn2szBFI1M3XjIhUsqSAG3G+ay0ZVrfcqLncsG -RJK4Ewfc9r7jFudhKQkDimFoMYICITCCAh0CAQEwgeAwgdkxCzAJBgNVBAYTAkFUMYGLMIGIBgNV -BAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwAcgAgAFMAaQBjAGgAZQByAGgAZQBp -AHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAAZQBsAGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUA -cgBrAGUAaAByACAARwBtAGIASDEdMBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNV -BAMTFFRydXN0U2lnblRlc3QtU2lnLTAxAgILTDAJBgUrDgMCGgUAoIGXMCMGCSqGSIb3DQEJBDEW -BBRrneM6wvspvKW2kHIArzsWgxmmEjAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMCkGCyqGSIb3 -DQEJEAIEMRowGAwLdGV4dC9wbGFpbhsGCSqGSIb3DQEHATArBgsqhkiG9w0BCRACEzEcMBowGDAW -BBQdhdZ+dQSz53K2vT9KOGCxp6+qIDANBgkqhkiG9w0BAQEFAASBgFTEY4mMXQx2fNk9zo64MRxI -mS38vuD7W7LjBoUQ/w6mPi60kiqA/Pnf5I7fvM2epuo4xHpft1diuTY0fa9VqSv+q13Lr1x+l3ON -oxX27oCPLcJq6sFipZj50Bx5BHhgTX+59cNIT3eTRLenBzrJ/ccNd5OLqgkfiwsvqSk48lou - - - RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu - - - Test-Signaturdienste - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml deleted file mode 100644 index daa22bdb3..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml +++ /dev/null @@ -1,29 +0,0 @@ - -serialNumber=615536615920,givenName=Gregor,SN=Karlinger,CN=Gregor Karlinger,C=ATCN=TrustSignTest-Sig-01,OU=TrustSignTest-Sig-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT2892MIIFLjCCBBagAwIBAgICC0wwDQYJKoZIhvcNAQEFBQAwgdkxCzAJBgNVBAYTAkFU -MYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwAcgAg -AFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAAZQBs -AGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIASDEd -MBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNVBAMTFFRydXN0U2ln -blRlc3QtU2lnLTAxMB4XDTAzMDgyNzEyMDEyNFoXDTA2MDgyNzEyMDEyNFowZDEL -MAkGA1UEBhMCQVQxGTAXBgNVBAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQT -CUthcmxpbmdlcjEPMA0GA1UEKhMGR3JlZ29yMRUwEwYDVQQFEww2MTU1MzY2MTU5 -MjAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKDSK1XaYK0Ydbk6V58g7QzQ -Ysk0A6C2JyhiZy3078DJ1EkwzBMVejTNq1e9wp+BmeZ2YpiftNyRFfu/Gg8ksOUQ -2oCn9A9pZLUGvtajA3aL8f182GQODRqQmelvYSUL/u9vAChOlcT+UEqj5jW4xjd4 -XsCotX4Kz+ofkD+SAlf1AgMBAAGjggH2MIIB8jATBgNVHSMEDDAKgAhKfsjmnWR0 -6TA+BggrBgEFBQcBAwEB/wQvMC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVIC -AQACAQAwCgYIKwYBBQUHCwEwgYIGCCsGAQUFBwEBBHYwdDAvBggrBgEFBQcwAYYj -aHR0cDovL29jc3AtdGVzdC5hLXRydXN0LmF0OjgyL29jc3AwQQYIKwYBBQUHMAKG -NWh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9UcnVzdFNpZ25UZXN0LVNpZy0w -MWMuY3J0MFEGA1UdIARKMEgwPAYGKigAEQEDMDIwMAYIKwYBBQUHAgEWJGh0dHA6 -Ly93d3cuYS10cnVzdC5hdC9kb2NzL1RydXN0VGVzdDAIBgYEAIswAQEwbgYDVR0f -BGcwZTBjoGGgX4ZdbGRhcDovL2xkYXAtdGVzdC5hLXRydXN0LmF0L291PVRydXN0 -U2lnblRlc3QtU2lnLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2Nh -dGlvbmxpc3Q/MBEGA1UdDgQKBAhNa9QR1H4T3zAOBgNVHQ8BAf8EBAMCBsAwJQYD -VR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8uZ3YuYXQwCQYDVR0TBAIwADAN -BgkqhkiG9w0BAQUFAAOCAQEALi2DEl6whJsiQF+bsNVR8CQhXg6ZuzTGlPhyCBum -765Y5gMRLEfAx2D8Wv4XXPHasAxZ/NKZRwbfLWN7IxPeVHF+vCShlXmYGWVj75fE -EGStIKyULqZB7jOJdsFHNdvp8yQaexR9olO3neXjrFmcXFVhpZFJomBH6JEL0uRa -LsPlN97OTa1NKkdj92SX8IkcV2k9yQ3Nl2KgicZDlxdYtSDGh9P0KddJZZJTRAdm -ixWb4Y2cGkRDhXoHzvHcZQ7eqJYHPapm3NTZ428I7LCKma8859rMwRSNTN14yIVL -KkgBtxvmstGVa33Ki53LBkSSuBMH3Pa+4xbnYSkJA4phaA==01 \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml deleted file mode 100644 index d41b0e278..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - MIIHsAYJKoZIhvcNAQcCoIIHoTCCB50CAQExCzAJBgUrDgMCGgUAMDAGCSqGSIb3DQEHAaAjBCFE -aWVzZSBEYXRlbiB3YXJlbiBiYXNlNjQga29kaWVydC6gggUyMIIFLjCCBBagAwIBAgICC0wwDQYJ -KoZIhvcNAQEFBQAwgdkxCzAJBgNVBAYTAkFUMYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAg -AEcAZQBzAC4AIABmAPwAcgAgAFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAA -aQBtACAAZQBsAGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIASDEd -MBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNVBAMTFFRydXN0U2lnblRlc3QtU2ln -LTAxMB4XDTAzMDgyNzEyMDEyNFoXDTA2MDgyNzEyMDEyNFowZDELMAkGA1UEBhMCQVQxGTAXBgNV -BAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQTCUthcmxpbmdlcjEPMA0GA1UEKhMGR3JlZ29y -MRUwEwYDVQQFEww2MTU1MzY2MTU5MjAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKDSK1Xa -YK0Ydbk6V58g7QzQYsk0A6C2JyhiZy3078DJ1EkwzBMVejTNq1e9wp+BmeZ2YpiftNyRFfu/Gg8k -sOUQ2oCn9A9pZLUGvtajA3aL8f182GQODRqQmelvYSUL/u9vAChOlcT+UEqj5jW4xjd4XsCotX4K -z+ofkD+SAlf1AgMBAAGjggH2MIIB8jATBgNVHSMEDDAKgAhKfsjmnWR06TA+BggrBgEFBQcBAwEB -/wQvMC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVICAQACAQAwCgYIKwYBBQUHCwEwgYIGCCsG -AQUFBwEBBHYwdDAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AtdGVzdC5hLXRydXN0LmF0OjgyL29j -c3AwQQYIKwYBBQUHMAKGNWh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9UcnVzdFNpZ25UZXN0 -LVNpZy0wMWMuY3J0MFEGA1UdIARKMEgwPAYGKigAEQEDMDIwMAYIKwYBBQUHAgEWJGh0dHA6Ly93 -d3cuYS10cnVzdC5hdC9kb2NzL1RydXN0VGVzdDAIBgYEAIswAQEwbgYDVR0fBGcwZTBjoGGgX4Zd -bGRhcDovL2xkYXAtdGVzdC5hLXRydXN0LmF0L291PVRydXN0U2lnblRlc3QtU2lnLTAxLG89QS1U -cnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/MBEGA1UdDgQKBAhNa9QR1H4T3zAO -BgNVHQ8BAf8EBAMCBsAwJQYDVR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8uZ3YuYXQwCQYD -VR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEALi2DEl6whJsiQF+bsNVR8CQhXg6ZuzTGlPhyCBum -765Y5gMRLEfAx2D8Wv4XXPHasAxZ/NKZRwbfLWN7IxPeVHF+vCShlXmYGWVj75fEEGStIKyULqZB -7jOJdsFHNdvp8yQaexR9olO3neXjrFmcXFVhpZFJomBH6JEL0uRaLsPlN97OTa1NKkdj92SX8Ikc -V2k9yQ3Nl2KgicZDlxdYtSDGh9P0KddJZZJTRAdmixWb4Y2cGkRDhXoHzvHcZQ7eqJYHPapm3NTZ -428I7LCKma8859rMwRSNTN14yIVLKkgBtxvmstGVa33Ki53LBkSSuBMH3Pa+4xbnYSkJA4phaDGC -AiEwggIdAgEBMIHgMIHZMQswCQYDVQQGEwJBVDGBizCBiAYDVQQKHoGAAEEALQBUAHIAdQBzAHQA -IABHAGUAcwAuACAAZgD8AHIAIABTAGkAYwBoAGUAcgBoAGUAaQB0AHMAcwB5AHMAdABlAG0AZQAg -AGkAbQAgAGUAbABlAGsAdAByAC4AIABEAGEAdABlAG4AdgBlAHIAawBlAGgAcgAgAEcAbQBiAEgx -HTAbBgNVBAsTFFRydXN0U2lnblRlc3QtU2lnLTAxMR0wGwYDVQQDExRUcnVzdFNpZ25UZXN0LVNp -Zy0wMQICC0wwCQYFKw4DAhoFAKCBlzAjBgkqhkiG9w0BCQQxFgQUa53jOsL7KbyltpByAK87FoMZ -phIwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATApBgsqhkiG9w0BCRACBDEaMBgMC3RleHQvcGxh -aW4bBgkqhkiG9w0BBwEwKwYLKoZIhvcNAQkQAhMxHDAaMBgwFgQUHYXWfnUEs+dytr0/Sjhgsaev -qiAwDQYJKoZIhvcNAQEBBQAEgYBUxGOJjF0MdnzZPc6OuDEcSJkt/L7g+1uy4waFEP8Opj4utJIq -gPz53+SO37zNnqbqOMR6X7dXYrk2NH2vVakr/qtdy69cfpdzjaMV9u6Ajy3CaurBYqWY+dAceQR4 -YE1/ufXDSE93k0S3pwc6yf3HDXeTi6oJH4sLL6kpOPJaLg== - Test-Signaturdienste - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml deleted file mode 100644 index f4db026fe..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml +++ /dev/null @@ -1,28 +0,0 @@ - -CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=ATCN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqBKA-IKTPGRvYzpYTUxEb2N1bWVudCB4bWxuczpkb2M9InVybjpkb2N1bWVudCI+CiAgPGRv -YzpQYXJhZ3JhcGg+SWNoIGJpbiBkZXIgZXJzdGUgQWJzYXR6IGluIGRpZXNlbSBE -b2t1bWVudC48L2RvYzpQYXJhZ3JhcGg+CiAgPGRvYzpQYXJhZ3JhcGggUGFyYUlk -PSJQYXJhMiI+VW5kIGljaCBiaW4gZGVyIHp3ZWl0ZSBBYnNhdHogaW4gZGllc2Vt -IERva3VtZW50LgpJY2ggaGFiZSB3ZWl0ZXJzIGVpbiBlaWdlbmVucyBJRC1BdHRy -aWJ1dCBiZWtvbW1lbi48L2RvYzpQYXJhZ3JhcGg+CjwvZG9jOlhNTERvY3VtZW50Pg==00 \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml deleted file mode 100644 index d97e76f78..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - 2004-08-18T17:00:00+02:00 - - - /doc:XMLDocument/dsig:Signature - - - Test-Signaturdienste - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml deleted file mode 100644 index d9a9c0b80..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - XRuYnuRTOAInpu8TzwDWn9Er4/Y= - - - - - O3/U4zcVG6BOdc2C/m09xe+vxGhp6TKz7lEukgjINsc1o1Bvdelo77T8cEG/muYd - - - - - MIIELjCCAxagAwIBAgIBEzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJBVDEQ - MA4GA1UEChMHVFUgR3JhejENMAsGA1UECxMERUdJWjEUMBIGA1UEAxMLTU9BIFRl - c3QgQ0EwHhcNMDcwODIzMTM1ODU0WhcNMTIwODIzMTM1ODU0WjBpMQswCQYDVQQG - EwJBVDEQMA4GA1UEChMHVFUgR1JBWjENMAsGA1UECxMERUdJWjE5MDcGA1UEAxMw - VGVzdCBTaWduYXR1cmRpZW5zdCBhbGxlciBLdW5kZW46IEVDRFNBIChQMTkydjEp - MIHzMIG8BgcqhkjOPQIBMIGwAgEBMCQGByqGSM49AQECGQD///////////////// - ///+//////////8wNAQY/////////////////////v/////////8BBhkIQUZ5ZyA - 5w+n6atyJDBJ/rje7MFGubEEMQQYjagOsDCQ9ny/IOtDoYgA9P8K/YL/EBIHGSuV - /8jaeGMQEe1rJM3Vc/l3oR55SBECGQD///////////////+Z3vg2FGvJsbTSKDEC - AQEDMgAExf78b6N6BUhK+FHmunDUCQefSxpQmC6m4yq/+pqdDMJalTWATFhQwZqE - qSMXJ2Tqo4IBNDCCATAwDgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwHQYD - VR0OBBYEFBrwapQSMwabwPPOijtgOu3iNlt3MHAGA1UdIARpMGcwZQYMKwYBBAGV - EgECewEBMFUwUwYIKwYBBQUHAgIwRxpFVGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1h - eSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIGFuZCB0ZXN0IHB1cnBvc2VzMEYG - A1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9tb2EtaWRzcHNzLmVnb3ZsYWJzLmd2LmF0 - L2NybHMvbW9hLXRlc3QtY2EuY3JsMBYGByooAAoBAQEECxMJRUdJWi1UZXN0MB8G - A1UdIwQYMBaAFFKXvB3Ugd6H51ClcBGdjhYJNiRSMA0GCSqGSIb3DQEBBQUAA4IB - AQB60RLi9zIwF/Rmy/Wo0yf1/ZktElIt91vfBsXlpgLJ4Q6ol/4hTjMJ4FIa8GOl - 0b9dIkEe+WGq77JFJVgltsRoJfQBSvnK9jdLfB5YJD0ETDnMdckBV+RsxkEtl5Lr - IrT6vExyJUAWz15XJiHgkYZncJCBTy1oh8f3V8cR1VZYwO4QBRDwRdVdZsaL5PME - vvLrcAMJhF5fS4AiqMex2Eh2kav5t6/I5bmB4CKEe+0+dPO8DGl7areEfzQEPd8p - jkkX5PnxriQvZfgVzwrdXGDqMTnBNaRtCGMiQU/0kp21a6BVtT4am27yr9p3ddhl - z7sJ4Z6ys1bwB0on/O65tdn7 - - - - - - - - - TrE7WPVlNnBf1dh9PRiZdwpTaxs= - - - - - - - - - /dsig:Signature - - - Test-Signaturdienste - - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml deleted file mode 100644 index 1785de687..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - te0YD8LFaK3JLQV8cL69DPnFRLc= - - - - 2M9g7DopnXtz86dkz+7yk5SHSHo= - - - Ti3ckR8eq4D0mUhb+ylUFhIYn7mfUHTc2AjTys4oaq4gFkXvQlQI41Iggp40c916 - - - MIIDlzCCAf+gAwIBAgIRMrFTcaHacn5T5kRFML4Ck6swDQYJKoZIhvcNAQEFBQAwTTESMBAGA1UEAwwJVlNpZyBDQSAyMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xCzAJBgNVBAYTAkFUMB4XDTA2MDEyMDA1MTExMVoXDTExMDEyMDA1MTExMVowXzEVMBMGA1UEAwwMRGF2aWQgRmVyYmFzMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xDTALBgNVBAsMBFZTaWcxCzAJBgNVBAYTAkFUMEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEc7ESyZ4IdIM9UDtze29i0IqfCbwWSODfCF8bTiXxdJZLWZOE0eqwL2ybWVTEmCXDo4G6MIG3MBMGA1UdIwQMMAqACEhpdVw8ryMqMBEGA1UdDgQKBAhP473ttlxOBjAOBgNVHQ8BAf8EBAMCBsAwFgYDVR0gBA8wDTALBgkqKAAKAQQBZgAwQwYIKwYBBQUHAQEENzA1MDMGCCsGAQUFBzABhidodHRwOi8vb2NzcC5lY2FyZC5zb3ppYWx2ZXJzaWNoZXJ1bmcuYXQwIAYDVR0RBBkwF4EVZGF2aWQuZmVyYmFzQGlub2RlLmF0MA0GCSqGSIb3DQEBBQUAA4IBgQAu74FsENLTC9kqN4UVEX+pJz4ckOjAI8NbzCEvHgDqfpXmjZKA+8354fE6hsCd8uCJWCJ36ig2cMcOjGJrW+4YExYFRpiq1U2u9N1eKEj7j1oQzNZw4lotDxMFHnzd5WBjXjWekgy3uWkFhqE+NvQtauNtRiR3kg2jMt4MmcjZpck3WoTibrV9sMOzyM8L4y3HdDix97aWTefqxJ28IF9Anuk/uNGu74KcuJjYuIZx7q1ULsuXEs/HJMxU2/9lcT6lRhsp5VE0Z0/zOWdenQYUBscdbNrEDg3gmGU9T7SuxNQfHRLQ1OGzjolJL7kvhsRiK/l7pBtGAt2oPO6OKbLgWhW/6DEYJqnUrScQCli34EVDFC8W9yOBq3BHHZCQOzGgYtxtpI2QzCHLMGEwaxdFAYQp9pVBnX7HGbPqhq2r5osDlcyJDLO9uYW+63CTCVIeJ9018OxvOxNNvb6JzunW/oQAVMj+vTiR4GE74A0qVbuYd0fvEvc47J1q6++QlKc= - - - - - - - 2008-04-17T11:41:15Z - - - - - RREWB1U7AWw/Xy+QkwfAiityVDs= - - - C=AT,O=Hauptverband österr. Sozialvers.,CN=VSig CA 2 - 17249824966675737197051526866457224975275 - - - - - - - - - - text/plain - - - - - - - - - /dsig:Signature - - testID - certifiedSignature+Test - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml deleted file mode 100644 index 80abd2634..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - te0YD8LFaK3JLQV8cL69DPnFRLc= - - - - 2M9g7DopnXtz86dkz+7yk5SHSHo= - - - Ti3ckR8eq4D0mUhb+ylUFhIYn7mfUHTc2AjTys4oaq4gFkXvQlQI41Iggp40c916 - - - MIIDlzCCAf+gAwIBAgIRMrFTcaHacn5T5kRFML4Ck6swDQYJKoZIhvcNAQEFBQAwTTESMBAGA1UEAwwJVlNpZyBDQSAyMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xCzAJBgNVBAYTAkFUMB4XDTA2MDEyMDA1MTExMVoXDTExMDEyMDA1MTExMVowXzEVMBMGA1UEAwwMRGF2aWQgRmVyYmFzMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xDTALBgNVBAsMBFZTaWcxCzAJBgNVBAYTAkFUMEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEc7ESyZ4IdIM9UDtze29i0IqfCbwWSODfCF8bTiXxdJZLWZOE0eqwL2ybWVTEmCXDo4G6MIG3MBMGA1UdIwQMMAqACEhpdVw8ryMqMBEGA1UdDgQKBAhP473ttlxOBjAOBgNVHQ8BAf8EBAMCBsAwFgYDVR0gBA8wDTALBgkqKAAKAQQBZgAwQwYIKwYBBQUHAQEENzA1MDMGCCsGAQUFBzABhidodHRwOi8vb2NzcC5lY2FyZC5zb3ppYWx2ZXJzaWNoZXJ1bmcuYXQwIAYDVR0RBBkwF4EVZGF2aWQuZmVyYmFzQGlub2RlLmF0MA0GCSqGSIb3DQEBBQUAA4IBgQAu74FsENLTC9kqN4UVEX+pJz4ckOjAI8NbzCEvHgDqfpXmjZKA+8354fE6hsCd8uCJWCJ36ig2cMcOjGJrW+4YExYFRpiq1U2u9N1eKEj7j1oQzNZw4lotDxMFHnzd5WBjXjWekgy3uWkFhqE+NvQtauNtRiR3kg2jMt4MmcjZpck3WoTibrV9sMOzyM8L4y3HdDix97aWTefqxJ28IF9Anuk/uNGu74KcuJjYuIZx7q1ULsuXEs/HJMxU2/9lcT6lRhsp5VE0Z0/zOWdenQYUBscdbNrEDg3gmGU9T7SuxNQfHRLQ1OGzjolJL7kvhsRiK/l7pBtGAt2oPO6OKbLgWhW/6DEYJqnUrScQCli34EVDFC8W9yOBq3BHHZCQOzGgYtxtpI2QzCHLMGEwaxdFAYQp9pVBnX7HGbPqhq2r5osDlcyJDLO9uYW+63CTCVIeJ9018OxvOxNNvb6JzunW/oQAVMj+vTiR4GE74A0qVbuYd0fvEvc47J1q6++QlKc= - - - - - - - 2008-04-17T11:41:15Z - - - - - RREWB1U7AWw/Xy+QkwfAiityVDs= - - - C=AT,O=Hauptverband österr. Sozialvers.,CN=VSig CA 2 - 17249824966675737197051526866457224975275 - - - - - - - - - - text/plain - - - - - - - - - /dsig:Signature - - - - file:D:/Programme/apache-tomcat-5.5.26/webapps/referencedData/enno-sp.pdf_bku_sign_out.pdf - - - certifiedSignature+Test - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.xml deleted file mode 100644 index fc67859ba..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - tLODyeiWFbAkQKwhrR23jtcgu4k= - - - - VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQ - - - - - MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD - VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE - CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln - bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx - CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll - IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG - A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo - UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// - /////////////v//////////MDQEGP////////////////////7//////////AQY - ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C - /xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr - ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv - 2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E - AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG - DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 - IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 - oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu - c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw - vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt - lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja - iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 - +tj+UiTiNNSaXirq - - - - - - - /dsig:Signature - - - - - - - Test-Signaturdienste - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml deleted file mode 100644 index 3798b2706..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml +++ /dev/null @@ -1,24 +0,0 @@ - -CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=ATCN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqBKA-IKTUnd ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen.B9nRChTbct68n9h5+Cb2mfNkASI=2004-08-20T12:42:21FOWcAqaHew69LEIDiGuiWVnB0mc=CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9application/xhtml+xml000 \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml deleted file mode 100644 index 657beca77..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - -luM3wUmedTvkMHVedQkA/8otXUE=1aSV+vFkwG6NZCk5ZUzZV3J4eSo=Dy1xXsV2LgSFJlGwYiunav1KC7A=f1v/vi1S7xiL+7ofWOUqBfoqOy42EnlXYFoTYcaUZaBiAecDvyX9StPRWTUls/j2MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqB9nRChTbct68n9h5+Cb2mfNkASI=2005-03-29T09:55:29FOWcAqaHew69LEIDiGuiWVnB0mc=CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9application/xhtml+xml - - - /doc:XMLDocument/dsig:Signature - - - - - - - - - - - - - - - Test-Signaturdienste - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml deleted file mode 100644 index 2fab33b20..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml +++ /dev/null @@ -1,23 +0,0 @@ - -CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=ATCN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqBKA-IKT00 \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml deleted file mode 100644 index 5565601d8..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - tLODyeiWFbAkQKwhrR23jtcgu4k=VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqDiese Daten werden signiert. - /dsig:Signature - - Test-Signaturdienste - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml deleted file mode 100644 index 2fab33b20..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml +++ /dev/null @@ -1,23 +0,0 @@ - -CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=ATCN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqBKA-IKT00 \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml deleted file mode 100644 index 50ddbc1da..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - -luM3wUmedTvkMHVedQkA/8otXUE=vGVimRmUHwrDR8feQCK1DZ2kyDw0CCrXimJi/yCrIoqSkUKFlKrtAyP2RUBXXjyeMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq - - - /doc:XMLDocument/dsig:Signature - - - - http://localhost:8080/referencedData/XMLDocument.Para.xsl - - - - - - - - - - - - - - - - - - - - - - - Test-Signaturdienste - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.resp.xml deleted file mode 100644 index 8691c4563..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.resp.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - T=DI,serialNumber=847206943023,givenName=Klaus,SN=Stranacher,CN=Klaus Stranacher,C=AT - - CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 685117 - - MIIEtTCCA52gAwIBAgIDCnQ9MA0GCSqGSIb3DQEBBQUAMIGdMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMSEwHwYDVQQLDBhhLXNpZ24tcHJl -bWl1bS1tb2JpbGUtMDMxITAfBgNVBAMMGGEtc2lnbi1wcmVtaXVtLW1vYmlsZS0w -MzAeFw0xMjAxMTkxMDUwNDRaFw0xNzAxMTkxMDUwNDRaMHExCzAJBgNVBAYTAkFU -MRkwFwYDVQQDDBBLbGF1cyBTdHJhbmFjaGVyMRMwEQYDVQQEDApTdHJhbmFjaGVy -MQ4wDAYDVQQqDAVLbGF1czEVMBMGA1UEBRMMODQ3MjA2OTQzMDIzMQswCQYDVQQM -DAJESTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCl9cWMwe9LaXbcwuLCMRXS6 -KYhou9Fzvo7ScXpwcRn1sbTSjUIIhLUTrqfqO/pnwoKd87PmNcGUFoCXvsb4lUqj -ggHyMIIB7jARBgNVHQ4ECgQITPnzawkXeUUwDgYDVR0PAQH/BAQDAgbAMBMGA1Ud -IwQMMAqACEu4Yddf1khjMAkGA1UdEwQCMAAwfgYIKwYBBQUHAQEEcjBwMEUGCCsG -AQUFBzAChjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvY2VydHMvYS1zaWduLXByZW1p -dW0tbW9iaWxlLTAzYS5jcnQwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLmEtdHJ1 -c3QuYXQvb2NzcDBgBgNVHSAEWTBXMEsGBiooABEBFDBBMD8GCCsGAQUFBwIBFjNo -dHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hLXNpZ24tcHJlbWl1bS1tb2Jp -bGUwCAYGBACLMAEBMCcGCCsGAQUFBwEDAQH/BBgwFjAIBgYEAI5GAQEwCgYIKwYB -BQUHCwEwgZ0GA1UdHwSBlTCBkjCBj6CBjKCBiYaBhmxkYXA6Ly9sZGFwLmEtdHJ1 -c3QuYXQvb3U9YS1zaWduLXByZW1pdW0tbW9iaWxlLTAzLG89QS1UcnVzdCxjPUFU -P2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/YmFzZT9vYmplY3RjbGFzcz1laWRD -ZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBBQUAA4IBAQBWEeyDzBQA -5O5CY7z6K9EwbXxxuuaEEb1GVIyTZ4DcfodjkEEdGqWicsPdUUJDZ7ETyaKucgVt -WaOHaObkCua9tM5TP3YtaEyDRteqU7N6LMDcMrXle8WOTUcIhSFy5UU8SnFtbZyQ -v+eeAW48PVq5pzBzizGNtMKCv9XC7df5ARhDEU7tYaVrKIobTdeq8D7zXnZ2Wdt9 -6VG6QBe8eH49bAxabnOk/rF6TMO2NX4h/tlQLBzOdOeEolUHOHkA3L01REL2m/6k -lPNsA8mX++cD3yKuoCWxtl27peTscRyGKEo2EBLtt7mfaTFBbkdKo1WUkZ+dVesa -XtKckFCEtW3r - - - AT - - - - 0 - - - 0 - - - 0 - - diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.xml deleted file mode 100644 index efdc2a76a..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.TSL.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -id('signed-data-1-1')/node()ck5CfKRJ6J4x7YusP2LmJXRBo3sFoSgTCXlujYNSFvI=//*[@Id='etsi-signed-1-1']/etsi:QualifyingProperties/etsi:SignedPropertiestwh9pMjAoknEfJ97w9PA8pEnVFrKb/14Mmdl6AhweE8=N5mPWLfwxBrJIVQEAktiZqStkManxG7P8GBE8rw5DCEB2k7OctmvlPLLy+JtQy11OVNU0ISQeJn3BprTxgU/tw==MIIEtTCCA52gAwIBAgIDCnQ9MA0GCSqGSIb3DQEBBQUAMIGdMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMSEwHwYDVQQLDBhhLXNpZ24tcHJlbWl1bS1tb2JpbGUtMDMxITAfBgNVBAMMGGEtc2lnbi1wcmVtaXVtLW1vYmlsZS0wMzAeFw0xMjAxMTkxMDUwNDRaFw0xNzAxMTkxMDUwNDRaMHExCzAJBgNVBAYTAkFUMRkwFwYDVQQDDBBLbGF1cyBTdHJhbmFjaGVyMRMwEQYDVQQEDApTdHJhbmFjaGVyMQ4wDAYDVQQqDAVLbGF1czEVMBMGA1UEBRMMODQ3MjA2OTQzMDIzMQswCQYDVQQMDAJESTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCl9cWMwe9LaXbcwuLCMRXS6KYhou9Fzvo7ScXpwcRn1sbTSjUIIhLUTrqfqO/pnwoKd87PmNcGUFoCXvsb4lUqjggHyMIIB7jARBgNVHQ4ECgQITPnzawkXeUUwDgYDVR0PAQH/BAQDAgbAMBMGA1UdIwQMMAqACEu4Yddf1khjMAkGA1UdEwQCMAAwfgYIKwYBBQUHAQEEcjBwMEUGCCsGAQUFBzAChjlodHRwOi8vd3d3LmEtdHJ1c3QuYXQvY2VydHMvYS1zaWduLXByZW1pdW0tbW9iaWxlLTAzYS5jcnQwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLmEtdHJ1c3QuYXQvb2NzcDBgBgNVHSAEWTBXMEsGBiooABEBFDBBMD8GCCsGAQUFBwIBFjNodHRwOi8vd3d3LmEtdHJ1c3QuYXQvZG9jcy9jcC9hLXNpZ24tcHJlbWl1bS1tb2JpbGUwCAYGBACLMAEBMCcGCCsGAQUFBwEDAQH/BBgwFjAIBgYEAI5GAQEwCgYIKwYBBQUHCwEwgZ0GA1UdHwSBlTCBkjCBj6CBjKCBiYaBhmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLXByZW1pdW0tbW9iaWxlLTAzLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/YmFzZT9vYmplY3RjbGFzcz1laWRDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBBQUAA4IBAQBWEeyDzBQA5O5CY7z6K9EwbXxxuuaEEb1GVIyTZ4DcfodjkEEdGqWicsPdUUJDZ7ETyaKucgVtWaOHaObkCua9tM5TP3YtaEyDRteqU7N6LMDcMrXle8WOTUcIhSFy5UU8SnFtbZyQv+eeAW48PVq5pzBzizGNtMKCv9XC7df5ARhDEU7tYaVrKIobTdeq8D7zXnZ2Wdt96VG6QBe8eH49bAxabnOk/rF6TMO2NX4h/tlQLBzOdOeEolUHOHkA3L01REL2m/6klPNsA8mX++cD3yKuoCWxtl27peTscRyGKEo2EBLtt7mfaTFBbkdKo1WUkZ+dVesaXtKckFCEtW3r2014-03-17T12:08:58ZrUAiWR/xWih+N/Aa7AUvetg2FFU=CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT685117text/plainIch bin ein einfacher Text. -//dsig:Signature -Test-TSLProfil - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml deleted file mode 100644 index 9d3b6dea7..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml +++ /dev/null @@ -1,23 +0,0 @@ - -CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=ATCN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqBKA-IKT0010 \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml deleted file mode 100644 index a57fbb934..000000000 --- a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - nUUaW6OtcsNvV/QhqmkU2QXT1Mw=pzI1j60BNsnS+zjXYtXlh109HjJGEMrMzTzkUB54rReOpI1ynNkG2RE7AiOlvpPhMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqDiese Daten sind signiert.EYxznGxNRAIcHQeUsj+zsK+uaHA= - - //dsig:Signature - - Test-Signaturdienste - diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.response.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.response.xml deleted file mode 100644 index be2eb37ad..000000000 --- a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.response.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen.2b83+NbXDFijHzz+sH0T7fM36sA=30zsZMPn1mR5G5oIGJvTRmCik3WuepfZF6AhLwxgJDMJlPQ8rheBWCaKihzXnHaSMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirq - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.xml deleted file mode 100644 index 7f89028c6..000000000 --- a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - KG_allgemein - - - - - - - - - - text/xml - - - - - - - - /doc:XMLDocument - - - - diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.response.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.response.xml deleted file mode 100644 index fb4204a09..000000000 --- a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.response.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - Ich bin der erste Absatz in diesem Dokument. - Und ich bin der zweite Absatz in diesem Dokument. -Ich habe weiters ein eigenens ID-Attribut bekommen. - -luM3wUmedTvkMHVedQkA/8otXUE=1aSV+vFkwG6NZCk5ZUzZV3J4eSo=Dy1xXsV2LgSFJlGwYiunav1KC7A=f1v/vi1S7xiL+7ofWOUqBfoqOy42EnlXYFoTYcaUZaBiAecDvyX9StPRWTUls/j2MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqB9nRChTbct68n9h5+Cb2mfNkASI=2005-03-29T09:55:29FOWcAqaHew69LEIDiGuiWVnB0mc=CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT9application/xhtml+xml - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.xml deleted file mode 100644 index b19f66b61..000000000 --- a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - KG_allgemein - - - - - - - - - - - - - - - application/xhtml+xml - - - - - - - - /doc:XMLDocument - - - - diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.response.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.response.xml deleted file mode 100644 index a465e2126..000000000 --- a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.response.xml +++ /dev/null @@ -1,23 +0,0 @@ - -nUUaW6OtcsNvV/QhqmkU2QXT1Mw=pzI1j60BNsnS+zjXYtXlh109HjJGEMrMzTzkUB54rReOpI1ynNkG2RE7AiOlvpPhMIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD -VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE -CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln -bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx -CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll -IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG -A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo -UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// -/////////////v//////////MDQEGP////////////////////7//////////AQY -ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C -/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr -ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv -2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E -AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG -DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 -IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 -oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu -c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw -vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt -lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja -iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 -+tj+UiTiNNSaXirqDiese Daten sind signiert.EYxznGxNRAIcHQeUsj+zsK+uaHA= \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.xml deleted file mode 100644 index da7e82025..000000000 --- a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - KG_allgemein - - - - Diese Daten sind signiert. - - - - - text/plain - - - - - - \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt b/spss/handbook/clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt deleted file mode 100644 index f8527bb6d..000000000 --- a/spss/handbook/clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt +++ /dev/null @@ -1,8 +0,0 @@ - - -HTML-Dokument - - -

Ich bin der erste Absatz in diesem Dokument.

- - diff --git a/spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.cer b/spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.cer deleted file mode 100644 index dc8a6921f..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.cer and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1[pwd=kunde1].p12 b/spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1[pwd=kunde1].p12 deleted file mode 100644 index ea67e4ae0..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1[pwd=kunde1].p12 and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/customer1/trustedServers[pwd=servers].keystore b/spss/handbook/clients/webservice/resources/sslKeys/customer1/trustedServers[pwd=servers].keystore deleted file mode 100644 index db78c54ab..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/customer1/trustedServers[pwd=servers].keystore and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.cer b/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.cer deleted file mode 100644 index 63f5dc755..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.cer and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2[pwd=kunde2].p12 b/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2[pwd=kunde2].p12 deleted file mode 100644 index db7072544..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2[pwd=kunde2].p12 and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/customer2/trustedServers[pwd=servers].keystore b/spss/handbook/clients/webservice/resources/sslKeys/customer2/trustedServers[pwd=servers].keystore deleted file mode 100644 index cbf43b046..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/customer2/trustedServers[pwd=servers].keystore and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/server/localhost.cer b/spss/handbook/clients/webservice/resources/sslKeys/server/localhost.cer deleted file mode 100644 index 7bee8af02..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/server/localhost.cer and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/server/tomcat[pwd=server].keystore b/spss/handbook/clients/webservice/resources/sslKeys/server/tomcat[pwd=server].keystore deleted file mode 100644 index a24520345..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/server/tomcat[pwd=server].keystore and /dev/null differ diff --git a/spss/handbook/clients/webservice/resources/sslKeys/server/trustedClients[pwd=clients].keystore b/spss/handbook/clients/webservice/resources/sslKeys/server/trustedClients[pwd=clients].keystore deleted file mode 100644 index 44a40723b..000000000 Binary files a/spss/handbook/clients/webservice/resources/sslKeys/server/trustedClients[pwd=clients].keystore and /dev/null differ diff --git a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java deleted file mode 100644 index 0ed47e4a9..000000000 --- a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.handbook.clients.webservice; - -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.util.Properties; -import java.util.Vector; - -import javax.xml.namespace.QName; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.rpc.Call; -import javax.xml.rpc.Service; -import javax.xml.rpc.ServiceFactory; - -import org.apache.axis.message.SOAPBodyElement; -import org.apache.xml.serialize.OutputFormat; -import org.apache.xml.serialize.XMLSerializer; -import org.w3c.dom.Document; - -/** - * Diese Klasse implementiert einen einfachen Client f�r das MOA SP/SS Webservice mittels Apache Axis. Die - * Verbindung erfolgt ungesichert über HTTP. - */ -public class HTTP -{ - protected Properties props_; - - /** - * Methode main. - * - * Enthält den Beispielcode der nötig ist um von Java aus auf MOA-SPSS zugreifen zu können. Der Zugriff - * passiert über das AXIS-Framework. Die Verbindung erfolgt ungesichert über HTTP. - * - * @param args
    - *
  • - * args[0] enthält entweder die Bezeichnung "sign" oder "verify" zur Kennzeichnung, - * ob ein Signaturerstellungsrequest, oder ein Signaturprüfrequest gesendet werden soll. - *
  • - *
  • - * args[1] enthält einen Verweis auf eine Property-Datei, die die n�here Konfiguration - * f�r dieses Beispiel enthält. Der Verweis enthält entweder eine absolute oder eine - * relative Pfadangabe, wobei eine relative Angabe als relativ zum Arbeitsverzeichnis der - * Java VM interpretiert wird. Folgende Properties m�ssen in der Property-Datei vorhanden - * sein: - *
      - *
    • - * signServiceQName: Name des Webservices, fix "SignatureCreation" - *
    • - *
    • - * signServiceEndPoint: Zugangspunkt des Webservices (URL) - *
    • - *
    • - * signRequest: Name des zu sendenden Signaturerstellungsrequests (entweder - * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum - * Arbeitsverzeichnis der Java VM interpretiert) - *
    • - *
    • - * verifyServiceQName: Name des Webservices, fix "SignatureVerification" - *
    • - *
    • - * verifyServiceEndPoint: Zugangspunkt des Webservices (URL) - *
    • - *
    • - * verifyRequest: Name des zu sendenden Signaturprüfrequests (entweder - * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum - * Arbeitsverzeichnis der Java VM interpretiert) - *
    • - *
    - *
  • - *
- */ - public static void main(String[] args) - { - try - { - // Pr�fen, ob Beispiel korrekt verwendet wird - checkArgs(args, "HTTP"); - - // Initialisieren des Clients - HTTP httpClient = new HTTP(args); - - // Ausf�hren der Serviceabfrage - httpClient.execute(args[0]); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - /** - * Pr�ft, ob das Beispiel korrekt verwendet wird. - * - * @param args Die Aufrufparameter für das Beispiel. Siehe {@link HTTP#main(String[])}. - * - * @param exampleName Der Name dieses Beispiels, der im Hilfetext gedruckt wird. - */ - protected static void checkArgs(String[] args, String exampleName) - { - if (args == null || args.length != 2 || (!"sign".equals(args[0]) && !"verify".equals(args[0]))) - { - System.out.println("Verwendung: " + exampleName + " \"sign\"|\"verify\" Properties-Datei"); - } - } - - /** - * Erzeugt den MOA Client. Es erfolgt die Auswertung der �bergebenen Aufrufparameter. - * - * @param args Die Aufrufparameter für das Beispiel. Siehe {@link HTTP#main(String[])}. - * - * @throws Exception wenn der MOA Client mit den �bergebenen Aufrufparametern nicht korrekt erzeugt - * werden konnte. - */ - protected HTTP(String[] args) throws Exception - { - props_ = new Properties(); - props_.load(new FileInputStream(args[1])); - } - - /** - * F�hrt die Abfrage beim MOA-Service aus. - * - * @param mode Steuert, ob eine Signatur erstellt ("sign") oder gepr�ft ("verify") werden soll. - * - * @throws Exception wenn dabei etwas schiegeht. - */ - protected void execute(String mode) throws Exception - { - // Datei mit Request einlesen - FileInputStream inputStream = new FileInputStream(getProperty(mode + "Request")); - - // Parser/DOMBuilder instanzieren - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - DocumentBuilder builder = factory.newDocumentBuilder(); - - // XML Datei in einen DOM-Baum umwandeln - Document xmlRequest = builder.parse(inputStream); - - // AXIS-Server instanzieren - Service service = ServiceFactory.newInstance().createService(new QName(getProperty(mode + "ServiceQName"))); - - // Call �ffnen - Call call = service.createCall(); - - // Neues BodyElement anlegen und mit dem DOM-Baum f�llen - SOAPBodyElement body = new SOAPBodyElement(xmlRequest.getDocumentElement()); - SOAPBodyElement[] params = new SOAPBodyElement[] - { - body - }; - - // Call mit Endpoint verkn�pfen - call.setTargetEndpointAddress(getProperty(mode + "ServiceEndPoint")); - - // Call ausl�sen und die Antworten speichern - System.out.println("Calling ..."); - Vector responses = (Vector) call.invoke(params); - - // Erstes Body Element auslesen - SOAPBodyElement response = (SOAPBodyElement) responses.get(0); - - // Aus der Response den DOM-Baum lesen - Document root_response = response.getAsDocument(); - System.out.println("Return ..."); - - // XML-Formatierung konfiguieren - OutputFormat format = new OutputFormat((Document) root_response); - format.setLineSeparator("\n"); - format.setIndenting(false); - format.setPreserveSpace(true); - format.setOmitXMLDeclaration(false); - format.setEncoding("UTF-8"); - - // Ausgabe der Webservice-Antwort auf die Konsole - XMLSerializer conSerializer = new XMLSerializer(System.out, format); - conSerializer.serialize(root_response); - - // Ausgabe der Webservice-Antwort in Datei - String responseFile = getProperty(mode + "Request").substring(0, getProperty(mode + "Request").lastIndexOf('.')) - + ".response.xml"; - XMLSerializer fileSerializer = new XMLSerializer(new FileOutputStream(responseFile), format); - fileSerializer.serialize(root_response); - } - - /** - * Pr�ft ob die Property mit dem angegebenen Namen in den Konfigurations-Properties enthalten ist. - * - * @param propName Name der zu untersuchenden Property. - * - * @return den Wert der gesuchten Property. - * - * @throws Exception wenn die gesuchte Property nicht vorhanden ist. - */ - protected String getProperty(String propName) throws Exception - { - String propValue = props_.getProperty(propName); - if ((propValue == null) || "".equals(propValue.trim())) - { - throw new Exception("Property named \"" + propName + "\" does not exist."); - } - return propValue; - } -} \ No newline at end of file diff --git a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java deleted file mode 100644 index 33a94ff55..000000000 --- a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.handbook.clients.webservice; - - -/** - * Diese Klasse implementiert einen einfachen Client f�r das MOA SP/SS Webservice mittels Apache Axis. Die - * Verbindung erfolgt gesichert über SSL, und zwar sowohl mit Server- und Clientauthentisierung. - */ -public class HTTPSClientAuth extends HTTPSServerAuth -{ - // JSSE Konstanten - public static final String KEYSTORE = "javax.net.ssl.keyStore"; - public static final String KEYSTOREPASSWORD = "javax.net.ssl.keyStorePassword"; - public static final String KEYSTORETYPE = "javax.net.ssl.keyStoreType"; - - /** - * Methode main. - * - * Enthaelt den Beispielcode der noetig ist um von Java aus auf MOA-SPSS zugreifen zu koennen. Der Zugriff - * passiert ueber das AXIS-Framework. Die Verbindung erfolgt gesichert ueber SSL, und zwar sowohl mit - * Server- und Clientauthentisierung. - * - * @param args
    - *
  • - * args[0] enthaelt entweder die Bezeichnung "sign" oder "verify" zur Kennzeichnung, - * ob ein Signaturerstellungsrequest, oder ein Signaturprüefrequest gesendet werden soll. - *
  • - *
  • - * args[1] enthaelt einen Verweis auf eine Property-Datei, die die n�here Konfiguration - * fuer dieses Beispiel enthaelt. Der Verweis enthaelt entweder eine absolute oder eine - * relative Pfadangabe, wobei eine relative Angabe als relativ zum Arbeitsverzeichnis der - * Java VM interpretiert wird. Folgende Properties muessen in der Properties-Datei vorhanden - * sein: - *
      - *
    • - * signServiceQName: Name des Webservices, fix "SignatureCreation" - *
    • - *
    • - * signServiceEndPoint: Zugangspunkt des Webservices (URL) - *
    • - *
    • - * signRequest: Name des zu sendenden Signaturerstellungsrequests (entweder - * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum - * Arbeitsverzeichnis der Java VM interpretiert) - *
    • - *
    • - * verifyServiceQName: Name des Webservices, fix "SignatureVerification" - *
    • - *
    • - * verifyServiceEndPoint: Zugangspunkt des Webservices (URL) - *
    • - *
    • - * verifyRequest: Name des zu sendenden Signaturpruefrequests (entweder - * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum - * Arbeitsverzeichnis der Java VM interpretiert) - *
    • - *
    • - * ssl.truststore.type: Typ des JSSE-Truststores (entweder "JKS" fuer einen - * Java Key Store oder "PKCS12" fuer eine PKCS#12-Datei). - *
    • - *
    • ssl.truststore.type: Relativer oder absoluter Pfad zum JSSE-Truststore. - * Ein relativer Pfad wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). - *
    • - *
    • ssl.truststore.pwd: Passwort f�r den JSSE-Truststore. - *
    • - *
    • - * ssl.keystore.type: Typ des JSSE-Keystores (entweder "JKS" fuer einen - * Java Key Store oder "PKCS12" fuer eine PKCS#12-Datei). - *
    • - *
    • ssl.keystore.type: Relativer oder absoluter Pfad zum JSSE-Keystore. - * Ein relativer Pfad wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). - *
    • - *
    • ssl.keystore.pwd: Passwort f�r den JSSE-Keystore. - *
    • - *
    - *
  • - *
- */ - public static void main(String[] args) - { - try - { - // Pr�fen, ob Beispiel korrekt verwendet wird - checkArgs(args, "HTTP"); - - // Initialisieren des Clients - HTTPSClientAuth httpClient = new HTTPSClientAuth(args); - - // Ausf�hren der Serviceabfrage - httpClient.execute(args[0]); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - /** - * Erzeugt den MOA Client. Es erfolgt die Auswertung der uebergebenen Aufrufparameter. - * - * @param args Die Aufrufparameter fuer das Beispiel. Siehe {@link HTTPSClientAuth#main(String[])}. - * - * @throws Exception wenn der MOA Client mit den �bergebenen Aufrufparametern nicht korrekt erzeugt - * werden konnte. - */ - protected HTTPSClientAuth(String[] args) throws Exception - { - super(args); - } - - /** - * Konfiguriert JSSE fuer eine SSL-Verbindung mit Client- und Serverauthentisierung. - */ - protected void configureSSL() throws Exception - { - super.configureSSL(); - - // Konfiguriere Key-Store (enth�lt privaten Schl�ssel und Zertifikat des Clients) - System.setProperty(KEYSTORETYPE, getProperty("ssl.keystore.type")); - System.setProperty(KEYSTORE, getProperty("ssl.keystore.loc")); - System.setProperty(KEYSTOREPASSWORD, getProperty("ssl.keystore.pwd")); - } -} \ No newline at end of file diff --git a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java deleted file mode 100644 index d72564812..000000000 --- a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.handbook.clients.webservice; - -import java.security.Security; - -import com.sun.net.ssl.internal.ssl.Provider; - -/** - * Diese Klasse implementiert einen einfachen Client f�r das MOA SP/SS Webservice mittels Apache Axis. Die - * Verbindung erfolgt gesichert ueber SSL, und zwar nur mit Serverauthentisierung. - */ -public class HTTPSServerAuth extends HTTP -{ - // JSSE Konstanten - public static final String HANDLER = "java.protocol.handler.pkgs"; - public static final String TRUSTSTORE = "javax.net.ssl.trustStore"; - public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword"; - public static final String TRUSTSTORETYPE = "javax.net.ssl.trustStoreType"; - - /** - * Methode main. - * - * Enthaelt den Beispielcode der noetig ist um von Java aus auf MOA-SPSS zugreifen zu koennen. Der Zugriff - * passiert ueber das AXIS-Framework. Die Verbindung erfolgt gesichert ueber SSL, und zwar nur mit - * Serverauthentisierung. - * - * @param args
    - *
  • - * args[0] enthaelt entweder die Bezeichnung "sign" oder "verify" zur Kennzeichnung, - * ob ein Signaturerstellungsrequest, oder ein Signaturpruefrequest gesendet werden soll. - *
  • - *
  • - * args[1] enthaelt einen Verweis auf eine Property-Datei, die die naehere Konfiguration - * fuer dieses Beispiel enthaelt. Der Verweis enthaelt entweder eine absolute oder eine - * relative Pfadangabe, wobei eine relative Angabe als relativ zum Arbeitsverzeichnis der - * Java VM interpretiert wird. Folgende Properties muessen in der Properties-Datei vorhanden - * sein: - *
      - *
    • - * signServiceQName: Name des Webservices, fix "SignatureCreation" - *
    • - *
    • - * signServiceEndPoint: Zugangspunkt des Webservices (URL) - *
    • - *
    • - * signRequest: Name des zu sendenden Signaturerstellungsrequests (entweder - * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum - * Arbeitsverzeichnis der Java VM interpretiert) - *
    • - *
    • - * verifyServiceQName: Name des Webservices, fix "SignatureVerification" - *
    • - *
    • - * verifyServiceEndPoint: Zugangspunkt des Webservices (URL) - *
    • - *
    • - * verifyRequest: Name des zu sendenden Signaturpruefrequests (entweder - * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum - * Arbeitsverzeichnis der Java VM interpretiert) - *
    • - *
    • - * ssl.truststore.type: Typ des JSSE-Truststores (entweder "JKS" fuer einen - * Java Key Store oder "PKCS12" fuer eine PKCS#12-Datei). - *
    • - *
    • ssl.truststore.type: Relativer oder absoluter Pfad zum JSSE-Truststore. - * Ein relativer Pfad wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). - *
    • - *
    • ssl.truststore.pwd: Passwort fuer den JSSE-Truststore. - *
    • - *
    - *
  • - *
- */ - public static void main(String[] args) - { - try - { - // Pr�fen, ob Beispiel korrekt verwendet wird - checkArgs(args, "HTTP"); - - // Initialisieren des Clients - HTTPSServerAuth httpClient = new HTTPSServerAuth(args); - - // Ausf�hren der Serviceabfrage - httpClient.execute(args[0]); - } - catch (Exception e) - { - e.printStackTrace(); - } - } - - /** - * Erzeugt den MOA Client. Es erfolgt die Auswertung der �bergebenen Aufrufparameter. - * - * @param args Die Aufrufparameter fuer das Beispiel. Siehe {@link HTTPSServerAuth#main(String[])}. - * - * @throws Exception wenn der MOA Client mit den uebergebenen Aufrufparametern nicht korrekt erzeugt - * werden konnte. - */ - protected HTTPSServerAuth(String[] args) throws Exception - { - super(args); - configureSSL(); - } - - /** - * Konfiguriert JSSE fuer eine SSL-Verbindung mit Serverauthentisierung. - * - * @throws Exception wenn die Konfiguration von JSSE fehlschlaegt. - */ - protected void configureSSL() throws Exception - { - // Aktivieren Sie die n�chste Zeile f�r detailliertes Logging des SSL-Verbindungsaufbaus - // System.setProperty("javax.net.debug", "all"); - - // Setzen des korrekten Protokoll-Handlers f�r https - Security.addProvider(new Provider()); - System.setProperty(HANDLER, "com.sun.net.ssl.internal.www.protocol"); - - // Konfiguriere Trust-Store (enth�lt SSL-Zertifikat des MOA Services, dem vertraut wird) - System.setProperty(TRUSTSTORETYPE, getProperty("ssl.truststore.type")); - System.setProperty(TRUSTSTORE, getProperty("ssl.truststore.loc")); - System.setProperty(TRUSTSTOREPASSWORD, getProperty("ssl.truststore.pwd")); - } -} \ No newline at end of file diff --git a/spss/handbook/conf/moa-spss/certstore/01540E2704537AA810D671E1C4106FD8821EB52A/C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 b/spss/handbook/conf/moa-spss/certstore/01540E2704537AA810D671E1C4106FD8821EB52A/C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 deleted file mode 100644 index 592c96230..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/01540E2704537AA810D671E1C4106FD8821EB52A/C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/032F2123890A879585CE96674CA4C37B55986729/E1201A308CC10323C27D9084B048996E44B8F710 b/spss/handbook/conf/moa-spss/certstore/032F2123890A879585CE96674CA4C37B55986729/E1201A308CC10323C27D9084B048996E44B8F710 deleted file mode 100644 index a7948e488..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/032F2123890A879585CE96674CA4C37B55986729/E1201A308CC10323C27D9084B048996E44B8F710 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/04462EF01783744F9F4CDE3705FD86D488697C9F/D44EED7580C7792242D73E267A89C7DB25E4BD08 b/spss/handbook/conf/moa-spss/certstore/04462EF01783744F9F4CDE3705FD86D488697C9F/D44EED7580C7792242D73E267A89C7DB25E4BD08 deleted file mode 100644 index 73434134e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/04462EF01783744F9F4CDE3705FD86D488697C9F/D44EED7580C7792242D73E267A89C7DB25E4BD08 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/083E1A0528C48475951A6610360D813E2713DCC7/7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 b/spss/handbook/conf/moa-spss/certstore/083E1A0528C48475951A6610360D813E2713DCC7/7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 deleted file mode 100644 index 8c434777e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/083E1A0528C48475951A6610360D813E2713DCC7/7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0889EBEC55D9E34E782E6D3C250840EB932EEA2F/9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 b/spss/handbook/conf/moa-spss/certstore/0889EBEC55D9E34E782E6D3C250840EB932EEA2F/9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 deleted file mode 100644 index 3af27c013..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0889EBEC55D9E34E782E6D3C250840EB932EEA2F/9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 b/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 deleted file mode 100644 index cac44093a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/0F843FB1E0C626540BE638B79A2987E2611CE630 b/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/0F843FB1E0C626540BE638B79A2987E2611CE630 deleted file mode 100644 index 29d93550e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/0F843FB1E0C626540BE638B79A2987E2611CE630 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/69F21C82DC9A7A940ACEC414593E59C9E61E522F b/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/69F21C82DC9A7A940ACEC414593E59C9E61E522F deleted file mode 100644 index 2a88295a7..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/69F21C82DC9A7A940ACEC414593E59C9E61E522F and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 b/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 deleted file mode 100644 index 84a1690d2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/341F53B3B17518213B1856BFAB3CEFBE948AFC0D b/spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/341F53B3B17518213B1856BFAB3CEFBE948AFC0D deleted file mode 100644 index 3250c6adc..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/341F53B3B17518213B1856BFAB3CEFBE948AFC0D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/3A24040C01D5C9A4980575BFF99A25E534A056CB b/spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/3A24040C01D5C9A4980575BFF99A25E534A056CB deleted file mode 100644 index 3848a2b82..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0BF5B0C4B029051D91A83EE9CCD0266A52D867A6/3A24040C01D5C9A4980575BFF99A25E534A056CB and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/0FE419AB943E7E5C6A7190CC6BBE8E3F914C658A/FB356CEF4406D1F135E3FC59026B338D3F518F9A b/spss/handbook/conf/moa-spss/certstore/0FE419AB943E7E5C6A7190CC6BBE8E3F914C658A/FB356CEF4406D1F135E3FC59026B338D3F518F9A deleted file mode 100644 index 04c6ea363..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/0FE419AB943E7E5C6A7190CC6BBE8E3F914C658A/FB356CEF4406D1F135E3FC59026B338D3F518F9A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 b/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 deleted file mode 100644 index 32893db7f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D/E7340D1FB627D8917A9C0D23F21515C441BF1214 b/spss/handbook/conf/moa-spss/certstore/10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D/E7340D1FB627D8917A9C0D23F21515C441BF1214 deleted file mode 100644 index fd23a38d6..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D/E7340D1FB627D8917A9C0D23F21515C441BF1214 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/125E4AC6B38C1E0BF34BF7D927CBB947E35141E8/2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D b/spss/handbook/conf/moa-spss/certstore/125E4AC6B38C1E0BF34BF7D927CBB947E35141E8/2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D deleted file mode 100644 index 1a3106742..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/125E4AC6B38C1E0BF34BF7D927CBB947E35141E8/2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/15A052B0DC4E0333656264E2FEEBE45B1BE449BF/386C1663C6390BC288DC171522439210AF361958 b/spss/handbook/conf/moa-spss/certstore/15A052B0DC4E0333656264E2FEEBE45B1BE449BF/386C1663C6390BC288DC171522439210AF361958 deleted file mode 100644 index a5e651f86..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/15A052B0DC4E0333656264E2FEEBE45B1BE449BF/386C1663C6390BC288DC171522439210AF361958 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/1607988A938D3D339F40AFB567384BC5B7540935/9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 b/spss/handbook/conf/moa-spss/certstore/1607988A938D3D339F40AFB567384BC5B7540935/9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 deleted file mode 100644 index 28cb48bb0..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/1607988A938D3D339F40AFB567384BC5B7540935/9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/1A283D1183DB82A548427B4F19E99E7A8EA728D7/49969819654C230ECDF779ABB9629A211FCC43D6 b/spss/handbook/conf/moa-spss/certstore/1A283D1183DB82A548427B4F19E99E7A8EA728D7/49969819654C230ECDF779ABB9629A211FCC43D6 deleted file mode 100644 index bdfcb7ab1..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/1A283D1183DB82A548427B4F19E99E7A8EA728D7/49969819654C230ECDF779ABB9629A211FCC43D6 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/1BF3C1D2767F5C333AD5531531FEE3A712935B73/D0AF386E182F00983637F97C0A5F4708F9F641A7 b/spss/handbook/conf/moa-spss/certstore/1BF3C1D2767F5C333AD5531531FEE3A712935B73/D0AF386E182F00983637F97C0A5F4708F9F641A7 deleted file mode 100644 index eaac3518b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/1BF3C1D2767F5C333AD5531531FEE3A712935B73/D0AF386E182F00983637F97C0A5F4708F9F641A7 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/20DD04B052D2D364E5FF851A3FD314F0FD91253E/6814C7316CEA7191C9CB3BE58199B4A957210D9C b/spss/handbook/conf/moa-spss/certstore/20DD04B052D2D364E5FF851A3FD314F0FD91253E/6814C7316CEA7191C9CB3BE58199B4A957210D9C deleted file mode 100644 index 4dd2c49bf..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/20DD04B052D2D364E5FF851A3FD314F0FD91253E/6814C7316CEA7191C9CB3BE58199B4A957210D9C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/5F06F65C714047E3B282AEC427C35AB703E49D8E b/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/5F06F65C714047E3B282AEC427C35AB703E49D8E deleted file mode 100644 index 39e377edf..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/5F06F65C714047E3B282AEC427C35AB703E49D8E and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/D45360060761812D33DE294EAC1573F6DE12A208 b/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/D45360060761812D33DE294EAC1573F6DE12A208 deleted file mode 100644 index 0a1fcff85..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/D45360060761812D33DE294EAC1573F6DE12A208 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/22973CFC20EA68162A0B2E837D45FB8266ACDBCF/C529469053D9F95810A8F7F2DB9A6596A7655732 b/spss/handbook/conf/moa-spss/certstore/22973CFC20EA68162A0B2E837D45FB8266ACDBCF/C529469053D9F95810A8F7F2DB9A6596A7655732 deleted file mode 100644 index 13abede5c..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/22973CFC20EA68162A0B2E837D45FB8266ACDBCF/C529469053D9F95810A8F7F2DB9A6596A7655732 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/238ACC1D03DA5A2E7E580D760FB3EE218FDC5A97/D3C063F219ED073E34AD5D750B327629FFD59AF2 b/spss/handbook/conf/moa-spss/certstore/238ACC1D03DA5A2E7E580D760FB3EE218FDC5A97/D3C063F219ED073E34AD5D750B327629FFD59AF2 deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/238ACC1D03DA5A2E7E580D760FB3EE218FDC5A97/D3C063F219ED073E34AD5D750B327629FFD59AF2 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 b/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 deleted file mode 100644 index d2e7db667..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 b/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 deleted file mode 100644 index f2f1c6562..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 b/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 deleted file mode 100644 index 476a3efb2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/DFAE695342AC81A521025904406884399822B233 b/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/DFAE695342AC81A521025904406884399822B233 deleted file mode 100644 index 5c88b668a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/DFAE695342AC81A521025904406884399822B233 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/2962CDAADFA0BF8EE53B80870C53E551A43EA72A/12B06E039F1A36D8238AFC508009E1ADF88BF66F b/spss/handbook/conf/moa-spss/certstore/2962CDAADFA0BF8EE53B80870C53E551A43EA72A/12B06E039F1A36D8238AFC508009E1ADF88BF66F deleted file mode 100644 index 4d1852203..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/2962CDAADFA0BF8EE53B80870C53E551A43EA72A/12B06E039F1A36D8238AFC508009E1ADF88BF66F and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/2C976220B378E08DF5E68CBC54C05CE41224FD29/0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 b/spss/handbook/conf/moa-spss/certstore/2C976220B378E08DF5E68CBC54C05CE41224FD29/0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 deleted file mode 100644 index 69a8e4872..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/2C976220B378E08DF5E68CBC54C05CE41224FD29/0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/2F5DA022AAFF668F34C35A80049D690F3CFE3040/D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D b/spss/handbook/conf/moa-spss/certstore/2F5DA022AAFF668F34C35A80049D690F3CFE3040/D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D deleted file mode 100644 index 807fa786c..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/2F5DA022AAFF668F34C35A80049D690F3CFE3040/D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/31B5BA02D476873C5220CDCFA0C095C4A31DEFDF/88D6151358A5E3C81D7AE1A536121DC03011BC03 b/spss/handbook/conf/moa-spss/certstore/31B5BA02D476873C5220CDCFA0C095C4A31DEFDF/88D6151358A5E3C81D7AE1A536121DC03011BC03 deleted file mode 100644 index 376d0753f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/31B5BA02D476873C5220CDCFA0C095C4A31DEFDF/88D6151358A5E3C81D7AE1A536121DC03011BC03 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/328AA897B7E6270202B2FC0889FF88D66BB41122/35A40EF932B1F23980E2C672FC939E91EEBD0317 b/spss/handbook/conf/moa-spss/certstore/328AA897B7E6270202B2FC0889FF88D66BB41122/35A40EF932B1F23980E2C672FC939E91EEBD0317 deleted file mode 100644 index 73553b996..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/328AA897B7E6270202B2FC0889FF88D66BB41122/35A40EF932B1F23980E2C672FC939E91EEBD0317 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3314CE3E42175EACC28D57C35F192430BBADAC1A/B1D0BC027906A3B7E7518C93ACB26D978233ED27 b/spss/handbook/conf/moa-spss/certstore/3314CE3E42175EACC28D57C35F192430BBADAC1A/B1D0BC027906A3B7E7518C93ACB26D978233ED27 deleted file mode 100644 index 5171276f4..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3314CE3E42175EACC28D57C35F192430BBADAC1A/B1D0BC027906A3B7E7518C93ACB26D978233ED27 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/337F895A0435AA7E2629C5282B5A0DBBE19EE1C7/75F792DE2CF544007F470F1B924961C2BD2EF517 b/spss/handbook/conf/moa-spss/certstore/337F895A0435AA7E2629C5282B5A0DBBE19EE1C7/75F792DE2CF544007F470F1B924961C2BD2EF517 deleted file mode 100644 index f8a8957ac..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/337F895A0435AA7E2629C5282B5A0DBBE19EE1C7/75F792DE2CF544007F470F1B924961C2BD2EF517 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/349CA7B279F4EF3C085B1E8D08AA5DE3EC586188/08BBE8E906397158FA4BF4058BBBDB5EA11BAE82 b/spss/handbook/conf/moa-spss/certstore/349CA7B279F4EF3C085B1E8D08AA5DE3EC586188/08BBE8E906397158FA4BF4058BBBDB5EA11BAE82 deleted file mode 100644 index 167c36411..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/349CA7B279F4EF3C085B1E8D08AA5DE3EC586188/08BBE8E906397158FA4BF4058BBBDB5EA11BAE82 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3868959083AA986194E58E73798BCD724D785A0E/66AB66128A44574873E54E6584E450C4EB3B9A1E b/spss/handbook/conf/moa-spss/certstore/3868959083AA986194E58E73798BCD724D785A0E/66AB66128A44574873E54E6584E450C4EB3B9A1E deleted file mode 100644 index ed5ba194c..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3868959083AA986194E58E73798BCD724D785A0E/66AB66128A44574873E54E6584E450C4EB3B9A1E and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3A095C38EB5D5824FE61BE43F9CDF6515DC94805/65698A39E03FF00FD552D4AD99FB290C2B9D4BEA b/spss/handbook/conf/moa-spss/certstore/3A095C38EB5D5824FE61BE43F9CDF6515DC94805/65698A39E03FF00FD552D4AD99FB290C2B9D4BEA deleted file mode 100644 index 836ba3767..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3A095C38EB5D5824FE61BE43F9CDF6515DC94805/65698A39E03FF00FD552D4AD99FB290C2B9D4BEA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/04CF0318BA0B54DD76E1DE143445210BDD32E299 b/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/04CF0318BA0B54DD76E1DE143445210BDD32E299 deleted file mode 100644 index 8d33015f9..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/04CF0318BA0B54DD76E1DE143445210BDD32E299 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F b/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F deleted file mode 100644 index 69de75609..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE b/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE deleted file mode 100644 index efa28178e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/9E0512DD61DA5949D1D8631C3F19D75F496C3733 b/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/9E0512DD61DA5949D1D8631C3F19D75F496C3733 deleted file mode 100644 index 289fc2198..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/9E0512DD61DA5949D1D8631C3F19D75F496C3733 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/E6E6FC88719177C9B7421825757C5E47BCAC85F6 b/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/E6E6FC88719177C9B7421825757C5E47BCAC85F6 deleted file mode 100644 index b7d4b08a6..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/E6E6FC88719177C9B7421825757C5E47BCAC85F6 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3B76D7A5CE7EC6022D7990CFEA534C908717DF54/C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E b/spss/handbook/conf/moa-spss/certstore/3B76D7A5CE7EC6022D7990CFEA534C908717DF54/C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E deleted file mode 100644 index b2beddaa5..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3B76D7A5CE7EC6022D7990CFEA534C908717DF54/C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3C025917C3C938FEB856E5440D28E4A568C311DC/A2F138CD16AD04BC3F145E3780BFA169BFDA263B b/spss/handbook/conf/moa-spss/certstore/3C025917C3C938FEB856E5440D28E4A568C311DC/A2F138CD16AD04BC3F145E3780BFA169BFDA263B deleted file mode 100644 index 414123ece..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3C025917C3C938FEB856E5440D28E4A568C311DC/A2F138CD16AD04BC3F145E3780BFA169BFDA263B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3C627C9D89A5BFB5E4E385982DF33B7E7F6E8D2D/C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 b/spss/handbook/conf/moa-spss/certstore/3C627C9D89A5BFB5E4E385982DF33B7E7F6E8D2D/C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 deleted file mode 100644 index 54893c9d6..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3C627C9D89A5BFB5E4E385982DF33B7E7F6E8D2D/C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/3C7CE93947421CB66603DC7DBAB0F04C4788382F/23E594945195F2414803B4D564D2A3A3F5D88B8C b/spss/handbook/conf/moa-spss/certstore/3C7CE93947421CB66603DC7DBAB0F04C4788382F/23E594945195F2414803B4D564D2A3A3F5D88B8C deleted file mode 100644 index 8588ce58a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/3C7CE93947421CB66603DC7DBAB0F04C4788382F/23E594945195F2414803B4D564D2A3A3F5D88B8C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/405D86C9D39B1061885678ED90780A0F04A76327/6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A b/spss/handbook/conf/moa-spss/certstore/405D86C9D39B1061885678ED90780A0F04A76327/6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A deleted file mode 100644 index 141b05ef4..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/405D86C9D39B1061885678ED90780A0F04A76327/6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/4224231A54F64581FBA2AB6ED82ADE467F144BDC/65EF37033859C2F709A64086D3A5BD1B8F1A85A4 b/spss/handbook/conf/moa-spss/certstore/4224231A54F64581FBA2AB6ED82ADE467F144BDC/65EF37033859C2F709A64086D3A5BD1B8F1A85A4 deleted file mode 100644 index 6e17b9db5..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/4224231A54F64581FBA2AB6ED82ADE467F144BDC/65EF37033859C2F709A64086D3A5BD1B8F1A85A4 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/07298E24461954E4696D2ED9FFB7D52B57F325B3 b/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/07298E24461954E4696D2ED9FFB7D52B57F325B3 deleted file mode 100644 index 33e1ee94b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/07298E24461954E4696D2ED9FFB7D52B57F325B3 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 b/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 deleted file mode 100644 index 694e6828b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/45E2F3F807C6EAB9EDC1B3250F7558CA12A063DE/3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 b/spss/handbook/conf/moa-spss/certstore/45E2F3F807C6EAB9EDC1B3250F7558CA12A063DE/3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 deleted file mode 100644 index 55707d69f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/45E2F3F807C6EAB9EDC1B3250F7558CA12A063DE/3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/47ED4C584F9DCD54A6C2925252C5603ADAC93F49/84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E b/spss/handbook/conf/moa-spss/certstore/47ED4C584F9DCD54A6C2925252C5603ADAC93F49/84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E deleted file mode 100644 index 3be7b6a06..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/47ED4C584F9DCD54A6C2925252C5603ADAC93F49/84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/487F4DEE9E63DADEB4CAAB07E0E166ACC9F584B6/9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA b/spss/handbook/conf/moa-spss/certstore/487F4DEE9E63DADEB4CAAB07E0E166ACC9F584B6/9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA deleted file mode 100644 index 4e18de8d7..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/487F4DEE9E63DADEB4CAAB07E0E166ACC9F584B6/9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/4C7CAA9FE9C08078541DA31B76FF0951E73480FF/C23FC1895966021249B35412C0C8C56D107732DE b/spss/handbook/conf/moa-spss/certstore/4C7CAA9FE9C08078541DA31B76FF0951E73480FF/C23FC1895966021249B35412C0C8C56D107732DE deleted file mode 100644 index c4d97cda3..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/4C7CAA9FE9C08078541DA31B76FF0951E73480FF/C23FC1895966021249B35412C0C8C56D107732DE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/52B42552A440A54C21A39D46D7F176AF28BEB5AA/51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 b/spss/handbook/conf/moa-spss/certstore/52B42552A440A54C21A39D46D7F176AF28BEB5AA/51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 deleted file mode 100644 index 9b2ee0fc6..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/52B42552A440A54C21A39D46D7F176AF28BEB5AA/51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/53CF955B19387A437659158BC050B7BC4B238132/F5F2456D79490C268569970E900C68FD1C7DC8E5 b/spss/handbook/conf/moa-spss/certstore/53CF955B19387A437659158BC050B7BC4B238132/F5F2456D79490C268569970E900C68FD1C7DC8E5 deleted file mode 100644 index b2a1e145f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/53CF955B19387A437659158BC050B7BC4B238132/F5F2456D79490C268569970E900C68FD1C7DC8E5 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/54A361D38F73772377E15E145772C03EC0197142/F86591A6D86718886A0234B8E54E21AAEA63E24B b/spss/handbook/conf/moa-spss/certstore/54A361D38F73772377E15E145772C03EC0197142/F86591A6D86718886A0234B8E54E21AAEA63E24B deleted file mode 100644 index 2bf4ad712..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/54A361D38F73772377E15E145772C03EC0197142/F86591A6D86718886A0234B8E54E21AAEA63E24B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/550E9627E9094A2D1BB6385821334D02122BCF26/B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F b/spss/handbook/conf/moa-spss/certstore/550E9627E9094A2D1BB6385821334D02122BCF26/B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F deleted file mode 100644 index 5dd9558d0..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/550E9627E9094A2D1BB6385821334D02122BCF26/B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/620127A8E5886A4805403977C3EF7D5EAF881526 b/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/620127A8E5886A4805403977C3EF7D5EAF881526 deleted file mode 100644 index da38ce028..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/620127A8E5886A4805403977C3EF7D5EAF881526 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 b/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 deleted file mode 100644 index 7e9fd5b0b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/5650A465FD3B5EF83639E11F324A2A0EA98AF935/4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 b/spss/handbook/conf/moa-spss/certstore/5650A465FD3B5EF83639E11F324A2A0EA98AF935/4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 deleted file mode 100644 index 640918641..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/5650A465FD3B5EF83639E11F324A2A0EA98AF935/4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/58090A698038FEDAD56B4B976F23C29950D1D5A5/6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B b/spss/handbook/conf/moa-spss/certstore/58090A698038FEDAD56B4B976F23C29950D1D5A5/6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B deleted file mode 100644 index b15880c29..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/58090A698038FEDAD56B4B976F23C29950D1D5A5/6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/59484253C7D4C5BEAB7D2BABFAC13DDD1CA53FCC/341EA32E448659125A67DD04177FD17468FCFCB1 b/spss/handbook/conf/moa-spss/certstore/59484253C7D4C5BEAB7D2BABFAC13DDD1CA53FCC/341EA32E448659125A67DD04177FD17468FCFCB1 deleted file mode 100644 index 6da18c620..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/59484253C7D4C5BEAB7D2BABFAC13DDD1CA53FCC/341EA32E448659125A67DD04177FD17468FCFCB1 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 deleted file mode 100644 index 8b501d747..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D deleted file mode 100644 index b4b128903..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/60EF765436B4F314F2285BE2D89A511073AC0D58/334710B9169BCD20687A6302EEB16AEB97F288CD b/spss/handbook/conf/moa-spss/certstore/60EF765436B4F314F2285BE2D89A511073AC0D58/334710B9169BCD20687A6302EEB16AEB97F288CD deleted file mode 100644 index c19647ad8..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/60EF765436B4F314F2285BE2D89A511073AC0D58/334710B9169BCD20687A6302EEB16AEB97F288CD and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/6144BFC0CBE85C63DEFB6F208D80385B89F68046/D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 b/spss/handbook/conf/moa-spss/certstore/6144BFC0CBE85C63DEFB6F208D80385B89F68046/D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 deleted file mode 100644 index 39f88d881..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/6144BFC0CBE85C63DEFB6F208D80385B89F68046/D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/68AF646E90A6FF370230F64ACD4E8A4F12C03916/CA80A13D41116E24CB1479E970CDC1C030C5907C b/spss/handbook/conf/moa-spss/certstore/68AF646E90A6FF370230F64ACD4E8A4F12C03916/CA80A13D41116E24CB1479E970CDC1C030C5907C deleted file mode 100644 index 277b6083a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/68AF646E90A6FF370230F64ACD4E8A4F12C03916/CA80A13D41116E24CB1479E970CDC1C030C5907C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/7A2CFA69FCA284D4627012A7A55662594C803B2A b/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/7A2CFA69FCA284D4627012A7A55662594C803B2A deleted file mode 100644 index ad13d7b28..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/7A2CFA69FCA284D4627012A7A55662594C803B2A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B b/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B deleted file mode 100644 index d361d919f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/6F86F897C45679B45F03C67D44B6447EFF43B758/53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 b/spss/handbook/conf/moa-spss/certstore/6F86F897C45679B45F03C67D44B6447EFF43B758/53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 deleted file mode 100644 index 89cfe44fd..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/6F86F897C45679B45F03C67D44B6447EFF43B758/53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/728C819D737EE42627F96F839C33BB6E68E85F68/00845B74CA13FE0A9056E6C0B5126FECF73B0D8C b/spss/handbook/conf/moa-spss/certstore/728C819D737EE42627F96F839C33BB6E68E85F68/00845B74CA13FE0A9056E6C0B5126FECF73B0D8C deleted file mode 100644 index cc8b505ec..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/728C819D737EE42627F96F839C33BB6E68E85F68/00845B74CA13FE0A9056E6C0B5126FECF73B0D8C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/474BC41135FB88BF58B5A8D976A1D5583378D85E b/spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/474BC41135FB88BF58B5A8D976A1D5583378D85E deleted file mode 100644 index c9da41583..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/474BC41135FB88BF58B5A8D976A1D5583378D85E and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 b/spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 deleted file mode 100644 index 28fbdf42f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/76011AE57123CC4E476C094C48C461DC37A0DEDD/FDC348410699803DE7D8276813BC2232EA99A878 b/spss/handbook/conf/moa-spss/certstore/76011AE57123CC4E476C094C48C461DC37A0DEDD/FDC348410699803DE7D8276813BC2232EA99A878 deleted file mode 100644 index 424f849a1..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/76011AE57123CC4E476C094C48C461DC37A0DEDD/FDC348410699803DE7D8276813BC2232EA99A878 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/7A9DC855647136050A8D75D6571AC64739F36C6C/BF648929E7DAABD8D97B3202F48D6C4A19C78F6C b/spss/handbook/conf/moa-spss/certstore/7A9DC855647136050A8D75D6571AC64739F36C6C/BF648929E7DAABD8D97B3202F48D6C4A19C78F6C deleted file mode 100644 index 4989f3e73..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/7A9DC855647136050A8D75D6571AC64739F36C6C/BF648929E7DAABD8D97B3202F48D6C4A19C78F6C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/88BBA52A5AF119284F03A7D0D1DA61934EE57A79/FE4F09F5D1A4AADE9232D9E2D6B9A2552BC48A22 b/spss/handbook/conf/moa-spss/certstore/88BBA52A5AF119284F03A7D0D1DA61934EE57A79/FE4F09F5D1A4AADE9232D9E2D6B9A2552BC48A22 deleted file mode 100644 index a699436ca..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/88BBA52A5AF119284F03A7D0D1DA61934EE57A79/FE4F09F5D1A4AADE9232D9E2D6B9A2552BC48A22 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/88D9F0C0EBB72C58516EC96AEED397FA86B40E39/6DCD5118D1542E6C205C580775C5420B7509506B b/spss/handbook/conf/moa-spss/certstore/88D9F0C0EBB72C58516EC96AEED397FA86B40E39/6DCD5118D1542E6C205C580775C5420B7509506B deleted file mode 100644 index 06b40aa67..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/88D9F0C0EBB72C58516EC96AEED397FA86B40E39/6DCD5118D1542E6C205C580775C5420B7509506B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/3B8484BF1370941BF03F206B5C4958DA4E1559BB b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/3B8484BF1370941BF03F206B5C4958DA4E1559BB deleted file mode 100644 index 6f97837a2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/3B8484BF1370941BF03F206B5C4958DA4E1559BB and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/6DD653FB8FE2614249924274043E834664EBE980 b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/6DD653FB8FE2614249924274043E834664EBE980 deleted file mode 100644 index d7799119f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/6DD653FB8FE2614249924274043E834664EBE980 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/C0EF3E7A54B4C501295F77974B1995E36B25C92B b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/C0EF3E7A54B4C501295F77974B1995E36B25C92B deleted file mode 100644 index 508f7f076..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/C0EF3E7A54B4C501295F77974B1995E36B25C92B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/D29172D3F501A2D7A47F702633044F519A3A5F0B b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/D29172D3F501A2D7A47F702633044F519A3A5F0B deleted file mode 100644 index c0feb0d0e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/D29172D3F501A2D7A47F702633044F519A3A5F0B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/8FDB1CB752D82C88C89F9E9DA7AD2F54C6FA6F3B/842B3870A64001CDD90978D0E554DAF94D9ABDFE b/spss/handbook/conf/moa-spss/certstore/8FDB1CB752D82C88C89F9E9DA7AD2F54C6FA6F3B/842B3870A64001CDD90978D0E554DAF94D9ABDFE deleted file mode 100644 index a0e3fdda1..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/8FDB1CB752D82C88C89F9E9DA7AD2F54C6FA6F3B/842B3870A64001CDD90978D0E554DAF94D9ABDFE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/679A4F81FC705DDEC419778DD2EBD875F4C242C6 b/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/679A4F81FC705DDEC419778DD2EBD875F4C242C6 deleted file mode 100644 index 36a442b89..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/679A4F81FC705DDEC419778DD2EBD875F4C242C6 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/82096E6D9B1248321625323D52858642CB0B748E b/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/82096E6D9B1248321625323D52858642CB0B748E deleted file mode 100644 index 54f809962..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/82096E6D9B1248321625323D52858642CB0B748E and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/91C4DD783D6D38F0325FE74930BF61F656364EA9/53A6B611F8CEE0315BCCE5D59898931ED390E400 b/spss/handbook/conf/moa-spss/certstore/91C4DD783D6D38F0325FE74930BF61F656364EA9/53A6B611F8CEE0315BCCE5D59898931ED390E400 deleted file mode 100644 index 6c0216239..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/91C4DD783D6D38F0325FE74930BF61F656364EA9/53A6B611F8CEE0315BCCE5D59898931ED390E400 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 deleted file mode 100644 index 7c6adedf5..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 deleted file mode 100644 index 70f5b7c91..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/45B43346251FDF9E95DCB7F36928785D46D63913 b/spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/45B43346251FDF9E95DCB7F36928785D46D63913 deleted file mode 100644 index f3cf5e676..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/45B43346251FDF9E95DCB7F36928785D46D63913 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/E33619C88426E4FE956041E6751ADDEC9C10F0BC b/spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/E33619C88426E4FE956041E6751ADDEC9C10F0BC deleted file mode 100644 index fc5bd433b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/E33619C88426E4FE956041E6751ADDEC9C10F0BC and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/975729FFAF7EB667BCF68E9B886EA876E44F46D0/35202B14F69409EAA51CD8AB547AC0CD5E993F3F b/spss/handbook/conf/moa-spss/certstore/975729FFAF7EB667BCF68E9B886EA876E44F46D0/35202B14F69409EAA51CD8AB547AC0CD5E993F3F deleted file mode 100644 index 3beb4529a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/975729FFAF7EB667BCF68E9B886EA876E44F46D0/35202B14F69409EAA51CD8AB547AC0CD5E993F3F and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA b/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA deleted file mode 100644 index 8ddc7d79b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/79B21E2743A879AFF5403ECEA09EAC2084EF4799 b/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/79B21E2743A879AFF5403ECEA09EAC2084EF4799 deleted file mode 100644 index c9fd41f7f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/79B21E2743A879AFF5403ECEA09EAC2084EF4799 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 b/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 deleted file mode 100644 index 781d1e4f2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B b/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B deleted file mode 100644 index 8286cabbc..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/A562C4B99E2847251CB4A1F05DA1FF43E7296F0B b/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/A562C4B99E2847251CB4A1F05DA1FF43E7296F0B deleted file mode 100644 index a0148f63b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/A562C4B99E2847251CB4A1F05DA1FF43E7296F0B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C b/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C deleted file mode 100644 index 61d346a8f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9F0E0FBB25F66FF88C8E033EFF358923C84A2926 b/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9F0E0FBB25F66FF88C8E033EFF358923C84A2926 deleted file mode 100644 index 9ae7ffa0c..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9F0E0FBB25F66FF88C8E033EFF358923C84A2926 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/C87D1855227D995C332C4C9072A2E2053F2CC623 b/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/C87D1855227D995C332C4C9072A2E2053F2CC623 deleted file mode 100644 index a68ae2db7..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/C87D1855227D995C332C4C9072A2E2053F2CC623 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/42AD1897A4643D2AA634D980F16349E6694F3B1B b/spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/42AD1897A4643D2AA634D980F16349E6694F3B1B deleted file mode 100644 index f1d7b6a28..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/42AD1897A4643D2AA634D980F16349E6694F3B1B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/FE7891B6ED7B178F528A28B21478299F865889BD b/spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/FE7891B6ED7B178F528A28B21478299F865889BD deleted file mode 100644 index c1b90c0f4..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/FE7891B6ED7B178F528A28B21478299F865889BD and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A15B5DBE14A19CF859F48E2DA2A29A4C3DB4D680/3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B b/spss/handbook/conf/moa-spss/certstore/A15B5DBE14A19CF859F48E2DA2A29A4C3DB4D680/3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B deleted file mode 100644 index e27a87038..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A15B5DBE14A19CF859F48E2DA2A29A4C3DB4D680/3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/8784ED81F5A22779EB0B081945FD151992557FBE b/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/8784ED81F5A22779EB0B081945FD151992557FBE deleted file mode 100644 index cc35ba691..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/8784ED81F5A22779EB0B081945FD151992557FBE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/88583DB03975127CB488CA7DDE303A1646CEA97B b/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/88583DB03975127CB488CA7DDE303A1646CEA97B deleted file mode 100644 index 783dd271a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/88583DB03975127CB488CA7DDE303A1646CEA97B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 deleted file mode 100644 index 41dc7c553..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/20CAECDCA766243AAD6FA1327618FC81BA65DC0F b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/20CAECDCA766243AAD6FA1327618FC81BA65DC0F deleted file mode 100644 index b596d82e3..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/20CAECDCA766243AAD6FA1327618FC81BA65DC0F and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/96D5D179016A5A6546973BA63733617EE1F1540D b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/96D5D179016A5A6546973BA63733617EE1F1540D deleted file mode 100644 index 4adc3b7ec..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/96D5D179016A5A6546973BA63733617EE1F1540D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/CF236CF66379EA506F967D21F0E25E87529D9687 b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/CF236CF66379EA506F967D21F0E25E87529D9687 deleted file mode 100644 index 1e4f22777..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/CF236CF66379EA506F967D21F0E25E87529D9687 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 deleted file mode 100644 index fe561ad6a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A7437C35301BDB5349F320B62231615028F397F8/266FCA0265A576548425BDAE15448665EE8BB889 b/spss/handbook/conf/moa-spss/certstore/A7437C35301BDB5349F320B62231615028F397F8/266FCA0265A576548425BDAE15448665EE8BB889 deleted file mode 100644 index 3754de603..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A7437C35301BDB5349F320B62231615028F397F8/266FCA0265A576548425BDAE15448665EE8BB889 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/D4D1370FD1D9EAA46412008FF3E59E114BCF724A b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/D4D1370FD1D9EAA46412008FF3E59E114BCF724A deleted file mode 100644 index 3c7775b6e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/D4D1370FD1D9EAA46412008FF3E59E114BCF724A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A deleted file mode 100644 index b6f39e354..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/E619D25B380B7B13FDA33E8A58CD82D8A88E0515 b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/E619D25B380B7B13FDA33E8A58CD82D8A88E0515 deleted file mode 100644 index f9fef65fc..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/E619D25B380B7B13FDA33E8A58CD82D8A88E0515 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/F825578F8F5484DFB40F81867C392D6CB0012B92 b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/F825578F8F5484DFB40F81867C392D6CB0012B92 deleted file mode 100644 index f9f27442b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/F825578F8F5484DFB40F81867C392D6CB0012B92 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/AAB27F0E98B28AF253454415F6490CB5F43A4B49/A9D28607928FA8615E2615CC9D71B535C5D0D419 b/spss/handbook/conf/moa-spss/certstore/AAB27F0E98B28AF253454415F6490CB5F43A4B49/A9D28607928FA8615E2615CC9D71B535C5D0D419 deleted file mode 100644 index 10a1f7141..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/AAB27F0E98B28AF253454415F6490CB5F43A4B49/A9D28607928FA8615E2615CC9D71B535C5D0D419 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/AC1B67D7D5A300767C0944ACE8458DD49960F1BD/4D523730501ADB80A76B0B473A4D21C7D86F8374 b/spss/handbook/conf/moa-spss/certstore/AC1B67D7D5A300767C0944ACE8458DD49960F1BD/4D523730501ADB80A76B0B473A4D21C7D86F8374 deleted file mode 100644 index 61a7ccb15..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/AC1B67D7D5A300767C0944ACE8458DD49960F1BD/4D523730501ADB80A76B0B473A4D21C7D86F8374 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 b/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 deleted file mode 100644 index 911640d0e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/B1A1ACC805C656EF257C5115509B977964591D7E/8944AF64790FA467C02424CB22523A068C3B72DB b/spss/handbook/conf/moa-spss/certstore/B1A1ACC805C656EF257C5115509B977964591D7E/8944AF64790FA467C02424CB22523A068C3B72DB deleted file mode 100644 index a95605e5a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/B1A1ACC805C656EF257C5115509B977964591D7E/8944AF64790FA467C02424CB22523A068C3B72DB and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/B293710691F553804016FCEC3428ABA1CB11ADF7/36B41A8B411985ED1032DBD85A154207164A9B85 b/spss/handbook/conf/moa-spss/certstore/B293710691F553804016FCEC3428ABA1CB11ADF7/36B41A8B411985ED1032DBD85A154207164A9B85 deleted file mode 100644 index a365a465b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/B293710691F553804016FCEC3428ABA1CB11ADF7/36B41A8B411985ED1032DBD85A154207164A9B85 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/B310CEED301C503EDB15720F94D5D7E76BF423DA/AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 b/spss/handbook/conf/moa-spss/certstore/B310CEED301C503EDB15720F94D5D7E76BF423DA/AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 deleted file mode 100644 index ea3512e3d..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/B310CEED301C503EDB15720F94D5D7E76BF423DA/AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/B3EB7B59ECFF1E25E16C64BB24993D1B20DCFC28/07A6DEED70213CCF598F278789680DA4C04A0331 b/spss/handbook/conf/moa-spss/certstore/B3EB7B59ECFF1E25E16C64BB24993D1B20DCFC28/07A6DEED70213CCF598F278789680DA4C04A0331 deleted file mode 100644 index 46dd968f0..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/B3EB7B59ECFF1E25E16C64BB24993D1B20DCFC28/07A6DEED70213CCF598F278789680DA4C04A0331 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/B749506C821467F7D6F4E8943D07DDED771A7B47/A5A00B223EF24AED92D03F652CFE367CA9D1B200 b/spss/handbook/conf/moa-spss/certstore/B749506C821467F7D6F4E8943D07DDED771A7B47/A5A00B223EF24AED92D03F652CFE367CA9D1B200 deleted file mode 100644 index 05a8b86f9..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/B749506C821467F7D6F4E8943D07DDED771A7B47/A5A00B223EF24AED92D03F652CFE367CA9D1B200 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/B9041947DCD9B7E2B82D72D6A0FF1FBC4B213DC0/BD78039E45BA4E4B13ADECC58124520ACE83B6A7 b/spss/handbook/conf/moa-spss/certstore/B9041947DCD9B7E2B82D72D6A0FF1FBC4B213DC0/BD78039E45BA4E4B13ADECC58124520ACE83B6A7 deleted file mode 100644 index 815f53d95..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/B9041947DCD9B7E2B82D72D6A0FF1FBC4B213DC0/BD78039E45BA4E4B13ADECC58124520ACE83B6A7 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BAA9ADD095E87E0B490B6DD933AA2F450C6B9492/7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 b/spss/handbook/conf/moa-spss/certstore/BAA9ADD095E87E0B490B6DD933AA2F450C6B9492/7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 deleted file mode 100644 index 63ba5cce5..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BAA9ADD095E87E0B490B6DD933AA2F450C6B9492/7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BE47A5DA41A35F740D98305DA8FF4096B71492BE/D1474E7D99512D05B98DD37B3FE86496A03D088D b/spss/handbook/conf/moa-spss/certstore/BE47A5DA41A35F740D98305DA8FF4096B71492BE/D1474E7D99512D05B98DD37B3FE86496A03D088D deleted file mode 100644 index 0bab77032..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BE47A5DA41A35F740D98305DA8FF4096B71492BE/D1474E7D99512D05B98DD37B3FE86496A03D088D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/9766A5ED03482991DA91BB763ECDCD9417394100 b/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/9766A5ED03482991DA91BB763ECDCD9417394100 deleted file mode 100644 index 882753986..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/9766A5ED03482991DA91BB763ECDCD9417394100 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/BB97947C31BBF3364A2909F9876DBD3B87B5B62A b/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/BB97947C31BBF3364A2909F9876DBD3B87B5B62A deleted file mode 100644 index f28aa4b8e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/BB97947C31BBF3364A2909F9876DBD3B87B5B62A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/60B7181FD8BCA00B84961BF31DB08C50376CCF44 b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/60B7181FD8BCA00B84961BF31DB08C50376CCF44 deleted file mode 100644 index 08d7b28e2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/60B7181FD8BCA00B84961BF31DB08C50376CCF44 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/74801529B4E8E5764FFC4D8E6577E1F84E8101CE b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/74801529B4E8E5764FFC4D8E6577E1F84E8101CE deleted file mode 100644 index e47d2b8ba..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/74801529B4E8E5764FFC4D8E6577E1F84E8101CE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/7B7B60B748C82B34EE71A3CEA729C477083F0BDA b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/7B7B60B748C82B34EE71A3CEA729C477083F0BDA deleted file mode 100644 index 5168e1af0..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/7B7B60B748C82B34EE71A3CEA729C477083F0BDA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/EBB80BE34C78814AE659BBA3A2394E4D9857123D b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/EBB80BE34C78814AE659BBA3A2394E4D9857123D deleted file mode 100644 index c5bcc42e2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/EBB80BE34C78814AE659BBA3A2394E4D9857123D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BED4C70D83B5042F4254459064FDEACD43DD1EDF/7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 b/spss/handbook/conf/moa-spss/certstore/BED4C70D83B5042F4254459064FDEACD43DD1EDF/7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 deleted file mode 100644 index 0a8de4bb9..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BED4C70D83B5042F4254459064FDEACD43DD1EDF/7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA b/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA deleted file mode 100644 index ab9e0cd7d..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/51C01567BCB22968EF5A297B7EA84E195594E0E8 b/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/51C01567BCB22968EF5A297B7EA84E195594E0E8 deleted file mode 100644 index 01965769d..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/51C01567BCB22968EF5A297B7EA84E195594E0E8 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C15FFFE6EFAD484909C9EFC6CD5C20435E326685/DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE b/spss/handbook/conf/moa-spss/certstore/C15FFFE6EFAD484909C9EFC6CD5C20435E326685/DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE deleted file mode 100644 index 6428b8256..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C15FFFE6EFAD484909C9EFC6CD5C20435E326685/DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA b/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA deleted file mode 100644 index bc5ed1e62..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/B38C775A18C1195D01658D75FBDA3258B6DF018B b/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/B38C775A18C1195D01658D75FBDA3258B6DF018B deleted file mode 100644 index cb519b7eb..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/B38C775A18C1195D01658D75FBDA3258B6DF018B and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C2A7CAE9E68EB7945828D193CB22CDD246BC7F95/6955D95F6B0799F7D96F4FC28E6E6C64758C1240 b/spss/handbook/conf/moa-spss/certstore/C2A7CAE9E68EB7945828D193CB22CDD246BC7F95/6955D95F6B0799F7D96F4FC28E6E6C64758C1240 deleted file mode 100644 index f11bd6247..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C2A7CAE9E68EB7945828D193CB22CDD246BC7F95/6955D95F6B0799F7D96F4FC28E6E6C64758C1240 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C52E4A04A22D98C70E19F1969AD71C838E4371B3/F96FE4F59166EFA9000B21A16EF22CF14468890C b/spss/handbook/conf/moa-spss/certstore/C52E4A04A22D98C70E19F1969AD71C838E4371B3/F96FE4F59166EFA9000B21A16EF22CF14468890C deleted file mode 100644 index 348257122..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C52E4A04A22D98C70E19F1969AD71C838E4371B3/F96FE4F59166EFA9000B21A16EF22CF14468890C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E b/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E deleted file mode 100644 index b9fe1280c..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/A79681CBDD69EC741214136F128923A574E26F03 b/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/A79681CBDD69EC741214136F128923A574E26F03 deleted file mode 100644 index ea1585a6e..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/A79681CBDD69EC741214136F128923A574E26F03 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C7E1D3604D2A960201D70F29B8A80EDA11475EEB/C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED b/spss/handbook/conf/moa-spss/certstore/C7E1D3604D2A960201D70F29B8A80EDA11475EEB/C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED deleted file mode 100644 index a3f8a7409..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C7E1D3604D2A960201D70F29B8A80EDA11475EEB/C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/C976280EC7FECF169577E31D8CA0BB00967904B1/7666A8BD2C2513DE489C06D08D566F177ECE84AA b/spss/handbook/conf/moa-spss/certstore/C976280EC7FECF169577E31D8CA0BB00967904B1/7666A8BD2C2513DE489C06D08D566F177ECE84AA deleted file mode 100644 index 3c1f2f8a2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/C976280EC7FECF169577E31D8CA0BB00967904B1/7666A8BD2C2513DE489C06D08D566F177ECE84AA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/CABD2EA6CA438084840DCCAE875F341E2D3A2C43/02A0E6456442E35198532ACFFB6FEE3B606D9FA3 b/spss/handbook/conf/moa-spss/certstore/CABD2EA6CA438084840DCCAE875F341E2D3A2C43/02A0E6456442E35198532ACFFB6FEE3B606D9FA3 deleted file mode 100644 index 5026d395f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/CABD2EA6CA438084840DCCAE875F341E2D3A2C43/02A0E6456442E35198532ACFFB6FEE3B606D9FA3 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/CC93161E57C3898635E1D086008BD053F542457F/7D60E314AA6AEF548A614A9354C5068192051A29 b/spss/handbook/conf/moa-spss/certstore/CC93161E57C3898635E1D086008BD053F542457F/7D60E314AA6AEF548A614A9354C5068192051A29 deleted file mode 100644 index afe6fdf09..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/CC93161E57C3898635E1D086008BD053F542457F/7D60E314AA6AEF548A614A9354C5068192051A29 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/CCBA90ED697BA209AB6093FC19FB15B53EE26933/159E42D4A53599389431771D5C936552BB22B084 b/spss/handbook/conf/moa-spss/certstore/CCBA90ED697BA209AB6093FC19FB15B53EE26933/159E42D4A53599389431771D5C936552BB22B084 deleted file mode 100644 index 9a777fd34..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/CCBA90ED697BA209AB6093FC19FB15B53EE26933/159E42D4A53599389431771D5C936552BB22B084 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/CD2D87A57D1568A515128BE9DA8B3CAE7AC007A4/C6658C25AFB8A9D738F2BC591775D167549FFD3A b/spss/handbook/conf/moa-spss/certstore/CD2D87A57D1568A515128BE9DA8B3CAE7AC007A4/C6658C25AFB8A9D738F2BC591775D167549FFD3A deleted file mode 100644 index f6df0f4fd..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/CD2D87A57D1568A515128BE9DA8B3CAE7AC007A4/C6658C25AFB8A9D738F2BC591775D167549FFD3A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/8AB0A3519AFA7F3C04074522678BAA1CB3DC734F b/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/8AB0A3519AFA7F3C04074522678BAA1CB3DC734F deleted file mode 100644 index c34d0f380..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/8AB0A3519AFA7F3C04074522678BAA1CB3DC734F and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/DF47B3040E7632614464BD2EC4ECD1B8030F53E3 b/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/DF47B3040E7632614464BD2EC4ECD1B8030F53E3 deleted file mode 100644 index d894e92ca..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/DF47B3040E7632614464BD2EC4ECD1B8030F53E3 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/E117479B4A41D7F3223FCAE50560B0D57B22217D b/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/E117479B4A41D7F3223FCAE50560B0D57B22217D deleted file mode 100644 index 380486f65..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/E117479B4A41D7F3223FCAE50560B0D57B22217D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/D4D40BD33958CD9169A7AB6304AA2BBAD22DC595/07976A2A16EC182670161B46886B05E1FEAC16B1 b/spss/handbook/conf/moa-spss/certstore/D4D40BD33958CD9169A7AB6304AA2BBAD22DC595/07976A2A16EC182670161B46886B05E1FEAC16B1 deleted file mode 100644 index 22d64fb5f..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/D4D40BD33958CD9169A7AB6304AA2BBAD22DC595/07976A2A16EC182670161B46886B05E1FEAC16B1 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/D708C897515970D33EF7CD0C2474449D3AB6AA83/52ED0FAFBD38A868C678174D7EB03D266ADB221C b/spss/handbook/conf/moa-spss/certstore/D708C897515970D33EF7CD0C2474449D3AB6AA83/52ED0FAFBD38A868C678174D7EB03D266ADB221C deleted file mode 100644 index 42a64da07..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/D708C897515970D33EF7CD0C2474449D3AB6AA83/52ED0FAFBD38A868C678174D7EB03D266ADB221C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/D866A07634012B24DB601087D8B3A9FFEDF5CADB/969A71FDCC5302167A60158828B9E7862DED3B4D b/spss/handbook/conf/moa-spss/certstore/D866A07634012B24DB601087D8B3A9FFEDF5CADB/969A71FDCC5302167A60158828B9E7862DED3B4D deleted file mode 100644 index d17d07619..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/D866A07634012B24DB601087D8B3A9FFEDF5CADB/969A71FDCC5302167A60158828B9E7862DED3B4D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/DD29E76659D18371B78E61E7DF4D4B8FEDCAF8E7/8BA5C0847597612C7E16970EAE55EF58D32E9CF3 b/spss/handbook/conf/moa-spss/certstore/DD29E76659D18371B78E61E7DF4D4B8FEDCAF8E7/8BA5C0847597612C7E16970EAE55EF58D32E9CF3 deleted file mode 100644 index 010c5d5b6..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/DD29E76659D18371B78E61E7DF4D4B8FEDCAF8E7/8BA5C0847597612C7E16970EAE55EF58D32E9CF3 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/18585FC53A283488E4BA84867980E9B1F2B28ADA b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/18585FC53A283488E4BA84867980E9B1F2B28ADA deleted file mode 100644 index d53dce92b..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/18585FC53A283488E4BA84867980E9B1F2B28ADA and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/27337257493B86B9BFF78D569F938D692A430EAE b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/27337257493B86B9BFF78D569F938D692A430EAE deleted file mode 100644 index 5375c57c3..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/27337257493B86B9BFF78D569F938D692A430EAE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/4832F0A28C3724A92F6CB3314F747D0E74FC7344 b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/4832F0A28C3724A92F6CB3314F747D0E74FC7344 deleted file mode 100644 index 7085c5ac9..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/4832F0A28C3724A92F6CB3314F747D0E74FC7344 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/6352302A5072DBFB769D4FF4C70C86432C4C1683 b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/6352302A5072DBFB769D4FF4C70C86432C4C1683 deleted file mode 100644 index 97dc187db..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/6352302A5072DBFB769D4FF4C70C86432C4C1683 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/EE886B907E31667D622677F665F25C54AF9A7F65 b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/EE886B907E31667D622677F665F25C54AF9A7F65 deleted file mode 100644 index ad5d7dea1..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/EE886B907E31667D622677F665F25C54AF9A7F65 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/E47BA33321A8A919414A123C91F5D253766AB078/698563ECEE29232C5304487D972310F86650C3A6 b/spss/handbook/conf/moa-spss/certstore/E47BA33321A8A919414A123C91F5D253766AB078/698563ECEE29232C5304487D972310F86650C3A6 deleted file mode 100644 index ebfbce9a0..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/E47BA33321A8A919414A123C91F5D253766AB078/698563ECEE29232C5304487D972310F86650C3A6 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/E583DB7202A8D1570A18CD11146B0CBCA438F71A/2A5945E1FC2006BE0D59C3375253C9D3327D197D b/spss/handbook/conf/moa-spss/certstore/E583DB7202A8D1570A18CD11146B0CBCA438F71A/2A5945E1FC2006BE0D59C3375253C9D3327D197D deleted file mode 100644 index a6a9acdc3..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/E583DB7202A8D1570A18CD11146B0CBCA438F71A/2A5945E1FC2006BE0D59C3375253C9D3327D197D and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/E6A4C843059A6043B4DC967F9EF892B695990777/B4B77C83465979E3679E3A33F972F48EE3730A18 b/spss/handbook/conf/moa-spss/certstore/E6A4C843059A6043B4DC967F9EF892B695990777/B4B77C83465979E3679E3A33F972F48EE3730A18 deleted file mode 100644 index 6225c0ca7..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/E6A4C843059A6043B4DC967F9EF892B695990777/B4B77C83465979E3679E3A33F972F48EE3730A18 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/EA7E6D37E678C1BCA5060F97DAF09F559DFD04B7/3AAD23B00CA10E54E6368DF7952E3F4B5108B65C b/spss/handbook/conf/moa-spss/certstore/EA7E6D37E678C1BCA5060F97DAF09F559DFD04B7/3AAD23B00CA10E54E6368DF7952E3F4B5108B65C deleted file mode 100644 index a3aa0000d..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/EA7E6D37E678C1BCA5060F97DAF09F559DFD04B7/3AAD23B00CA10E54E6368DF7952E3F4B5108B65C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/EEE6351C5C6EBD8644AB88E7648D44FA07C72A80/14E59C02A6877B0EBD2C4203886BA25959C1D267 b/spss/handbook/conf/moa-spss/certstore/EEE6351C5C6EBD8644AB88E7648D44FA07C72A80/14E59C02A6877B0EBD2C4203886BA25959C1D267 deleted file mode 100644 index 332aa817a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/EEE6351C5C6EBD8644AB88E7648D44FA07C72A80/14E59C02A6877B0EBD2C4203886BA25959C1D267 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F1B84756A1EAB09C171B2783DD163B42A9BD0BBB/ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 b/spss/handbook/conf/moa-spss/certstore/F1B84756A1EAB09C171B2783DD163B42A9BD0BBB/ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 deleted file mode 100644 index 069640ffc..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F1B84756A1EAB09C171B2783DD163B42A9BD0BBB/ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F3DA7C495789E656FA27E611CCAFA05F232ADEA0/F3AE9FEA4DECEE5330770A2520BD86909929E7BE b/spss/handbook/conf/moa-spss/certstore/F3DA7C495789E656FA27E611CCAFA05F232ADEA0/F3AE9FEA4DECEE5330770A2520BD86909929E7BE deleted file mode 100644 index c3fc91352..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F3DA7C495789E656FA27E611CCAFA05F232ADEA0/F3AE9FEA4DECEE5330770A2520BD86909929E7BE and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/16D8270DE51B034E77B7CDAF1DEE623916243DDC b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/16D8270DE51B034E77B7CDAF1DEE623916243DDC deleted file mode 100644 index 87d8b52d4..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/16D8270DE51B034E77B7CDAF1DEE623916243DDC and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 deleted file mode 100644 index 91acd396a..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/40B51EEF4E709FBD47935DDD83A1F640D0CC378A b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/40B51EEF4E709FBD47935DDD83A1F640D0CC378A deleted file mode 100644 index b5f5fa6ca..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/40B51EEF4E709FBD47935DDD83A1F640D0CC378A and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 deleted file mode 100644 index abeb964dd..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F48B57F89BACD8687EBB12223A5B8E5EF3774583/CAF84A42305615AC2C582F6412BDA3E36DAC3D25 b/spss/handbook/conf/moa-spss/certstore/F48B57F89BACD8687EBB12223A5B8E5EF3774583/CAF84A42305615AC2C582F6412BDA3E36DAC3D25 deleted file mode 100644 index 83aeb1fce..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F48B57F89BACD8687EBB12223A5B8E5EF3774583/CAF84A42305615AC2C582F6412BDA3E36DAC3D25 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F613568C1D7A1300B32609998288211959DBDFB0/D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 b/spss/handbook/conf/moa-spss/certstore/F613568C1D7A1300B32609998288211959DBDFB0/D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 deleted file mode 100644 index 5631441a9..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F613568C1D7A1300B32609998288211959DBDFB0/D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/F7D331850EC13D22284909E0FC3493A65FFA7F30/EC988340526163D5B7AC80481B2AC76828EDDC6C b/spss/handbook/conf/moa-spss/certstore/F7D331850EC13D22284909E0FC3493A65FFA7F30/EC988340526163D5B7AC80481B2AC76828EDDC6C deleted file mode 100644 index 585047fa2..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/F7D331850EC13D22284909E0FC3493A65FFA7F30/EC988340526163D5B7AC80481B2AC76828EDDC6C and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/FE51079176B9F46204816CABA94824B3B14A3830/2E66C9841181C08FB1DFABD4FF8D5CC72BE08F02 b/spss/handbook/conf/moa-spss/certstore/FE51079176B9F46204816CABA94824B3B14A3830/2E66C9841181C08FB1DFABD4FF8D5CC72BE08F02 deleted file mode 100644 index b9a0e5a61..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/FE51079176B9F46204816CABA94824B3B14A3830/2E66C9841181C08FB1DFABD4FF8D5CC72BE08F02 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer deleted file mode 100644 index eb051dc4d..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEUzCCAzugAwIBAgIDFE3dMA0GCSqGSIb3DQEBBQUAMIHPMQswCQYDVQQGEwJB -VDGBizCBiAYDVQQKHoGAAEEALQBUAHIAdQBzAHQAIABHAGUAcwAuACAAZgD8AHIA -IABTAGkAYwBoAGUAcgBoAGUAaQB0AHMAcwB5AHMAdABlAG0AZQAgAGkAbQAgAGUA -bABlAGsAdAByAC4AIABEAGEAdABlAG4AdgBlAHIAawBlAGgAcgAgAEcAbQBiAEgx -GDAWBgNVBAsTD0EtVHJ1c3QtUXVhbC0wMTEYMBYGA1UEAxMPQS1UcnVzdC1RdWFs -LTAxMB4XDTE0MDcwMTExMjExNVoXDTI0MDcwMTA5MjExNVowgc8xCzAJBgNVBAYT -AkFUMYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwA -cgAgAFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAA -ZQBsAGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIA -SDEYMBYGA1UECxMPQS1UcnVzdC1RdWFsLTAxMRgwFgYDVQQDEw9BLVRydXN0LVF1 -YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmhgdxIbxTGEOH -fXGiewI3NFldAWKFWfLofO+5I1UbvA5avt7IgsGXz/tI/f5HGUbascI0i7xG0tqV -lA5ctQgLRqxgxHtgTkMcqsAEYdsz3LZsCdXO1QrvEBGLTSABdxiL/gSWJ6z77CSw -x7Xg02HwxPV82cjGkSF3ENGJntuIAAnRDWn/ORHjFatNRymoMbHaOEZXSGhf7Y5F -rrHEqGyi9E6sv784De/T1aTvskn8cWeUmDzv//omiG/a/V9KQex/61XN8OthUQVn -X+u/liL2NKx74I2C/GgHX5B0WkPNqsSOgmlvJ/cKuT0PveUgVFDAA0oYBgcE1KDM -lBbN0kmPAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEs8jB2F -6W+tMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAQIN9LZbMivO9 -kWLDlDI9cTEIPpRXmgNdaBQRUpZc2ML0vDW6OVI90r8GxFQTE/I7HjrvuqQDTEL1 -qd8tthiazsLYI5eDX1CtJEFFtg25Y9t3tK2HsShb8sCj798hoXsOMFR9qhp5Fjb8 -TX4CVuQ3sK1TKeNlDmpAx6SqkYYT0CCMccsxt2j89ED8Z+B/yW19OZQk3BFDigYL -46YsLKAC96ItFpUOs8ZbAUfUlpVA6G+09EMcDxOcuD/ebLx6I/ynwYAtqYXaizsY -KTE35A3M2ghfGFJ+DlQoh3Bn/RG01LKXXgaVTHHMvvpxBp55wz2SocD/PpFe+D6Q -C016YgTrrQ== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer deleted file mode 100644 index be29fb6ac..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyzCCArOgAwIBAgIDFE3kMA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1 -YWwtMDIxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMjAeFw0xNDA3MDExMTIzMzNa -Fw0yNDA3MDEwOTIzMzNaMIGLMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz -dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1YWwtMDIxGDAWBgNVBAMMD0Et -VHJ1c3QtUXVhbC0wMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJaR -q9eOsFm4Ab20Hq2Z/aH86gyWa48uSUjY6eQkguHYuszr3gdcSMYZggFHQgnhfLmf -ro/27l5rqKhWiDhWs+b+yZ1PNDhRPJy+86ycHMg9XJqErveULBSyZDdgjhSwOyrN -ibUir/fkf+4sKzP5jjytTKJXD/uCxY4fAd9TjMEVpN3umpIS0ijpYhclYDHvzzGU -833z5Dwhq5D8bc9jp8YSAHFJ1xzIoO1jmn3jjyjdYPnY5harJtHQL73nDQnfbtTs -5ThT9GQLulrMgLU4WeyAWWWEMWpfVZFMJOUkmoOEer6A8e5fIAeqdxdsC+JVqpZ4 -CAKel/Arrlj1gFA//jsCAwEAAaM2MDQwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E -CgQIQj0rJKbBRc4wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBh -MfOINQm4XpzF6DmkOmb/ArSXHf5LObqFmIMooNr2TkyzrUTK/NE+mdrm15Rfdts7 -kZVq/ICfQSFeaPvWaAVq4plH/26OjvMTVv7DfgfPBUxDWqlCuDnDnPAVQ+yo/o5i -BA5uUlMbp5znbDtlxwF/5gWqcn/hKxSUCP1uiOPIlKfeVvsRmBcJAdoixTM/Ic10 -pavJMGOI20onArvQZAUEbXQLA8cs8naxfF6Bo36U9nk6wn7q8VPXhViekByd17F6 -9A+ah0Iqw4SPf9BqNRIe1YxxjDhCmjWt3aoyE3ZFBuGjW+r2ipb/vGU1+2oyy2Fd -2dMmiMQ7gGhWX9X6gWLd ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer deleted file mode 100644 index e1100c7fc..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyzCCArOgAwIBAgIDFE31MA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1 -YWwtMDMxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMzAeFw0xNDA3MDExMTMwNTZa -Fw0yNDA3MDEwOTMwNTZaMIGLMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz -dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1YWwtMDMxGDAWBgNVBAMMD0Et -VHJ1c3QtUXVhbC0wMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALOe -JIgc0s9AA0hqqqWgK72W9XwKn5+rUJDbQc5WgHkqwP2TU3qcW/NZYSSIY6PVGO6b -hHSEnOyMPdrBhnpvNi4m6349yT6t565LdHcoKyQg/youwpVkEPZ+e8O32hF9nqvt -L4wZohydjMwzcHUJB/5e+0CkJYwv/bVRZzqoK0yf1midYJukxWOw7nDNKD9KdOpZ -+XXFAAZuH7BjwSqqE138y9JlGzkxIlrCeSJdGfFLwr7OHIgBdPEmQXcyOcaMUGjP -U4VDig+gj+6OC5KjAEC+wKJZXiyhRLj+HyLTDLrQ6O8p5HI3Sov4FuwiMgcqIyzz -o9fNyqmnT3K/vBGOqBsCAwEAAaM2MDQwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E -CgQIRgbfN/LCNxAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBy -jA/CmId9oz8sy4rwEklti+8TLS/aLHkiMqUmKjuHyT/6mz4Qh4fLfAAEv8iGSZiW -+7+Gv7HTcuEEdyNNhUmMGJLSQA/3KBjlttHXLiG943wnvcZf3LtkFc+8Ia5N3bNS -BM6q7/OFKHSS+iHcAJ8XS6SnLITYRyfo0thsXBaHpkTUkEP0uJY+yoE/EcBkvsGX -drLIawu8YOrNZvs3S6Ag0ex5brIdqiNtlUGwRxpLwssfBho5K0NqpXAloHT9kHBd -rGb2GrVdLIesuVivSP9zq09M8bcm3jDPCHv5bcudPZVX7rkr79VphgLfKlINA4Fw -VxCuPLXx/4sCfANQtvuY ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer deleted file mode 100644 index b9a0e5a61..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt b/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt deleted file mode 100644 index 9befb53fc..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt +++ /dev/null @@ -1,34 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIDFl+uMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl -c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx -MjE1MTMwMDQ1WhcNMjQxMjA5MTIwMDQ1WjCBlTELMAkGA1UEBhMCQVQxSDBGBgNV -BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry -LiBEYXRlbnZlcmtlaHIgR21iSDEdMBsGA1UECwwUQS1UcnVzdC1UZXN0LVJvb3Qt -MDUxHTAbBgNVBAMMFEEtVHJ1c3QtVGVzdC1Sb290LTA1MIICIDANBgkqhkiG9w0B -AQEFAAOCAg0AMIICCAKCAgEApv3ETyDuseYGvBXgJSiAe7q2dvKtcxlHGlEdEWKv -YUODdXiTIIcwuIU0+F8ybvoQdEVPGDsdzShhXKgMfdGY5WF1BslCgjwcr4h6GWgt -cSkXXFIYVV5GCrac4DhM60EvtXpadi8dNMu7dUKZjqES9UPC6Gc5H6fadauLaV6b -DbNrJufXUditjEbhqj5uX3u4/+nFRH8g1DiQm5RCC3ttVe0/7buJipErVQ9Sbhzk -hkFlzLbph2s2hiEP8NB5tXM3ffxmJ2Yv98+U1Ec0iXvsoGhqRyZVn1huTi+9PJnP -IyPfXDkqWv49E/WeZsaZ48kdVx9xIC6OVYF0GCDsKjsKWN+4xL6/eYvSnyIBij/A -e1T3wkLhp+bDyqxnvDatMlWchfbZxicvzr83c8SGt81RBekwbG/HGPRE4x5DnTkQ -67DTMzMSmW+FAJdZG2Ofsg9+D+v+iqRD310maLABtko3e+xm601FS8d0lDFJVGgG -36IB+ZrUIXmLfOIQjlF/yx566oUmSif3QRgmnSuNtunffXHBbL0qFAiEDwwHg41t -zBiSswKRWa5J/BMIung+6T8gw5kY3c3yJ+pUip4J2oeVa9jZlO/AY7k5BCeGh5Ky -zu22GMQIp9ulIIfUKx8jcnhtDy07UEmaWqv3rVsqKWF9v9B4z2SMiH1oFEgrNAxi -v98CAQOjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEQv+xQJkonQMA4G -A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEASO7M8elac5VTP+FjuL1S -nS72NaIP/RGYmw6967irlG5qQ0cGmCZO5J8SsL7xc3BMofMQMbrsGEryO1F4Y95B -o419IzqPb8sYHlx1Du+F2D01qXBmGP/NcqQIo9twLa+man16l7SFF/iNof2axigM -TUcWzqHUxtSjCPoU44qTsi8vVuQKRP8gMGlVCty0joc0gEW8PqKiMaKxI+tglVA6 -czwvPXfk9pJkL3hhDg/p59iKJTkEKIDtvugrZ4ZqOCBL5xv1Tar3BMBAKSfl/YoQ -/p6ATGlKkjSbMyU7vUGxXldNALHkezxFufuDZEF/erp3hCVADbQMKgyM7Diu6cKB -0s4+POeTQoSQ2dnMQJdgAfeGcd3twy2s/M/xHAVGPAPIQWH7ppVcs6AbVXQabHxJ -YZU7G2ct8Se0r8RLq+iRYrWhFKl8mmVBNwK2WJhjWPv2fqM1xYtbbwH6zoV/Sf8j -uIbx/5A/MJo/4s/9ciafJLVzLvkOh6Bhf310TAxyB9mDiL00KAuVTDtwYfzo1+jw -0bInpPqTCkgszn0LbajeaEIc7lQ7neY0gmMqDvnhA+5LyHJXuX5tDF+1/KDijlLs -p/k1/YZfe1Ai1+gcRoAlp2O80tKaJWZPkf8POffyIkSxJbHlKF6r3TWs7JYr+YUi -lm2dyCqZ9RUD5ZN2YRntJoo= ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer deleted file mode 100644 index e90f5f2a6..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDXTCCAkWgAwIBAgIDFE3DMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNVBAYTAkFU -MRAwDgYDVQQKEwdBLVRydXN0MRkwFwYDVQQLExBBLVRydXN0LW5RdWFsLTAxMRkw -FwYDVQQDExBBLVRydXN0LW5RdWFsLTAxMB4XDTE0MDcwMTExMDk1NFoXDTI0MDcw -MTA5MDk1NFowVTELMAkGA1UEBhMCQVQxEDAOBgNVBAoTB0EtVHJ1c3QxGTAXBgNV -BAsTEEEtVHJ1c3QtblF1YWwtMDExGTAXBgNVBAMTEEEtVHJ1c3QtblF1YWwtMDEw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD/9RyAEZ6eHmhYzNJ328f0 -jmdSUFi6EqRqOxb3jHNPTIpK82CR6z5lmSnZQNUuCPD+htbNZffd2DKVB06NOyZ1 -2zcOMCgj4GtkZoqE0zPpPT3bpoE55nkZZe/qWEX/64wz/L/4EdkvKDSKG/UsP75M -tmCVY5m2Eg73RVFRz4ccBIMpHel4lzEqSkdDtZOY5fnkrE333hx67nxq21vY8Eyf -8O4fPQ5RtN8eohQCcPQ1z6ypU1R7N9jPRpnI+yzMOiwd3+QcKhHi1miCzo0pkOaB -1CwmfsTyNl8qU0NJUL9Ta6cea7WThwTiWol2yD88cd2cy388xpbNkfrCPmZNGLoV -AgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECE5ZzscCMocwMA4G -A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAO3hBdwsNQOtYOAlC2PKT -sdNexKqMefFGrGDYIEAflaudwpcqUgv7fLLhMNRMT+BcXtqXtfNHGsll2GwseuMq -C02bPUmbfNV4P9djIz/s6qqvNQaQneFzhuXn+i0YQ10sFFVeIL3qrBMl1lwBeQ64 -/GyvrbGiHuuagEUc25CDrUqni+b+azaPUsRG6IXkIWG0H6WIMqtxIdHzAV/1raKh -PKot1VhG2rivf1cBBGXU/0VSYBitXrLNwXwlX2ad0WiFHUF8RS9F3j2vVSYMfxer -NPNaRLtCkHNSqCIDkMmmHJKbJbKJzMaZYmX2i2nc16HCpE/gbQc3etQCl3GvzO88 -xw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer deleted file mode 100644 index 2284687bb..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDFLT5MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTE0MDcyMzEwMzgy -OVoXDTI1MDcyMzA4MzgyOVowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM -EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj -lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ -znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH -2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1 -k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs -2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD -VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAEoykPeAA/6iKm6YnfxsSHFe+Dtian2yAH8L2TqMdcHeSB/7L1x73uuDeYku1 -hbKQAXnfXntf8R+VgjQBTww0aDb5164netYcFbK0g8uVWVCqOl8wf3JbAUxHS9br -cFKks+CJKPr6qQ6H+sb1o9127c9IQSZYP3S/gMAaGw0cSTlsnosE0P5Ur5vHsapm -FV3V+VOjYNs2GLSu4XQCYvSIpsfDJp8VsJ/BMYS9GqGvQ/9qGa0fwEbEMadb5mcJ -tw/EKg4gJthMgxOfO5eVuCQ3PAEWOe5lrOrTdvTIlhphUuns5hoIdlyLuNqewK3s -FJ6N46sU7LjJLqSKYEB8usoIiw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer deleted file mode 100644 index 1bb449441..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-Test-Sig-02.20141124-20241118.SerNo3969edc1.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer deleted file mode 100644 index 6c0c042b4..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-SSL-03.20140723-20240723.SerNo14b4fd.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-SSL-03.20140723-20240723.SerNo14b4fd.cer deleted file mode 100644 index 04627da98..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-SSL-03.20140723-20240723.SerNo14b4fd.cer +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEdzCCA1+gAwIBAgIDFLT9MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTE0MDcyMzEwNDIw -NVoXDTI0MDcyMzA4NDIwNVowgYcxCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxFjAUBgNVBAsMDWEtc2lnbi1TU0wtMDMxFjAUBgNVBAMMDWEt -c2lnbi1TU0wtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMjPM6 -PqgdPBPV4Efudpytt2Y4GZJfjeRdZo5SCuULDvvL+23xxBWnR3scFvfE1ekHN/YK -k+2/qhU2B2ntoSNJSyDchNM8YPc9Lx67zZyhQTZgbBzh3IZAVb/hwuRRRV68JCBj -r3r6v7IbwjH5XcVISdB4szx0z93aAQyKW9QkV+tD5a1vWFETvdHsZeVmDzfqcdsG -AznPJw+9HrImCsswCWYUgPcFRkPNjj2r2NoyckVN781aWmNTAqJPf/Ckj9l9pUIt -Vjhy8XNJW4iVDBkkykBXcGSkIau0ypJrRjsD1jKqUTIRZ/y2HlyltmwWi8OuyBLd -LaHDbjc0b6JmqoivAgMBAAGjgeMwgeAwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E -CgQIQD6h02K0A90wEwYDVR0jBAwwCoAIRGqVZ1V5EU8wDgYDVR0PAQH/BAQDAgEG -MIGUBgNVHR8EgYwwgYkwgYaggYOggYCGfmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQv -b3U9QS1UcnVzdC1uUXVhbC0wMyxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJl -dm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0Y2xhc3M9ZWlkQ2VydGlmaWNhdGlvbkF1 -dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAbHQvTl94ommGFln3s6wmd/tr6r5R -3FR3A7O/uiGEAqm/7B84KGkTmKHhChGMiCiMcBSGtMx1IaO+t7gimLtRL57wgeIf -k6nsgcbBioh0nO12XDagdtj75Dr7buEFyQvFdfydi5cAwScLW+YYxtwDni9/debd -ypFKeCRxdCX12n0oFQDPJf8YvE4CaDitBJCQrZdJBDpB6muF8mpNq8CIuyTPIBZX -RPKJNfIraKq/Xi7tuLkvWVGVsSqJeTvP++05Tvv/44+XBpCp3sUrjsb0G0Mj90PG -SnAapsrgzDzLO/LQ8vrB9H2oRM4iYfUxu/dKSOBVXa3WQzsLBL0/9zZ30g== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt deleted file mode 100644 index ee17cdb80..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt +++ /dev/null @@ -1,36 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGQTCCBCmgAwIBAgIDFl+4MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl -c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx -MjE1MTMxMDE5WhcNMjQxMjA5MTIxMDE5WjCBoTELMAkGA1UEBhMCQVQxSDBGBgNV -BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry -LiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaYS1zaWduLVRlc3QtUHJlbWl1 -bS1TaWctMDUxIzAhBgNVBAMMGmEtc2lnbi1UZXN0LVByZW1pdW0tU2lnLTA1MIIC -IDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAq9PRwApA35K3LT0p5IYtNZMS -BFJsIkzjgF4FRQ36PtxeNsPL6iPgfFjWLZzVT1arHrC6ciz97haDWEN5Jq+aVaZp -gvFtvqZXlwYOWP0sshQg1aP7zrfH/N6yqjkrXHyzgmSz3SVIbdj5CqUJz/+94FCR -cA8XkQ3WZAjSkRB+MSIY8umftkmJOVAstaG28OEtpmqwBLRh/QGcNZzfhyrPS2Ls -5BAKQW9SBb1nXn8JOHq0Bd8zHShHbny9X/qT0xqeFfwItZWiW7iu3LgbGqfB3J4d -s+9iecwHDsmYdSb2quGmzJXejmvktFZte9dlF7BuBqier+R3/czdLteRems5S9Ka -hlP3+f3CnFwKihyVMhnuf5HyhCo1Fvrt+igWtNnos38qzB5RzRTJXnvZyrtTJMQE -/8ZuV2B12Oaf0AQjt+o/SPKeaTBX2yes0S1xbQy7xJzNhgBJ2Ir3OI6SoOooVN+9 -kQuzD7NsJBJzIy4dHCvOgs0C1ro8DROaV3Usn58eYOkLDrPGpEBmFq7GnsxnbeEh -5zzlgh00R9cy5PxiO40U+KxnTmQl+/vc9i1plDLsTRePeThKgS0UOIRZP7voYKdu -IJaEzufNXUxZbCc9Mq3V552BmRPhL9Ouf/bfaVMmkY4p7BdU57stxDfVwG9biujj -AVPA7DeRm+S0kzWRq0kCAQOjgY0wgYowPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDov -L2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVRlc3QtUm9vdC0wNTATBgNVHSME -DDAKgAhEL/sUCZKJ0DAPBgNVHRMBAf8EBTADAQH/MBEGA1UdDgQKBAhB0SNOEjM1 -3jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAEiqm52uEL2giMCy -8i1tIbqKP3SeJnYxhJgN4d3caWqfE1CoEUQjsN8t7sF866TOYJMrQ+/dS8bUqNiG -x4vvPrDq3DUSyKflgPaz+36xtB4BTlIiYTzio7Tnv+d5n+MsM6c/rijJzRx38FLM -tZTAfr7dXv5KxrfYrrEnPrGg0gMlYqX3rB1TKQnPx5qG3e2YXc6tdvDeXhh9cXj3 -76VJony7iV0ccKWNXRRNx1X0po/Luu6EMD/5czArtmO0KmGXO3gK3Fy7pxUbdBra -nSJNsY+Fv4X3zqf5n9ZM4Yut7KSqBiQbuMmIzLZkICJOWN5t9mOTStgmZjGqBdQN -sRuVinaLxA88Fd32ZmFxbagOLeKEXPTQT/ERbDOjhShY6jA2/LkIcg9mwDDOubsp -FcZaYlyXmvD+HNVxL5B4BGDWoGHmCxaj+bcYP4U797bpE90sTnMIQd6JoYEMQSIy -Re0S4jKIOkCqBDkPBIXZf/IizTvJiQoFUtT7civFYhcUHDOcWs69NUU3F6sEBZmq -C1uIRm7zD6FUPNpVcfVIeqcfWsnx5bSKwheh9Dk/A3eTmxjpodV4tIq6BfCLdq52 -85dumPB4zz/EmCuZ0hwy9/TJwaogVMqicvr1/pQXDM7T6fCM0vK9w/e4ejmX61TK -6MsTXFjxlwpIacl4fkAxk6L22xfB ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer deleted file mode 100644 index 60bc9a557..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT -VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx -NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK -DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g -RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx -HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B -kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV -HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8 -fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK -shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61 -0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB -/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq -hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ -IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g -zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc -d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh -eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq -/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer deleted file mode 100644 index e4bd48dac..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-corporate-light-02.20140905-20240905.SerNo153B49.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer deleted file mode 100644 index 74c4ce3b8..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer deleted file mode 100644 index 6c50ec079..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt b/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt deleted file mode 100644 index 9ea6d0c1c..000000000 --- a/spss/handbook/conf/moa-spss/certstore/toBeAdded/a-sign-test-premium-Enc-05.20141215-20141209.SerNo165fb7.crt +++ /dev/null @@ -1,36 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGQTCCBCmgAwIBAgIDFl+3MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl -c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx -MjE1MTMwOTAwWhcNMjQxMjA5MTIwOTAwWjCBoTELMAkGA1UEBhMCQVQxSDBGBgNV -BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry -LiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaYS1zaWduLVRlc3QtUHJlbWl1 -bS1FbmMtMDUxIzAhBgNVBAMMGmEtc2lnbi1UZXN0LVByZW1pdW0tRW5jLTA1MIIC -IDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEA2YDEweWMfTpWbHjFwzPl5tri -jaL4tmhuHQzuSAEO080+m5Dc38Rj5xHf1MNCxvAx18+3A+b0WDDhtdJh+SXVxAQq -/VhnaOFcdlvun0/4+l4Xynf6xd0r8WfQgnTAER4iFzGoWnOFQZqF3JGsx0mxd5Ss -6kbs+4Gd/FmdAD09qTb+e3FtQC9aszVb5j57LB14Ka+iVXMEFq6J1uvvdjIcwbeL -7gOGOLzn9dArFT4bfMIE/gBOJnY3Ulp16jOMGb2sY+9u9rGJ84jSpYKEsL+RBoJr -23O5rfdrVi/+fWC0QaDqwhI46lLr9Erkk7NjEeElZ+Tj2A5KK4K0FNvzAIqxki1Z -/MQcBfknbq9jxUZs4zUl9QA7ufCqmFhi4qQxycEfUEXsTFlya2IgWqavA1OFZ7Ww -tJQOR/EQUvtH/fIE7nompnxzWxi1iAvVkv0OEsAYVRd9ldviLl9wLzpQoOPvwc/B -kRLvriWH/Bjyc8+SeAfK92ZRHh+a1HBsX7XKuZwKJ/pVKF4EtalbZXlSuQau/Mc0 -ImS49AL/GjfShp/IhGHfBQbTjR3vhZfakG6wvSFnGaRt2ohxMHb0fSK7xNrDpfNV -Orloh77ry44C4jjQIairRW1l4CLilbitKpHO4VtZ443w25fud2FapvdesoUfHogV -KTce4dGvW3jrN7/8TRUCAQOjgY0wgYowPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDov -L2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVRlc3QtUm9vdC0wNTATBgNVHSME -DDAKgAhEL/sUCZKJ0DAPBgNVHRMBAf8EBTADAQH/MBEGA1UdDgQKBAhH2pAliBnO -GzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBADDqJFkkBD6tUmiu -L45YlXWKogD5eUfM+xnNVdg60M4HXHksVGT49CiY1vWzuLwUD3CXQ1W7yBKnLB5b -GcoaHNgZDhNskYJCZu9K0g8oqNEN3Hb2QoKqyCaOlKV0dXILq/3SbdcXvUkUPS9K -nWkX48tVMcw3OAmRYKwBK6tkUBwVw0VJ49sT+9qgPGCb8HYafSjCTnb3kdKGYK7a -0E6eVBjYf6WcMfvCIYma5Zi4fx7U0K6RN8xJvhRHAZK3uJphk1QciAIxViFIPnex -htgywJNHRautIsDbRGwdDVOUB6VdCFF19HnO9C4p2+pggCi9nT/I4CklZGZ5Q0VB -j9knsSFXYMY9QFGm3feiVIXAy2Pp7IMB21KNZKgqCLQRgANNdvkWwO97lcxpmocS -/p9LIEYDpa9tIvBrTiK39hUixeQaMhvlrSN3H49NqoxsStv8UEvSbjLJAuOcK1oV -+IWA8RbBwippM45729X7nGdPUbxys+rn7F04WNe+oQN96hKX4VJ6OCANz1bca6LV -sPtkFej+SLbpALVH3YvP4ct1UQms3UnuN9m1A0ceB4u4KroHBHlSGLB6K3UI3E42 -cYVaGrbflSvwwXxCHUvrCeL+eNKgI2Vyt29aHVJO0OMAS03Eb1PcygeNU4h6t+CS -UBU+/OTtSQGrLe+kMKP6uBO/cMhv ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crt b/spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crt deleted file mode 100644 index ebfbce9a0..000000000 Binary files a/spss/handbook/conf/moa-spss/certstore/toBeAdded/atrust_OCSP_Responder_03-1.crt and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.cer b/spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.cer deleted file mode 100644 index ad989001a..000000000 Binary files a/spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden[pwd=allekunden].p12 b/spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden[pwd=allekunden].p12 deleted file mode 100644 index 9c6669eba..000000000 Binary files a/spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden[pwd=allekunden].p12 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.cer b/spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.cer deleted file mode 100644 index 65e33329e..000000000 Binary files a/spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1[pwd=kunde1].p12 b/spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1[pwd=kunde1].p12 deleted file mode 100644 index b751263a8..000000000 Binary files a/spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1[pwd=kunde1].p12 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.cer b/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.cer deleted file mode 100644 index a3ebd91f7..000000000 Binary files a/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12 b/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12 deleted file mode 100644 index 28e703d33..000000000 Binary files a/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/log4j.properties b/spss/handbook/conf/moa-spss/log4j.properties deleted file mode 100644 index 023cdc0a3..000000000 --- a/spss/handbook/conf/moa-spss/log4j.properties +++ /dev/null @@ -1,38 +0,0 @@ -# -# Sample log4j configuration for the MOA-SPSS web service -# - -# commons-logging setup -org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory - -# Configure root logger and loggers for moa-spss -log4j.rootLogger=info, stdout -log4j.logger.at.gv.egovernment.moa.spss.server=info, moaspss -log4j.logger.at.gv.egovernment.moa.spss=warn, moaspss -log4j.logger.iaik.server=warn, moaspss - -# Configure the 'stdout' appender to write logging output to the console -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n - -# Configure the 'moaspss' appender to write moa-spss related logging output -# to the file '${catalina.base}/logs/moa-spss.log'. The file is rolled over every 1000KB, -# and a maximum history of 10 log files is being kept. -log4j.appender.moaspss=org.apache.log4j.RollingFileAppender -log4j.appender.moaspss.File=${catalina.base}/logs/moa-spss.log -log4j.appender.moaspss.MaxFileSize=1000KB -log4j.appender.moaspss.MaxBackupIndex=10 -log4j.appender.moaspss.layout=org.apache.log4j.PatternLayout -log4j.appender.moaspss.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n - -# Configure the jdbc appender 'JDBC' to write logging output -# to the given PostgreSQL database -# a suitable table called 'spss_log' must have been created in the -# database using the command: -# create table spss_log (log_time timestamp, log_level char(5), log_msg text) -#log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender -#log4j.appender.JDBC.driver=org.postgresql.Driver -#log4j.appender.JDBC.URL=jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest -#log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout -#log4j.appender.JDBC.sql=INSERT INTO spss_log (log_time, log_level, log_msg) VALUES ('%d{ yyyy-MM-dd HH:mm:ss.SSS}', '%5p', '%m') diff --git a/spss/handbook/conf/moa-spss/sp.minimum.config.xml b/spss/handbook/conf/moa-spss/sp.minimum.config.xml deleted file mode 100644 index 96f0cf4d5..000000000 --- a/spss/handbook/conf/moa-spss/sp.minimum.config.xml +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - - - - - - - - - - - true - true - - - certstore - - - - - - pkix - - - Test-Signaturdienste - trustProfiles/test - - - - true - 0 - - CRL - OCSP - - - false - 365 - - - jdbc:url - fully.qualified.classname - - - - - - CN=A-Trust-Qual-01,OU=A-Trust-Qual-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-02,OU=A-Trust-Qual-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-03,OU=A-Trust-Qual-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-04,OU=A-Trust-Qual-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-02,OU=a-sign-Premium-Sig-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-03,OU=a-sign-Premium-Sig-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-04,OU=a-sign-Premium-Sig-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-premium-mobile-04,OU=a-sign-premium-mobile-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - E=a-cert@a-cert.at,CN=A-CERT GOVERNMENT,O=ARGE DATEN - Österreichische Gesellschaft für Datenschutz,L=Wien,S=Wien,C=AT - 12775 - - - - - - diff --git a/spss/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml b/spss/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml deleted file mode 100644 index 8d7541b73..000000000 --- a/spss/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - true - true - - - certstore - - - - - - pkix - - - Test-Signaturdienste - trustProfiles/test - - - Test-TSLProfil - trustProfiles/testTSL - - - - - - - - - - true - 0 - - CRL - OCSP - - - false - 365 - - - jdbc:url - fully.qualified.classname - - - - - - CN=A-Trust-Qual-01,OU=A-Trust-Qual-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-02,OU=A-Trust-Qual-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-03,OU=A-Trust-Qual-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-04,OU=A-Trust-Qual-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-02,OU=a-sign-Premium-Sig-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-03,OU=a-sign-Premium-Sig-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-04,OU=a-sign-Premium-Sig-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-premium-mobile-04,OU=a-sign-premium-mobile-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - E=a-cert@a-cert.at,CN=A-CERT GOVERNMENT,O=ARGE DATEN - Österreichische Gesellschaft für Datenschutz,L=Wien,S=Wien,C=AT - 12775 - - - - - - - - - diff --git a/spss/handbook/conf/moa-spss/spss.config.xml b/spss/handbook/conf/moa-spss/spss.config.xml deleted file mode 100644 index 222546b00..000000000 --- a/spss/handbook/conf/moa-spss/spss.config.xml +++ /dev/null @@ -1,221 +0,0 @@ - - - - - - - - - - - - - - - - - SKM_Kunde1 - keys/customer1/moa-signaturdienst-kunde1[pwd=kunde1].p12 - kunde1 - - - SKM_Kunde2 - keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12 - kunde2 - - - SKM_allgemein - keys/common/moa-signaturdienst-allekunden[pwd=allekunden].p12 - allekunden - - - - KG_Kunde1 - - SKM_Kunde1 - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 547500611579119 - - - - - KG_Kunde2 - - SKM_Kunde2 - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 820993612901355 - - - - - KG_allgemein - - SKM_allgemein - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 109587558428710 - - - - - KG_allgemein - - - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 738201464765280 - - KG_Kunde1 - - - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 476148056604200 - - KG_Kunde2 - - - http://www.w3.org/TR/2001/REC-xml-c14n-20010315 - http://www.w3.org/2000/09/xmldsig#sha512 - - - 1.4.2 - - - - - - true - true - - - certstore - - - - - - pkix - - - CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT - 536 - - chaining - - - - Test-Signaturdienste - trustProfiles/test - - - CertifiedSignature - trustProfiles/certifiedSignature - - - CertifiedSignature+Test - trustProfiles/certifiedSignature+Test - - - SecureSignature - trustProfiles/secureSignature - - - SecureSignature-Qual-Only - trustProfiles/secureSignature-qual-only - - - SecureSignature+Test - trustProfiles/secureSignature+Test - - - IdentityLink - trustProfiles/identityLink - - - IdentityLink+Test - trustProfiles/identityLink+Test - - - - true - 0 - - CRL - OCSP - - - false - 365 - - - jdbc:url - fully.qualified.classname - - - - - - CN=A-Trust-Qual-01,OU=A-Trust-Qual-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-02,OU=A-Trust-Qual-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-03,OU=A-Trust-Qual-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=A-Trust-Qual-04,OU=A-Trust-Qual-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-02,OU=a-sign-Premium-Sig-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-03,OU=a-sign-Premium-Sig-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-Premium-Sig-04,OU=a-sign-Premium-Sig-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - CN=a-sign-premium-mobile-04,OU=a-sign-premium-mobile-04,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT - 12775 - - - E=a-cert@a-cert.at,CN=A-CERT GOVERNMENT,O=ARGE DATEN - Österreichische Gesellschaft für Datenschutz,L=Wien,S=Wien,C=AT - 12775 - - - - - false - - diff --git a/spss/handbook/conf/moa-spss/ss.minimum.config.xml b/spss/handbook/conf/moa-spss/ss.minimum.config.xml deleted file mode 100644 index 7bbc924c1..000000000 --- a/spss/handbook/conf/moa-spss/ss.minimum.config.xml +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - SKM_Kunde1 - keys/customer1/moa-signaturdienst-kunde1[pwd=kunde1].p12 - kunde1 - - - SKM_Kunde2 - keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12 - kunde2 - - - SKM_allgemein - keys/common/moa-signaturdienst-allekunden[pwd=allekunden].p12 - allekunden - - - - KG_Kunde1 - - SKM_Kunde1 - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 547500611579119 - - - - - KG_Kunde2 - - SKM_Kunde2 - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 820993612901355 - - - - - KG_allgemein - - SKM_allgemein - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 109587558428710 - - - - - KG_allgemein - - - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 738201464765280 - - KG_Kunde1 - - - - C=AT,O=IAIK,CN=IAIK Test Intermediate CA - 476148056604200 - - KG_Kunde2 - - - http://www.w3.org/TR/2001/REC-xml-c14n-20010315 - http://www.w3.org/2000/09/xmldsig#sha512 - - - 1.4.2 - - - diff --git a/spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der b/spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der deleted file mode 100644 index e0f78a82c..000000000 Binary files a/spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server[pwd=server].p12 b/spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server[pwd=server].p12 deleted file mode 100644 index f012d584e..000000000 Binary files a/spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server[pwd=server].p12 and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/sslKeys/tomcat/tomcat[pwd=server].keystore b/spss/handbook/conf/moa-spss/sslKeys/tomcat/tomcat[pwd=server].keystore deleted file mode 100644 index da42549d4..000000000 Binary files a/spss/handbook/conf/moa-spss/sslKeys/tomcat/tomcat[pwd=server].keystore and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/sslKeys/tomcat/trustedClients[pwd=clients].keystore b/spss/handbook/conf/moa-spss/sslKeys/tomcat/trustedClients[pwd=clients].keystore deleted file mode 100644 index bdc296cf4..000000000 Binary files a/spss/handbook/conf/moa-spss/sslKeys/tomcat/trustedClients[pwd=clients].keystore and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer deleted file mode 100644 index b9a0e5a61..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cer deleted file mode 100644 index d71177a4e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Qual-02.20141124-20141118.SerNo3969edbf.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt deleted file mode 100644 index 9befb53fc..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt +++ /dev/null @@ -1,34 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIDFl+uMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl -c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx -MjE1MTMwMDQ1WhcNMjQxMjA5MTIwMDQ1WjCBlTELMAkGA1UEBhMCQVQxSDBGBgNV -BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry -LiBEYXRlbnZlcmtlaHIgR21iSDEdMBsGA1UECwwUQS1UcnVzdC1UZXN0LVJvb3Qt -MDUxHTAbBgNVBAMMFEEtVHJ1c3QtVGVzdC1Sb290LTA1MIICIDANBgkqhkiG9w0B -AQEFAAOCAg0AMIICCAKCAgEApv3ETyDuseYGvBXgJSiAe7q2dvKtcxlHGlEdEWKv -YUODdXiTIIcwuIU0+F8ybvoQdEVPGDsdzShhXKgMfdGY5WF1BslCgjwcr4h6GWgt -cSkXXFIYVV5GCrac4DhM60EvtXpadi8dNMu7dUKZjqES9UPC6Gc5H6fadauLaV6b -DbNrJufXUditjEbhqj5uX3u4/+nFRH8g1DiQm5RCC3ttVe0/7buJipErVQ9Sbhzk -hkFlzLbph2s2hiEP8NB5tXM3ffxmJ2Yv98+U1Ec0iXvsoGhqRyZVn1huTi+9PJnP -IyPfXDkqWv49E/WeZsaZ48kdVx9xIC6OVYF0GCDsKjsKWN+4xL6/eYvSnyIBij/A -e1T3wkLhp+bDyqxnvDatMlWchfbZxicvzr83c8SGt81RBekwbG/HGPRE4x5DnTkQ -67DTMzMSmW+FAJdZG2Ofsg9+D+v+iqRD310maLABtko3e+xm601FS8d0lDFJVGgG -36IB+ZrUIXmLfOIQjlF/yx566oUmSif3QRgmnSuNtunffXHBbL0qFAiEDwwHg41t -zBiSswKRWa5J/BMIung+6T8gw5kY3c3yJ+pUip4J2oeVa9jZlO/AY7k5BCeGh5Ky -zu22GMQIp9ulIIfUKx8jcnhtDy07UEmaWqv3rVsqKWF9v9B4z2SMiH1oFEgrNAxi -v98CAQOjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEQv+xQJkonQMA4G -A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEASO7M8elac5VTP+FjuL1S -nS72NaIP/RGYmw6967irlG5qQ0cGmCZO5J8SsL7xc3BMofMQMbrsGEryO1F4Y95B -o419IzqPb8sYHlx1Du+F2D01qXBmGP/NcqQIo9twLa+man16l7SFF/iNof2axigM -TUcWzqHUxtSjCPoU44qTsi8vVuQKRP8gMGlVCty0joc0gEW8PqKiMaKxI+tglVA6 -czwvPXfk9pJkL3hhDg/p59iKJTkEKIDtvugrZ4ZqOCBL5xv1Tar3BMBAKSfl/YoQ -/p6ATGlKkjSbMyU7vUGxXldNALHkezxFufuDZEF/erp3hCVADbQMKgyM7Diu6cKB -0s4+POeTQoSQ2dnMQJdgAfeGcd3twy2s/M/xHAVGPAPIQWH7ppVcs6AbVXQabHxJ -YZU7G2ct8Se0r8RLq+iRYrWhFKl8mmVBNwK2WJhjWPv2fqM1xYtbbwH6zoV/Sf8j -uIbx/5A/MJo/4s/9ciafJLVzLvkOh6Bhf310TAxyB9mDiL00KAuVTDtwYfzo1+jw -0bInpPqTCkgszn0LbajeaEIc7lQ7neY0gmMqDvnhA+5LyHJXuX5tDF+1/KDijlLs -p/k1/YZfe1Ai1+gcRoAlp2O80tKaJWZPkf8POffyIkSxJbHlKF6r3TWs7JYr+YUi -lm2dyCqZ9RUD5ZN2YRntJoo= ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer deleted file mode 100644 index e90f5f2a6..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDXTCCAkWgAwIBAgIDFE3DMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNVBAYTAkFU -MRAwDgYDVQQKEwdBLVRydXN0MRkwFwYDVQQLExBBLVRydXN0LW5RdWFsLTAxMRkw -FwYDVQQDExBBLVRydXN0LW5RdWFsLTAxMB4XDTE0MDcwMTExMDk1NFoXDTI0MDcw -MTA5MDk1NFowVTELMAkGA1UEBhMCQVQxEDAOBgNVBAoTB0EtVHJ1c3QxGTAXBgNV -BAsTEEEtVHJ1c3QtblF1YWwtMDExGTAXBgNVBAMTEEEtVHJ1c3QtblF1YWwtMDEw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD/9RyAEZ6eHmhYzNJ328f0 -jmdSUFi6EqRqOxb3jHNPTIpK82CR6z5lmSnZQNUuCPD+htbNZffd2DKVB06NOyZ1 -2zcOMCgj4GtkZoqE0zPpPT3bpoE55nkZZe/qWEX/64wz/L/4EdkvKDSKG/UsP75M -tmCVY5m2Eg73RVFRz4ccBIMpHel4lzEqSkdDtZOY5fnkrE333hx67nxq21vY8Eyf -8O4fPQ5RtN8eohQCcPQ1z6ypU1R7N9jPRpnI+yzMOiwd3+QcKhHi1miCzo0pkOaB -1CwmfsTyNl8qU0NJUL9Ta6cea7WThwTiWol2yD88cd2cy388xpbNkfrCPmZNGLoV -AgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECE5ZzscCMocwMA4G -A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAO3hBdwsNQOtYOAlC2PKT -sdNexKqMefFGrGDYIEAflaudwpcqUgv7fLLhMNRMT+BcXtqXtfNHGsll2GwseuMq -C02bPUmbfNV4P9djIz/s6qqvNQaQneFzhuXn+i0YQ10sFFVeIL3qrBMl1lwBeQ64 -/GyvrbGiHuuagEUc25CDrUqni+b+azaPUsRG6IXkIWG0H6WIMqtxIdHzAV/1raKh -PKot1VhG2rivf1cBBGXU/0VSYBitXrLNwXwlX2ad0WiFHUF8RS9F3j2vVSYMfxer -NPNaRLtCkHNSqCIDkMmmHJKbJbKJzMaZYmX2i2nc16HCpE/gbQc3etQCl3GvzO88 -xw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer deleted file mode 100644 index 8c434777e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer deleted file mode 100644 index 8d33015f9..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer deleted file mode 100644 index efa28178e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer deleted file mode 100644 index 2284687bb..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDFLT5MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTE0MDcyMzEwMzgy -OVoXDTI1MDcyMzA4MzgyOVowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM -EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj -lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ -znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH -2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1 -k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs -2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD -VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAEoykPeAA/6iKm6YnfxsSHFe+Dtian2yAH8L2TqMdcHeSB/7L1x73uuDeYku1 -hbKQAXnfXntf8R+VgjQBTww0aDb5164netYcFbK0g8uVWVCqOl8wf3JbAUxHS9br -cFKks+CJKPr6qQ6H+sb1o9127c9IQSZYP3S/gMAaGw0cSTlsnosE0P5Ur5vHsapm -FV3V+VOjYNs2GLSu4XQCYvSIpsfDJp8VsJ/BMYS9GqGvQ/9qGa0fwEbEMadb5mcJ -tw/EKg4gJthMgxOfO5eVuCQ3PAEWOe5lrOrTdvTIlhphUuns5hoIdlyLuNqewK3s -FJ6N46sU7LjJLqSKYEB8usoIiw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer deleted file mode 100644 index 167c36411..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer deleted file mode 100644 index b7d4b08a6..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer deleted file mode 100644 index 289fc2198..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer deleted file mode 100644 index 69de75609..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der deleted file mode 100644 index 3be7b6a06..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer deleted file mode 100644 index ed5ba194c..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer deleted file mode 100644 index 05a8b86f9..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer deleted file mode 100644 index 32893db7f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer deleted file mode 100644 index 60bc9a557..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT -VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx -NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK -DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g -RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx -HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B -kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV -HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8 -fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK -shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61 -0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB -/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq -hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ -IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g -zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc -d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh -eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq -/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer deleted file mode 100644 index 06b40aa67..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer deleted file mode 100644 index 7e9fd5b0b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer deleted file mode 100644 index da38ce028..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer deleted file mode 100644 index b9a0e5a61..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer deleted file mode 100644 index e90f5f2a6..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01-20140701-20240701.SerNo144dc3(CertifiedKeypair).cer +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDXTCCAkWgAwIBAgIDFE3DMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNVBAYTAkFU -MRAwDgYDVQQKEwdBLVRydXN0MRkwFwYDVQQLExBBLVRydXN0LW5RdWFsLTAxMRkw -FwYDVQQDExBBLVRydXN0LW5RdWFsLTAxMB4XDTE0MDcwMTExMDk1NFoXDTI0MDcw -MTA5MDk1NFowVTELMAkGA1UEBhMCQVQxEDAOBgNVBAoTB0EtVHJ1c3QxGTAXBgNV -BAsTEEEtVHJ1c3QtblF1YWwtMDExGTAXBgNVBAMTEEEtVHJ1c3QtblF1YWwtMDEw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD/9RyAEZ6eHmhYzNJ328f0 -jmdSUFi6EqRqOxb3jHNPTIpK82CR6z5lmSnZQNUuCPD+htbNZffd2DKVB06NOyZ1 -2zcOMCgj4GtkZoqE0zPpPT3bpoE55nkZZe/qWEX/64wz/L/4EdkvKDSKG/UsP75M -tmCVY5m2Eg73RVFRz4ccBIMpHel4lzEqSkdDtZOY5fnkrE333hx67nxq21vY8Eyf -8O4fPQ5RtN8eohQCcPQ1z6ypU1R7N9jPRpnI+yzMOiwd3+QcKhHi1miCzo0pkOaB -1CwmfsTyNl8qU0NJUL9Ta6cea7WThwTiWol2yD88cd2cy388xpbNkfrCPmZNGLoV -AgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECE5ZzscCMocwMA4G -A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAO3hBdwsNQOtYOAlC2PKT -sdNexKqMefFGrGDYIEAflaudwpcqUgv7fLLhMNRMT+BcXtqXtfNHGsll2GwseuMq -C02bPUmbfNV4P9djIz/s6qqvNQaQneFzhuXn+i0YQ10sFFVeIL3qrBMl1lwBeQ64 -/GyvrbGiHuuagEUc25CDrUqni+b+azaPUsRG6IXkIWG0H6WIMqtxIdHzAV/1raKh -PKot1VhG2rivf1cBBGXU/0VSYBitXrLNwXwlX2ad0WiFHUF8RS9F3j2vVSYMfxer -NPNaRLtCkHNSqCIDkMmmHJKbJbKJzMaZYmX2i2nc16HCpE/gbQc3etQCl3GvzO88 -xw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer deleted file mode 100644 index 8c434777e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer deleted file mode 100644 index 8d33015f9..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNo01c85e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer deleted file mode 100644 index efa28178e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer deleted file mode 100644 index 2284687bb..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDFLT5MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTE0MDcyMzEwMzgy -OVoXDTI1MDcyMzA4MzgyOVowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM -EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj -lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ -znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH -2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1 -k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs -2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD -VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAEoykPeAA/6iKm6YnfxsSHFe+Dtian2yAH8L2TqMdcHeSB/7L1x73uuDeYku1 -hbKQAXnfXntf8R+VgjQBTww0aDb5164netYcFbK0g8uVWVCqOl8wf3JbAUxHS9br -cFKks+CJKPr6qQ6H+sb1o9127c9IQSZYP3S/gMAaGw0cSTlsnosE0P5Ur5vHsapm -FV3V+VOjYNs2GLSu4XQCYvSIpsfDJp8VsJ/BMYS9GqGvQ/9qGa0fwEbEMadb5mcJ -tw/EKg4gJthMgxOfO5eVuCQ3PAEWOe5lrOrTdvTIlhphUuns5hoIdlyLuNqewK3s -FJ6N46sU7LjJLqSKYEB8usoIiw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer deleted file mode 100644 index 167c36411..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-04.20130708-20230701.SerNof28a2.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer deleted file mode 100644 index b7d4b08a6..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer deleted file mode 100644 index 289fc2198..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer deleted file mode 100644 index 69de75609..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der deleted file mode 100644 index 3be7b6a06..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646.cer deleted file mode 100644 index 06b40aa67..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer deleted file mode 100644 index 7e9fd5b0b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer deleted file mode 100644 index da38ce028..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Dr. Waltraut Kotschy.20070119-20120119.SerNo02de1c.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Dr. Waltraut Kotschy.20070119-20120119.SerNo02de1c.cer deleted file mode 100644 index 592c96230..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Dr. Waltraut Kotschy.20070119-20120119.SerNo02de1c.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/EGIZ_Administrator.20070829-20120829.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/EGIZ_Administrator.20070829-20120829.SerNo00.cer deleted file mode 100644 index 694e6828b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/EGIZ_Administrator.20070829-20120829.SerNo00.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer deleted file mode 100644 index 376d0753f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer deleted file mode 100644 index 414123ece..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer deleted file mode 100644 index afe6fdf09..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer deleted file mode 100644 index 2284687bb..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDFLT5MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTE0MDcyMzEwMzgy -OVoXDTI1MDcyMzA4MzgyOVowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM -EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj -lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ -znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH -2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1 -k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs -2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD -VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAEoykPeAA/6iKm6YnfxsSHFe+Dtian2yAH8L2TqMdcHeSB/7L1x73uuDeYku1 -hbKQAXnfXntf8R+VgjQBTww0aDb5164netYcFbK0g8uVWVCqOl8wf3JbAUxHS9br -cFKks+CJKPr6qQ6H+sb1o9127c9IQSZYP3S/gMAaGw0cSTlsnosE0P5Ur5vHsapm -FV3V+VOjYNs2GLSu4XQCYvSIpsfDJp8VsJ/BMYS9GqGvQ/9qGa0fwEbEMadb5mcJ -tw/EKg4gJthMgxOfO5eVuCQ3PAEWOe5lrOrTdvTIlhphUuns5hoIdlyLuNqewK3s -FJ6N46sU7LjJLqSKYEB8usoIiw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/EGIZ_Test_CA_-_Signaturdienst.20070829-20140101.SerNo02.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/EGIZ_Test_CA_-_Signaturdienst.20070829-20140101.SerNo02.cer deleted file mode 100644 index 277b6083a..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/EGIZ_Test_CA_-_Signaturdienst.20070829-20140101.SerNo02.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer deleted file mode 100644 index 376d0753f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer deleted file mode 100644 index 592c96230..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt deleted file mode 100644 index e4bd48dac..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.cer deleted file mode 100644 index 61a7ccb15..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der deleted file mode 100644 index 5171276f4..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Dr. Waltraut Kotschy-20070119-20120119.SerNo02de1c.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Dr. Waltraut Kotschy-20070119-20120119.SerNo02de1c.der deleted file mode 100644 index 592c96230..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Dr. Waltraut Kotschy-20070119-20120119.SerNo02de1c.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer deleted file mode 100644 index 376d0753f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer deleted file mode 100644 index 414123ece..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer deleted file mode 100644 index afe6fdf09..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer deleted file mode 100644 index 2284687bb..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDFLT5MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTE0MDcyMzEwMzgy -OVoXDTI1MDcyMzA4MzgyOVowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM -EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj -lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ -znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH -2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1 -k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs -2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD -VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAEoykPeAA/6iKm6YnfxsSHFe+Dtian2yAH8L2TqMdcHeSB/7L1x73uuDeYku1 -hbKQAXnfXntf8R+VgjQBTww0aDb5164netYcFbK0g8uVWVCqOl8wf3JbAUxHS9br -cFKks+CJKPr6qQ6H+sb1o9127c9IQSZYP3S/gMAaGw0cSTlsnosE0P5Ur5vHsapm -FV3V+VOjYNs2GLSu4XQCYvSIpsfDJp8VsJ/BMYS9GqGvQ/9qGa0fwEbEMadb5mcJ -tw/EKg4gJthMgxOfO5eVuCQ3PAEWOe5lrOrTdvTIlhphUuns5hoIdlyLuNqewK3s -FJ6N46sU7LjJLqSKYEB8usoIiw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Nikolaus-Schwab-BM-f-Inneres-20040219-20070219.SerNo5c39.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Nikolaus-Schwab-BM-f-Inneres-20040219-20070219.SerNo5c39.der deleted file mode 100644 index 376d0753f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Nikolaus-Schwab-BM-f-Inneres-20040219-20070219.SerNo5c39.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer deleted file mode 100644 index 592c96230..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt deleted file mode 100644 index e4bd48dac..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.cer deleted file mode 100644 index 61a7ccb15..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01AAED.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01AAED.cer deleted file mode 100644 index 5171276f4..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01AAED.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der deleted file mode 100644 index 5171276f4..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20051001-20111023.SerNo170.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20051001-20111023.SerNo170.cer deleted file mode 100644 index c4d97cda3..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20051001-20111023.SerNo170.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer deleted file mode 100644 index 815f53d95..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer deleted file mode 100644 index afe6fdf09..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer deleted file mode 100644 index 2284687bb..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03-20140723-20250723.SerNo14b4f9.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDzzCCAregAwIBAgIDFLT5MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R -dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTE0MDcyMzEwMzgy -OVoXDTI1MDcyMzA4MzgyOVowgY0xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy -dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52 -ZXJrZWhyIEdtYkgxGTAXBgNVBAsMEEEtVHJ1c3QtblF1YWwtMDMxGTAXBgNVBAMM -EEEtVHJ1c3QtblF1YWwtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCtPWFuA/OQO8BBC4SAzewqo51ru27CQoT3URThoKgtUaNR8t4j8DRE/5TrzAUj -lUC5B3ilJfYKvUWG6Nm9wASOhURh73+nyfrBJcyFLGM/BWBzSQXgYHiVEEvc+RFZ -znF/QJuKqiTfC0Li21a8StKlDJu3Qz7dg9MmEALP6iPESU7l0+m0iKsMrmKS1GWH -2WrX9IWf5DMiJaXlyDO6w8dB3F/GaswADm0yqLaHNgBid5seHzTLkDx4iHQF63n1 -k3Flyp3HaxgtPVxO59X4PzF9j4fsCiIvI+n+u33J4PTs63zEsMMtYrWacdaxaujs -2e3Vcuy+VwHOBVWf3tFgiBCzAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYD -VR0OBAoECERqlWdVeRFPMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOC -AQEAEoykPeAA/6iKm6YnfxsSHFe+Dtian2yAH8L2TqMdcHeSB/7L1x73uuDeYku1 -hbKQAXnfXntf8R+VgjQBTww0aDb5164netYcFbK0g8uVWVCqOl8wf3JbAUxHS9br -cFKks+CJKPr6qQ6H+sb1o9127c9IQSZYP3S/gMAaGw0cSTlsnosE0P5Ur5vHsapm -FV3V+VOjYNs2GLSu4XQCYvSIpsfDJp8VsJ/BMYS9GqGvQ/9qGa0fwEbEMadb5mcJ -tw/EKg4gJthMgxOfO5eVuCQ3PAEWOe5lrOrTdvTIlhphUuns5hoIdlyLuNqewK3s -FJ6N46sU7LjJLqSKYEB8usoIiw== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo1815.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo1815.cer deleted file mode 100644 index b596d82e3..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo1815.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo210E.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo210E.cer deleted file mode 100644 index fe561ad6a..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo210E.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNo1C864.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNo1C864.cer deleted file mode 100644 index 41dc7c553..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNo1C864.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNoE287.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNoE287.cer deleted file mode 100644 index 4adc3b7ec..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNoE287.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer deleted file mode 100644 index 1e4f22777..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNo1C858.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNo1C858.cer deleted file mode 100644 index cb519b7eb..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNo1C858.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer deleted file mode 100644 index bc5ed1e62..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer and /dev/null differ diff --git "a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-04.20130708-20230701.SerNo\342\200\216f28c4.cer" "b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-04.20130708-20230701.SerNo\342\200\216f28c4.cer" deleted file mode 100644 index a95605e5a..000000000 Binary files "a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-04.20130708-20230701.SerNo\342\200\216f28c4.cer" and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-05.20130923-20230920.SerNoFCDEE.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-05.20130923-20230920.SerNoFCDEE.cer deleted file mode 100644 index d17d07619..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-05.20130923-20230920.SerNoFCDEE.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer deleted file mode 100644 index 7085c5ac9..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer deleted file mode 100644 index d53dce92b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer deleted file mode 100644 index ad5d7dea1..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer deleted file mode 100644 index 5375c57c3..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer deleted file mode 100644 index 97dc187db..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer deleted file mode 100644 index 783dd271a..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer deleted file mode 100644 index cc35ba691..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer deleted file mode 100644 index ea1585a6e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer deleted file mode 100644 index b9fe1280c..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer deleted file mode 100644 index 3250c6adc..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer and /dev/null differ diff --git "a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" "b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" deleted file mode 100644 index 3848a2b82..000000000 Binary files "a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer deleted file mode 100644 index a6a9acdc3..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer deleted file mode 100644 index 6c0c042b4..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-enc-02.20140701-20240701.SerNo144dfd.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-03.20051114-20151114.SerNo1AAEC.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-03.20051114-20151114.SerNo1AAEC.cer deleted file mode 100644 index b15880c29..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-03.20051114-20151114.SerNo1AAEC.cer and /dev/null differ diff --git "a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-04.2010821-20230821.SerNo.\342\200\216f76bd.cer" "b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-04.2010821-20230821.SerNo.\342\200\216f76bd.cer" deleted file mode 100644 index a365a465b..000000000 Binary files "a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-04.2010821-20230821.SerNo.\342\200\216f76bd.cer" and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-05.20130923-20230920.SerNoFCE21.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-05.20130923-20230920.SerNoFCE21.cer deleted file mode 100644 index 9a777fd34..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-05.20130923-20230920.SerNoFCE21.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo1390.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo1390.cer deleted file mode 100644 index 6f97837a2..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo1390.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo2111.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo2111.cer deleted file mode 100644 index d7799119f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo2111.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20041201-20081201.SerNoE244.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20041201-20081201.SerNoE244.cer deleted file mode 100644 index 508f7f076..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20041201-20081201.SerNoE244.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20081201-20121201.SerNo4AFF1.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20081201-20121201.SerNo4AFF1.cer deleted file mode 100644 index c0feb0d0e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20081201-20121201.SerNo4AFF1.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20041215-20141214.SerNoE4A8.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20041215-20141214.SerNoE4A8.cer deleted file mode 100644 index 61a7ccb15..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20041215-20141214.SerNoE4A8.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt deleted file mode 100644 index e4bd48dac..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20140905-20240905.SrN153B49.crt and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-03.20051114-20151114.SerNo1AAED.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-03.20051114-20151114.SerNo1AAED.cer deleted file mode 100644 index 5171276f4..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-03.20051114-20151114.SerNo1AAED.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20030327-20060327.SerNo1C1C.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20030327-20060327.SerNo1C1C.cer deleted file mode 100644 index e47d2b8ba..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20030327-20060327.SerNo1C1C.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNo1C867.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNo1C867.cer deleted file mode 100644 index 08d7b28e2..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNo1C867.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNoE28A.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNoE28A.cer deleted file mode 100644 index c5bcc42e2..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNoE28A.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20081201-20121201.SerNo4AFF3.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20081201-20121201.SerNo4AFF3.cer deleted file mode 100644 index 5168e1af0..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20081201-20121201.SerNo4AFF3.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNo1C85C.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNo1C85C.cer deleted file mode 100644 index 39e377edf..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNo1C85C.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNoE4A9.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNoE4A9.cer deleted file mode 100644 index 0a1fcff85..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNoE4A9.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20030327-20060327.SerNo1C1D.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20030327-20060327.SerNo1C1D.cer deleted file mode 100644 index b5f5fa6ca..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20030327-20060327.SerNo1C1D.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNo1C868.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNo1C868.cer deleted file mode 100644 index abeb964dd..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNo1C868.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNoE28B.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNoE28B.cer deleted file mode 100644 index 91acd396a..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNoE28B.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20081201-20131201.SerNo4C3C6.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20081201-20131201.SerNo4C3C6.cer deleted file mode 100644 index 87d8b52d4..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20081201-20131201.SerNo4C3C6.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNo1C85D.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNo1C85D.cer deleted file mode 100644 index f28aa4b8e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNo1C85D.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNoE4AA.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNoE4AA.cer deleted file mode 100644 index 882753986..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNoE4AA.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer deleted file mode 100644 index 74c4ce3b8..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-02.20140701-20240701.SerNo144e10.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer deleted file mode 100644 index 6c50ec079..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-premium-sig-03.20140701-20240701.SerNo144e13.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer deleted file mode 100644 index eb051dc4d..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEUzCCAzugAwIBAgIDFE3dMA0GCSqGSIb3DQEBBQUAMIHPMQswCQYDVQQGEwJB -VDGBizCBiAYDVQQKHoGAAEEALQBUAHIAdQBzAHQAIABHAGUAcwAuACAAZgD8AHIA -IABTAGkAYwBoAGUAcgBoAGUAaQB0AHMAcwB5AHMAdABlAG0AZQAgAGkAbQAgAGUA -bABlAGsAdAByAC4AIABEAGEAdABlAG4AdgBlAHIAawBlAGgAcgAgAEcAbQBiAEgx -GDAWBgNVBAsTD0EtVHJ1c3QtUXVhbC0wMTEYMBYGA1UEAxMPQS1UcnVzdC1RdWFs -LTAxMB4XDTE0MDcwMTExMjExNVoXDTI0MDcwMTA5MjExNVowgc8xCzAJBgNVBAYT -AkFUMYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwA -cgAgAFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAA -ZQBsAGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIA -SDEYMBYGA1UECxMPQS1UcnVzdC1RdWFsLTAxMRgwFgYDVQQDEw9BLVRydXN0LVF1 -YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmhgdxIbxTGEOH -fXGiewI3NFldAWKFWfLofO+5I1UbvA5avt7IgsGXz/tI/f5HGUbascI0i7xG0tqV -lA5ctQgLRqxgxHtgTkMcqsAEYdsz3LZsCdXO1QrvEBGLTSABdxiL/gSWJ6z77CSw -x7Xg02HwxPV82cjGkSF3ENGJntuIAAnRDWn/ORHjFatNRymoMbHaOEZXSGhf7Y5F -rrHEqGyi9E6sv784De/T1aTvskn8cWeUmDzv//omiG/a/V9KQex/61XN8OthUQVn -X+u/liL2NKx74I2C/GgHX5B0WkPNqsSOgmlvJ/cKuT0PveUgVFDAA0oYBgcE1KDM -lBbN0kmPAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEs8jB2F -6W+tMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAQIN9LZbMivO9 -kWLDlDI9cTEIPpRXmgNdaBQRUpZc2ML0vDW6OVI90r8GxFQTE/I7HjrvuqQDTEL1 -qd8tthiazsLYI5eDX1CtJEFFtg25Y9t3tK2HsShb8sCj798hoXsOMFR9qhp5Fjb8 -TX4CVuQ3sK1TKeNlDmpAx6SqkYYT0CCMccsxt2j89ED8Z+B/yW19OZQk3BFDigYL -46YsLKAC96ItFpUOs8ZbAUfUlpVA6G+09EMcDxOcuD/ebLx6I/ynwYAtqYXaizsY -KTE35A3M2ghfGFJ+DlQoh3Bn/RG01LKXXgaVTHHMvvpxBp55wz2SocD/PpFe+D6Q -C016YgTrrQ== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer deleted file mode 100644 index f9fef65fc..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer deleted file mode 100644 index 3c7775b6e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer deleted file mode 100644 index be29fb6ac..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyzCCArOgAwIBAgIDFE3kMA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1 -YWwtMDIxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMjAeFw0xNDA3MDExMTIzMzNa -Fw0yNDA3MDEwOTIzMzNaMIGLMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz -dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1YWwtMDIxGDAWBgNVBAMMD0Et -VHJ1c3QtUXVhbC0wMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJaR -q9eOsFm4Ab20Hq2Z/aH86gyWa48uSUjY6eQkguHYuszr3gdcSMYZggFHQgnhfLmf -ro/27l5rqKhWiDhWs+b+yZ1PNDhRPJy+86ycHMg9XJqErveULBSyZDdgjhSwOyrN -ibUir/fkf+4sKzP5jjytTKJXD/uCxY4fAd9TjMEVpN3umpIS0ijpYhclYDHvzzGU -833z5Dwhq5D8bc9jp8YSAHFJ1xzIoO1jmn3jjyjdYPnY5harJtHQL73nDQnfbtTs -5ThT9GQLulrMgLU4WeyAWWWEMWpfVZFMJOUkmoOEer6A8e5fIAeqdxdsC+JVqpZ4 -CAKel/Arrlj1gFA//jsCAwEAAaM2MDQwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E -CgQIQj0rJKbBRc4wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBh -MfOINQm4XpzF6DmkOmb/ArSXHf5LObqFmIMooNr2TkyzrUTK/NE+mdrm15Rfdts7 -kZVq/ICfQSFeaPvWaAVq4plH/26OjvMTVv7DfgfPBUxDWqlCuDnDnPAVQ+yo/o5i -BA5uUlMbp5znbDtlxwF/5gWqcn/hKxSUCP1uiOPIlKfeVvsRmBcJAdoixTM/Ic10 -pavJMGOI20onArvQZAUEbXQLA8cs8naxfF6Bo36U9nk6wn7q8VPXhViekByd17F6 -9A+ah0Iqw4SPf9BqNRIe1YxxjDhCmjWt3aoyE3ZFBuGjW+r2ipb/vGU1+2oyy2Fd -2dMmiMQ7gGhWX9X6gWLd ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer deleted file mode 100644 index 36a442b89..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer deleted file mode 100644 index 54f809962..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer deleted file mode 100644 index e1100c7fc..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyzCCArOgAwIBAgIDFE31MA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1 -YWwtMDMxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMzAeFw0xNDA3MDExMTMwNTZa -Fw0yNDA3MDEwOTMwNTZaMIGLMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz -dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1YWwtMDMxGDAWBgNVBAMMD0Et -VHJ1c3QtUXVhbC0wMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALOe -JIgc0s9AA0hqqqWgK72W9XwKn5+rUJDbQc5WgHkqwP2TU3qcW/NZYSSIY6PVGO6b -hHSEnOyMPdrBhnpvNi4m6349yT6t565LdHcoKyQg/youwpVkEPZ+e8O32hF9nqvt -L4wZohydjMwzcHUJB/5e+0CkJYwv/bVRZzqoK0yf1midYJukxWOw7nDNKD9KdOpZ -+XXFAAZuH7BjwSqqE138y9JlGzkxIlrCeSJdGfFLwr7OHIgBdPEmQXcyOcaMUGjP -U4VDig+gj+6OC5KjAEC+wKJZXiyhRLj+HyLTDLrQ6O8p5HI3Sov4FuwiMgcqIyzz -o9fNyqmnT3K/vBGOqBsCAwEAAaM2MDQwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E -CgQIRgbfN/LCNxAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBy -jA/CmId9oz8sy4rwEklti+8TLS/aLHkiMqUmKjuHyT/6mz4Qh4fLfAAEv8iGSZiW -+7+Gv7HTcuEEdyNNhUmMGJLSQA/3KBjlttHXLiG943wnvcZf3LtkFc+8Ia5N3bNS -BM6q7/OFKHSS+iHcAJ8XS6SnLITYRyfo0thsXBaHpkTUkEP0uJY+yoE/EcBkvsGX -drLIawu8YOrNZvs3S6Ag0ex5brIdqiNtlUGwRxpLwssfBho5K0NqpXAloHT9kHBd -rGb2GrVdLIesuVivSP9zq09M8bcm3jDPCHv5bcudPZVX7rkr79VphgLfKlINA4Fw -VxCuPLXx/4sCfANQtvuY ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer deleted file mode 100644 index ab9e0cd7d..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer deleted file mode 100644 index 01965769d..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer deleted file mode 100644 index b9a0e5a61..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt deleted file mode 100644 index 9befb53fc..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Test-Root-05-20141215-20241209.SerNo165fae.crt +++ /dev/null @@ -1,34 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIDFl+uMA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl -c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx -MjE1MTMwMDQ1WhcNMjQxMjA5MTIwMDQ1WjCBlTELMAkGA1UEBhMCQVQxSDBGBgNV -BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry -LiBEYXRlbnZlcmtlaHIgR21iSDEdMBsGA1UECwwUQS1UcnVzdC1UZXN0LVJvb3Qt -MDUxHTAbBgNVBAMMFEEtVHJ1c3QtVGVzdC1Sb290LTA1MIICIDANBgkqhkiG9w0B -AQEFAAOCAg0AMIICCAKCAgEApv3ETyDuseYGvBXgJSiAe7q2dvKtcxlHGlEdEWKv -YUODdXiTIIcwuIU0+F8ybvoQdEVPGDsdzShhXKgMfdGY5WF1BslCgjwcr4h6GWgt -cSkXXFIYVV5GCrac4DhM60EvtXpadi8dNMu7dUKZjqES9UPC6Gc5H6fadauLaV6b -DbNrJufXUditjEbhqj5uX3u4/+nFRH8g1DiQm5RCC3ttVe0/7buJipErVQ9Sbhzk -hkFlzLbph2s2hiEP8NB5tXM3ffxmJ2Yv98+U1Ec0iXvsoGhqRyZVn1huTi+9PJnP -IyPfXDkqWv49E/WeZsaZ48kdVx9xIC6OVYF0GCDsKjsKWN+4xL6/eYvSnyIBij/A -e1T3wkLhp+bDyqxnvDatMlWchfbZxicvzr83c8SGt81RBekwbG/HGPRE4x5DnTkQ -67DTMzMSmW+FAJdZG2Ofsg9+D+v+iqRD310maLABtko3e+xm601FS8d0lDFJVGgG -36IB+ZrUIXmLfOIQjlF/yx566oUmSif3QRgmnSuNtunffXHBbL0qFAiEDwwHg41t -zBiSswKRWa5J/BMIung+6T8gw5kY3c3yJ+pUip4J2oeVa9jZlO/AY7k5BCeGh5Ky -zu22GMQIp9ulIIfUKx8jcnhtDy07UEmaWqv3rVsqKWF9v9B4z2SMiH1oFEgrNAxi -v98CAQOjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEQv+xQJkonQMA4G -A1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEASO7M8elac5VTP+FjuL1S -nS72NaIP/RGYmw6967irlG5qQ0cGmCZO5J8SsL7xc3BMofMQMbrsGEryO1F4Y95B -o419IzqPb8sYHlx1Du+F2D01qXBmGP/NcqQIo9twLa+man16l7SFF/iNof2axigM -TUcWzqHUxtSjCPoU44qTsi8vVuQKRP8gMGlVCty0joc0gEW8PqKiMaKxI+tglVA6 -czwvPXfk9pJkL3hhDg/p59iKJTkEKIDtvugrZ4ZqOCBL5xv1Tar3BMBAKSfl/YoQ -/p6ATGlKkjSbMyU7vUGxXldNALHkezxFufuDZEF/erp3hCVADbQMKgyM7Diu6cKB -0s4+POeTQoSQ2dnMQJdgAfeGcd3twy2s/M/xHAVGPAPIQWH7ppVcs6AbVXQabHxJ -YZU7G2ct8Se0r8RLq+iRYrWhFKl8mmVBNwK2WJhjWPv2fqM1xYtbbwH6zoV/Sf8j -uIbx/5A/MJo/4s/9ciafJLVzLvkOh6Bhf310TAxyB9mDiL00KAuVTDtwYfzo1+jw -0bInpPqTCkgszn0LbajeaEIc7lQ7neY0gmMqDvnhA+5LyHJXuX5tDF+1/KDijlLs -p/k1/YZfe1Ai1+gcRoAlp2O80tKaJWZPkf8POffyIkSxJbHlKF6r3TWs7JYr+YUi -lm2dyCqZ9RUD5ZN2YRntJoo= ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer deleted file mode 100644 index d361d919f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer deleted file mode 100644 index ad13d7b28..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer deleted file mode 100644 index f9f27442b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer deleted file mode 100644 index b6f39e354..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der deleted file mode 100644 index 3be7b6a06..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer deleted file mode 100644 index ed5ba194c..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer deleted file mode 100644 index 05a8b86f9..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer deleted file mode 100644 index 1bb449441..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Premium-Test-Sig-02.20141124-20141118.SerNo3969edc1.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer deleted file mode 100644 index cac44093a..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt deleted file mode 100644 index ee17cdb80..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Premium-Sig-05.20141215-20141209.SerNo165fb8.crt +++ /dev/null @@ -1,36 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIGQTCCBCmgAwIBAgIDFl+4MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMR0wGwYDVQQLDBRBLVRydXN0LVRl -c3QtUm9vdC0wNTEdMBsGA1UEAwwUQS1UcnVzdC1UZXN0LVJvb3QtMDUwHhcNMTQx -MjE1MTMxMDE5WhcNMjQxMjA5MTIxMDE5WjCBoTELMAkGA1UEBhMCQVQxSDBGBgNV -BAoMP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUgaW0gZWxla3Ry -LiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECwwaYS1zaWduLVRlc3QtUHJlbWl1 -bS1TaWctMDUxIzAhBgNVBAMMGmEtc2lnbi1UZXN0LVByZW1pdW0tU2lnLTA1MIIC -IDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAq9PRwApA35K3LT0p5IYtNZMS -BFJsIkzjgF4FRQ36PtxeNsPL6iPgfFjWLZzVT1arHrC6ciz97haDWEN5Jq+aVaZp -gvFtvqZXlwYOWP0sshQg1aP7zrfH/N6yqjkrXHyzgmSz3SVIbdj5CqUJz/+94FCR -cA8XkQ3WZAjSkRB+MSIY8umftkmJOVAstaG28OEtpmqwBLRh/QGcNZzfhyrPS2Ls -5BAKQW9SBb1nXn8JOHq0Bd8zHShHbny9X/qT0xqeFfwItZWiW7iu3LgbGqfB3J4d -s+9iecwHDsmYdSb2quGmzJXejmvktFZte9dlF7BuBqier+R3/czdLteRems5S9Ka -hlP3+f3CnFwKihyVMhnuf5HyhCo1Fvrt+igWtNnos38qzB5RzRTJXnvZyrtTJMQE -/8ZuV2B12Oaf0AQjt+o/SPKeaTBX2yes0S1xbQy7xJzNhgBJ2Ir3OI6SoOooVN+9 -kQuzD7NsJBJzIy4dHCvOgs0C1ro8DROaV3Usn58eYOkLDrPGpEBmFq7GnsxnbeEh -5zzlgh00R9cy5PxiO40U+KxnTmQl+/vc9i1plDLsTRePeThKgS0UOIRZP7voYKdu -IJaEzufNXUxZbCc9Mq3V552BmRPhL9Ouf/bfaVMmkY4p7BdU57stxDfVwG9biujj -AVPA7DeRm+S0kzWRq0kCAQOjgY0wgYowPwYDVR0fBDgwNjA0oDKgMIYuaHR0cDov -L2NybC5hLXRydXN0LmF0L2NybC9BLVRydXN0LVRlc3QtUm9vdC0wNTATBgNVHSME -DDAKgAhEL/sUCZKJ0DAPBgNVHRMBAf8EBTADAQH/MBEGA1UdDgQKBAhB0SNOEjM1 -3jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAEiqm52uEL2giMCy -8i1tIbqKP3SeJnYxhJgN4d3caWqfE1CoEUQjsN8t7sF866TOYJMrQ+/dS8bUqNiG -x4vvPrDq3DUSyKflgPaz+36xtB4BTlIiYTzio7Tnv+d5n+MsM6c/rijJzRx38FLM -tZTAfr7dXv5KxrfYrrEnPrGg0gMlYqX3rB1TKQnPx5qG3e2YXc6tdvDeXhh9cXj3 -76VJony7iV0ccKWNXRRNx1X0po/Luu6EMD/5czArtmO0KmGXO3gK3Fy7pxUbdBra -nSJNsY+Fv4X3zqf5n9ZM4Yut7KSqBiQbuMmIzLZkICJOWN5t9mOTStgmZjGqBdQN -sRuVinaLxA88Fd32ZmFxbagOLeKEXPTQT/ERbDOjhShY6jA2/LkIcg9mwDDOubsp -FcZaYlyXmvD+HNVxL5B4BGDWoGHmCxaj+bcYP4U797bpE90sTnMIQd6JoYEMQSIy -Re0S4jKIOkCqBDkPBIXZf/IizTvJiQoFUtT7civFYhcUHDOcWs69NUU3F6sEBZmq -C1uIRm7zD6FUPNpVcfVIeqcfWsnx5bSKwheh9Dk/A3eTmxjpodV4tIq6BfCLdq52 -85dumPB4zz/EmCuZ0hwy9/TJwaogVMqicvr1/pQXDM7T6fCM0vK9w/e4ejmX61TK -6MsTXFjxlwpIacl4fkAxk6L22xfB ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer deleted file mode 100644 index 60bc9a557..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-Test-Qual-01.20141117-20241111.SerNo16120f.cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIID2zCCAsOgAwIBAgIDFhIPMA0GCSqGSIb3DQEBBQUAMIGTMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRwwGgYDVQQLDBNhLXNpZ24tVEVT -VC1RdWFsLTAxMRwwGgYDVQQDDBNhLXNpZ24tVEVTVC1RdWFsLTAxMB4XDTE0MTEx -NzA3NDAzNloXDTI0MTExMTA2NDAzNlowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQK -DD9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4g -RGF0ZW52ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1URVNULVF1YWwtMDEx -HDAaBgNVBAMME2Etc2lnbi1URVNULVF1YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQD4TRgyXzhxJ2AkndX0RPY771f64dsJrReEeuShLRK5io0B -kJWc4t7wuD1B98cJ0MUPlMmOJ2Ckc/vuLhQUyY3qEUmhMhixCUIcdHQ5yH3H0yMV -HxyJxAG83fE8M25kpKA4TzzMW8KPd2S63wbpPElyEy7vrllrLxvdQRSDpMZMvRg8 -fvoDGAehxsnKKwlXZuMq1aSBzfMz3cMBDKxvqzDIz7yC1iWNkdiwog3a5a5PbViK -shhZ0h+bx9WFDpiN6ooPQgcGhjD+NqIDoiOr7CUFHp+HiC6xIsEFJaBHTf3dRZ61 -0r1FDABx0Yj8+wlXSQLYq/1nR/QMwsvH0Cz1qYTPAgMBAAGjNjA0MA8GA1UdEwEB -/wQFMAMBAf8wEQYDVR0OBAoECE8h1CulBqTdMA4GA1UdDwEB/wQEAwIBBjANBgkq -hkiG9w0BAQUFAAOCAQEAimFu+xTm3UdyU+fO+2hz4DS20OGSC9NBDkorjzhRPWoZ -IVhUi6yH5drqSBm4/2ZYS1Ba5npzfyJwm+cLO28ljxAApfRHlbN0y83hKv7c0I7g -zWTMRs8X8ar5Gd7d4O5jpC4PAaZ1ozSDoE06U5im6YMLaJy/0QYvf5EQBMvLdeoc -d1vl17JYKYqYzcX2dvayikrfiglFqDaZZ66yJPBSuiyNhXpPkbXsOoyyTPtV/0Bh -eKIQiQyJID5aZtR7D4fBAzKdp5wB9KLQXBZ80hrwqrIuy+ME0tFaBWYBi8dzQ1iq -/E3Qz0USfGmxPMm8y/zRqsDvxZCRiSuvzBkOXbGMdA== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer deleted file mode 100644 index 06b40aa67..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer deleted file mode 100644 index 7e9fd5b0b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer deleted file mode 100644 index da38ce028..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer deleted file mode 100644 index 7085c5ac9..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer deleted file mode 100644 index d53dce92b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer deleted file mode 100644 index ad5d7dea1..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer deleted file mode 100644 index 5375c57c3..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer deleted file mode 100644 index 97dc187db..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer deleted file mode 100644 index 783dd271a..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer deleted file mode 100644 index cc35ba691..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer deleted file mode 100644 index ea1585a6e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer deleted file mode 100644 index b9fe1280c..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer deleted file mode 100644 index 3250c6adc..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130702-20230701.SerNof1d50.cer and /dev/null differ diff --git "a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" "b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" deleted file mode 100644 index 3848a2b82..000000000 Binary files "a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-04.20130705-20230701.SerNo\342\200\216f24d6.cer" and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer deleted file mode 100644 index a6a9acdc3..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-05.20130923-20230920.SerNoFCDB8.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo5EFE7.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo5EFE7.cer deleted file mode 100644 index 8ddc7d79b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo5EFE7.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo7F061.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo7F061.cer deleted file mode 100644 index c9fd41f7f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo7F061.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-04.20130702-20180701.SerNof1d4f.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-04.20130702-20180701.SerNof1d4f.cer deleted file mode 100644 index 3754de603..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-04.20130702-20180701.SerNof1d4f.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-05.20130923-20230920.SerNoFCDD4.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-05.20130923-20230920.SerNoFCDD4.cer deleted file mode 100644 index 2bf4ad712..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-05.20130923-20230920.SerNoFCDD4.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer deleted file mode 100644 index eb051dc4d..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01-20140701-20240701.SerNo144ddd(SecureSignatureKeypair).cer +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEUzCCAzugAwIBAgIDFE3dMA0GCSqGSIb3DQEBBQUAMIHPMQswCQYDVQQGEwJB -VDGBizCBiAYDVQQKHoGAAEEALQBUAHIAdQBzAHQAIABHAGUAcwAuACAAZgD8AHIA -IABTAGkAYwBoAGUAcgBoAGUAaQB0AHMAcwB5AHMAdABlAG0AZQAgAGkAbQAgAGUA -bABlAGsAdAByAC4AIABEAGEAdABlAG4AdgBlAHIAawBlAGgAcgAgAEcAbQBiAEgx -GDAWBgNVBAsTD0EtVHJ1c3QtUXVhbC0wMTEYMBYGA1UEAxMPQS1UcnVzdC1RdWFs -LTAxMB4XDTE0MDcwMTExMjExNVoXDTI0MDcwMTA5MjExNVowgc8xCzAJBgNVBAYT -AkFUMYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwA -cgAgAFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAA -ZQBsAGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIA -SDEYMBYGA1UECxMPQS1UcnVzdC1RdWFsLTAxMRgwFgYDVQQDEw9BLVRydXN0LVF1 -YWwtMDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCmhgdxIbxTGEOH -fXGiewI3NFldAWKFWfLofO+5I1UbvA5avt7IgsGXz/tI/f5HGUbascI0i7xG0tqV -lA5ctQgLRqxgxHtgTkMcqsAEYdsz3LZsCdXO1QrvEBGLTSABdxiL/gSWJ6z77CSw -x7Xg02HwxPV82cjGkSF3ENGJntuIAAnRDWn/ORHjFatNRymoMbHaOEZXSGhf7Y5F -rrHEqGyi9E6sv784De/T1aTvskn8cWeUmDzv//omiG/a/V9KQex/61XN8OthUQVn -X+u/liL2NKx74I2C/GgHX5B0WkPNqsSOgmlvJ/cKuT0PveUgVFDAA0oYBgcE1KDM -lBbN0kmPAgMBAAGjNjA0MA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEs8jB2F -6W+tMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAQIN9LZbMivO9 -kWLDlDI9cTEIPpRXmgNdaBQRUpZc2ML0vDW6OVI90r8GxFQTE/I7HjrvuqQDTEL1 -qd8tthiazsLYI5eDX1CtJEFFtg25Y9t3tK2HsShb8sCj798hoXsOMFR9qhp5Fjb8 -TX4CVuQ3sK1TKeNlDmpAx6SqkYYT0CCMccsxt2j89ED8Z+B/yW19OZQk3BFDigYL -46YsLKAC96ItFpUOs8ZbAUfUlpVA6G+09EMcDxOcuD/ebLx6I/ynwYAtqYXaizsY -KTE35A3M2ghfGFJ+DlQoh3Bn/RG01LKXXgaVTHHMvvpxBp55wz2SocD/PpFe+D6Q -C016YgTrrQ== ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer deleted file mode 100644 index f9fef65fc..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer deleted file mode 100644 index 3c7775b6e..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer deleted file mode 100644 index be29fb6ac..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02-20140701-20240701.SerNo144de4(SecureSignatureKeypair).cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyzCCArOgAwIBAgIDFE3kMA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1 -YWwtMDIxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMjAeFw0xNDA3MDExMTIzMzNa -Fw0yNDA3MDEwOTIzMzNaMIGLMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz -dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1YWwtMDIxGDAWBgNVBAMMD0Et -VHJ1c3QtUXVhbC0wMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJaR -q9eOsFm4Ab20Hq2Z/aH86gyWa48uSUjY6eQkguHYuszr3gdcSMYZggFHQgnhfLmf -ro/27l5rqKhWiDhWs+b+yZ1PNDhRPJy+86ycHMg9XJqErveULBSyZDdgjhSwOyrN -ibUir/fkf+4sKzP5jjytTKJXD/uCxY4fAd9TjMEVpN3umpIS0ijpYhclYDHvzzGU -833z5Dwhq5D8bc9jp8YSAHFJ1xzIoO1jmn3jjyjdYPnY5harJtHQL73nDQnfbtTs -5ThT9GQLulrMgLU4WeyAWWWEMWpfVZFMJOUkmoOEer6A8e5fIAeqdxdsC+JVqpZ4 -CAKel/Arrlj1gFA//jsCAwEAAaM2MDQwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E -CgQIQj0rJKbBRc4wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBh -MfOINQm4XpzF6DmkOmb/ArSXHf5LObqFmIMooNr2TkyzrUTK/NE+mdrm15Rfdts7 -kZVq/ICfQSFeaPvWaAVq4plH/26OjvMTVv7DfgfPBUxDWqlCuDnDnPAVQ+yo/o5i -BA5uUlMbp5znbDtlxwF/5gWqcn/hKxSUCP1uiOPIlKfeVvsRmBcJAdoixTM/Ic10 -pavJMGOI20onArvQZAUEbXQLA8cs8naxfF6Bo36U9nk6wn7q8VPXhViekByd17F6 -9A+ah0Iqw4SPf9BqNRIe1YxxjDhCmjWt3aoyE3ZFBuGjW+r2ipb/vGU1+2oyy2Fd -2dMmiMQ7gGhWX9X6gWLd ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer deleted file mode 100644 index 36a442b89..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer deleted file mode 100644 index 54f809962..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer deleted file mode 100644 index e1100c7fc..000000000 --- a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03-20140701-20240701.SerNo144df5(SecureSignatureKeypair).cer +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDyzCCArOgAwIBAgIDFE31MA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB -VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp -bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1 -YWwtMDMxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMzAeFw0xNDA3MDExMTMwNTZa -Fw0yNDA3MDEwOTMwNTZaMIGLMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz -dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy -a2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1YWwtMDMxGDAWBgNVBAMMD0Et -VHJ1c3QtUXVhbC0wMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALOe -JIgc0s9AA0hqqqWgK72W9XwKn5+rUJDbQc5WgHkqwP2TU3qcW/NZYSSIY6PVGO6b -hHSEnOyMPdrBhnpvNi4m6349yT6t565LdHcoKyQg/youwpVkEPZ+e8O32hF9nqvt -L4wZohydjMwzcHUJB/5e+0CkJYwv/bVRZzqoK0yf1midYJukxWOw7nDNKD9KdOpZ -+XXFAAZuH7BjwSqqE138y9JlGzkxIlrCeSJdGfFLwr7OHIgBdPEmQXcyOcaMUGjP -U4VDig+gj+6OC5KjAEC+wKJZXiyhRLj+HyLTDLrQ6O8p5HI3Sov4FuwiMgcqIyzz -o9fNyqmnT3K/vBGOqBsCAwEAAaM2MDQwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E -CgQIRgbfN/LCNxAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBy -jA/CmId9oz8sy4rwEklti+8TLS/aLHkiMqUmKjuHyT/6mz4Qh4fLfAAEv8iGSZiW -+7+Gv7HTcuEEdyNNhUmMGJLSQA/3KBjlttHXLiG943wnvcZf3LtkFc+8Ia5N3bNS -BM6q7/OFKHSS+iHcAJ8XS6SnLITYRyfo0thsXBaHpkTUkEP0uJY+yoE/EcBkvsGX -drLIawu8YOrNZvs3S6Ag0ex5brIdqiNtlUGwRxpLwssfBho5K0NqpXAloHT9kHBd -rGb2GrVdLIesuVivSP9zq09M8bcm3jDPCHv5bcudPZVX7rkr79VphgLfKlINA4Fw -VxCuPLXx/4sCfANQtvuY ------END CERTIFICATE----- diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer deleted file mode 100644 index ab9e0cd7d..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer deleted file mode 100644 index 01965769d..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer deleted file mode 100644 index b9a0e5a61..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Root-05.20130923-20230920.SerNoFCDB4.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer deleted file mode 100644 index 33e776369..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer deleted file mode 100644 index d361d919f..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer deleted file mode 100644 index ad13d7b28..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer deleted file mode 100644 index f9f27442b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer deleted file mode 100644 index b6f39e354..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der deleted file mode 100644 index 3be7b6a06..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer deleted file mode 100644 index 06b40aa67..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer deleted file mode 100644 index 7e9fd5b0b..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer deleted file mode 100644 index da38ce028..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/testTSL/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/testTSL/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer deleted file mode 100644 index ed5ba194c..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/testTSL/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/testTSL/IAIK-Test-Root-CA_20080114-20180114.SerNo.01.der b/spss/handbook/conf/moa-spss/trustProfiles/testTSL/IAIK-Test-Root-CA_20080114-20180114.SerNo.01.der deleted file mode 100644 index 38c2de589..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/testTSL/IAIK-Test-Root-CA_20080114-20180114.SerNo.01.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/testTSL/MOA_Test_CA.20070823-20131022.Serno01.cer b/spss/handbook/conf/moa-spss/trustProfiles/testTSL/MOA_Test_CA.20070823-20131022.Serno01.cer deleted file mode 100644 index 05a8b86f9..000000000 Binary files a/spss/handbook/conf/moa-spss/trustProfiles/testTSL/MOA_Test_CA.20070823-20131022.Serno01.cer and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) AGNIESZKA BAJNO_To20181219.crt b/spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) AGNIESZKA BAJNO_To20181219.crt deleted file mode 100644 index 5c07bd9b7..000000000 --- a/spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) AGNIESZKA BAJNO_To20181219.crt +++ /dev/null @@ -1,41 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIHSDCCBTCgAwIBAgIQHaaUHzn5vENUk+T/aHIefTANBgkqhkiG9w0BAQsFADAx -MQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDzANBgNVBAMMBklTQSBD -QTAeFw0xNDEyMTkwODQyMzlaFw0xODEyMTkwODQyMzlaMEwxCzAJBgNVBAYTAkJF -MRwwGgYDVQQKDBNFVVJPUEVBTiBDT01NSVNTSU9OMR8wHQYDVQQDDBYoU0lHTikg -QUdOSUVTWktBIEJBSk5PMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -og6nQQcoPlHOrwXYDD+wj38lwn1zbalTTJL7yW3N7OgO9/eSCIY5nGgfnslapC36 -vSO9RbSxW3cV4CJCf2nGZdsZHxNJpf4IG4CEsByui30UGFANtBPlFj/r5avf0OrD -GKTI2H/6sN2swgs43grcRFQ5yt/ZPhOIgjXjzK4s36IFMBG1GGRQUSDJo+uv3cbu -BcNjdFro3Zmm9TypDv194f1NwXRbFOon1WtaIsJNKzw4+MKCAyD9BBVATQxGLYeC -T2tZt3DFbSSXZbBfSnfwGe7eMc99S12Hr/MwAPJhUwZZpienadVNlMNWxwutxcDO -5HrmOdtxv8Vh9MKlAwvN4QIDAQABo4IDPzCCAzswWwYDVR0RBFQwUoEcQUdOSUVT -WktBLkJBSk5PQEVDLkVVUk9QQS5FVaQyMDAxFDASBgkrBgEEAaxmAQIMBUJBSk5P -MRgwFgYJKwYBBAGsZgEBDAlBR05JRVNaS0EwCQYDVR0TBAIwADAOBgNVHQ8BAf8E -BAMCBkAwHQYDVR0OBBYEFIe8EqP5sxbiNrSKwgNC00FsSfkjMB8GA1UdIwQYMBaA -FEft+GPwma9e/n4OXFjL/uI1N6a9MIHgBgNVHSAEgdgwgdUwgcgGCisGAQQBrGYD -BAEwgbkwKQYIKwYBBQUHAgEWHWh0dHA6Ly93d3cuY2VydC5mbm10LmVzL2RwY3Mv -MIGLBggrBgEFBQcCAjB/DH1RdWFsaWZpZWQgY2VydGlmaWNhdGUuIFVuZGVyIHRo -ZSB1c2FnZSBjb25kaXRpb25zIGFzc2VydGVkIGluIHRoZSBGTk1ULVJDTSBDUFMg -KDEwNiwgSm9yZ2UgSnVhbiBzdHJlZXQsMjgwMDksIE1hZHJpZCwgU3BhaW4pLjAI -BgYEAIswAQEwgYYGCCsGAQUFBwEBBHoweDBBBggrBgEFBQcwAYY1aHR0cDovL29j -c3BJU0FjYS5jZXJ0LmZubXQuZXMvb2NzcElTQWNhL09jc3BSZXNwb25kZXIwMwYI -KwYBBQUHMAKGJ2h0dHA6Ly93d3cuY2VydC5mbm10LmVzL2NlcnRzL0lTQUNBLmNy -dDBGBggrBgEFBQcBAwQ6MDgwCAYGBACORgEBMAsGBgQAjkYBAwIBDzAVBgYEAI5G -AQIwCxMDRVVSAgECAgECMAgGBgQAjkYBBDCBzAYDVR0fBIHEMIHBMIG+oIG7oIG4 -hoGIbGRhcDovL2xkYXBJU0FjYS5jZXJ0LmZubXQuZXMvQ049Q1JMMSxjbj1JU0El -MjBDQSxvPUZOTVQtUkNNLEM9RVM/Y2VydGlmaWNhdGVSZXZvY2F0aW9uTGlzdDti -aW5hcnk/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIYraHR0 -cDovL3d3dy5jZXJ0LmZubXQuZXMvY3Jsc19JU0FjYS9DUkwxLmNybDANBgkqhkiG -9w0BAQsFAAOCAgEAd2CyyRljkbR+hxMwnjwzNE9q6nw29uLWx4c/kWfWGNxyjO/m -bE2KhgXfUm7e441Ih87PX1p8jpTeOhtfvL8CxmsqyDg56GBNq5NprbagpmKHiNCP -77baZiLMFfEvc915ktLlYQEH+wIe5i0gMPmRWjA2urB/M+fXwLgqQdOEe4e0NSLr -7YJqHeL1sWQsS4r1zK8ZGv1uJ0v+vAmYXwFtaYYht/c9X+QtVxYaflDcBVnPBxj3 -xUG7vQHe7g5/RPX4vvzAZNV9d5IBk+sCX05dRfRqsym4qw1sw4j0W2nxAfQwk3bf -W6NP5SgOHfC9sh2LrC3F/wlvePY8piTXFUkRzlsEb8zWM2vfz3QRNgGbxCz3DY3k -FavdEL/gnNHOg5Q4tn2TVV7YfXLEgu7zN+IqBOdlAtbJXEu60FiF9Cs35IGqwWlb -eOK8QvogFYDxlgIPrs3ijEA1WHyY+GH1mofSA7u30wEvooCzohFf4DBv06I4q9aC -NBnTo4yki1yFhBm71r60hlAas6aK6TZ+NUoFWwPypMP617SlHdy8QlFx1s3V+rIt -2hxUUGddid/FXDKtuUCRqKqx6x8J8bI7DecZsCS7ijPCApjJ84HB8UASRzdGtEwc -97hvnAqXjpCS/tHAVcVvmP3isNDu4WtV2LQfL/TIY8zMxUebv/E5JyB3KAw= ------END CERTIFICATE----- \ No newline at end of file diff --git a/spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) JOLANDA VAN EIJNDTHOVEN_To20180915.crt b/spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) JOLANDA VAN EIJNDTHOVEN_To20180915.crt deleted file mode 100644 index 0264c9a80..000000000 --- a/spss/handbook/conf/moa-spss/tslworking/trust/eu/(SIGN) JOLANDA VAN EIJNDTHOVEN_To20180915.crt +++ /dev/null @@ -1,42 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIHYDCCBUigAwIBAgIQLc4fd1CtIihUFtlELwMLDDANBgkqhkiG9w0BAQsFADAx -MQswCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDzANBgNVBAMMBklTQSBD -QTAeFw0xNDA5MTUxMjE5MTVaFw0xODA5MTUxMjE5MTVaMFQxCzAJBgNVBAYTAkJF -MRwwGgYDVQQKDBNFVVJPUEVBTiBDT01NSVNTSU9OMScwJQYDVQQDDB4oU0lHTikg -Sk9MQU5EQSBWQU4gRUlKTkRUSE9WRU4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQC0sin8VvNtcuOnUuGDWtXjZlTx5SoZzJiDG4/6bOt3geyPIvqHzci8 -HSlIJB1YqjNimGltI6BlHelR/skf8rEguEYn/Ijgio2/89b82rsFM1R+ehsjkLMv -uu+Kj7UunhRCdLAHgnOhmPwIDe3dIxY4Jw0rBdjtyEwV7cNDedOC4lE9iuJ71zls -pHMedtLfLdwIF0ay/r5Bx1vaiapmzxjDIcArsQlHNmNpK3ysHW+poAhzN8Tj9Vow -jhTDSw/FTBNbQASzuK0L2IWD0PXrsZSO+yW86Dx0kAN1qSmWxdwZ0PAX+n39mL2G -GuG8StIrpvLMZDGgN6G52msz2grnIAulAgMBAAGjggNPMIIDSzBrBgNVHREEZDBi -gSRKT0xBTkRBLlZBTi1FSUpORFRIT1ZFTkBFQy5FVVJPUEEuRVWkOjA4MR4wHAYJ -KwYBBAGsZgECDA9WQU4gRUlKTkRUSE9WRU4xFjAUBgkrBgEEAaxmAQEMB0pPTEFO -REEwCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCBkAwHQYDVR0OBBYEFIz+jZkpky2x -CorjhNpu1m1pDZ76MB8GA1UdIwQYMBaAFEft+GPwma9e/n4OXFjL/uI1N6a9MIHg -BgNVHSAEgdgwgdUwgcgGCisGAQQBrGYDBAEwgbkwKQYIKwYBBQUHAgEWHWh0dHA6 -Ly93d3cuY2VydC5mbm10LmVzL2RwY3MvMIGLBggrBgEFBQcCAjB/DH1RdWFsaWZp -ZWQgY2VydGlmaWNhdGUuIFVuZGVyIHRoZSB1c2FnZSBjb25kaXRpb25zIGFzc2Vy -dGVkIGluIHRoZSBGTk1ULVJDTSBDUFMgKDEwNiwgSm9yZ2UgSnVhbiBzdHJlZXQs -MjgwMDksIE1hZHJpZCwgU3BhaW4pLjAIBgYEAIswAQEwgYYGCCsGAQUFBwEBBHow -eDBBBggrBgEFBQcwAYY1aHR0cDovL29jc3BJU0FjYS5jZXJ0LmZubXQuZXMvb2Nz -cElTQWNhL09jc3BSZXNwb25kZXIwMwYIKwYBBQUHMAKGJ2h0dHA6Ly93d3cuY2Vy -dC5mbm10LmVzL2NlcnRzL0lTQUNBLmNydDBGBggrBgEFBQcBAwQ6MDgwCAYGBACO -RgEBMAsGBgQAjkYBAwIBDzAVBgYEAI5GAQIwCxMDRVVSAgECAgECMAgGBgQAjkYB -BDCBzAYDVR0fBIHEMIHBMIG+oIG7oIG4hoGIbGRhcDovL2xkYXBJU0FjYS5jZXJ0 -LmZubXQuZXMvQ049Q1JMNixjbj1JU0ElMjBDQSxvPUZOTVQtUkNNLEM9RVM/Y2Vy -dGlmaWNhdGVSZXZvY2F0aW9uTGlzdDtiaW5hcnk/YmFzZT9vYmplY3RjbGFzcz1j -UkxEaXN0cmlidXRpb25Qb2ludIYraHR0cDovL3d3dy5jZXJ0LmZubXQuZXMvY3Js -c19JU0FjYS9DUkw2LmNybDANBgkqhkiG9w0BAQsFAAOCAgEAYnVYxWe3b57eq6qG -lVE9f7tiEPUGqmKm2cXlRLY50Hat4O/dVDv9teyNd/fvcaK4UHdhRaF+EhOoDsm9 -RTKrkc4VzWIUA8xbgJL8NlJd1OdVgdIk0kuI7QvQQ/x4c9PTyk0ucBw5MNWyr97U -O68rOBNiF+tS2mrOMJqjQS6vX7tf/HOvyPg9dLY/+KiiuijnAFS9+DPJNWQh8Ukv -SEqgBkydy0pDFLLOREFHiBY7cOflfjoQm+tKxsPt8Mw/z/p5OLeg8cMyVprtVZ2L -ohgkJP/Do0SB1lgenlVWAY7f/7swSgn4y6yd99hB74MKDgREqpBVIn5syrgpfZFK -yYeLZ9/q7FHDdr3TVXLSdcJlIa5+5D8iprdw70vstU9p3mMPXCZNvBFSmVeGNDVm -2jszt7oD254nj5dm/8tXdXqeq4MEi1wHRposKRc6pPtAPFRTcIzRLQ8BRKTEkA6s -UbeshjyIIA0942/zEFRO/H+cEMTqz1ZuCHoS3mwM6qjh0cEsZ0tmUpHzrNltR5WP -o0IKiqqaDxdxN/9OuTId+P5zLRdwsVSduvUm+5krW8Pxn2pkyTg16NN2wLQ7p/Xn -sEPwBVV2lEUJt8n0obHVYZvBZSUchbcpLQaQxMbIG5dpzFXXBYgXSUMhuf3Seoau -oMhXPm9N2UyFJ5fwcoXHZPNI1Uw= ------END CERTIFICATE----- \ No newline at end of file diff --git a/spss/handbook/conf/moa-spss/tslworking/trust/eu/EU.der b/spss/handbook/conf/moa-spss/tslworking/trust/eu/EU.der deleted file mode 100644 index abca57d50..000000000 Binary files a/spss/handbook/conf/moa-spss/tslworking/trust/eu/EU.der and /dev/null differ diff --git a/spss/handbook/conf/moa-spss/tslworking/trust/eu/EU2.der b/spss/handbook/conf/moa-spss/tslworking/trust/eu/EU2.der deleted file mode 100644 index 1520644fc..000000000 Binary files a/spss/handbook/conf/moa-spss/tslworking/trust/eu/EU2.der and /dev/null differ diff --git a/spss/handbook/handbook.html b/spss/handbook/handbook.html deleted file mode 100644 index 2497d7f70..000000000 --- a/spss/handbook/handbook.html +++ /dev/null @@ -1,6 +0,0 @@ - - - - -

Zum Handbuch ...

- \ No newline at end of file diff --git a/spss/handbook/handbook/common/LogoBKA.png b/spss/handbook/handbook/common/LogoBKA.png deleted file mode 100644 index 6a92647fd..000000000 Binary files a/spss/handbook/handbook/common/LogoBKA.png and /dev/null differ diff --git a/spss/handbook/handbook/common/LogoEGIZ.png b/spss/handbook/handbook/common/LogoEGIZ.png deleted file mode 100644 index 39f05d131..000000000 Binary files a/spss/handbook/handbook/common/LogoEGIZ.png and /dev/null differ diff --git a/spss/handbook/handbook/common/MOA.css b/spss/handbook/handbook/common/MOA.css deleted file mode 100644 index 85ed13693..000000000 --- a/spss/handbook/handbook/common/MOA.css +++ /dev/null @@ -1,617 +0,0 @@ -body -{ - font-family: "Times New Roman", Times, serif; - font-size: medium; - font-weight: normal; - margin-left: 2.5em; - margin-right: 2.5em; - background-color: white; - text: #000000; - link: #990000; - vlink: #666666; - alink: #cc9966; -} - - - -p -{ - margin-top: 0pt; - margin-bottom: 0.5em; - text-align: justify -} - -pre -{ - font-family: "Courier New", monospace; - font-size: 90%; - background-color: #cccccc; - color: #000000; - margin-left:1.5%; - margin-right:1.5%; - margin-top: 1em; - margin-bottom: 1em; - border: #008000 none; -} - -hr -{ - color: #000080; - background-color: #000080; - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -table.fixedWidth -{ - width: 97%; - margin-left:1.5%; - margin-right:1.5%; - margin-top: 1em; - margin-bottom: 1em; -} - - -table.varWidth -{ - margin-left:1.5%; - margin-top: 1em; - margin-bottom: 1em; -} - -th -{ - text-align: left; -} - -h1 -{ - color: #000000; - text-align: left; - font-size: 167%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - background-color:#999; -} - -h2 -{ - color: #000000; - font-size: 150%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - background-color:#999; -} - -h3 -{ - color: #000000; - font-size: 133%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - background-color:#999; -} - -h4 -{ - color: #000000; - font-size: 116%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - background-color:#999; -} - -h5 -{ - color: #000000; - font-size: 100%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - background-color:#999; -} - -h6 -{ - color: #000000; - font-size: 83%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - background-color:#999; -} - -code -{ - font-family: "Courier New", Courier, monospace; - font-size: 90%; - color: #000000 -} - -dd -{ - margin-top: 0.8em; - margin-bottom: 0.8em; - text-align: justify - -} - -dt -{ - margin-top: 0.8em; - font-family: Arial, Helvetica, sans-serif; - color: #000080 -} - -ol -{ - margin-top: 0.5em; - margin-bottom: 0.5em -} - -ol.alpha -{ - list-style-type: lower-alpha -} - -li -{ - margin-top: 0.25em; - margin-bottom: 0.25em; - text-align: justify -} - -a:hover -{ - color: #990000 -} - - -.title -{ - text-align: left; - font-size: 200%; - color: #000000; - font-family: Arial, Helvetica, sans-serif; - margin-top: 0.4em; - margin-bottom: 0.4em; - background-color:#999; -} - -.subtitle -{ - text-align: left; - font-size: 133%; - color: #000000; - font-family: Arial, Helvetica, sans-serif; - margin-top: 0.4em; - margin-bottom: 0.4em -} - -.glossaryTerm -{ - font-style: italic; - color: #006699 -} - -.example -{ - font-family: "Courier New", monospace; - background-color: #CCFFFF; - color: #000000; - margin: 0pt 0pt; - border: #008000 none -} - -.schema -{ - font-family: "Courier New", monospace; - background-color: #FFFFCC; - color: #000000; - margin: 0pt 0pt; - border: #008000 none -} - -.documentinfo -{ - font-family: Arial, Helvetica, sans-serif; - font-size: 100%; -} - -.ol-contents -{ - font-size: 100%; - margin-top: 0.0em; - margin-bottom: 0.0em; -} - -.li-contents -{ - font-size: 100%; - margin-top: 0.0em; - margin-bottom: 0.0em; -} - -.logoTitle -{ - text-align: center; - font-size: 200%; - color: #000080; - font-family: Arial, Helvetica, sans-serif; -} - -.logoTable -{ - margin-bottom: 0px; - margin-left: 0px -} - -.superscript -{ - vertical-align: super; - font-size: 66%; -} - -.term -{ - font-style: italic; -} - -.comment -{ - color: #000000; - background: #ffff00; - font-style: italic -} - -.addedErrata12 -{ - color: #FF0000; - background-color: #FFEEEE; - text-decoration: underline -} - -.deletedErrata12 -{ - color: #999999; - background-color: #EEEEEE; - text-decoration: line-through -} - -.added12 -{ - color: #FF0000; - text-decoration: underline -; background-color: #F8F0FF -} - -.deleted12 -{ - color: #999999; - text-decoration: line-through -; background-color: #f8f0ff -} - -.rfc2119Keyword -{ - font-variant: small-caps; - font-style: normal; -} - -.remark { font-style: italic} - -li.faq -{ - margin-top: 1.5em; - margin-bottom: 1.5em; -} - -.faq-question -{ - color: #000080; - font-size: 100%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - margin-bottom: 0.4em; -} - - -/*body -{ - font-family: "Times New Roman", Times, serif; - font-size: medium; - font-weight: normal; - margin-left: 2.5em; - margin-right: 2.5em; -} - -p -{ - margin-top: 0pt; - margin-bottom: 0.5em; - text-align: justify -} - -pre -{ - font-family: "Courier New", monospace; - font-size: 90%; - background-color: #cccccc; - color: #000000; - margin-left:1.5%; - margin-right:1.5%; - margin-top: 1em; - margin-bottom: 1em; - border: #008000 none; -} - -hr -{ - color: #000080; - background-color: #000080; - margin-top: 0.5em; - margin-bottom: 0.5em; -} - -table.fixedWidth -{ - width: 97%; - margin-left:1.5%; - margin-right:1.5%; - margin-top: 1em; - margin-bottom: 1em; -} - - -table.varWidth -{ - margin-left:1.5%; - margin-top: 1em; - margin-bottom: 1em; -} - -th -{ - text-align: left; -} - -h1 -{ - color: #000080; - text-align: left; - font-size: 167%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h2 -{ - color: #000080; - font-size: 150%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h3 -{ - color: #000080; - font-size: 133%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h4 -{ - color: #000080; - font-size: 116%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h5 -{ - color: #000080; - font-size: 100%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -h6 -{ - color: #000080; - font-size: 83%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal -} - -code -{ - font-family: "Courier New", Courier, monospace; - font-size: 90%; - color: #000000 -} - -dd -{ - margin-top: 0.8em; - margin-bottom: 0.8em; - text-align: justify - -} - -dt -{ - margin-top: 0.8em; - font-family: Arial, Helvetica, sans-serif; - color: #000080 -} - -ol -{ - margin-top: 0.5em; - margin-bottom: 0.5em -} - -ol.alpha -{ - list-style-type: lower-alpha -} - -li -{ - margin-top: 0.25em; - margin-bottom: 0.25em; - text-align: justify -} - -a:hover -{ - color: #990000 -} - - -.title -{ - text-align: left; - font-size: 167%; - color: #000080; - font-family: Arial, Helvetica, sans-serif; - margin-top: 0.4em; - margin-bottom: 0.4em -} - -.subtitle -{ - text-align: left; - font-size: 133%; - color: #000080; - font-family: Arial, Helvetica, sans-serif; - margin-top: 0.4em; - margin-bottom: 0.4em -} - -.glossaryTerm -{ - font-style: italic; - color: #006699 -} - -.example -{ - font-family: "Courier New", monospace; - background-color: #CCFFFF; - color: #000000; - margin: 0pt 0pt; - border: #008000 none -} - -.schema -{ - font-family: "Courier New", monospace; - background-color: #FFFFCC; - color: #000000; - margin: 0pt 0pt; - border: #008000 none -} - -.documentinfo -{ - font-family: Arial, Helvetica, sans-serif; - font-size: 100%; -} - -.ol-contents -{ - font-size: 100%; - margin-top: 0.0em; - margin-bottom: 0.0em; -} - -.li-contents -{ - font-size: 100%; - margin-top: 0.0em; - margin-bottom: 0.0em; -} - -.logoTitle -{ - text-align: center; - font-size: 133%; - color: #000080; - font-family: Arial, Helvetica, sans-serif; -} - -.logoTable -{ - margin-bottom: 0px; - margin-left: 0px -} - -.superscript -{ - vertical-align: super; - font-size: 66%; -} - -.term -{ - font-style: italic; -} - -.comment -{ - color: #000000; - background: #ffff00; - font-style: italic -} - -.addedErrata12 -{ - color: #FF0000; - background-color: #FFEEEE; - text-decoration: underline -} - -.deletedErrata12 -{ - color: #999999; - background-color: #EEEEEE; - text-decoration: line-through -} - -.added12 -{ - color: #FF0000; - text-decoration: underline -; background-color: #F8F0FF -} - -.deleted12 -{ - color: #999999; - text-decoration: line-through -; background-color: #f8f0ff -} - -.rfc2119Keyword -{ - font-variant: small-caps; - font-style: normal; -} - -.remark { font-style: italic} - -li.faq -{ - margin-top: 1.5em; - margin-bottom: 1.5em; -} - -.faq-question -{ - color: #000080; - font-size: 100%; - font-family: Arial, Helvetica, sans-serif; - font-weight: normal; - margin-bottom: 0.4em; -} -*/ \ No newline at end of file diff --git a/spss/handbook/handbook/config/MOA-SPSS-config-2.0.0.xsd b/spss/handbook/handbook/config/MOA-SPSS-config-2.0.0.xsd deleted file mode 100644 index 391ef4133..000000000 --- a/spss/handbook/handbook/config/MOA-SPSS-config-2.0.0.xsd +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/handbook/handbook/config/config.html b/spss/handbook/handbook/config/config.html deleted file mode 100644 index 3ef04f90c..000000000 --- a/spss/handbook/handbook/config/config.html +++ /dev/null @@ -1,1224 +0,0 @@ - - - - - MOA SS und SP - Konfiguration - - - - - - - - - -
Logo BKADokumentationLogo EGIZ
-
-

MOA: Serversignatur (SS) und Signaturprüfung (SP)

-

Konfiguration

-
-

Inhalt

-
    -
  1. -

    Übersicht

    -
      -
    1. Allgemeines -
        -
      1. Namenskonventionen
      2. -
      -
    2. -
    3. Zentrale Konfigurationsdatei -
        -
      1. Aktualisierung auf das Format von MOA SP/SS 1.3
      2. -
      -
    4. -
    5. Bekanntmachung der Konfigurationsdatei - -
        -
      1. Aktualisierung der Konfiguration im laufenden Betrieb
      2. -
      -
    6. -
    7. Konfiguration des Loggings
    8. -
    -
  2. -
  3. Konfigurationsparameter -
      -
    1. Allgemeines Parameter
        -
      1. Hardwarebasiertes Kryptographiemodul
      2. -
      3. Auflösen externer URIs -
          -
        1. Blacklisting
        2. -
        3. Whitelisting
        4. -
        -
      4. -
      -
    2. -
    3. Parameter für MOA SS
        -
      1. Schlüsselspeicher
          -
        1. Hardware-Schlüsselspeicher
        2. -
        3. Software-Schlüsselspeicher
        4. -
        -
      2. -
      3. Schlüsselgruppe
      4. -
      5. Zuordnung von Schlüsselgruppen zu einem - Kunden
      6. -
      7. Parameter für XML-Signaturen
      8. -
      9. Profil für Transformationen
      10. -
      11. Profil für Signaturumgebung
      12. -
      13. XAdES Version
      14. -
      -
    4. -
    5. Parameter für MOA SP
        -
      1. Zertifikatsvalidierung
          -
        1. Konstruktion des Zertifikatspfads -
            -
          1. Cachen von Zertifikaten
          2. -
          3. Auswertung der Zertifikatserweiterung Authority Information Access
          4. -
          5. Lokalisierung des Zertifikatsspeichers
          6. -
          -
        2. -
        3. Valdierung des Zertifikatspfads -
            -
          1. Gültigkeitsmodell für die Zertifikatskettenprüfung
          2. -
          3. Vertrauensprofile
          4. -
          -
        4. -
        5. Widerrufsprüfung -
            -
          1. Aktivieren - der Widerrufsprüfung
          2. -
          3. Maximales Alter der Widerrufsinformation
          4. -
          5. Reihenfolge der Widerrufsdienste
          6. -
          7. Archivierung von Widerrufsinformationen
          8. -
          9. Manuelle - Konfiguration von Verteilungspunkten für Widerrufsinformationen
          10. -
          11. TSL Konfiguration
          12. -
          -
        6. -
        -
      2. -
      3. Profil für Transformationen
      4. -
      5. Profil für Ergänzungsobjekte
      6. -
      7. file-URIs
      8. -
      -
    6. -
    -
  4. -
  5. Beispielkonfigurationen -
      -
    1. Minimale Konfiguration für MOA SS
    2. -
    3. Minimale Konfiguration für MOA SP
    4. -
    5. Minimale Konfiguration für MOA SP mit TSL Unterstützung
    6. -
    7. Typische Konfiguration für MOA SP/SS
    8. -
    -
  6. -
-
-

1 Übersicht

-

Dieses Handbuch beschreibt detailliert die Konfigurationsmöglichkeiten für MOA SP/SS. Wenn nicht anders angegeben, beziehen sich die Erläuterungen sowohl auf die Konfiguration des Webservices als auch auf die Konfiguration von MOA SP/SS für den Einsatz als Klassenbibliothek.

-

1.1 Allgemeines

-

1.1.1 Namenskonventionen

-

Folgende Namenraum-Präfixe werden in diesem Handbuch zur Kennzeichnung der Namenräume - von XML-Elementen verwendet:

- - - - - - - - - - - - - - - - - - - - - -
PräfixNamenraum
cfghttp://reference.e-government.gv.at/namespace/moaconfig/20021122#
dsighttp://www.w3.org/2000/09/xmldsig#
moahttp://reference.e-government.gv.at/namespace/moa/20020822#
xshttp://www.w3.org/2001/XMLSchema
-

1.2 Zentrale Konfigurationsdatei

-

Die Konfiguration von MOA SP/SS erfolgt zentral über eine einzige Konfigurationsdatei. Das Format der Konfigurationsdatei ist XML und muss dem Schema MOA-SPSS-config-2.0.0.xsd entsprechen. Abschnitt 2 erläutert die Konfigurationsmöglichkeiten im Einzelnen.

-

1.2.1 - Aktualisierung auf das Format von MOA SP/SS 1.3

-

Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues, übersichtlicheres Format für die - XML-Konfigurationsdatei.

-

Wenn Sie von einer älteren Version von MOA SP/SS auf die Version 1.3 wechseln und Ihre bestehende - Konfiguration beibehalten wollen, steht Ihnen ein einfaches Kommandozeilenwerkzeug zur Verfügung, mit dem - Sie Ihre Konfigurationsdatei vom bisherigen auf das neue Format migrieren können.

-

Dieses Werkzeug können Sie durch Ausführen des Scripts configtool aus dem Verzeichnis - tools im MOA-Installationsverzeichnis verwenden:

-
configtool c:\pfad\zur\konfiguration\config.alt.xml c:\pfad\zur\konfiguration\config.neu.xml
-

Der erste Parameter für das Script gibt also Pfad und Dateiname der bestehenden, alten Konfigurationsdatei - an, der zweite Parameter Pfad und Dateiname für die zu erzeugende Konfigurationsdatei im neuen Format (Hinweis: - Die Beispielpfade beziehen sich auf Windows-Betriebssysteme; für Unix-Betriebssysteme wählen Sie bitte sinngemäße - Pfade.).

-

1.3 Bekanntmachung der Konfigurationsdatei

-

Die zentrale Konfigurationsdatei von MOA SP/SS wird der Java Virtual Machine, in der MOA SP/SS läuft, durch eine System Property mitgeteilt (wird beim Starten der Java Virtual Machine in der Form -D<name>=<wert> gemacht). Der Name der System Property lautet moa.spss.server.configuration; als Wert der System Property ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.

-
moa.spss.server.configuration=C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/moa-spss.config.xml 
-
-

Weitere Informationen zum Bekanntmachen der zentralen Konfigurationsdatei für MOA SP/SS erhalten Sie in Abschnitt 2.1.2.3 des Installationshandbuchs.

-

1.3.1 - Aktualisierung der Konfiguration im laufenden Betrieb

-

Wird MOA SP/SS als Webservice eingesetzt, kann durch Aufrufen einer speziellen URL des Webservice ein erneutes Einlesen der Konfigurationsdatei erzwungen werden. Damit ist es möglich, Änderungen an der Konfigurationsdatei vorzunehmen, und diese Änderungen ohne Neustart des zu Grunde liegenden Servlet Containers in den Betrieb zu übernehmen.

-

Weitere Informationen zum erneuten Einlesen der Konfigurationsdatei im Webservice-Betrieb erhalten Sie in Abschnitt 2.1.2.5 des Installationshandbuchs.

-

1.4 Konfiguration des Loggings

-

MOA SP/SS verwendet als Framework für Logging-Information die Open Source Software log4j. Die Konfiguration der Logging-Information erfolgt nicht direkt durch MOA SP/SS, sondern über eine eigene Konfigurationsdatei, die der Java Virtual Machine durch eine System Property mitgeteilt wird. Der Name der System Property lautet log4j.configuration; als Wert der System Property ist eine URL anzugeben, die auf die log4j-Konfigurationsdatei verweist, z.B.

-
log4j.configuration=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/log4j.properties
- Weitere Informationen zur Konfiguration des Loggings erhalten Sie in Abschnitt 2.1.3 des Installationshandbuchs. -

-

2 Konfigurationsparameter

-

Nachfolgend werden die verfügbaren Konfigurationsparameter der zentralen Konfigurationsdatei im Detail erläutert. Die Reihenfolge der Abhandlung entspricht der Reihenfolge des vorgeschriebenen Auftretens in der Konfigurationsdatei. Für beispielhafte Konfigurationsdateien siehe Abschnitt 3.

-

Muss der Wert eines Konfigurationsparameters eine URL oder eine Pfadangabe sein, und wird als konkreter Wert eine relative URL bzw. ein relativer Pfad angegeben, so wird diese Angabe relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist.

-

2.1 - Allgemeine Parameter

-

2.1.1 Hardwarebasiertes Kryptographiemodul

- - - - - - - - - - - - - -
Namecfg:Common/cfg:HardwareCryptoModule
GebrauchNull mal bis unbeschränkt oft
Erläuterung

Mit diesem Element wird MOA SP bzw. SS die Verfügbarkeit eines Hardware-Kryptographiemoduls - mitgeteilt. Wird ein solches Hardware-Kryptographiemodul konfiguriert, versucht MOA SP/SS das - Hardware-Kryptographiemodul für die Verifikation des Signaturwerts (MOA SP) bzw. für die Berechnung - von Hashwerten (MOA SP und MOA SS) anstatt des standardmäßig konfigurierten Software-Kryptographiemoduls - zu verwenden.

-

Werden mehrere Hardware-Kryptographiemodule konfiguriert, prüft MOA SP/SS entsprechend - der Konfigurationsreihenfolge der Hardware-Kryptographiemodule, ob eines der Module die benötigte - Funktion (Hashwertberechnung, Siganturprüfung) zur Verfügung stellt. Verwendet wird das erste Hardware-Kryptographiemodul, - das ide benötigte Funktion zur Verfügung stellen kann.

-

Das Element weist bis zu drei Kindelemente auf:

-
    -
  • Element cfg:Name: Dieses obligatorische Element vom Typ xs:string enthält - den Dateinamen der DLL (Windows) oder der Shared-Library (Unix), welche die PKCS#11-Schnittstelle - zum Hardware-Kryptographiemodul implementiert; der Wert enthält entweder einen Dateinamen - mit absoluter Pfadangabe oder einen Dateinamen ohne Pfadangabe. Im letzteren Fall wird der Dateiname - relativ zum Suchpfad des Betriebssystems interpretiert.
  • -
  • Element cfg:SlotId: Dieses optionale Element vom Typ xs:string gibt - des Slot der PKCS#11-Schnittstelle an, über den das Hardware-Kryptographiemodul von MOA - SP/SS angesprochen werden soll. Fehlt dieses Attribut, wählt MOA SP/SS selbst einen Slot - aus der Liste der verfügbaren Slots aus.
  • -
  • Element cfg:UserPIN: Dieses obligatorische Element vom Typ xs:string enthält - den PIN-Code zur Freischaltung der Kryptographiefunktionen über die PKCS#11-Schnittstelle - des Hardware-Kryptographiemoduls.
  • -
- -

2.1.2 Auflösen externer URIs

-

Standardmäßig ist das Auflösen von externen URIs (inkl. localhost) deaktiviert (d.h. keines der nachfolgenden Konfigurationselement cfg:PermitExternalUris bzw. cfg:ForbidExternalUris existiert). Es gibt jedoch zwei Möglichkeiten das Auflösen zu aktivieren:

-
    -
  • Blacklisting: Hierbei wird das Auflösen von externen URIs erlaubt. Es kann jedoch durch die Angaben einer Blacklist der Zugriff auf bestimmte URIs eingeschränkt werden.
  • -
  • Whitelisting: Hierbei ist das Auflösen von externen URIs weiterhin verboten. Es kann jedoch durch die Angabe einer Whitelist der Zugriff auf bestimmte URIs gestattet werden.
  • -
-

Diese beiden Möglichkeiten stehen wahlweise zur Verfügung, d.h. es kann entweder Blacklisting oder Whitelisting konfiguriert werden.

-

2.1.2.1 Blacklisting

- - - - - - - - - - - - - -
Namecfg:Common/cfg:PermitExternalUris
GebrauchNull mal bis einmal
Erläuterung

Mit diesem Element wird MOA SP bzw. SS mitgeteilt, dass das Auflösen externer URIs (inkl. localhost) erlaubt ist. Ist dieses Element vorhanden, so ist das Auflösen aller externer URIs aktiviert. Durch einen Blacklist-Mechanismus kann jedoch eingeschränkt werden, dass bestimmte URIs, die sich auf dieser Blacklist befinden, nicht aufgelöst werden. Diese Blacklist kann in dem folgenden Kindelement angegeben werden:

-
    -
  • Element cfg:BlackListUri: Dieses optionale und unbegrenzten Element gibt einen Blacklist-Eintrag an und besteht aus folgenden zwei weiteren Kindelementen:
  • -
      -
    • Element cfg:IP: Dieses Element vom Type xs:string gibt eine IP-Adresse (z.B.: 127.0.0.1) oder einen IP-Adress-Bereich (z.B.: 192.168) an. Bei Angabe einer IP-Adresse werden nur URIs mit exakt dieser IP-Adresse nicht aufgelöst. Bei Angabe eines IP-Adress-Bereichs werden sämtliche URIs, die mit diesem IP-Bereich beginnen nicht aufgelöst (z.B.: alle IPs im Bereich 192.168.0.0 bis 192.168.255.255)
    • -
    • Element cfg:Port: Dieses optionale Element vom Typ xs:int legt eine bestimmte Portnummer fest. Ist eine Portnummer angegeben werden alle URIs mit obiger IP-Adresse und dieser Portnummer nicht aufgelöst. Ist keine Portnummer angegeben, sind alle Portnummern gesperrt.
    • -
    -
- -

Empfehlung: Bei aktiviertem Auflösen von externen URIs sollten sowohl localhost als auch der gesamte Intranetbereich in die Blacklist eingetragen werden. Hierzu eine beispielhafte Blacklist:

-

<cfg:BlackListUri>
- <cfg:IP>192.168</cfg:IP>
- </cfg:BlackListUri>
- <cfg:BlackListUri>
- <cfg:IP>127.0.0.1</cfg:IP>
- </cfg:BlackListUri>

- -

2.1.2.2 Whitelisting

- - - - - - - - - - - - - -
Namecfg:Common/cfg:ForbidExternalUris
GebrauchNull mal bis einmal
Erläuterung

Mit diesem Element wird MOA SP bzw. SS mitgeteilt, dass das Auflösen externer URIs (inkl. localhost) zwar verboten ist, aber durch eine Whitelist entsprechende Ausnahmen angeben werden können. D.h. URIs, die sich auf dieser Whitelist befinden werden aufgelöst. Diese Whitelist kann in dem folgenden Kindelement angegeben werden:

-
    -
  • Element cfg:WhiteListUri: Dieses optionale und unbegrenzten Element gibt einen Whitelist-Eintrag an und besteht aus folgenden zwei weiteren Kindelementen:
  • -
      -
    • Element cfg:IP: Dieses Element vom Type xs:string gibt eine IP-Adresse (z.B.: 127.0.0.1) oder einen IP-Adress-Bereich (z.B.: 192.168) an. Bei Angabe einer IP-Adresse werden nur URIs mit exakt dieser IP-Adresse aufgelöst. Bei Angabe eines IP-Adress-Bereichs werden sämtliche URIs, die mit diesem IP-Bereich beginnen aufgelöst (z.B.: alle IPs im Bereich 192.168.0.0 bis 192.168.255.255)
    • -
    • Element cfg:Port: Dieses optionale Element vom Typ xs:int legt eine bestimmte Portnummer fest. Ist eine Portnummer angegeben werden alle URIs mit obiger IP-Adresse und dieser Portnummer aufgelöst. Ist Portnummer angegeben, sind alle Portnummern offen.
    • -
    -
-

2.2 Parameter für MOA SS

-

2.2.1 Schlüsselspeicher

-

2.2.1.1 Hardware-Schlüsselspeicher

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule
GebrauchNull mal bis unbeschränkt oft; zumindest ein Hardware- (cfg:HardwareKeyModule) oder - Software-Schlüsselspeicher (cfg:SoftwareKeyModule) muss - jedoch vorhanden sein
Erläuterung

Mit diesem Element wird MOA SS die Verfügbarkeit eines Hardware-Schlüsselspeichers mitgeteilt.

-

Das Element weist bis zu vier Kindelemente auf:

-
    -
  • Element cfg:Id: Dieses obligatorische Element vom Typ xs:token enthält - einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der - XML-Konfigurationsdatei eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement cfg:SignatureCreation/cfg:KeyGroup auf - dieses Konfigurationselement referenziert.
  • -
  • Element cfg:Name: Dieses obligatorische Element vom Typ xs:string enthält - den Dateinamen der DLL (Windows) oder der Shared-Library (Unix), welche die PKCS#11-Schnittstelle - zum Hardware-Schlüsselspeicher implementiert; der Wert enthält entweder einen Dateinamen - mit absoluter Pfadangabe oder einen Dateinamen ohne Pfadangabe. Im letzteren Fall wird der Dateiname - relativ zum Suchpfad des Betriebssystems interpretiert.
  • -
  • Element cfg:SlotId: Dieses optionale Element vom Typ xs:string gibt des - Slot der PKCS#11-Schnittstelle an, über den der Hardware-Schlüsselspeicher von MOA SS - angesprochen werden soll. Fehlt dieses Attribut, wählt MOA SS selbst einen Slot aus der Liste - der verfügbaren Slots aus.
  • -
  • Element cfg:UserPIN: Dieses obligatorische Element vom Typ xs:string enthält - den PIN-Code zur Freischaltung der Schlüsselverwendung über die PKCS#11-Schnittstelle - des Hardware-Schlüsselspeichers.
  • -
-

2.2.1.2 - Software-Schlüsselspeicher

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule
GebrauchNull mal bis unbeschränkt oft; zumindest ein Hardware- (cfg:HardwareKeyModule) oder - Software-Schlüsselspeicher (cfg:SoftwareKeyModule) muss jedoch vorhanden sein
Erläuterung

Mit diesem Element wird MOA SS die Verfügbarkeit eines Software-Schlüsselspeichers in - Form einer PKCS#12-Datei mitgeteilt.

-

Das Element weist drei obligatorische Kindelemente auf:

-
    -
  • Element cfg:Id: Dieses Element vom Typ xs:token enthält einen - frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei - eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement cfg:SignatureCreation/cfg:KeyGroup auf - dieses Konfigurationselement referenziert.
  • -
  • Element cfg:Filename: Dieses Element vom Typ xs:string enthält - den Dateinamen der PKCS#12-Datei, die den Software-Schlüsselspeicher repräsentiert. Der - Wert enthält einen Dateinamen mit absoluter oder relativer Pfadangabe. Eine relative Pfadangabe - wird von MOA SS relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei - gespeichert ist.
  • -
  • Element cfg:Password: Dieses Element vom Typ xs:string enthält - das Passwort zum Entschlüsseln der Inhalte der PKCS#12-Datei.
  • -
-

2.2.2 Schlüsselgruppe

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:KeyGroup
Gebraucheinmal bis unbeschränkt oft
Erläuterung

Mit diesem Element wird in MOA SS eine Schlüsselgruppe definiert. Eine Schlüsselgruppe - ist eine Zusammenfassung von einem oder mehreren privaten Schlüsseln, die in Hardware- bzw. Softwareschlüsselspeichern - (vergleiche Abschnitte 2.2.1.1 bzw. 2.2.1.2) - verwaltet werden. Die Schlüsselgruppe wird vom Kunden von MOA SS über einen eindeutigen Bezeichner - im Request zur Signaturerstellung angesprochen.

-

Sinn der Zusammenfassung von mehreren privaten Schlüsseln zu einer Schlüsselgruppe ist - es, dass MOA SS selbst entscheidet, welcher konkrete Schlüssel aus der Schlüsselgruppe - zur Erstellung der Signatur verwendet wird. Durch die somit mögliche Parallelisierung (mehrere - private Schlüssel werden parallel für Anfragen, die auf die gleiche Schlüsselgruppe - referenzieren) lässt sich der Durchsatz der erstellten Signaturen verbessern.

-

Das Element cfg:SignatureCreation/cfg:KeyGroup hat folgenden Element-Inhalt:

-
    -
  • Element cfg:Id: Dieses obligatorische Element vom Typ xs:token enthält - einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der - XML-Konfigurationsdatei eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement cfg:SignatureCreation/cfg:KeyGroupMapping auf - dieses Konfigurationselement referenziert. Weiters wird dieser Identifikator im Request zur Erstellung - der Signatur verwendet, um die zu verwendende Schlüsselgruppe anzugeben.
  • -
  • Element cfg:Key: Dieses Element muss zumindest einmal vorkommen. Jedes Element beschreibt - einen der privaten Schlüssel, aus denen sich die Schlüsselgruppe zusammensetzt. Das Element - hat folgenden Element-Inhalt: -
      -
    • Element cfg:KeyModuleId: Dieses Element kommt genau einmal vor. Mit ihm wird - auf einen der konfigurierten Hardware- oder Software-Schlüsselspeicher referenziert. - Sein Textinhalt vom Typ xs:token enthält den Identifikator des Hardware- - oder Software-Schlüsselspeichers, so wie er in cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule/cfg:Id bzw. cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule/cfg:Id festgelegt - wurde.
    • -
    • Element cfg:KeyCertIssuerSerial: Dieses Element kommt ebenfalls genau einmal - vor. Mit ihm wird ein privater Schlüssel innerhalb des mit cfg:KeyModuleId ausgewählten - Schlüsselspeichers ausgewählt (sowohl Hardware- als auch Softwareschlüsselspeicher - können ja prinzipiell mehr als nur einen einzigen privaten Schlüssel verwalten). - Das Element hat folgenden Element-Inhalt: -
        -
      • Element dsig:X509IssuerName: Dieses Element kommt genau einmal vor. - Sein Textinhalt vom Typ xs:string enthält den Namen des Ausstellers - des Zertifikats für den ausgewählten privaten Schlüssel.
      • -
      • Element dsig:X509SerialNumber: Dieses Element kommt genau einmal vor. - Sein Textinhalt vom Typ xs:integer enthält die Seriennummer des Zertifikats - für den ausgewählten privaten Schlüssel.
      • -
      -
    • -
    -
  • -
  • Element cfg:DigestMethodAlgorithm: Dieses optionale Element spezifiert einen Digest-Algorithmus, der für das Erstellen von XML-Signaturen mittels dieser Schlüsselgruppe verwendet werden soll. Der Default-Wert bzw. ein allfällig in Abschnitt "Parameter für XML-Signaturen" definierter Wert, werden dadurch für diese Schlüsselgruppe überschrieben. Mögliche Werte sind dem Element cfg:SignatureCreation/cfg:XMLDSig/cfg:DigestMethodAlgorithm ebenfalls in Abschnitt "Parameter für XML-Signaturen" zu entnehmen.
  • -
-

Um auf einfache Weise für alle in Ihren Schlüsselspeichern enthaltenen privaten Schlüssel - die jeweiligen Werte für dsig:X509IssuerName und dsig:X509SerialNumber zu -

-
    -
  1. Erfassen Sie in der zentralen Konfigurationsdatei alle Ihre Schlüsselspeicher mit Hilfe - der Konfigurationselemente cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule bzw. cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule.
  2. -
  3. Starten Sie nun - mit bewusst fehlenden cfg:SignatureCreation/cfg:KeyGroup Elementen - den MOA SP/SS Server. - Stellen Sie dabei sicher, dass das Log-Level für den Logger moa.spss.server zumindest - auf das Niveau info eingestellt ist (Informationen zur Konfiguration des Loggings - von MOA SP/SS finden Sie in Abschnitt - 2.1.3 des Installationshandbuchs). Im Log-File werden dann alle verfügbaren privaten Schlüssel - an Hand der Werte dsig:X509IssuerName und dsig:X509SerialNumber aufgelistet. - Vergleichen Sie den folgenden beispielhaften Auszug:
    -
    INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key 
    ID=SKM_Kunde1;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;7 -INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key - ID=SKM_allgemein;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;9
    INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key
    ID=SKM_Kunde2;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;8
    - Der Wert der Eigenschaft ID des Logging-Eintrags gliedert sich in drei Teile: -
      -
    1. Der erste Teil enthält den Identifikator des Hardware- bzw. Softwareschlüsselspeichers, - so wie er im entsprechenden Konfigurationselement cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule bzw. cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule erfasst - wurde.
    2. -
    3. Der zweite Teil enthält nach dem ersten Semikolon den Namen des Ausstellers des Zertifikats - für den privaten Schlüssel, so wie er in dsig:X509IssuerName benötigt - wird.
    4. -
    5. Der dritte Teil enthält nach dem zweiten Semikolon die Seriennummer des Zertifikats für - den privaten Schlüssel, so wie er in dsig:X509SerialNumber benötigt wird.
    6. -
    -
  4. -
  5. Erfassen Sie nun mit Hilfe der neu gewonnenen Informationen die Schlüsselgruppen, die in - MOA SS zur Verfügung stehen sollen.
  6. -
-

Wenn Ihnen für einen privaten Schlüssel, den Sie in eine Schlüsselgruppe aufnehmen - wollen, das Zertifikat bekannt ist und es in Form einer DER-kodierten Datei vorliegt, können - Sie alternativ das Script certtool aus dem Verzeichnis tools im MOA-Installationsverzeichnis - verwenden, um zu den Werten für dsig:X509IssuerName und dsig:X509SerialNumber zu - kommen:

-
certtool -info <certfilename>

<certfilename> enthält den Namen der DER-kodierten Zertifikatsdatei, für - die die beiden Werte dsig:X509IssuerName und dsig:X509SerialNumber geliefert - werden sollen. Eine beispielhafte Ausgabe des Scripts sieht wie folgt aus:

-
SubjectDN (RFC2253): 
-  CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT
-IssuerDN (RFC2253) : 
-  CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT
Serial Number : - 9

Die Werte für IssuerDN (RFC2253) sowie Serial Number entsprechen - den Werten für dsig:X509IssuerName und dsig:X509SerialNumber.

-

2.2.3 - Zuordnung von Schlüsselgruppen zu Kunden

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:KeyGroupMapping
Gebraucheinmal bis unbeschränkt oft
Erläuterung

Das Element cfg:SignatureCreation/cfg:KeyGroupMapping ordnet einem Kunden von MOA SS die ihm zur Verfügung - stehenden Schlüsselgruppen zu, indem das den Kunden repräsentierende SSL-Clientzertifikat - mit einer oder mehreren Schlüsselgruppen assoziiert wird.

-

Das Element hat folgenden Element-Inhalt:

-
    -
  • Element cfg:CustomerId: Dieses Element bezeichnet auf eindeutige - Weise das den Kunden repräsentierende SSL-Clientzertifikat. Der Aufbau des Elements enspricht - dem Aufbau des Elements cfg:KeyCertIssuerSerial in Abschnitt 2.2.2. - Um zu den Werten für Ausstellername und Seriennummer des SSL-Clientzertifikats zu kommen, - können Sie auch hier das Script certtool (vergleiche Abschnitt 2.2.2) - verwenden.
  • -
  • Element cfg:KeyGroupId: Dieses Element vom Typ xs:token kommt so oft - vor, wie Schlüsselgruppen - einem bestimmten SSL-Clientzertifikat zugeordnet werden sollen, mindestens jedoch einmal. Sein - Wert repräsentiert dem Identifikator der Schlüsselgruppe, so wie er in cfg:SignatureCreation/cfg:KeyGroup/cfg:Id festgelegt - wurde.
  • -
-

Bitte beachten Sie: Für maximal ein Konfigurationselement cfg:SignatureCreation/cfg:KeyGroupMapping kann cfg:CustomerId auch - weggelassen werden. Die darin enthaltenen Schlüsselgruppen stehen dann allen Kunden von MOA - SS gleichermaßen zur Verfügung.

-

2.2.4 Parameter - für XML-Signaturen

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:XMLDSig/cfg:CanonicalizationAlgorithm
GebrauchNull mal oder einmal
Erläuterung

Als Inhalt des Elements kann der Kanonisierungs-Algorithmus, der für das Erstellen von XML-Signaturen verwendet werden soll und in der Signatur als Inhalt von dsig:Signature/dsig:SignedInfo/dsig:CanonicalizationMethod aufscheint, spezifiziert werden. Folgende Werte dürfen verwendet werden:

-

-

http://www.w3.org/TR/2001/REC-xml-c14n-20010315 
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
http://www.w3.org/2001/10/xml-exc-c14n#
http://www.w3.org/2001/10/xml-exc-c14n#WithComments
-

Wird das Element nicht angegeben, wird folgender Wert als Default-Wert verwendet:

-
http://www.w3.org/TR/2001/REC-xml-c14n-20010315  

Für die genaue Bedeutung der Werte siehe die Spezifikation für XML-Signaturen.

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:XMLDSig/cfg:DigestMethodAlgorithm
GebrauchNull mal oder einmal
Erläuterung

Als Inhalt des Elements kann der Digest-Algorithmus, der für das Erstellen von XML-Signaturen verwendet werden soll und in der Signatur als Inhalt von dsig:Signature/dsig:SignedInfo/dsig:Reference/dsig:DigestMethod aufscheint, spezifiziert werden. Folgende Werte dürfen verwendet werden: -

-
http://www.w3.org/2000/09/xmldsig#sha1
-http://www.w3.org/2000/09/xmldsig#sha256
http://www.w3.org/2000/09/xmldsig#sha384
http://www.w3.org/2000/09/xmldsig#sha512
- Wird das Element nicht angegeben, wird - abhängig von der konfigurierten XAdES-Version (siehe XAdES-Version)- folgender Wert als Default-Wert verwendet: -

Für XAdES Version 1.1.1:

-
http://www.w3.org/2000/09/xmldsig#sha1
-

Für XAdES Version 1.4.2:

-
http://www.w3.org/2000/09/xmldsig#sha256
-

Für die genaue Bedeutung der Werte siehe die Spezifikation für XML-Signaturen.

-

2.2.5 Profil für Transformationen

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:CreateTransformsInfoProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SS erlaubt die Hinterlegung von vordefinierten Profilen für Transformationen, die im Rahmen - einer XML-Signaturerstellung zur Anwendung kommen sollen. Im Request zur XML-Signaturerstellung - reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die gesamten Transformationen explizit - anzugeben.

-

cfg:CreateTransformsInfoProfile enthält für ein bestimmtes Datenobjekt - für eine zu erstellende XML-Signatur die auf dieses Datenobjekt anzuwendenden Transformationen, - sowie allenfalls für die Durchführung der Transformationen notwendige Ergänzungsobjekte - (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).

-

cfg:CreateTransformsInfoProfile weist folgende obligatorische Kindelemene auf:

-
    -
  • Element Id: Dieses Element vom Typ xs:token enthält einen frei - wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei - eindeutig sein muss. Dieser Identifikator wird im Request zur Erstellung der XML-Signatur verwendet, - um das hinterlegte Profil zu referenzieren (vergleiche Element moa:CreateTransformsInfoProfileID).
  • -
  • Element Location: Dieses Element vom Typ xs:anyURI enthält - den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative - oder absolute URI. Eine relative URI - wird von MOA SS als File-URI relativ zum Lage jenes Verzeichnisses interpretiert, in dem die zentrale - Konfigurationsdatei gespeichert ist. Die XML-Datei muss als Wurzelelement das Element moa:CreateTransformsInfoProfile - enthalten.
  • -
-

2.2.6 Profil für Signaturumgebung

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:CreateSignatureEnvironmentProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SS erlaubt die Hinterlegung von vordefinierten Profilen für die Signaturumgebung, - die im Rahmen einer XML-Signaturerstellung zur Anwendung kommen soll. Im Request zur XML-Signaturerstellung - reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die Informationen zur Signaturumgebung - explizit anzugeben.

-

cfg:CreateSignatureEnvironmentProfile enthält für eine zu erstellende XML-Signatur, - die in ein bereits bestehendes XML-Dokument integriert werden soll, die Stelle, an der die XML-Signatur - eingefügt werden soll, sowie allenfalls für die Verarbeitung des bestehenden XML-Dokuments - notwendige Ergänzungsobjekte (z.B. ein XML-Schema für das validierende Parsen des bestehenden - XML-Dokuments).

-

cfg:CreateSignatureEnvironmentProfile weist folgende obligatorische Kindelemente - auf:

-
    -
  • Element Id: Dieses Element vom Typ xs:token enthält - einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der - XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Erstellung - der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element moa:CreateSignatureEnvironmentProfileID).
  • -
  • Element Location: Dieses Element vom Typ xs:anyURI enthält - den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative - oder absolute URI. Eine relative URI wird von MOA SS als File-URI relativ zum Lage jenes Verzeichnisses - interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als - Wurzelelement das Element moa:CreateSignatureEnvironmentProfile enthalten.
  • -
-

2.2.7 XAdES Version

- - - - - - - - - - - - - -
Namecfg:SignatureCreation/cfg:XAdES
GebrauchNull mal bis einmal
Erläuterung

MOA SS ermöglicht die Erstellung einer herkömmlichen XML-Signatur (das Attribut SecurityLayerConformity im CreateXMLSignatureRequest ist auf false gesetzt) oder einer XAdES-Signatur (SecurityLayerConformity=true) gemäß der Security-Layer Spezifikation V1.1. Dieses Element gibt nun an welche XAdES-Version in diesem Fall eingesetzt werden soll. Bei Nichtvorhandensein des Elements wird die bisherige Standardversion XAdES 1.1.1 verwendet. Im folgenden Kindelement kann jedoch eine andere XAdES-Version konfiguriert werden. cfg:XAdES weist daher folgendes obligatorische Kindelement - auf:

-
    -
  • Element Version: Dieses Element vom Typ xs:token gibt die zu verwendende XAdES-Version an. Derzeit kann nur die Version 1.4.2 angegeben werden.
  • -
-

2.3 -Parameter für MOA SP

-

2.3.1 - Zertifikatsvalidierung

-

2.3.1.1 - Konstruktion des Zertifikatspfads

-
2.3.1.1.1 Cachen von Zertifikaten
- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:AutoAddCertificates
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob Zertifikate, die in einer - zu prüfenden - Signatur enthalten sind bzw. bei der Zertifikatspfaderstellung durch Auswertung der Zertifikatserweiterung Authority - Information Access (siehe - auch Parameter cfg:UseAuthorityInfoAccess) aus dem Internet geladen werden, automatisch - in den lokalen Zertifikatsspeicher hinzugefügt werden sollen.

-

Zulässige Werte für diesen Parameter sind true oder false.

-
-
2.3.1.1.2 Auswertung - der Zertifikatserweiterung Authority Information Access -
- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:UseAuthorityInfoAccess
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob die Zertifikatserweiterung Authority - Information Access für die Zertifikatspfaderstellung verwendet werden soll. Wird der - Wert auf true gesetzt, dann setzt MOA auch den Parameter cfg:AutoAddCertificate automatisch - auf true und ignoriert den gegebenenfalls in der Konfigurationsdatei dafür gesetzten - Wert.

-

Zulässige Werte für diesen Parameter sind true oder false.

-
2.3.1.1.3 Lokalisierung - des Zertifikatsspeichers
- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:CertificateStore/cfg:DirectoryStore/cfg:Location
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:token gibt ein Verzeichnis im lokalen Dateisystem - an, das von MOA als lokaler Zertifikatsspeicher verwendet werden soll. -Zulässige Werte für diesen Parameter sind absolute oder relative Pfadangaben, wobei relative Pfadangaben -als relativ zum Pfad jenes Verzeichnisses interpretiert werden, in dem die zentrale - Konfigurationsdatei gespeichert ist. Beispiele für zulässige Werte lauten:

-
C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/certstore
-
certstore
-

2.3.1.2 - Valdierung des Zertifikatspfads

-
2.3.1.2.1 Gültigkeitsmodell - für die Zertifikatskettenprüfung
- - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation/cfg:ChainingMode
Gebrauchgenau einmal
Erläuterung

Dieses Element legt fest, ob MOA SP für die Prüfung der Gültigkeit - einer konstruierten Zertifikatskette das Kettenmodell aus ISIS-MTT oder das Schalenmodell aus dem PKIX - RFC 3280 verwenden soll. Es hat folgende Kindelemente:

-
    -
  • cfg:DefaultMode: Dieses obligatorische Element gibt das Default-Modell für die Prüfung - der Gültigkeit einer konstruierten Zertifikatskette an. Gültige Werte sind chaining (Kettenmodell) - oder pkix (Schalenmodell).
  • -
  • cfg:TrustAnchor: Dieses Element kann beliebig oft (auch gar nicht) verwendet - werden, um für bestimmte Vertrauensanker (vergleiche nächsten Parameter cfg:TrustProfile) - Ausnahmen vom Default-Modell vorzugeben. - Das Element weist folgende Kindelemente auf: -
      -
    • cfg:Identification: Dieses obligatorische Element identifiziert den Vertrauensanker, - für den ein bestimmtes Modell konfiguriert werden soll. Es entspricht vom Aufbau jenem - von cfg:KeyCertIssuerSerial in - Abschnitt 2.2.2. Um zu den Werten für - Ausstellername und Seriennummer des Vertrauensankers zu kommen, können Sie auch hier - das Script certtool (vergleiche Abschnitt 2.2.2) - verwenden.
    • -
    • cfg:Mode: Dieses obligatorische Element vom Typ xs:string gibt - jenes Modell an, das von MOA SP für die - Prüfung von konstruierten Zertifikatsketten zu verwenden ist, die im mittels cfg:Identification/dsig:X509IssuerName und cfg:Identification/dsig:X509SerialNumber angegebenen - Vertrauensanker münden. Gültige Werte sind chaining (Kettenmodell) - oder pkix (Schalenmodell).
    • -
    -
  • -
-
2.3.1.2.2 Vertrauensprofile
- - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation/cfg:TrustProfile
Gebraucheinmal bis unbeschränkt oft (zumindest ein Vertrauensprofil muss vorhanden sein)
Erläuterung

Das Element cfg:TrustProfile wird dazu verwendet, um in MOA SP ein Vertrauensprofil - für die Signaturprüfung einzurichten. Ein Vertrauensprofil besteht aus einer Menge von Vertrauensankern - und einer optionalen Menge von explizit erlaubten Signatorzertifikaten.

-

Ein Vertrauensanker ist ein CA-Zertifikat, das explizit als vertrauenswürdig eingestuft wird. - MOA SP versucht bei der Konstruktion einer Zertifikatskette, einen Pfad vom Signatorzertifikat bis - hin zu einem der konfigurierten Vertrauensanker zu finden. Gelingt dies, wird auch das Signatorzertifikat - als vertrauenswürdig betrachtet, ansonsten nicht.

-

Wird neben der Menge von Vertrauensankern auch noch eine Menge von explizit erlaubten Signatorzertifikaten - angegeben, prüft MOA SP nicht nur, ob sich ein Pfad vom Signatorzertifikat zu einem konfigurierten - Vertrauensanker konstruieren lässt, sondern darüber hinaus auch noch, ob das Signatorzertifikat - aus der zu prüfenden Signatur in der Menge der explizit erlaubten Signatorzertifikate vorkommt. - Explizit erlaubte Signatorzertifikate sollten Sie dann konfigurieren, wenn nicht allen von einer - als Vertrauensanker konfigurierten CA ausgestellten Zertifikaten vertraut werden soll, sondern nur - ganz bestimmten Zertifikaten dieser CA.

-

In MOA SP können beliebig viele solcher Vertrauensprofile konfiguriert werden. Der Kunde von - MOA SP gibt im Request zur Signaturprüfung an, gegen welches Vertrauensprofil MOA SP die Zertifikatsprüfung - vornehmen soll.

-

Das Element cfg:TrustProfile weist folgende Kindelemente - auf:

-
    -
  • cfg:Id: Dieses obligatorische Element vom Typ xs:token enthält einen - frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei - eindeutig sein muss. Dieser Identifikator wird im Request zur Signaturprüfung verwendet, um - das zu verwendende Vertrauensprofil auszuwählen.
  • -
  • Element cfg:TrustAnchorsLocation: Dieses obligatorische Element vom Typ xs:anyURI enthält - eine relative oder absolute URL, die ein Verzeichnis im lokalen Dateisystem referenziert. - Eine relative URL wird relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale - Konfigurationsdatei gespeichert ist. Eine absolute URL muss als Protokoll-Teil file verwenden. - Das referenzierte Verzeichnis muss eine oder mehrere DER-kodierte Zertifikatsdateien beinhalten. - Jede Zertifikatsdatei repräsentiert einen Vertrauensanker.
  • -
  • Element cfg:SignerCertsLocation: Dieses optionale Element vom Typ xs:anyURI enthält - eine relative oder absolute URL, die ein Verzeichnis im lokalen Dateisystem referenziert. Eine - relative URL wird relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei - gespeichert ist. Eine absolute URL muss als Protokoll-Teil file verwenden. Das referenzierte - Verzeichnis muss eine oder mehrere DER-kodierte Zertifikatsdateien beinhalten. Jede Zertifikatsdatei - repräsentiert ein explizit erlaubtes Signatorzertifikat.
  • -
  • Element cfg:EUTSL: Dieses optionale Element aktiviert bei Vorhandensein die EU-TSL Unterstützung für dieses Vertrauensprofile. D.h. als Vertrauensanker werden jene CA-Zertifikate herangezogen, die zum gegenwärtigen Zeitpunkt auf der EU-TSL bzw. den entsprechenden TSLs der Mitgliedsstaaten befugt sind qualifizierte Zertifikate auszustellen und dessen Zertififierungsdiensteanbieter unter dem ServiceLevel "accredited" oder "undersupervision" stehen. Des Weiteren werden bei TSL-aktivierten Vertrauensprofilen, die Überprüfung auf qualifiziertes Zertifikat (QC-Überprüfung) und die Überprüfung auf sichere Signaturerstellungseinheit (SSCD-Überprüfung) über die EU-TSL durchgeführt.
    - Zusätzliche kann ein optionales Kind-Element - cfg:CountrySelection angegeben werden. Dieses Element definiert eine komma-separierte Liste an zweistelligen Länderkürzeln nach ISO 3166. Ist so eine Liste vorhanden, werden nur die Vertrauensanker der angegebenen Länder herangezogen.
    - Wichtig: Es können zusätzlich manuelle Vertrauensanker via cfg:TrustAnchorsLocation konfiguriert werden. Hierbei ist jedoch, insbesondere beim Hinzufügen von Enduser-Zertifikaten als Vertrauensanker, zu beachten, dass eine QC- bzw. SSCD-Überprüfung gegebenenfalls nicht erfolgreich durchgeführt werden kann.
    - Wichtig: Bei aktivierter TSL-Unterstützung muss einen entsprechende TSL Konfiguration angegeben werden (siehe TSL Konfiguration).
  • -
-

2.3.1.3 - Widerrufsprüfung

-
2.3.1.3.1 Aktivieren - der Widerrufsprüfung
- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:EnableChecking
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob bei der Zertifikatsüberprüfung im Zuge einer Signaturprüfung auch der - Zertifikatsstatus jedes einzelnen Zertifikats des gebildeten Zertifikatspfads überprüft werden - soll.

-

Bitte beachten Sie: Die Widerrufsprüfung ist ein sehr wichtiger Schritt der - Zertifikatsüberprüfung und somit der Signaturprüfung. Eine Deaktivierung sollte nur - in begründeten Ausnahmefällen in Erwägung gezogen werden, z.B. für Testsituationen.

-

Zulässige Werte für diesen Parameter sind true oder false.

-
2.3.1.3.2 - Maximales Alter der Widerrufsinformation
- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:MaxRevocationAge
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:integer gibt an, wie aktuell eine ggf. lokal - gespeicherte Widerrufsinformation sein muss, damit sie von MOA SP als gültig angesehen wird. Ist - die lokal gespeicherte Widerrufsinformation nicht aktuell genug, wird sie von MOA SP erneut aus dem - Internet geladen.

-

Dieser Parameter wird nur ausgewertet, wenn die Widerrufsprüfung aktiviert ist (siehe Parameter cfg:EnableChecking).

-

Zulässige Werte für diesen Parameter sind ganze Zahlen:

-
    -
  • Ein beliebiger negativer Wert bedeutet, dass eine Widerrufsinformation jedes Mal, wenn sie benötigt - wird, neu aus dem Internet geladen wird.
  • -
  • Der Wert 0 bedeutet, dass eine Widerrufsinformation dann neu geladen wird, wenn - das Datum im Feld nextUpdate der entsprechenden Widerrufsliste bereits überschritten - ist.
  • -
  • Ein positiver Wert gibt gibt die Zeitspanne in Millisekunden an, nach der eine ggf. vorhandene - lokale Widerrufsinformation spätestens durch erneutes Laden aus dem Internet aktualisiert - wird.
  • -
-
2.3.1.3.3 - Reihenfolge der Widerrufsdienste
- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:ServiceOrder
GebrauchNull mal oder einmal
Erläuterung

Dieses Element gibt an, in welcher Reihenfolge MOA SP die Widerrufsdienste für die Prüfung des - Widerrufs für ein Zertifikat kontaktieren soll, wenn für das Zertifikat mehrere unterschiedliche Widerrufsdienste - (CRL, OCSP) verfügbar sind. Das Element weist folgendes Kindelement auf:

-
    -
  • cfg:Service: Dieses Element vom Typ xs:token muss genau ein oder zwei mal vorkommen. Gütlige Werte für den - Textinhalt des Elements sind OCSP und CRL. Damit kann entweder die Reihenfolge (CRL, OCSP) oder (OCSP, - CRL) festgelegt werden. Wird nur ein Element angegeben, so wird auch nur der jeweilige Dienst verwendet.
  • -

Wird das Element nicht angegeben, so lautet die von MOA SP dann verwendete Default-Reihenfolge (CRL, - OCSP).

-
2.3.1.3.4 - Archivierung von Widerrufsinformationen
- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:EnableArchiving
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob mittlerweile ungültig - gewordene (i.e. historische) CRL-Widerrufsinformationen von MOA SP archiviert werden soll.

-

Wird dieser - Parameter auf den Wert true gesetzt, muss auch der Parameter cfg:Archive (siehe - unten) angegeben werden. Zulässige Werte für diesen Parameter sind true oder false.

- - - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:ArchiveDuration
GebrauchNull mal oder einmal
Erläuterung

Dieses Element vom Typ xs:nonNegativeInteger gibt (in Tagen) an, wie lange Widerrufsinformationen - von MOA SP archiviert werden müssen. Das Element wird von MOA SP nur dann ausgewertet, wenn der - Konfigurationsparameter cfg:EnableArchiving auf - true gesetzt ist.

-

Wird das Element nicht angegeben, so verwendet MOA SP den Default-Wert von 365 Tagen.

- - - - - - - - - - - - - -
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:Archive
GebrauchNull mal oder einmal
Erläuterung

Dieses Element gibt an, welches Archiv MOA SP zur Archivierung von mittlerweile ungültig - gewordene (i.e. historische) CRL-Widerrufsinformationen verwenden soll, falls der Konfigurationsparameter cfg:EnableArchiving auf - true gesetzt ist. Es muss angegeben werden, wenn der - Konfigurationsparameter cfg:EnableArchiving auf true gesetzt ist. Das Element weist folgendes - Kindelement auf:

-
    -
  • cfg:DatabaseArchive: Dieses obligatorische Element dient zur Angabe der notwendigen - Informationen für die Benutzung eines datenbankbasierten CRL-Archivs durch MOA SP. Das Datenbankarchiv - ist die einzige derzeit unterstützte Archivform. Das Element weist folgende Kindelemente auf: -
      -
    • cfg:JDBCURL: Dieses obligatorische Element vom Typ xs:anyURI gibt - die JDBC-URL zu jener Datenbank an, in der MOA historische Widerrufsinformationen archivieren - soll. Der genaue Aufbau der JDBC-URL ist abhängig von der verwendeten Datenbank. Im Fall von - PostgreSQL kann folgende URL verwendet werden: -
      jdbc:postgresql://<host>/<moadb>?user=<moauser>&amp;password=<moapassword>
      -

      Die Platzhalter <host>, <moadb>, <moauser> und <moapassword> müssen - dabei an die tatsächlich verwendete Datenbank angepasst werden.

      -

      Bitte beachten Sie: Die Kodierung des Zeichens "&" als "&amp;" ist - erforderlich, da es andernfalls zu einem Validierungsfehler beim Parsen der XML-Konfigurationsdatei - durch MOA kommen würde.

      -

      Bitte beachten Sie: MOA SP legt eigenständig eine passende Tabelle in der angegebenen - Datenbank an und befüllt diese dann in weiterer Folge. Der in der JDBC-URL angegebene Benutzer - muss mit den dazu passenden Rechten ausgestattet sein.

      -
    • -
    • cfg:JDBCDriverClassName: Dieses obligatorische Element vom Typ xs:token gibt den - vollständig - qualifizierten Java-Klassennamen des JDBC-Treibers an, der von MOA SP zur Ansprache der für - die CRL-Archivierung zu verwendenden Datenbank benützt werden soll.

      -

      Bitte beachten Sie: Informationen zum Anlegen einer Datenbank in postgreSQL finden Sie in Abschnitt - 2.2.2.1 des Installationshandbuchs.

      -
    • -
    -
  • -
-
2.3.1.3.5 - Manuelle Konfiguration von Verteilungspunkten für Widerrufsinformationen
- - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:DistributionPoint
GebrauchNull mal bis unbeschränkt oft
Erläuterung

Das Element cfg:CRLDistributionPoint kann dazu verwendet werden, manuelle - Verteilungspunkte für Widerrufsinformationen einer bestimmten CA zu konfigurieren.

-

Dies macht für veraltete Zertifikate Sinn, die nicht den aktuellen Vorgaben aus dem PKIX RFC 3280 entsprechen und im Zertifikat selbst keine Zertifikatserweiterung mit einem solchen Verteilungspunkt enthalten.

-

Weiters kann diese manuelle Konfiguration verwendet werden, wenn die in einem Zertifikat enthaltenen Verteilungspunkte für eine bestimmte CA durch einen manuellen Eintrag überschrieben werden soll (etwa weil die im Zertifikat enthaltenen Verteilungspunkte in Form von ldap-URLs angegeben sind, MOA SP aber der Zugriff auf ldap-URLs per Firewall-Einstellungen untersagt ist; dann könnte man stattdessen manuell eine (lokale) http-URL als Verteilungspunkt angeben, die von MOA SP dann aufgelöst werden kann).

-

Das Element weist folgende Kind-Elemente auf:

-
    -
  • Element cfg:CAIssuerDN: Dieses Element enthält als Textinhalt vom Typ xs:string den - Namen jener CA, die das Zertifikat ausgestellt hat, dessen Widerruf mit Hilfe des zu konfigurierenden - Verteilungspunktes geprüft werden soll. Um zu diesem Wert zu kommen, können Sie auch - hier das Script certtool (vergleiche Abschnitt 2.2.2) - verwenden, in dem Sie es für das Zertifikat anwenden, dessen Widerruf mit Hilfe des zu konfigurierenden - Verteilungspunktes geprüft werden soll.
  • -
  • Element cfg:CRLDP: Dieses Element verweist auf einen Verteilungspunkt, an dem eine - Widerrufsliste abgeholt werden kann. Es weist folgende Kind-Elemente auf: -
      -
    • Element cfg:Location: Der Wert dieses obligatorischen Elements vom Typ xs:anyURI enthält - die URL für den zu konfigurierenden Verteilungspunkt. Es werden die Protokolle HTTP, HTTPS - und LDAP unterstützt.
    • -
    • Element cfg:ReasonCode: Dieses Element vom Typ xs:token kann - null mal bis unbeschränkt - oft vorkommen und enthält - jeweils einen laut PKIX RFC 3280 möglichen Grund eines Widerrufs, - für - welche die über den zu konfigurierenden Verteilungspunkt zu beziehende Widerrufsliste - ausgestellt ist. Gültige Gründe sind unused, keyCompromise, cACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold, privilegeWithdrawn und aACompromise. - Wird eine Widerrufsliste für mehrere Gründe ausgestellt, muss also das Element cfg:ReasonCode mehrmals - angegeben werden. Wird das Element null mal angegeben, gilt der Verteilungspunkt für alle möglichen - Widerrufsgründe.
    • -
    -
  • -
  • Element cfg:OCSPDP: Dieses Element verweist auf einen Verteilungspunkt, an dem die - Widerrufsinformation von einem OCSP-Responder bezogen werden kann. Es weist folgendes Kind-Element - auf: -
      -
    • -
    - Element cfg:Location: Der Wert dieses obligatorischen Elements vom Typ xs:anyURI enthält - die URL für den zu konfigurierenden Verteilungspunkt. Es werden die Protokolle HTTP, HTTPS und - LDAP unterstützt.
  • -
-

Hinweis: Die Elemente cfg:CRLDP bzw. cfg:OSCPDP können beliebig oft als Kinder von cfg:CRLDistributionPoint angegeben - werden. Die Reihenfolge spielt dabei keine Rolle. Jedenfalls muss aber eines dieser beiden Elemente - angegeben werden.

- -
2.3.1.3.6 - Konfiguration CRL Retention Intervallen
- - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:CrlRetentionIntervals
GebrauchNull oder einmal
Erläuterung

Das Element cfg:CrlRetentionIntervals kann - dazu verwendet werden, um Retention Intervalle für bestimmte CAs zu - konfigurieren.
- Gemäß RFC 5280 - muss ein widerrufenes Zertifikat solange auf Widerrufslisten - aufscheinen, bis das Zertifikat abgelaufen ist und noch eine CRL-Periode - darüber hinaus. Auf allen weiteren CRLs muss das Zertifikat nicht mehr - geführt werden. Daraus folgt, dass MOA SP für abgelaufene Zertifikate in - der Regel keine CRL-Statusabfrage durchführen kann, da nicht sichergestellt - ist, dass eine aktuell geladene Widerrufssliste für derartige - Zertifikate noch adeqaute Widerrufsinformationen enthält.
- Garantiert eine CA jedoch, dass widerrufene Zertifikate noch über deren - Ablauf hinaus auf der Widerrufsliste geführt werden, so kann für diese - CA ein Retention Intervall definiert werden.

- Das cfg:CrlRetentionIntervals Element weist folgendes Kind-Element auf:

-
    -
  • Element cfg:CA: Dieses Element legt ein Retention Intervall für eine CA fest und kann beliebig oft vorkommen. Es weist folgende Kind-Elemente auf:
  • -
      -
    • Element cfg:X509IssuerName: Dieses Element vom Typ xs:string muss einmal vorkommen und definiert die entsprechende CA über einen RFC2253 String. Das (im folgenden Element) festgelegte Intervall wird für alle Widerrufslisten, die von dieser CA ausgestellt werden, verwendet.
    • -
    • Element cfg:Interval: Dieses Element vom Typ xs:integer muss einmal vorkommen und enthält das Retention Intervall. Es gibt den Zeitraum in Tagen an, über -den widerrufene Zertifikate über deren Ablauf hinaus auf Widerrufslisten geführt werden. -Wird der Wert auf -1 gesetzt, dann bedeutet das ein unendlich langes Intervall. In diesem Fall wird ein widerrufenes Zertifikat niemals von den Widerrufslisten entfernt.
      -
    -
-
- - -
2.3.1.3.7 - TSL Konfiguration
- - - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:TSLConfiguration
GebrauchNull oder einmal
Erläuterung

Das Element cfg:TSLConfiguration legt die TSL Konfiguration fest, wenn Vertrauensprofile mit TSL Unterstützung konfiguriert sind. Das Element weist folgende Kind-Elemente auf: -

    -
      -
    • Element cfg:EUTSLUrl: Dieses optionale Element legt die URL zur EU-TSL fest.
      -
    • - Hinweis: Wird kein cfg:EUTSLUrl Element angegeben so wird defaultmäßig https://ec.europa.eu/information_society/policy/esignature/trusted-list/tl-mp.xml als EU-TSL URL herangezogen. -
    • Element cfg:UpdateSchedule: Dieses optionale Element legt fest wann und in welchem Intervall die EU-TSL erneut eingelesen werden soll. Das Element cfg:UpdateSchedule besteht dabei aus folgenden Kind-Elementen:
    • -
        -
      • Element cfg:StartTime: Legt eine Startzeit im Format hh:mm:ss fest.
      • -
      • Element cfg:Period: Legt das Intervall (in Millisekunden) fest, in welchem die EU-TSL erneut eingelesen werden soll
      • -
      - Hinweis: Wird kein cfg:UpdateSchedule Element angegeben so wird defaultmäßig 02:00.00 als Startzeit und 86400000 Millisekunden (=1 Tag) als Intervall herangezogen
      - Hinweis: Der Import der Zertifikate von der EU-TSL benötigt (je nach Verbindung) ca. 90-180 Sekunden. Als Startzeit sollte daher eine Zeit gewählt werden, zu der die Auslastung gering ist. -
    • Element cfg:WorkingDirectory: Diese Element gibt einen Pfad zum Arbeitsverzeichnis (inkl. Lese- und Schreibrechte) für die TSL an. Enthält dieses Element eine relative Pfadangabe, so wird dieser relativ zum Verzeichnis in dem sich die MOA-SPSS Konfigurationsdatei befindet interpretiert.
      -
    • - Hinweis: Wird kein cfg:WorkingDirectory Element angegeben so wird defaultmäßig tslworking als Arbeitsverzeichnis herangezogen.
      - - Wichtig: Das angegebene Verzeichnis muss jedenfalls die Unterverzeichnis - "trust" aus der Beispiel-Konfiguration beinhalten. In dessen Unterverzeichnis "eu" müssen jene vertrauenswürdigen Zertifikate angegeben werden, mit denen die EU-TSL signiert ist. -
    -

    Hinweis: Um die TSL Überprüfung zu aktivieren muss auch (zumindest) ein Vertrauensprofil mit TSL Überprüfung konfiguriert werden (siehe Vertrauensprofil)

-

2.3.2 Profil für Transformationen

- - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:VerifyTransformsInfoProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SP erlaubt die Hinterlegung eines vordefinierten Profils für eine erlaubte Transformationsfolge, - deren Einhaltung im Rahmen einer XML-Signaturprüfung kontrolliert wird. Im Request - zur XML-Signaturprüfung reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die - gesamten Transformationen explizit anzugeben.

-

cfg:VerifyTransformsInfoProfile enthält für ein bestimmtes Datenobjekt für - eine zu prüfende XML-Signatur eine - für dieses Datenobjekt erlaubte Transformationsfolge, bestehend aus den anzuwendenden Transformationen, - sowie allenfalls für die Durchführung der Transformationen erlaubte implizite Transformationsparameter - (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).

-

cfg:VerifyTransformsInfoProfile weist folgende obligatorische Kindelemene - auf:

-
    -
  • Element Id: Dieses Element vom Typ xs:token enthält - einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der - XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Prüfung - der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element moa:VerifyTransformsInfoProfileID).
  • -
  • Element Location: Dieses Element vom Typ xs:anyURI enthält - den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative - oder absolute URI. Eine relative URI wird von MOA SP als File-URI relativ zum Lage jenes Verzeichnisses - interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als - Wurzelelement das Element moa:VerifyTransformsInfoProfile enthalten.
  • -
-

2.3.3 Profil für Ergänzungsobjekte

- - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:SupplementProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SS erlaubt die Hinterlegung eines vordefinierten Profils für ein Ergänzungsobjekt, - das im Rahmen einer XML-Signaturprüfung verwendet werden soll. Im Request zur XML-Signaturprüfung reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die Informationen zur Signaturumgebung - explizit anzugeben.

-

cfg:SupplementProfile enthält für ein Datenobjekt in der zu prüfenden - XML-Signatur ein allenfalls für die Durchführung der vorgegebenen Transformationen notwendiges - Ergänzungsobjekt (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).

-

cfg:SupplementProfile weist folgende obligatorische Kindelemene auf:

-
    -
  • Element Id: Dieses Element vom Typ xs:token enthält - einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der - XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Prüfung - der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element moa:SupplementProfileID).
  • -
  • Element Location: Dieses Element vom Typ xs:anyURI enthält - den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative - oder absolute URI. Eine relative URI wird von MOA SP als File-URI relativ zum Lage jenes Verzeichnisses - interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als - Wurzelelement das Element moa:SupplementProfile enthalten.
  • -
-

2.3.4 file-URIs

- - - - - - - - - - - - - - - -
Namecfg:SignatureVerification/cfg:PermitFileURIs
GebrauchNull mal oder einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob file-URIs innerhalb von MOA-SP zugelassen werden sollen. In MOA-SS werden file-URIs strikt verboten.

-

Bitte beachten Sie: Das Erlauben von file-URIs birgt Sicherheitsrisikien. Eine Deaktivierung sollte nur in begründeten Ausnahmefällen in Erwägung gezogen werden.

-

Bitte beachten Sie: Es werden keine file-URIs in Ergänzungsobjekten unterstützt.

-

Zulässige Werte für diesen Parameter sind true oder false. Wird dieses Element nicht angegeben, so nimmt MOA den Wert false an.

-
-

3 Beispielkonfigurationen

- -

3.1 Minimale Konfiguration für MOA SS

-

Nachfolgend finden Sie eine zentrale Konfigurationsdatei mit den minimal notwendigen Einträgen für - den alleinigen Betrieb von MOA SS. Darin sind als Kinder des Wurzelelements cfg:MOAConfiguration folgende - Konfigurationselemente enthalten:

-
    -
  • Ein Software-Schlüsselspeicher (cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule);
  • -
  • Eine Schlüsselgruppe (cfg:SignatureCreation/cfg:KeyGroup);
  • -
  • Eine Zuordnung dieser Schlüsselgruppe für einen bestimmten Kunden (cfg:SignatureCreation/cfg:KeyGroupMapping).
  • -
-

Minimale Konfiguration für MOA SS

-

3.2 Minimale Konfiguration für MOA SP

-

Nachfolgend finden Sie eine zentrale Konfigurationsdatei mit den minimal notwendigen Einträgen für - den alleinigen Betrieb von MOA SP. Darin sind als Kinder des Wurzelelements cfg:MOAConfiguration folgende - Konfigurationselemente enthalten:

-
    -
  • Einstellungen betreffend die Konstruktion des Zertifikatspfades (cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction);
  • -
  • Einstellungen betreffend die Validierung des Zertifikatspfades (cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation), - unter anderem ein Vertrauensprofil (cfg:TrustProfile);
  • -
  • Einstellungen betreffend die Widerrufsprüfung von Zertifikaten des Zertifikatspfades (cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking) .
  • -
-

Minimale Konfiguration für MOA SP

-

3.3 Minimale Konfiguration für MOA SP mit TSL Unterstützung

-

Nachfolgend finden Sie eine zentrale Konfigurationsdatei mit den minimal notwendigen Einträgen für - den alleinigen Betrieb von MOA SP mit TSL Unterstützung. Darin sind als Kinder des Wurzelelements cfg:MOAConfiguration folgende - Konfigurationselemente enthalten:

-
    -
  • Einstellungen betreffend die Konstruktion des Zertifikatspfades (cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction);
  • -
  • Einstellungen betreffend die Validierung des Zertifikatspfades (cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation), - unter anderem ein Vertrauensprofil mit TSL Unterstützung (cfg:TrustProfile);
  • -
  • Einstellungen betreffend die Widerrufsprüfung von Zertifikaten des Zertifikatspfades (cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking) .
  • -
  • Einstellungen betreffend der TSL Konfiguration (cfg:SignatureVerification/cfg:CertificateValidation/cfg:TSLConfiguration) .
  • -
-

Minimale Konfiguration für MOA SP mit TSL Unterstützung

- -

3.4 Typische Konfiguration für MOA SP/SS

-

Nachfolgend finden Sie eine typische zentrale Konfigurationsdatei mit Einträgen für den kombinierten Betrieb von MOA SP und SS. Diese Datei wird auch als Konfiguration von MOA SP und SS verwendet, die für das Ausführen der Beispiele des Anwenderhandbuchs notwendig ist.

-

Typische Konfiguration für MOA SP/SS

- - diff --git a/spss/handbook/handbook/faq/faq.html b/spss/handbook/handbook/faq/faq.html deleted file mode 100644 index fc3f98d44..000000000 --- a/spss/handbook/handbook/faq/faq.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - MOA SS und SP - FAQ - - - - - - - - - -
Logo BKADokumentationLogo EGIZ
-
-

MOA: Serversignatur (SS) und Signaturprüfung (SP)

-

FAQ

-
-

Inhalt

-
    -
  1. -

    Allgemeines

    -
  2. -
  3. -

    Übersicht der Fragen

    -
  4. -
  5. -

    Antworten

    -
  6. -
-
-

1 Allgemeines

-

Dieses Dokument enthält eine Reihe von häufig gestellten Fragen zu Installation, Konfiguration und Verwendung von MOA Serversignatur (SS) und Signaturprüfung (SP).

-

2 Übersicht der Fragen

-

Installation

-
    -
  1. Beim Starten von MOA SPSS tritt folgende Exception auf: java.lang.ClassCastException: iaik.asn1.structures.Name. Was kann der Fehler sein? [Zur Antwort]
  2. -
  3. Ich möchte MOA SS/SP in einer Umgebung betreiben, die einen Internet-Zugang nur über einen Proxy erlaubt. Funktioniert das? [Zur Antwort]
  4. -
-

Konfiguration

-
    -
  1. Ich möchte gerne die CRL-Archivierung von MOA verwenden, möchte aber eine andere als die in der Konfiguration erwähnte postgreSQL-Datenbank verwenden. Geht das? [Zur Antwort]
  2. -
  3. Ich möchte ein Zertifikat (z.B. einer Zwischen-Zertifizierungsstelle) manuell in den internen Zertifikatsspeicher von MOA SP importieren. Wie funktioniert das? [Zur Antwort]
  4. -
  5. Meine bestehende Konfigurationsdatei funktioniert mit MOA SP/SS 1.3 oder höher nicht mehr. Was ist passiert? - [Zur Antwort]
  6. -
  7. Welche Netzwerkverbindungen (incoming / outgoing) werden durch MOA SP/SS benötigt? [Zur Antwort]
  8. -
-

Verwendung

-
    -
  1. Bei der Prüfung einer Signatur liefert die Prüfung des Zertifikatsstatus den Code 1. Was kann der Fehler sein? [Zur Antwort]
  2. -
-

3 Antworten

-

Installation

-
    -
  1. Beim Starten von MOA SPSS tritt folgende Exception auf: java.lang.ClassCastException: iaik.asn1.structures.Name. Was kann der Fehler sein?
    -

    Auf Grund einer mangelhaften Implementierung in einigen Versionen des JDK 1.3.1 kann es beim Betrieb von MOA zu folgendem Problem kommen: Sun macht in der Implementierung von PKCS7.getCertificate() einen Downcast vom Interface java.security.Principal auf die eigene Implementierung, was zu einer ClassCastException führt, wenn der JCE-Provider von Sun nicht an erster Stelle in der List der Security-Provider installiert ist. MOA geht nun aber so vor, dass der JCE-Provider des IAIK an die erste Stelle installiert wird, wenn er zum Zeitpunkt der Konfiguration noch nicht installiert war. Wird dann von irgendeinem ClassLoader der jar-Verifier benützt, wird PKCS7.getCertificate() verwendet, und es kommt zu einer ClassCastException.

    -

    Wird MOA über die API-Schnittstelle verwendet, ist ein Workaround die manuelle Installation des IAIK-JCE-Providers nach dem Sun JCE-Provider (etwa an die letzte Stelle), bevor die MOA-Konfiguration aufgerufen wird. Bei Verwendung der Webservices ist die Möglichkeit der statischen Konfiguration der JCE-Provider mittels Angabe in der Datei $JAVA_HOME/jre/lib/security/java.security der einzige bekannte Workaround. Hierzu müssen die Einträge

    -
     security.provider.1=sun.security.provider.Sun
    -   security.provider.2=com.sun.rsajca.Provider 
    -

    durch folgenden Eintrag ergänzt werden:

    -
    security.provider.3=iaik.security.provider.IAIK
    -
  2. -
  3. -
    Ich möchte MOA SS/SP in einer Umgebung betreiben, die einen Internet-Zugang nur über einen Proxy erlaubt. Funktioniert das?
    -

    Ja, zumindest für Zugriffe über HTTP. Sie müssen dazu die nachfolgenden JAVA System-Properties setzen:

    -
    http.proxyHost=<proxyhost>
    -http.proxyPort=<proxyport>
    -http.nonProxyHosts="<exceptionhosts>"
    -

    <proxyhost> gibt den Namen oder die IP-Adresse des Proxies an.

    -

    <proxyport> gibt den Port des Proxies an.

    -

    <exceptionhosts> enthält eine Liste von Rechnernamen, die nicht über den Proxy laufen sollen. Jedenfalls müssen sie hier localhost angeben. Einzelne Namen sind durch eine Pipe (|) zu trennen. Bitte beachten Sie, dass IP-Addressen nicht angegeben werden dürfen, sowie die verpflichtend zu verwendenen Anführungszeichen.
    -

    -
  4. -
-

Konfiguration

-
    -
  1. Ich möchte gerne die CRL-Archivierung von MOA verwenden, möchte aber eine andere als die in der Konfiguration erwähnte postgreSQL-Datenbank verwenden. Geht das?
    -

    Ja, das ist möglich. Wenn Sie eine mySQL-Datenbank verwenden möchten, sind folgende Maßnahmen zu treffen:

    -
      -
    • Laden Sie den mySQL-JDBC-Connector herunter und fügen Sie das im Download enthaltene jar-File mysql-connector-java-3.x.x-stable-bin.jar zum Klassenpfad für MOA SPSS hinzu.
    • -
    • Geben Sie im MOA-Konfigurationsfile mit Hilfe des generischen Konfigurationsparameters DataBaseArchiveParameter.JDBCUrl eine gültige JDBC-URL zu Ihrer mySQL-Datenbank angeben. Hinweise zum Format dieser URL für mySQL finden Sie hier.
    • -
    -

    Wenn Sie eine andere Datenbank verwenden möchten, beispielsweise Oracle, gehen Sie sinngemäß wie oben vor und setzen zusätzlich noch folgenden Schritt:

    -
      -
    • Geben Sie im MOA-Konfigurationsfile mit Hilfe des generischen Konfigurationsparameters DataBaseArchiveParameter.JDBCDriverClass den vollständig qualifizierten Klassennamen des JDBC-Treibers an, der die Verbindung zu Ihrer Datenbank herstellt.
    • -
    -
  2. -
  3. -
    Ich möchte ein Zertifikat (z.B. einer Zwischen-Zertifizierungsstelle) manuell in den internen Zertifikatsspeicher von MOA SP importieren. Wie funktioniert das?
    -

    Sie können für diesen Zweck ein mit MOA SP/SS mitgeliefertes Kommandozeilen-Tool verwenden, das Sie im Verzeichnis $MOA_SPSS_INST/tools finden. Wechseln Sie zu diesem Verzeichnis und rufen Sie die Script-Datei certtools.bat bzw. certtools.sh (je nach Betriebssystem) auf. Achten Sie darauf, dass die Umgebungsvariable $JAVA_HOME korrekt gesetzt ist. Die Syntax für dieses Tool lautet:

    -
    certtool -add <cert> <store>
    -

    <cert> bezeichnet dabei Pfad und Dateiname des zu importierenden X509-Zertifikats. Das Zertifikat muss DER-kodiert vorliegen.

    -

    <store> bezeichnet den Pfad des internen Zertifikatsspeichers von MOA SP. Wenn Sie nach der Installationsanleitung vorgegangen sind, lautet dieser Pfad $CATALINA_HOME/conf/moa-spss/certstore.

    -
  4. -
  5. -
    - Meine bestehende Konfigurationsdatei - funktioniert mit MOA SP/SS 1.3 oder höher nicht mehr. Was ist passiert?
    -

    Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues, übersichtlicheres Format für die - XML-Konfigurationsdatei.

    -

    Wenn Sie von einer älteren Version von MOA SP/SS auf die Version 1.3 wechseln und Ihre bestehende - Konfiguration beibehalten wollen, steht Ihnen ein einfaches Kommandozeilenwerkzeug zur Verfügung, mit - dem Sie Ihre Konfigurationsdatei vom bisherigen auf das neue Format migrieren können.

    -

    Informationen zur Verwendung des Werkzeugs finden Sie in Abschnitt 1.2.1 des Konfigurationshandbuchs.

    -
  6. -
  7. -
    Welche Netzwerkverbindungen (incoming / outgoing) werden durch MOA SP/SS benötigt?
    -

    Die nachfolgende Tabelle gibt eine Aufstellung der benötigten Netzberbindungen und eine kurze Beschreibung über deren Funktion.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ServiceURLPortRichtungBeschreibung

    MOA-SP/SS

    *80, 443eingehend

    Verbindungen zum Signature-Creation und Signature-Verification Service

    Referenzen / TSL

    *80, 443ausgehendZum Auflösen von externen Referenzen, welche in den Requests enthalten sind und zum Download der Trust-Status Listen (TSL).
    - Hinweis: Werden externe Referenzen über andere Protokolle bezogen müssen die jeweiligen Ports ebenfalls freigeschalten werden.
    LDAP*389, 636ausgehendZertifikatsprüfung

    OSCP / CRL

    *80, 443ausgehend

    Zertifikatsprüfung

    -
    -
  8. -
-

Verwendung

-
    -
  1. Bei der Prüfung einer Signatur liefert die Prüfung des Zertifikatsstatus den Code 1. Was kann der Fehler sein?
    -

    Dieser Fehlercode bedeutet: Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden. Das kann grundsätzlich eine der beiden folgenden Ursachen haben:

    -
      -
    • Keines der Zertifikate in der Kette vom Signatorzertifikat bis zu einem selbstsignierten Wurzelzertifikat ist im anzuwendenden TrustProfile enthalten.
    • -
    • Die Zertifikatskette konnte nicht bis zu einem im anzuwendenden TrustProfile enthaltenen vertrauenswürdigen Zertifikat gebildet werden.
    • -
    -

    Prüfen Sie also zunächst, ob sie im anzuwendenden TrustProfile ein passendes vertrauenswürdiges Zertifikat konfiguriert haben. Das kann beispielsweise das Zertifikat jener CA sein, die das Signatorzertifikat ausgestellt hat, oder aber auch das Zertifikat einer CA weiter oben in der Hierarchie des Zertifizierungsdiensteanbieters, beispielsweise das selbstsignierte Wurzelzertifikat.

    -

    Wenn diese Prüfung das Problem nicht behebt, gelingt des MOA SP vermutlich nicht, ein für die Bildung der Zertifikatskette notwendiges Zertifikat zu lokalisieren. Mögliche Gründe sowie Lösungsmöglichkeiten dafür sind:

    -
      -
    • Das aktuell letzte Zertifikat in der bereits gebildeten Zertifikatskette besitzt zwar die Zertifikatserweiterung AuthorityInformationAccess mit einem Hinweis auf das nächste Zertifikat der zu bildenden Kette, das darin per URL referenzierte Zertifikat kann jedoch nicht geladen werden. Prüfen Sie daher zunächst, ob MOA SP/SS per HTTP oder LDAP Zugriffe nach außen tätigen darf.
    • -
    • Das aktuell letzte Zertifikat in der bereits gebildeten Zertifikatskette besitzt keine Zertifikatserweiterung AuthorityInformationAccess mit einem Hinweis auf das nächste Zertifikat der zu bildenden Kette, und auch im internen Zertifikatsspeicher von MOA SP ist das nächste Zertifikat nicht enthalten. Ist Ihnen das nächste Zertifikat bekannt (z.B. durch manuellen Download von der Webseite des Zertifizierungsdiensteanbieters), können Sie es manuell in den internen Zertifikatsspeicher importieren. Eine Anleitung dazu finden Sie hier.
      -
    • -
    -
  2. -
- - diff --git a/spss/handbook/handbook/index.html b/spss/handbook/handbook/index.html deleted file mode 100644 index 1bb2cf743..000000000 --- a/spss/handbook/handbook/index.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - MOA SS und SP - Übersicht - - - - - - - - - -
Logo BKADokumentationLogo EGIZ
-
-

MOA: Serversignatur (SS) und Signaturprüfung (SP)

-

Übersicht zur Dokumentation der Version 2.0.x

-
-
-
Einführung
-
Übersicht über die beiden Module.
-
Installation
-
Detaillierte Anleitung für die Installation.
-
Konfiguration
-
Erläuterung aller Konfigurationsoptionen sowie Leitfaden für häufige Konfigurationsaufgaben.
-
Anwendung
-
Beispiele zur Verwendung der beiden Module.
-
FAQ
-
Häufig gestellte Fragen zu Installation, Konfiguration und Anwendung.
-
- - diff --git a/spss/handbook/handbook/install/install.html b/spss/handbook/handbook/install/install.html deleted file mode 100644 index d44ce6514..000000000 --- a/spss/handbook/handbook/install/install.html +++ /dev/null @@ -1,492 +0,0 @@ - - - - - MOA SS und SP - Installation - - -< - - - - - - -
Logo BKADokumentationLogo EGIZ
-
-

MOA: Serversignatur (SS) und Signaturprüfung (SP)

-

Installation

-
-

Inhalt

-
    -
  1. -

    Übersicht

    -
  2. -
  3. -

    Webservice

    -
      -
    1. Basisinstallation -
        -
      1. Einführung
      2. -
      3. Installation -
          -
        1. Vorbereitung
        2. -
        3. Konfiguration von Apache Tomcat -
            -
          1. Konfiguration des HTTP Connectors
          2. -
          3. Konfiguration des HTTPS Connectors
          4. -
          5. Einrichten des MOA SP/SS Administrators
          6. -
          -
        4. -
        5. Einsatz des MOA SP/SS Webservices in Tomcat
        6. -
        7. Starten und Stoppen von Tomcat -
            -
          1. Unter Windows
          2. -
          3. Unter Unix
          4. -
          5. Prüfen des erfolgreichen Starts
          6. -
          -
        8. -
        9. Änderung der Konfiguration im laufenden Betrieb
        10. -
        -
      4. -
      5. Logging -
          -
        1. Format der Log-Meldungen
        2. -
        3. Wichtige Log-Meldungen
        4. -
        -
      6. -
      -
    2. -
    3. Erweiterungsmöglichkeiten
        -
      1. Vorgeschalteter Webserver
          -
        1. Microsoft Internet Information Server (MS IIS)
            -
          1. Konfiguration von mod_jk im MS IIS
          2. -
          3. Konfiguration von Tomcat
          4. -
          5. Konfiguration von SSL
          6. -
          -
        2. -
        3. Apache
            -
          1. Konfiguration von mod_jk im Apache
          2. -
          3. Konfiguration von Tomcat
          4. -
          5. Konfiguration von SSL mit mod_SSL
          6. -
          -
        4. -
        -
      2. -
      3. Datenbank
          -
        1. PostgreSQL
            -
          1. Anlegen eines Benutzers und einer Datenbank für MOA SP/SS
          2. -
          3. Archivierung von CRLs
          4. -
          5. Logging
          6. -
          -
        2. -
        3. Andere Datenbanken
        4. -
        -
      4. -
      -
    4. -
    -
  4. Klassenbibliothek -
      -
    1. Basisinstallation -
        -
      1. Einführung
      2. -
      3. Vorbereitung
      4. -
      5. Verwendung
      6. -
      7. Logging
      8. -
      -
    2. -
    3. Erweiterungsmöglichkeiten
    4. -
    -
  5. -
-
    -
  1. Referenzierte Software
  2. -
-
-

1 Übersicht

-

Die Module Signaturprüfung (SP) und Serversignatur (SS) sind als plattformunabhängige Module ausgelegt, die entweder als Webservice über HTTP bzw. HTTPS oder als Klassenbibliothek über ein API angesprochen werden können. Dieses Handbuch beschreibt die Installation der beiden Module als Webservice oder als Klassenbibliothek, sowie die Einrichtung der Systemumgebung.

-

2 Webservice

-

Dieser Abschnitt beschreibt die Installation von MOA SP/SS als Webservice. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsmöglichkeiten auf.

-

2.1 Basisinstallation

-

2.1.1 Einführung

-

Die Basisinstallation des Webservices stellt einerseits die minimalen Anforderungen für den Betrieb von MOA SP/SS als Webservices dar, andererseits dient sie als Ausgangspunkt für optionale Erweiterungsmöglichkeiten.

-

Die Mindestanforderungen für die Basisinstallation sind:

- -

Wir empfehlen jedoch jeweils aktuelle Version zu verwenden:

- -

In diesem Betriebs-Szenario wird das MOA SP/SS Webservice in Tomcat zum Einsatz gebracht. Tomcat fungiert gleichzeitig als HTTP- und HTTPS-Endpunkt für das MOA SP/SS Webservice. Beide Protokolle werden direkt in Tomcat konfiguriert. Das MOA SP/SS Webservice verwendet Log4j als Logging Toolkit.

-

2.1.2 Installation

-

2.1.2.1 Vorbereitung

-

Die folgenden Schritte dienen der Vorbereitung der Installation.

-
-
Installation von Java SE
-
Installieren Sie Java SE in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der Java SE Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet.
-
Installation von Apache Tomcat
-
Installieren Sie Apache Tomcat in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Verwenden Sie bitte die zu Ihrer Java SE passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als $CATALINA_HOME bezeichnet.
-
Entpacken der MOA SP/SS Webservice Distribution
-
Entpacken Sie die Datei moa-spss-2.0.0.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
-
Installation der Kryptographiebibliotheken von SIC/IAIK
-
-

Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext in das Verzeichnis $JAVA_HOME/jre/lib/ext. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden Unlimited Strength - - - Jurisdiction Policy Files von der Java SE Downloadseite und achten Sie darauf die für ihre verwendete Java SE Installation richtige Version zu nehmen. Anschließend folgen Sie der darin enthaltenen Installationsanweisung.

-
-
-

2.1.2.2 Konfiguration von Apache Tomcat

-

Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grundsätzlich mit einer funktionierenden Default-Konfiguration ausgeliefert.

-
2.1.2.2.1 Konfiguration des HTTP Connectors
-

Die Tomcat Default-Konfiguration schaltet ausschließlich den Connector für HTTP auf Port 8080 frei. Wir empfehlen diese Konfiguration nur für Fälle, in denen das MOA SP/SS Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird.

-
2.1.2.2.2 Konfiguration des HTTPS Connectors
-

Wird das MOA SP/SS Webservice in einer nicht abgeschlossenen Umgebung (z.B. Erreichbarkeit über das Internet) betrieben, ist die gegenseitige Identitätsfeststellung von Kunde und Webservice essentiell:

-
    -
  • Nutzt ein Kunde MOA SP, ist es für ihn wichtig, die Identität des Webservice eindeutig feststellen zu können, denn er vertraut dem Webservice ja die Prüfung einer elektronischen Signatur an.
  • -
  • Nutzt ein Kunde MOA SS, ist es für ihn wesentlich, dass nur er Zugriff auf die für ihn vom Webservice verwalteten privaten Schlüssel hat, um elektronische Signaturen zu erstellen. Das Webservice muss also die Identität des Kunden prüfen.
  • -
-

Beide Identitätsprüfungen können mit hoher Qualität vorgenommen werden, wenn die Erreichbarkeit des Webservice auf SSL mit Server- (für MOA SP) bzw. Client- und Serverauthentisierung (für MOA SS) eingeschränkt wird.

-

Für die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zunächst ist der HTTP Connector abzuschalten (auszukommentieren). Anschließend ist der HTTPS Connector zu konfigurieren. Das Dokument Tomcat SSL Configuration HOW-TO gibt einen guten Überblick dazu. Grob zusammengefasst sind folgende Schritte durchzuführen:

-
    -
  • Erstellung eines Server-Keystores, der den privaten Schlüssel sowie das zugehörige Zertifikat des Webservices enthält, mit dem es sich bei Aufbau einer SSL-Verbindung gegenüber dem Kunden ausweist sowie das dazugehörige Server-Zertifikat enthält. Sie können diesen Keystore z.B. mit keytool erstellen, einem Programm, das Ihrer Java SE beiliegt.
  • -
  • Erstellung eines Client-Keystores, der die Zertifikate aller Kunden des Webservices enthält. Nur Kunden des Webservices, die sich beim Aufbau einer SSL-Verbindung gegenüber dem Webservice mit einem im Client-Keystore enthaltenen Zertifikat ausweisen, erhalten grundsätzlich Zugriff zu den Diensten des Webservices (für die Konfiguration, welcher Kunde welche Schlüssel von MOA SS verwenden darf, siehe Abschnitt 2.2.3 des Konfigurationshandbuchs). Auch dieser Keystore kann z.B. mit keytool erstellt werden. Dieser Keystore ist optional und braucht nur erstellt zu werden, wenn sich die Kunden gegenüber dem Webservice authentisieren müssen.
  • -
  • Konfiguration des HTTPS Connectors in $CATALINA_HOME/conf/server.xml.
  • -
-

Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden übernimmt (siehe Abschnitt 2.2.1).

-
2.1.2.2.3 Einrichten des MOA SP/SS Administrators
-

Das MOA SP/SS Webservice kann remote durch den Aufruf einer speziellen URL des Webservices dazu veranlasst werden, seine Konfiguration neu einzulesen (vergleiche Abschnitt 2.1.2.5). Der Zugriff auf diese URL ist durch eine Passwort-Abfrage geschützt, und kann nur von Tomcat-Benutzern aufgerufen werden, denen die Tomcat-Benutzer-Rolle moa-admin zugeordnet wurde.

-

Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, müssen in der Datei $CATALINA_HOME/conf/tomcat-users.xml unter dem Element <tomcat-users> sinngemäß folgende Einträge hinzugefügt werden:

-

-

<role rolename="moa-admin"/> 
-<user username="moa-chief" password="openSesam" roles="moa-admin"/> 
-

Soll der Aufruf dieser URL niemandem ermöglicht werden, sind die oben beschriebenen Einträge einfach nicht vorzunehmen.

- -

2.1.2.3 Einsatz des MOA SP/SS Webservices in Tomcat

-

Um das MOA SP/SS Webservice in Tomcat für den Einsatz vorzubereiten, sind folgende Schritte notwendig:

-
    -
  • Die Datei $MOA_SPSS_INST/moa-spss.war enthält das einsatzfertige MOA SP/SS Webarchiv und muss ins Verzeichnis $CATALINA_HOME/webapps kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis $CATALINA_HOME/webapps/moa-spss entpackt.
  • -
  • Die zentrale Konfigurationsdatei für MOA SP/SS und die zugehörigen Profil-Verzeichnisse müssen in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. $CATALINA_HOME/conf/moa-spss). Eine funktionsfähige Konfiguration, die als Ausgangspunkt für die Konfiguration des MOA SP/SS Webservices dienen kann, finden Sie hier.
    -
  • -
  • Die Dateien xalan.jar, xercesImpl.jar, serializer.jar und xml-apis.jar aus dem Verzeichnis $MOA_SPSS_INST/endorsed müssen in das Tomcat-Verzeichnis $CATALINA_HOME/endorsed (bzw. $CATALINA_HOME/common/endorsed bis Apache Tomcat Version 5.5) kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden, müssen sie überschrieben werden. Die ggf. in diesem Verzeichnis vorhandene Datei xmlParserAPIs.jar muss gelöscht werden. Sollte das Verzeichnis endorsed nicht vorhanden sein, dann muss dieses zuerst erstellt werden.
  • -
  • Folgende System Properties können gesetzt werden (wird beim Starten von Tomcat der Java Virtual Machine in der Umgebungsvariablen CATALINA_OPTS in der Form -D<name>=<wert> übergeben): -
      -
    • moa.spss.server.configuration: Pfad und Name der zentralen Konfigurationsdatei für MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie hier. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der Java Virtual Machine interpretiert. Ist diese System Property nicht gesetzt, wird automatisch eine im Webarchiv unter WEB-INF/conf enthaltene Default-Konfiguration herangezogen.
    • -
    • log4j.configuration: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie hier. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der Java Virtual Machine interpretiert. Ist diese System Property nicht gesetzt, wird automatisch eine im Webarchiv unter WEB-INF/classes enthaltene Default-Konfiguration herangezogen.
    • -
    • moa.node.id: Frei wählbarer Name des Rechner-Knotens, auf dem MOA SP/SS läuft. Der Name des Knotens wird bei Log-Ausgaben von MOA SP/SS angeführt und dient zur Unterscheidung mehrerer gleichzeitig betriebener MOA SP/SS Webservice-Instanzen.
    • -
    • javax.net.ssl.trustStore: Pfad und Dateiname des Truststores für vertrauenswürdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). Ein relativer Pfad werden relativ zum Startverzeichnis der Java Virtual Machine interpretiert.
    • -
    • javax.net.ssl.trustStorePassword: Passwort für den Truststore (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll).
    • -
    • javax.net.ssl.trustStoreType: Truststore-Typ (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). Je nach verwendetem Keystore-Typ muss jks (Java Key Store) oder pkcs12 (PKCS#12-Datei) angegeben werden.
    • -
    -
  • -
-

2.1.2.4 Starten und Stoppen von Tomcat

-
2.1.2.4.1 Unter Windows
-
-

Das Verzeichnis $MOA_SPSS_INST/tomcat/win32 enthält Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts müssen in den ersten Zeilen die Umgebungsvariablen JAVA_HOME (Basisverzeichnis der eingesetzten Java SE) und CATALINA_HOME (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. müssen Sie auch noch die in den Script-Dateien gesetzten, in Abschnitt 2.1.2.3 besprochenen System Properties anpassen.

-
-
2.1.2.4.2 Unter Unix
-

Zunächst müssen die in Abschnitt 2.1.2.3 besprochenen System Properties mit Hilfe der Umgebungsvariablen CATALINA_OPTS gesetzt sein. Die Datei $MOA_SPSS_INST/tomcat/unix/moa-env.sh enthält ein Beispiel dafür. Weiters müssen noch die Umgebungsvariablen JAVA_HOME (Basisverzeichnis der eingesetzten Java SE) und CATALINA_HOME (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.

-

Nun kann Tomcat aus seinem Basisverzeichnis mit

-
bin/catalina.sh start
-gestartet werden. Das Stoppen von Tomcat erfolgt analog mit -
bin/catalina.sh stop
-
2.1.2.4.3 Prüfen des erfolgreichen Starts
-
-

Ein erfolgreicher Start des MOA SP/SS Webservices ist an folgender Log-Meldung ersichtlich:
-

-
-
INFO | 18 10:09:45,155 | main | TID=startup NID=<null> MSG=MOA Konfiguration erfolgreich geladen
-
-

Bei leichten Fehlern in der Konfiguration geben WARN Log-Meldungen unmittelbar davor Aufschluss über fehlerhafte Konfigurations-Einträge. - Nach dem Starten von Tomcat steht das MOA SP/SS Webservice für die Server-Signatur und Signatur-Prüfung unter den Endpunkten

-
http://<host>:<port>/moa-spss/services/SignatureCreation
-
-

bzw. -

-
http://<host>:<port>/moa-spss/services/SignatureVerification
-
-

zur Verfügung. Die Verfügbarkeit des Services können Sie einfach überprüfen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite führen.

-

Konnte das MOA SP/SS Webservice nicht ordnungsgemäß gestartet werden, führt das zu folgender Log-Meldung:

-
FATAL | 18 10:17:03,475 | main | TID=startup NID=<null> 
MSG=Fehler beim Lesen der MOA Konfiguration: das Service steht nicht zur Verfügung -
-In diesem Fall geben die WARN bzw. ERROR Log-Meldungen unmittelbar davor Aufschluss über den genaueren Grund. -

2.1.2.5 Änderung der Konfiguration im laufenden Betrieb

-

Sie können die Konfiguration für MOA SP/SS im laufenden Betrieb aktualisieren, in dem Sie mittels eines Web-Browsers folgende URL aufrufen:

-
 http://<host>:<port>/moa-spss/ConfigurationUpdate 
-

Damit dies funktioniert, muss in der Konfiguration von Tomcat ein spezieller Benutzer sowie eine spezielle Benutzerrolle eingerichtet werden (vergleiche Abschnitt 2.1.2.2.3).

-

2.1.3 Logging

-

Das MOA SP/SS Webservice verwendet Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im Log4j Handbuch beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen: -

    -
  • -

    Das verwendete Log-Level (DEBUG, INFO, WARN, ERROR, FATAL);

    -
  • -
  • -

    Name und maximale Größe der Log-Datei(en);

    -
  • -
  • -

    Das Aussehen der Log-Einträge.

    -
  • -
-

Das MOA SP/SS Webservice verwendet folgende Log-Hierarchien:

-
    -
  • -

    moa.spss.server für alle Log-Meldungen aus dem MOA/SPSS Webservice;

    -
  • -
  • -

    iaik.server für alle Log-Meldungen aus den SIC/IAIK Kryptographie-Modulen.

    -
  • -
-

Eine für MOA SP/SS passende Konfigurationsdatei für Log4j finden Sie hier. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei moa-spss.log geschrieben.

-

2.1.3.1 Format der Log-Meldungen

-

Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erläutert:

-
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1 
-  MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
-
-

Der Wert INFO besagt, dass die Log-Meldung im Log-Level INFO entstanden ist. Folgende Log-Levels existieren:

-
    -
  • -

    DEBUG: Log-Meldungen im Log-Level DEBUG geben Auskunft über die innere Arbeitsweise des Systems. Sie sind hauptsächlich für Entwickler interessant.

    -
  • -
  • -

    INFO: Diese Log-Meldungen geben Status-Informationen über den Ablauf des Webservices, wie z.B. über das Einlangen einer neuen Anfrage.

    -
  • -
  • -

    WARN: Bei der Ausführung einer Anfrage sind leichte Fehler aufgetreten. Der Ablauf des Webservices ist nicht weiter beeinträchtigt.

    -
  • -
  • -

    ERROR: Die Ausführung einer Anfrage musste abgebrochen werden. Das Webservice ist davon nicht beeinträchtigt.

    -
  • -
  • -

    FATAL: Es ist ein Fehler aufgetreten, der den weiteren Betrieb des Webservices nicht mehr erlaubt.

    -
  • -
-

Der nächste Wert 01 21:25:26,540 gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit).

-

Der Wert Thread-3 bezeichnet den Thread, von dem die Anfrage bearbeitet wird.

-

Der Wert von TID gibt die für jede Anfrage eindeutige Transaktions-ID an. Log-Meldungen, die bei der Abarbeitung dieser Anfrage geschrieben werden, enthalten alle einen Hinweis auf die entsprechende Transaktions-ID.

-

Der Wert von NID gibt den Rechner-Knoten an, auf dem das MOA SP/SS Webservice läuft (bei NID=<null> ist dieser Wert nicht konfiguriert, vergleiche Abschnitt 2.1.2.3).

-

Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist häufig ein Java Stack-Trace angefügt, der eine genauere Ursachen-Forschung ermöglicht.

-

2.1.3.2 Wichtige Log-Meldungen

-

Neben den im Abschnitt 2.1.2.4.3 beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgemäß gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss über die Abarbeitung von Anfragen.

-

Die Entgegennahme einer Anfrage wird angezeigt durch: - -

-
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
-  MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
-  MSG=Aufruf von Adresse=127.0.0.1
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
-  MSG=Client-Zertifikat nicht verfügbar
-

Die dritte Log-Meldung besagt, dass für die Abarbeitung dieser Anfrage kein Client-Zertifikat verfügbar ist (entweder, weil die Anfrage über HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen über das Client-Zertifikat aus: -

INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=<null> 
-  MSG=Client-Zertifikat: Subject=CN=Testuser, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT, 
-  Serial=1.039.104.204, Issuer=CN=TestCA, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT
-

Eine erfolgreich abgearbeitete Anfrage wird angezeigt durch: -

-
INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=<null> 
-  MSG=Anfrage erfolgreich abgearbeitet
-

Ein Fehler beim Abarbeiten der Anfrage wird angezeigt durch:

-
INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=<null> 
-  MSG=Fehler beim Abarbeiten der Anfrage
-
-

In diesem Fall gibt der mitgeloggte Stacktrace Auskunft über die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zurück.

-

Die tatsächlich übertragenen Anfragen bzw. Antworten werden aus Effizienzgründen nur im Log-Level DEBUG angezeigt.

-
-

2.2 Erweiterungsmöglichkeiten

-

Ausgehend von der Basisinstallation können die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabhängig und in beliebiger Kombination aufgesetzt werden.

-

2.2.1 Vorgeschalteter Webserver

-

2.2.1.1 Microsoft Internet Information Server (MS IIS)

-

Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall übernimmt der MS IIS die HTTP- bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat eingerichteten MOA SP/SS Webservice wird durch mod_jk durchgeführt. Die angeführten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.

-
2.2.1.1.1 Konfiguration von mod_jk im MS IIS
-

Für die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das ISAPI-Modul von mod_jk im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das mod_jk IIS HowTo. Beispiele für workers.properties und uriworkermap.properties Dateien liegen im Verzeichnis $MOA_SPSS_INST/tomcat bei.

-
2.2.1.1.2 Konfiguration von Tomcat
-

Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels mod_jk weiterleitet werden, muss in $CATALINA_HOME/conf/server.xml der AJP Connector aktiviert werden. Im Gegenzug können die Konnektoren für HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden Connector Konfigurations-Elemente in dieser Datei.

-
2.2.1.1.3 Konfiguration von SSL
-

Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ oder aber auch auf den Webseiten von Mircrosoft zur Verfügung.

-

2.2.1.2 Apache

-

Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird mod_jk für die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angeführten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus.

-
2.2.1.2.1 Konfiguration von mod_jk im Apache
-

Um das MOA-SPSS Webservice hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls mod_jk erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das mod_jk Apache HowTo. Ein Beispiel für eine workers.properties Datei liegt im Verzeichnis $MOA_SPSS_INST/tomcat bei.

-

Um das MOA SP/SS Webservice dem Apache Webserver bekannt zu machen, sind zumindest folgende Einträge im globalen Kontext der Apache-Konfigurationsdatei notwendig:

-
LoadModule jk_module /usr/lib/apache/mod_jk.so
AddModule jk_module
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkWorkersFile conf/workers.properties
JkMount /moa-spss/* moaworker
-

Die Pfad- und Dateinamen können je nach existierender Apache Installation geringfügig variieren.

-
2.2.1.2.2 Konfiguration von Tomcat
-

Die Konfiguration von Tomcat ist analog zu Abschnitt 2.2.1.1.2 durchzuführen.

-
2.2.1.2.2 Konfiguration von SSL mit mod_SSL
-

Apache kann in Verbindung mit mod_SSL als SSL-Endpunkt für das MOA SP/SS Webservice fungieren. In diesem Fall entfällt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via mod_jk austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enthält die Online-Dokumentation von mod_SSL.

-

Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass mod_ssl die HTTP-Header mit den Informationen über das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht:

-
SSLOptions +ExportCertData +StdEnvVars
-

Je nach vorhandener SSL-Konfiguration des Apache Webservers kann diese Option im globalen Kontext, im Kontext des Virtual Hosts oder im Kontext eines Verzeichnisses spezifiziert werden.

-

2.2.2 Datenbank

-

Die MOA SP/SS Module können eine Datenbank zum Archivieren von Certificate Revocation Lists (CRLs), sowie zum Abspeichern von Log-Meldungen verwenden. In beiden Fällen wird eine installierte und konfigurierte Datenbank vorausgesetzt.

-

2.2.2.1 PostgreSQL

-

Eine detaillierte Übersicht über die Installation und Konfiguration von PostgreSQL gibt die Online-Dokumentation.

-

Bitte beachten Sie: Eine Möglichkeit, PostgreSQL unter MS Windows zu installieren, besteht darin, Cygwin mit dem PostgreSQL-Package zu installieren. Alternative Installationsvarianten werden in der PostgreSQL Dokumentation angeführt.

-
2.2.2.1.1 Anlegen eines Benutzers und einer Datenbank für MOA SP/SS
-

Damit die MOA SP/SS Module eine Verbindung zu PostgreSQL aufbauen kann, müssen der Name eines PostgreSQL-Benutzers und einer PostgreSQL-Datenbank bekannt sein. Sollten diese nicht vorhanden sein, kann mit folgenden Kommandos ein Benutzer namens moa und eine Datenbank namens moadb angelegt werden:

-
createuser -U postgres -d -A -P moa
createdb -U moa moadb
-

Da die MOA SP/SS Module über JDBC mit der Datenbank kommunizieren, ist in der Folge die Angabe einer JDBC-URL notwendig, welche die Verbindungsparameter enthält. Wurden der Benutzer und die Datenbank wie im obigen Beispiel angelegt, ist folgende JDBC-URL anzugeben (Annahme: als Passwort für den Benutzer moa wurde moapass gewählt):

-
 jdbc:postgresql://host/moadb?user=moa&password=moapass
-

Die Zeichen jdbc:postgresql:// sind unveränderliche Bestandteile einer PostgreSQL JDBC-URL. host gibt den Rechner an, auf dem PostgreSQL läuft. moadb identifiziert den Namen der Datenbank. Über die Parameter user= und pass= werden Benutzername und Passwort für den DB-User bekanntgegeben.

-
2.2.2.1.2 Archivierung von CRLs
-

Zum Archivieren von CRLs müssen in der MOA SP/SS Konfigurationsdatei die Kinder des Elements cfg:MOAConfiguration/cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving entsprechend - konfiguriert werden:

-
    -
  • cfg:EnableArchiving muss auf den Wert true gesetzt sein;
  • -
  • cfg:ArchiveDuration muss als nichtnegative Ganzzahl die maximale Archivierungsdauer in Tagen enthalten;
  • -
  • cfg:Archive muss genau ein Element cfg:DatabaseArchive enthalten, das wiederum aus zwei Elementen - bestehen muss: -
      -
    • cfg:JDBCURL muss eine gültige JDBC-URL enthalten, mit der auf die Datenbank zur Archivierung - zugegriffen werden kann (Hinweis: da es sich hierbei um einen Eintrag - in eine XML-Datei handelt, muss das Zeichen & in der in Abschnitt 2.2.2.1.1 gezeigten - JDBC-URL - durch die Zeichenfolge &amp; ersetzt werden.);
    • -
    • cfg:JDBCDriverClassName muss den vollständig qualifizierten Java-Klassennamen des JDBC-Treibers - enthalten.
    • -
    -
  • -
-

Vergleiche auch Abschnitt 2.3.1.3.4 im - Konfigurationshandbuch.

-
2.2.2.1.3 Logging
-

Für das Logging in eine PostgreSQL Datenbank mittels Log4j muss zunächst eine Tabelle für die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:

-
 create table spss_log (log_time timestamp, log_level varchar(5), log_msg text);
-

Damit Log4j die Log-Meldungen in diese Datenbanktabelle schreibt, muss die Log4j-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte Log4j-Konfiguration enthält bereits die notwendigen Einträge für das Logging in eine PostgreSQL Datenbank, die jedoch standardmäßig ausgeschaltet sind.

-

Wie beim Caching von CRLs ist auch hier die Angabe einer JDBC-URL notwendig, damit die MOA SP/SS Module eine Verbindung zur Datenbank aufnehmen können.

-

Bitte beachten Sie: Bei Tests hat sich das Logging in eine Datenbank mit Log4j als Performance-Engpass herausgestellt. Es wird deshalb empfohlen, dieses Feature mit Bedacht einzusetzen.

-

2.2.2.2 Andere Datenbanken

-

Über die generische Anbindung JDBC können auch andere Datenbanken für die Archivierung von CRLs bzw. für die Speicherung der Log-Meldungen eingesetzt werden. Hinweise zu bestimmten Datenbanken finden Sie in den FAQ.

-

Die in Abschnitt 2.2.2.1 gemachten Angaben zu Archivierung von CRLs bzw. zur Speicherung von Log-Meldungen gelten sinngemäß.

-

2.2.3 Hardware Security Module (HSM)

-

MOA SS kann für die Erstellung von Signaturen auf die Dienste eines HSM zurückgreifen. Voraussetzung dafür ist, dass für das HSM eine Implementierung der Schnittstelle PCKS#11 (PKCS#11-Bibliothek) angeboten wird.

-

Für die Einbindung des HSM in MOA SS müssen zunächst die Bibliotheken aus $MOA_SPSS_INST/pkcs11 in ein beliebiges Verzeichnis kopiert werden, welches dann in den Libray-Pfad des jeweiligen Betriebssystems aufgenommen werden muss (Windows: Umgebungsvariable PATH; Linux: Umgebungsvariable LD_LIBRARY_PATH).

-

Der Name der für das HSM spezifischen PKCS#11-Bibliothek muss in der Konfigurationsdatei eingetragen werden (vergleiche Abschnitt 2.2.1.1 des Konfigurationshandbuchs).

-

3 Klassenbibliothek

-

Dieser Abschnitt beschreibt die Verwendung von MOA SP/SS als Klassenbibliothek. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsmöglichkeiten auf.

-

3.1 Basisinstallation

-

3.1.1 Einführung

-

Die Basisinstallation der Klassenbibliothek stellt einerseits die minimalen Anforderungen für den Einsatz von MOA SP/SS als Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt für optionale Erweiterungsmöglichkeiten.

-

Die Mindestanforderungen für die Basisinstallation sind:

- -

Wir empfehlen jedoch jeweils aktuelle Version zu verwenden:

- -

3.1.2 Vorbereitung

-

Die folgenden Schritte dienen der Vorbereitung der Installation.

-
-
Installation von Java SE
-
Installieren Sie Java SE in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der Java SE Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet.
-
Entpacken der MOA SP/SS Klassenbibliotheks-Distribution
-
Entpacken Sie die Datei moa-spss-2.0.0-lib.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
-
Installation der Kryptographiebibliotheken von SIC/IAIK
-
-

Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext in das Verzeichnis $JAVA_HOME/jre/lib/ext. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden Unlimited Strength - - - Jurisdiction Policy Files von der Java SE Downloadseite und achten Sie darauf die für ihre verwendete Java SE Installation richtige Version zu nehmen. Anschließend folgen Sie der darin enthaltenen Installationsanweisung.

-
-
-

3.1.3 Verwendung

-

Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu können, müssen die mit MOA SP/SS ausgelieferten Bibliotheken in den Java Klassenpfad der Applikation eingebunden werden.

-

Die nachfolgende Tabelle listet diese Klassenbibliotheken auf; die Einträge in der Spalte Dateien sind relativ zum Verzeichnis $MOA_SPSS_INST zu interpretieren.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
KlassenbibliothekVersionDateien
MOA SP/SS2.0.0  moa-spss.jar, moa-common.jar
MOA IAIK

1.5 

lib/iaik_moa-1.5.jar, - lib/iaik_cms-4.1.jar, lib/iaik_ixsil-1.2.2.5.jar

-
Mail1.4  lib/mail-1.4.jar
Activation1.1  lib/activation-1.1.jar
Xerces-J2.9.0  lib/xercesImpl.jar
Xalan-J2.7.1 

lib/xalan.jar, lib/xml-apis.jar, lib/serializer.jar

-

Bitte beachten Sie: Sie müssen diese Bibliothek gegebenenfalls der Java VM als endorsed bekanntgeben. Sie können dies tun, indem Sie entweder

-
    -
  • die Bibliothek in das (ggf. vorher anzulegende) Verzeichnis $JAVA_HOME/jre/lib/endorsed/ kopieren; oder
  • -
  • die System Property java.endorsed.dirs verwenden, und als Wert den Pfad zu jenem Verzeichnis angeben, in dem Sie die Bibliothek vorhalten (also z.B. java.endorsed.dirs=c:/mylibdir).
  • -
Jaxen1.0  lib/jaxen-1.0-FCS.jar, lib/saxpath-1.0-FCS.jar
Commons-Logging1.0.4  lib/commons-logging-1.0.4.jar
Log4j1.2.14  lib/log4j-1.2.14.jar
Commons-Discovery0.2  lib/commons-discovery-0.2.jar
Postgres JDBC27.3 

lib/postgresql-7.2.jar

-

Bitte beachten Sie: Wenn Sie keine Datenbank für MOA SP/SS verwenden (vergleiche 2.2.2), benötigen Sie diese Bibliothek nicht.

Axis1.0_IAIK/1.4  lib/axis-1.0_iaik.jar, lib/axis-jaxrpc-1.4.jar, lib/axis-saaj-1.4.jar, lib/axis-wsdl4j-1.5.1.jar
- -

3.1.4 Logging

-

Die MOA SP/SS Klassenbibliothek verwendet Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Die im Abschnitt 2.1.3 gemachten Aussagen lassen sich großteils auf den Einsatz der MOA SP/SS Klassenbibliothek übertragen.

-

3.2 Erweiterungsmöglichkeiten

-

Die im Abschnitt 2.2 angeführten Erweiterungsmöglichkeiten für die MOA SP/SS Webservices gelten in analoger Weise auch für die Klassenbibliothek.

-

A Referenzierte Software

-

Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:

- - - - - - - - - - - - - - - - - -
NameBeschreibung
Apache Tomcat Apache Tomcat Servlet-Container
Java SEJava Standard Edition (Software Development Kit bzw. Java Runtime Environment)
Log4J Logging Framework
- - - diff --git a/spss/handbook/handbook/intro/intro.html b/spss/handbook/handbook/intro/intro.html deleted file mode 100644 index 138ca61e8..000000000 --- a/spss/handbook/handbook/intro/intro.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - MOA SS und SP - Einführung - - - - - - - - - -
Logo BKADokumentationLogo EGIZ
-
-

MOA: Serversignatur (SS) und Signaturprüfung (SP)

-

Einführung

-
-

Inhalt

-
    -
  1. -

    Allgemeines

    -
  2. -
  3. -

    Modul Serversignatur (SS)

    -
  4. -
  5. Modul Signaturprüfung (SP)
  6. -
-
-

1 Allgemeines

-

Die Module Serversignatur (SS) und Signaturprüfung (SP) können von Anwendungen verwendet werden, um elektronische Signaturen zu erstellen bzw. vorliegende elektronische Signaturen zu überprüfen.

-

Die Funktionalität und der Aufbau der Schnittstelle zu den beiden Modulen ist in der Spezifikation MOA SP/SS (V2.0.0) detailliert beschrieben. Da diese Spezifikation auf der Schnittstellenspezifikation des Security-Layers (V 1.2.7) aufbaut, ist deren Kenntnis zum Verstehen der Schnittstellen zu SS und SP erforderlich.

-

2 Modul Serversignatur (SS)

-

Das Modul Serversignatur (SS) dient zum Erstellen von XML-Signaturen in Anlehnung an die Schnittstellenspezifikation des Security-Layers (V 1.2.7). Eine Signatur kann entweder rein in Software erstellt werden, oder aber unter Zuhilfenahme eines Hardware Security Modules (HSM), das den privaten Schlüssel geschützt enthält und die Signatur berechnet.

-

Der Zugriff auf einzelne Signaturschlüssel in MOA SS kann basierend auf dem für TLS-Client-Authentisierung verwendeten Zertifikat eingeschränkt werden.

-

Anwendungen können das Modul entweder als Web-Service oder über ein Java-API ansprechen.

-

3 Modul Signaturprüfung (SP)

-

Das Modul Signaturprüfung (SP) dient zum Überprüfen von XML-Signaturen und CMS-Signaturen sowie den fortgeschrittenen Signaturen XAdES und CAdES entsprechende der Schnittstellenspezifikation des Security-Layers (V 1.2.7).

-

Im Zuge der Verifikation einer XML-Signatur werden die Signatur, gegebenenfalls vorhandene XMLDSIG-Manifeste, als auch die Gültigkeit und Anwendbarkeit des Zertifikats überprüft. Bei XML-Signaturen kann zusätzlich überprüft werden, ob sie den speziellen Anforderungen Schnittstellenspezifikation des Security-Layers (V 1.2.7) entsprechen (vgl. Signaturmanifest).

-

Anwendungen können das Modul entweder als Web-Service oder über ein Java-API ansprechen.

- - diff --git a/spss/handbook/handbook/spec/MOA-SPSS-1.3.pdf b/spss/handbook/handbook/spec/MOA-SPSS-1.3.pdf deleted file mode 100644 index 6709a4081..000000000 Binary files a/spss/handbook/handbook/spec/MOA-SPSS-1.3.pdf and /dev/null differ diff --git a/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.pdf b/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.pdf deleted file mode 100644 index 6cf538229..000000000 Binary files a/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.pdf and /dev/null differ diff --git a/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.wsdl b/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.wsdl deleted file mode 100644 index c8bf32950..000000000 --- a/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.wsdl +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.xsd b/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.xsd deleted file mode 100644 index 739b12431..000000000 --- a/spss/handbook/handbook/spec/MOA-SPSS-2.0.0.xsd +++ /dev/null @@ -1,572 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung erfolgreich war - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung erfolgreich war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur. - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resultat, falls die Signaturerstellung gescheitert ist - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen. - - - - - Profilbezeichner für einen Transformationsweg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann. - - - - Der Transformationsparameter explizit angegeben. - - - - - Der Hashwert des Transformationsparameters. - - - - - - - - - - - - - - - - - - - - - - Explizite Angabe des Transformationswegs - - - - - - - Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird. - - - - - - - - - - - - - - - - diff --git a/spss/handbook/handbook/usage/usage.html b/spss/handbook/handbook/usage/usage.html deleted file mode 100644 index d36fb13d1..000000000 --- a/spss/handbook/handbook/usage/usage.html +++ /dev/null @@ -1,1366 +0,0 @@ - - - - - MOA SS und SP - Anwendung - - - - - - - - - -
Logo BKADokumentationLogo EGIZ
-
-

MOA: Serversignatur (SS) und Signaturprüfung (SP)

-

Anwendung

-
-

Inhalt

-
    -
  1. -

    Übersicht

    -
  2. -
  3. -

    Verwendung des Webservices

    -
      -
    1. XML-Requests
        -
      1. Erstellung einer CMS bzw. CAdES-Signatur
      2. -
          -
        1. Beispiel (Base64-codiertes Datenobjekt)
        2. -
        3. Beispiel (Datenobjekt als Referenz)
        4. -
        -
      3. Erstellung einer XML bzw. XAdES-Signatur -
          -
        1. Einfaches Beispiel
        2. -
        3. Angabe der zu signierenden Daten
        4. -
        5. Transformationen
        6. -
        7. Ergänzungsobjekte
        8. -
        -
      4. -
      5. Prüfung einer CMS bzw. CAdES-Signatur -
          -
        1. Einfaches Beispiel
        2. -
        3. Erweitertes Beispiel
        4. -
        -
      6. -
      7. Prüfung einer XML bzw. XAdES-Signatur -
          -
        1. Einfaches Beispiel
        2. -
        3. Erweitertes Beispiel
        4. -
        5. Prüfung eines XMLDSIG-Manifests
        6. -
        7. Ergänzungsobjekte
        8. -
        9. Signatur-Manifest des Security-Layers
        10. -
        11. Prüfung gegen Trustprofil mit TSL Unterstützung
        12. -
        -
      8. -
      -
    2. -
    3. Webservice-Clients -
        -
      1. Übersicht
      2. -
      3. Gemeinsamkeiten
      4. -
      5. Besonderheiten von HTTPSServerAuth.java
      6. -
      7. Besonderheiten von HTTPSClientAuth.java
      8. -
      -
    4. -
    5. Zertifikat einer Schlüsselgruppe auslesen
    6. -
    -
  4. -
  5. Verwendung der Klassenbibliothek -
      -
    1. Vorbereitung
    2. -
    3. Allgemeines
    4. -
    5. Beispiele
    6. -
    7. API-Dokumentation
    8. -
    -
  6. -
-
    -
  1. Referenzierte Software
  2. -
  3. Referenzierte Spezifikation
  4. -
- -
-

1 Übersicht

-

Die Module Signaturprüfung (SP) und Serversignatur (SS) sind als plattformunabhängige Module ausgelegt, die entweder als Webservice über HTTP bzw. HTTPS oder als Klassenbibliothek über ein API angesprochen werden können. Dieses Handbuch beschreibt die Anwendung der beiden Module auf jede dieser beiden Arten.

-

2 Verwendung des Webservices

-

Dieser Abschnitt beschreibt die Verwendung der Module SP und SS über die Webservice-Schnittstelle. Im ersten Unterabschnitt werden typische XML-Requests zur Signaturerstellung mittels SS bzw. zur Signaturprüfung mittels SP vorgestellt, wie sie an das Webservice gesendet werden können. Der zweite Unterabschnitt stellt beispielhafte Implementierungen eines Webservice-Clients in Java vor, mit dem die Requests aus dem ersten Unterabschnitt an das Webservice gesendet werden können.

-

2.1 XML-Requests

-

Dieser Abschnitt stellt typische XML-Requests für die Erstellung einer XML/XAdES- und CMS/CAdES-Signatur mittels SS bzw. zur Prüfung einer CMS/CAdES- bzw. XML/XAdES-Signatur mittels SP vor. Zu jedem Request wird jeweils auch eine typische Response des Services besprochen.

-

Bitte beachten Sie: Einige der vorgestellten Requests referenzieren beispielhafte Daten auf localhost, z.B. http://localhost:8080/referencedData/Text.txt. Wenn Sie diese Beispiele ausprobieren möchten, müssen Sie dafür sorgen, dass MOA SS bzw. SP diese Daten auch tatsächlich auflösen kann. Wenn Sie Ihre Tomcat-Installation auf localhost:8080 betreiben, ist es ausreichend, wenn sie die diesem Handbuch beiliegende Webapplikation referencedData.war in das Verzeichnis webapps Ihrer Tomcat-Installation kopieren. Ansonsten müssen Sie zusätzlich die URLs in den Requests anpassen.

-

2.1.1 Erstellung einer CMS bzw. CAdES-Signatur

-

MOA-SS ermöglicht die Erstellung einer herkömmlichen CMS-Signatur und einer CAdES-Signatur gemäß der Security-Layer Spezifikation. Die Auswahl ob eine herkömmliche XML oder eine Security-Layer konforme CAdES-Signatur erstellt wird, erfolgt durch das Attribute SecurityLayerConformity im Signaturerstelltungs-Request (siehe auch folgende Beispiele).

-

2.1.1.1 Beispiel (Base64-codiertes Datenobjekt)

-
Request
-

CreateCMSSignatureRequest.Base64Content.xml ist ein einfacher XML-Request zur Erzeugung einer CAdES-Signatur. Sein Aufbau wird nachfolgend analysiert:

-
  <KeyIdentifier>KG_allgemein</KeyIdentifier> 
-

KG_allgemein bezeichnet eine Schlüsselgruppe, aus der SS einen Signaturschlüssel selektieren soll und muss einer in der SP/SS-Konfigurationsdatei definierten Schlüsselgruppe entsprechen.

-
  <SingleSignatureInfo SecurityLayerConformity="true">
-

Für jedes SingleSignatureInfoElement wird eine eigene CMS/CAdES-Signatur erzeugt. Wird das Attribut SecurityLayerConformity auf true gesetzt, dann wird eine CAdES-Signatur gemäß Security-Layer Spezifikation erzeugt; d.h. es werden signierte Properties (Zeitpunkt der Signaturerstellung, das für die Signaturüberprüfung zu verwendende Zertifikat, Metainformationen zu den signierten Datenobjekten).

-
  <DataObjectInfo Structure="enveloping">
-	  <DataObject>
-	    <MetaInfo>
-        <MimeType>text/plain</MimeType>
-      </MetaInfo>
-      <Content>
-        <Base64Content>RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=</Base64Content>
-      </Content>			
-    </DataObject>		
-	</DataObjectInfo>
-
-

Das zu signierende Daten-Objekt muss in einem DataObjectInfo Element spezifiziert werden. Das Attribut Structure gibt an, ob die Daten in die Signatur integriert werden sollen (Structure="enveloping") oder nicht (Structure="detached").

-

Im nachfolgenden DataObject Element muss entweder das Attribut Reference (enthält eine URL, von der SS die Daten beziehen soll) gesetzt sein, oder aber die zu signierenden Daten werden explizit im Element Base64Content (enthält Daten in Base64 kodierter Form) spezifiziert sein. Die Angabe der zu signierenden Daten über das Attribut Reference und gleichzeitig im Element Base64Content ist nicht erlaubt. Zusätzlich muss im Element MimeType (unter dem Element MetaInfo) der MIME-Type der zu signierenden Daten spezifiziert werden.

-

Im konkreten Beispiel sollen die Daten in die Signatur integriert werden (Structure="enveloping"). Die Daten werden in diesem Beispiel mittels Base64Content angegeben. Der MIME-Type wird mit text/plain angegeben.

-
Response
-

CreateCMSSignatureRequest.Base64Content.resp.xml ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
  <CreateCMSSignatureResponse
-    xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" 
xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<CMSSignature>MIAGCSqGSI...p92gh6wAAAAAAAA=</CMSSignature>
</CreateCMSSignatureResponse>
-

CreateCMSSignatureResponse enthält je erzeugter Signatur ein Element CMSSignature (in diesem Fall genau ein Element). CMSSignature enthält die von SS erzeugte CAdES-Signatur (da SecurityLayerConformity="true" im Request angegeben wurde) als Base64-codierten Wert. Das unterzeichnete Datenobjekt ist in der Signaturstruktur selbst enthalten (enveloping).

-

2.1.1.2 Beispiel (Datenobjekt als Referenz)

- -
Request
-

CreateCMSSignatureRequest.Reference.xml ist ein einfacher XML-Request zur Erzeugung einer CMS-Signatur. Sein Aufbau wird nachfolgend analysiert:

-
  <KeyIdentifier>KG_allgemein</KeyIdentifier> 
-

KG_allgemein bezeichnet eine Schlüsselgruppe, aus der SS einen Signaturschlüssel selektieren soll und muss einer in der SP/SS-Konfigurationsdatei definierten Schlüsselgruppe entsprechen.

-
  <SingleSignatureInfo SecurityLayerConformity="false">
-

Für jedes SingleSignatureInfoElement wird eine eigene CMS/CAdES-Signatur erzeugt. Wird das Attribut SecurityLayerConformity auf true gesetzt, dann wird eine CAdES-Signatur gemäß Security-Layer Spezifikation erzeugt; d.h. es werden signierte Properties (Zeitpunkt der Signaturerstellung, das für die Signaturüberprüfung zu verwendende Zertifikat, Metainformationen zu den signierten Datenobjekten).

-
  <DataObjectInfo Structure="detached">
-	  <DataObject>
-	    <MetaInfo>
-        <MimeType>text/plain</MimeType>
-      </MetaInfo>
-      <Content Reference="http://localhost:8080/moa-spss-handbook-referencedData/Text.txt"/>         	   
-    </DataObject>		
-	</DataObjectInfo>
-
-

Das zu signierende Daten-Objekt muss in einem DataObjectInfo Element spezifiziert werden. Das Attribut Structure gibt an, ob die Daten in die Signatur integriert werden sollen (Structure="enveloping") oder nicht (Structure="detached").

-

Im nachfolgenden DataObject Element muss entweder das Attribut Reference (enthält eine URL, von der SS die Daten beziehen soll) gesetzt sein, oder aber die zu signierenden Daten werden explizit im Element Base64Content (enthält Daten in Base64 kodierter Form) spezifiziert sein. Die Angabe der zu signierenden Daten über das Attribut Reference und gleichzeitig im Element Base64Content ist nicht erlaubt. Zusätzlich muss im Element MimeType (unter dem Element MetaInfo) der MIME-Type der zu signierenden Daten spezifiziert werden.

-

Im konkreten Beispiel sollen die Daten nicht in die Signatur integriert werden (Structure="detached"). Die Daten werden in diesem Beispiel mittels der Attributs Refernce angegeben und SS muss es von dieser URL laden. Der MIME-Type wird mit text/plain angegeben.

-
Response
-

CreateCMSSignatureRequest.Reference.resp.xml ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
  <CreateCMSSignatureResponse
-    xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" 
xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<CMSSignature>MIAGCSqGSI...SwxhbA9pAAAAAAAA</CMSSignature>
</CreateCMSSignatureResponse>
-

CreateCMSSignatureResponse enthält je erzeugter Signatur ein Element CMSSignature (in diesem Fall genau ein Element). CMSSignature enthält die von SS erzeugte CMS-Signatur (da SecurityLayerConformity="false" im Request angegeben wurde) als Base64-codierten Wert. Das unterzeichnete Datenobjekt ist in der Signaturstruktur nicht enthalten (detached).

-

2.1.2 Erstellung einer XML bzw. XAdES-Signatur

-

MOA-SS ermöglicht die Erstellung einer herkömmlichen XML-Signatur und einer XAdES-Signatur gemäß der Security-Layer Spezifikation. Die Auswahl ob eine herkömmliche XML oder eine Security-Layer konforme XAdES-Signatur erstellt wird, erfolgt durch das Attribute SecurityLayerConformity im Signaturerstelltungs-Request (siehe auch folgende Beispiele).

-

Im Falle einer XAdES-Signatur, kann entweder eine XAdES-Signatur in der Version 1.1.1 oder in der Version 1.4.2 erstellt werden. Dies hängt von der in der MOA-SS Konfiguration angegeben XAdES-Version ab (siehe hierzu Konfiguration der XAdES Version).

-

2.1.2.1 Einfaches Beispiel

-
Request
-

CreateXMLSignatureRequest.Simple.xml ist ein einfacher XML-Request zur Erzeugung einer XML-Signatur. Sein Aufbau wird nachfolgend analysiert:

-
  <KeyIdentifier>KG_allgemein</KeyIdentifier> 
-

KG_allgemein bezeichnet eine Schlüsselgruppe, aus der SS einen Signaturschlüssel selektieren soll und muss einer in der SP/SS-Konfigurationsdatei definierten Schlüsselgruppe entsprechen.

-
  <SingleSignatureInfo SecurityLayerConformity="false">
-

Für jedes SingleSignatureInfoElement wird eine eigene XML-Signatur erzeugt. Wird das Attribut SecurityLayerConformity auf true gesetzt, dann wird eine XML-Signatur gemäß Security-Layer Spezifikation erzeugt; d.h. es werden signierte Properties (Zeitpunkt der Signaturerstellung, das für die Signaturüberprüfung zu verwendende Zertifikat, Metainformationen zu den signierten Datenobjekten) und ein Manifest, das alle implizite Transformationsparameter enthält, zur Signatur hinzugefügt (=eine XAdES Signatur).

-
  <DataObjectInfo Structure="enveloping">
-    <DataObject>
-      <XMLContent>Diese Daten werden signiert.<XMLContent>
-    </DataObject>
-

-

Für jedes Daten-Objekt, das in die XML-Signatur als dsig:Reference aufgenommen werden soll, muss ein DataObjectInfo Element spezifiziert werden. Das Attribut Structure gibt an, ob die Daten in die Signatur in ein dsig:Object Element integriert werden sollen (Structure="enveloping"), oder über einen URL referenziert werden sollen (Structure="detached").

-

Im Fall von Structure="enveloping" muss im nachfolgenden DataObject Element entweder das Attribut Reference (enthält eine URL, von der SS die Daten beziehen soll) gesetzt sein, oder aber die zu signierenden Daten werden explizit in einem der Elemente Base64Content (enthält Daten in Base64 kodierter Form) oder XMLContent (enthält Daten als beliebiges XML-Fragment) oder LocRefContent (enthält eine URL, von der SS die Daten beziehen soll; in diesem Fall also gleichwertig wie ein gesetztes Attribut Reference) spezifiziert sein. Die Angabe der zu signierenden Daten über das Attribut Reference und gleichzeitig einem der Elemente Base64Content oder XMLContent oder LocRefContent ist nicht erlaubt.

-

Im Fall von Structure="detached" muss das Attribut Reference im nachfolgenden DataObject Element gesetzt sein. Es enthält jene URL, die zur Referenzierung der Daten als Wert von dsig:Reference/@URI in die XML-Signatur aufgenommen wird. Die Angabe eines der Element Base64Content oder XMLContent oder LocRefContent ist optional. Unterbleibt die Angabe, bezieht SS die Daten von der URL im Attribut Reference. Wird eines der Elemente verwendet, bezieht SS die Daten durch Analyse des angegebenen Elements (siehe obiger Absatz).

-

Im konkreten Beispiel sollen die Daten in ein dsig:Object Element integriert werden (Structure="enveloping"). Die Daten werden mittels XMLContent als XML-Fragment (ein einfacher Textknoten) angegeben.

-

-

  <CreateTransformsInfoProfile>
<CreateTransformsInfo> - <FinalDataMetaInfo> - <MimeType>text/plain<MimeType> - </FinalDataMetaInfo> - </CreateTransformsInfo> - </CreateTransformsInfoProfile>
- Zu jedem Daten-Objekt können optional Transformationen (z.B. XPath, XSLT, Base64-Decodierung, etc.) angegeben werden. Werden - wie hier im Beispiel - keine Transformationen angegeben, so muss zumindest der MIME-Type der zu signierenden Daten spezifiziert werden.

-
Response
-

CreateXMLSignatureRequest.Simple.resp.xml ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
  <CreateXMLSignatureResponse
-    xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" 
xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<SignatureEnvironment>
<dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<dsig:SignedInfo> - ... - <dsig:Reference Id="reference-1-1" URI="#xpointer(id(&apos;signed-data-1-1-1&apos;)/node())"> - ... - </dsig:Reference> - ... - </dsig:SignedInfo> - ... - <dsig:Object Id="signed-data-1-1-1">Diese Daten werden signiert.</dsig:Object> - </dsig:Signature>
</SignatureEnvironment>
</CreateXMLSignatureResponse>
-

-

CreateXMLSignatureResponse enthält je erzeugter Signatur ein Element SignatureEnvironment (in diesem Fall genau ein Element). SignatureEnvironment enthält die von SS erzeugte XML-Signatur, die im obigen Request spezifiziert wurde. Man erkennt, dass die XML-Signatur genau ein Daten-Objekt unterzeichnet (ein dsig:Reference Element ist enthalten). Das unterzeichnete Datenobjekt ist in der Signaturstruktur selbst enthalten (enveloping), und zwar in einem dsig:Object Element.

-

2.1.2.2 Angabe der zu signierenden Daten

-
Request
-

Dieses Beispiel stellt die vielfältigen Möglichkeiten vor, wie MOA SS mitgeteilt werden kann, welche Daten signiert (wenn keine Transformationen angegeben werden) bzw. als Eingangsdaten für die Berechnung der Transformationen verwendet werden sollen (wenn Transformationen angegeben werden).

-

Mit CreateXMLSignatureRequest.Refs.xml sollen insgesamt neun Datenobjekte signiert werden:

-
  <CreateXMLSignatureRequest
-    xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-    xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<KeyIdentifier>KG_allgemein</KeyIdentifier>
<SingleSignatureInfo SecurityLayerConformity="false">
-

Die Signatur soll mit dem Schlüssel KG_allgemein erstellt werden; jene Elemente, die speziell für eine Security-Layer V1.1 konforme Signatur notwendig sind (vergleiche Einfaches Beispiel), brauchen nicht erstellt zu werden (SecurityLayerConformity="false").

-
  <DataObjectInfo Structure="enveloping" ChildOfManifest="true">
-    <DataObject>
-      <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content>
-    </DataObject>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <FinalDataMetaInfo>
-          <MimeType>text/plain</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-

Die Daten sollen in der Enveloping Form in die Signatur integriert werden, d. h. die Daten werden in einem dsig:Object als Teil der XML-Struktur der Signatur aufgenommen (Structure="enveloping"). Weiters sollen die Daten nicht über über eine dsig:Reference in dsig:SignedInfo, sondern über eine dsig:Reference in einem eigenen dsig:Manifest aufgenommen werden (ChildOfManifest="true").

-

Die Daten selbst werden explizit in base64 kodierter Form als Inhalt des Elements Base64Content angegeben. Das Attribut DataObject/@Reference darf nicht angegeben werden, da die Daten in der Enveloping Form integriert werden sollen, und Base64Content verwendet wird.

-

Es werden - wie in allen übrigen Fällen dieses Beispiels - keine Transformationen angegeben. Der Mime-Type der zu signierenden Daten wird als text/plain angegeben, da der Inhalt von Base64Content die base64-Kodierung des Texts Diese Daten waren base64 kodiert. ist.

-
-  <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
-    <DataObject>
-      <XMLContent><doc:XMLDocument xmlns:doc="urn:document">
-        <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
-        <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
-          Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
-      </doc:XMLDocument></XMLContent>
-    </DataObject>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <FinalDataMetaInfo>
-          <MimeType>application/xml</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Die Daten sollen in der Enveloping Form in die Signatur integriert werden, d. h. die Daten werden in einem dsig:Object als Teil der XML-Struktur der Signatur aufgenommen (Structure="enveloping"). Diesmal sollen die Daten direkt über eine dsig:Reference in dsig:SignedInfo aufgenommen werden (ChildOfManifest="false").

-

Die Daten selbst werden explizit als XML-Fragment als Inhalt des Elements XMLContent angegeben. Das Attribut DataObject/@Reference darf nicht angegeben werden, da die Daten in der Enveloping Form integriert werden sollen, und XMLContent verwendet wird.

-

Der Mime-Type der zu signierenden Daten wird als application/xml angegeben.

-
-  <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
-    <DataObject Reference="http://localhost:8080/referencedData/Text.txt"/>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <FinalDataMetaInfo>
-          <MimeType>text/plain</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Die Daten sollen in der Enveloping Form in die Signatur integriert werden, d. h. die Daten werden in einem dsig:Object als Teil der XML-Struktur der Signatur aufgenommen (Structure="enveloping"). Wiederum sollen die Daten direkt über eine dsig:Reference in dsig:SignedInfo aufgenommen werden (ChildOfManifest="false"). -

-

Die Daten werden diesmal nicht explizit angegeben, sondern mittels der URL in DataObject/@Reference referenziert. MOA SS versucht diese URL aufzulösen, um zu den zu signierenden Daten zu gelangen. Base64Content oder XMLContent oder LocRefContent dürfen nicht verwendet werden, da die Daten in der Enveloping Form integriert werden sollen, und bereits DataObject/@Reference eingesetzt wird.

-

Der Mime-Type der zu signierenden Daten wird als text/plain angegeben.

-
-  <DataObjectInfo Structure="enveloping" ChildOfManifest="false">
-    <DataObject>
-      <LocRefContent>http://localhost:8080/referencedData/Text.txt</LocRefContent>
-    </DataObject>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <FinalDataMetaInfo>
-          <MimeType>text/plain</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Die Daten sollen wiederum in der Enveloping Form in die Signatur integriert werden, d. h. die Daten werden in einem dsig:Object als Teil der XML-Struktur der Signatur aufgenommen (Structure="enveloping"). Wiederum sollen die Daten direkt über eine dsig:Reference in dsig:SignedInfo aufgenommen werden (ChildOfManifest="false").

-

Die Daten werden wie im vorhergehenden Fall nicht explizit angegeben, sondern referenziert. Diesmal wird die URL jedoch nicht DataObject/@Reference verwendet, sondern als Textinhalt des Elements LocRefContent (LocRef steht für Location Reference). DataObject/@Reference darf in diesem Fall nicht verwendet werden. Diese Methode ist semantisch völlig ident mit dem vorhergehenden Fall.

-

Der Mime-Type der zu signierenden Daten wird als text/plain angegeben.

-
-  <DataObjectInfo Structure="detached" ChildOfManifest="true">
-    <DataObject Reference="http://localhost:8080/referencedData/Text.b64">
-      <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content>
-    </DataObject>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <FinalDataMetaInfo>
-          <MimeType>text/plain</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Die Daten sollen diesmal in der Detached Form in die Signatur aufgenommen werden, d. h. die Daten werden nicht direkt in die Signaturstruktur integriert, sondern lediglich mittels URI im Attribut URI der anzufertigenden dsig:Reference referenziert (Structure="detached"). Die Daten sollen indirekt über eine dsig:Reference eines dsig:Manifests aufgenommen werden (ChildOfManifest="true").

-

Die URI in DataObject/@Reference enthält dabei die URI, die zur Referenzierung in dsig:Reference/@URI aufgenommen werden soll. Die Daten selbst hingegen werden im diesem Beispiel explizit in base64 kodierter Form als Inhalt des Elements Base64Content angegeben. MOA SS löst also keine URL zur Erlangung der Daten auf, sondern verwendet den Inhalt von Base64Content.

-

Der Mime-Type der zu signierenden Daten wird als text/plain angegeben.

-
-  <DataObjectInfo Structure="detached" ChildOfManifest="false">
-    <DataObject Reference="NichtAufloesbareReferenz1">
-      <XMLContent><doc:XMLDocument xmlns:doc="urn:document">
-        <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
-        <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
-          Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
-        </doc:XMLDocument>
-      </XMLContent>
-    </DataObject>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <FinalDataMetaInfo>
-          <MimeType>application/xml</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Die Daten sollen auch diesmal in der Detached Form in die Signatur aufgenommen werden, d. h. die Daten werden nicht direkt in die Signaturstruktur integriert, sondern lediglich mittels URI im Attribut URI der anzufertigenden dsig:Reference referenziert (Structure="detached"). Diesmal sollen die Daten direkt über eine dsig:Reference in dsig:SignedInfo aufgenommen werden (ChildOfManifest="false"). -

-

Die URI in DataObject/@Reference enthält dabei die URI, die zur Referenzierung in dsig:Reference/@URI aufgenommen werden soll. Die Daten selbst hingegen werden im diesem Beispiel explizit als XML-Fragment in XMLContent angegeben. MOA SS löst auch hier keine URL zur Erlangung der Daten auf, sondern verwendet den Inhalt von XMLContent. Zur Verdeutlichung dieses Umstandes wurde die URI in DataObject/@Reference auf einen Wert gesetzt, der von MOA SS ganz sicher nicht aufgelöst werden kann (NichtAufloesbareReferenz1).

-

Der Mime-Type der zu signierenden Daten wird als application/xml angegeben.

-
-  <DataObjectInfo Structure="detached" ChildOfManifest="false">
-    <DataObject Reference="http://localhost:8080/referencedData/Text.txt">
-    </DataObject>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <FinalDataMetaInfo>
-          <MimeType>text/plain</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Wiederum sollen die Daten in der Detached Form in die Signatur aufgenommen werden (Structure="detached"). Wie zuvor sollen die Daten direkt über eine dsig:Reference in dsig:SignedInfo aufgenommen werden (ChildOfManifest="false").

-

Die URI in DataObject/@Reference enthält dabei die URI, die zur Referenzierung in dsig:Reference/@URI aufgenommen werden soll. Nachdem eine explizite Angabe der Daten mittels Base64Content, XMLContent oder LocRefContent unterbleibt, wird MOA SS versuchen, die URI in dsig:Reference/@URI als URL aufzulösen, um so zu den zu signierenden Daten zu gelangen.

-

Der Mime-Type der zu signierenden Daten wird als text/plain angegeben.

-
-  <DataObjectInfo Structure="detached" ChildOfManifest="false">
-    <DataObject Reference="NichtAufloesbareReferenz2">
-      <LocRefContent>http://localhost:8080/referencedData/Text.txt</LocRefContent>
-    </DataObject>
-   <CreateTransformsInfoProfile>
-     <CreateTransformsInfo>
-       <FinalDataMetaInfo>
-         <MimeType>text/plain</MimeType>
-       </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Wiederum sollen die Daten in der Detached Form in die Signatur aufgenommen werden (Structure="detached"). Wie zuvor sollen die Daten direkt über eine dsig:Reference in dsig:SignedInfo aufgenommen werden (ChildOfManifest="false").

-

Die URI in DataObject/@Reference enthält dabei die URI, die zur Referenzierung in dsig:Reference/@URI aufgenommen werden soll. Den Hinweis, wie MOA SS zu den zu signierenden Daten gelangen soll, ist jedoch in LocRefContent enthalten. MOA SS wird also versuchen, die dort enthaltene URL aufzulösen, um zu den zu signierenden Daten zu gelangen. Zur Verdeutlichung dieses Umstandes wurde die URI in DataObject/@Reference auf einen Wert gesetzt, der von MOA SS ganz sicher nicht aufgelöst werden kann (NichtAufloesbareReferenz2). Diese Art der Datenangabe kann eingesetzt werden, wenn die Daten zum Zeitpunkt der Signaturerstellung von einem anderen Ort bezogen werden müssen, als später dann bei der Signaturprüfung.

-

Der Mime-Type der zu signierenden Daten wird als text/plain angegeben.

-
-  <DataObjectInfo Structure="detached" ChildOfManifest="false">
-    <DataObject Reference=""/>
-    <CreateTransformsInfoProfile>
-      <CreateTransformsInfo>
-        <dsig:Transforms>
-          <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
-        </dsig:Transforms>
-        <FinalDataMetaInfo>
-          <MimeType>application/xml</MimeType>
-        </FinalDataMetaInfo>
-      </CreateTransformsInfo>
-    </CreateTransformsInfoProfile>
-  </DataObjectInfo>
-
-

Im letzten Fall schließlich sollen wiederum Daten in der Detached Form in die Signatur aufgenommen werden (Structure="detached"). Wie zuvor sollen die Daten direkt über eine dsig:Reference in dsig:SignedInfo aufgenommen werden (ChildOfManifest="false").

-

Die Referenz auf die zu signierenden Daten ist wiederum in DataObject/@Reference enthalten; sie verweist diesmal jedoch nicht auf ein externes Dokument, sondern auf das gesamte (XML-)Dokument, in das die zu erstellende Signatur integriert werden soll, und zwar, indem DataObject/@Reference den leeren String ("") enthält. Nachdem dadurch zwangsläufig auch die Signatur in den zu signierenden Daten enthalten wäre, wird die Signatur durch die Angabe einer Enveloped Signature Transform aus den zu signierenden Daten herausgenommen, bevor darüber der Hashwert berechnet wird (dsig:Transform).

-

Offen bleibt die Frage, wie MOA SS nun weiß, in welches (XML-)Dokument es die die Signatur integrieren soll. Siehe dazu die Erläuterungen zum nächsten Ausschnitts des Requests.

-

Der Mime-Type der zu signierenden Daten wird als application/xml angegeben.

-
-  <CreateSignatureInfo>
-    <CreateSignatureEnvironment>
-      <LocRefContent>http://localhost:8080/referencedData/XMLDocument.xml</LocRefContent>
-    </CreateSignatureEnvironment>
-    <CreateSignatureEnvironmentProfile>
-      <CreateSignatureLocation Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation>
-    </CreateSignatureEnvironmentProfile>
-  </CreateSignatureInfo>
-
-

Das Element CreateSignatureInfo ist grundsätzlich optional, und muss nur angegeben werden, wenn die zu erstellende Signatur von MOA SS in ein bestehendes XML-Dokument integriert werden soll (was in diesem Beispiel ja der Fall ist).

-

CreateSignatureEnvironment enthält das XML-Dokument, in das die zu erstellende Signatur integriert werden soll. In diesem Beispiel wird dieses Dokument mit Hilfe von LocRefContent referenziert, d. h. MOA SS wird versuchen, die darin enthaltene URL aufzulösen, um das XML-Dokument zu erhalten. Alternativ könnte auch Base64Content (explizite Angabe des XML-Dokuments in base64 kodierter Form) oder XMLContent (direkte Angabe des XML-Dokuments im Request) verwendet werden.

-

CreateSignatureLocation enthält die Angabe jener Stelle, an der die Signatur in das XML-Dokument eingesetzt werden soll. Der Inhalt dieses Elements bezeichnet mittels XPath-Ausdruck das Parent-Element der Signatur, der Wert des Attributs CreateSignatureLocation/@Index enthält den Offset innerhalb dieses Parent-Elements. Betrachten Sie zur Verdeutlichung das XML-Dokument XMLDocument.xml, in das die Signatur integriert werden soll: Die Signatur soll unmittelbar nach dem zweiten doc:Paragraph Element in das XML-Dokument eingefügt werden. Der Inhalt von CreateSignatureLocation (/doc:XMLDocument) selektiert das zukünftige Parent-Element der Signatur, also doc:XMLDocument. Das Attribut Index enthält deshalb den Wert 4 (und nicht etwa 2 oder 3), da erstens bei 0 zu zählen begonnen wird, und zweitens auch die Text-Knoten, die lediglich Whitespace enthalten, für diesen Offset zählen (um diese Textknoten erkennen zu können, müssen Sie das XML-Dokument in einem Text-Editor öffnen). Beachten Sie weiters, dass das im XPath-Ausdruck verwendete Namespace-Prefix doc im Kontext des Elements CreateSignatureLocation bekannt sein muss. Deshalb enthält dieses Element auch die entsprechende Namespace-Deklaration (xmlns:doc="urn:document").

-
Response
-

CreateXMLSignatureRequest.Refs.resp.xml ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-  <CreateXMLSignatureResponse
-    xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-    xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-    <SignatureEnvironment>
-      <doc:XMLDocument xmlns:doc="urn:document">
-        <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
-        <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
-          Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
-        <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-		    <dsig:SignedInfo>
-            <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
-            <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
-
-

Die Antwort enthält in SignatureEnvironment das Ergebnis der Signaturerstellung. Nachdem die Signatur in ein bestehendes XML-Dokument integriert werden sollte, enthält SignatureEnvironment das Dokument-Element dieses XML-Dokuments (doc:XMLDocument). Man erkennt auch gut, dass die XML-Signatur als fünfter Kindknoten (Offset 4) von doc:XMLDocument eingefügt wurde.

-
-            <dsig:Reference Id="reference-1-2" URI="#xpointer(id('signed-data-1-2-1')/node())">
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>A8ml6/aZKCmj1hONwvLItIwGHoc=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference wurde auf Grund des zweiten DataObjectInfo Elements im Request erstellt. Man erkennt gut den Verweis in dsig:Reference/@URI auf das dsig:Object, das die signierten Daten enthält (der XPointer verweist auf sämtliche Kindknoten jenes Elements, das ein ID-Attribut mit dem Wert signed-data-1-2-1 aufweist, des ersten vorkommenden dsig:Objects der Signatur).

-
-            <dsig:Reference Id="reference-1-3" URI="#xpointer(id('signed-data-1-3-1')/node())">
-              <dsig:Transforms>
-                <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/>
-              </dsig:Transforms>
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference wurde auf Grund des dritten DataObjectInfo Elements im Request erstellt. Die Text-Daten wurden von der angegebenen URL (http://localhost:8080/referencedData/Text.txt) aufgelöst und in das dsig:Object mit dem ID-Attribut signed-data-1-3-1 gesteckt. Um Probleme mit nicht in XML darstellbare Zeichen zu vermeiden, wurde der Text nicht direkt signiert, sondern in base64 kodierter Form in das dsig:Object integriert, und eine Transformation zur base64 Dekodierung spezifiziert.

-
-            <dsig:Reference Id="reference-1-4" URI="#xpointer(id('signed-data-1-4-1')/node())">
-              <dsig:Transforms>
-                <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/>
-              </dsig:Transforms>
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference wurde auf Grund des vierten DataObjectInfo Elements im Request erstellt. Wie schon bei der Beschreibung des Requests angeführt, ist die erstellte dsig:Reference semantisch genau gleich wie die vorhergehende.

-
-            <dsig:Reference Id="reference-1-6" URI="NichtAufloesbareReferenz1">
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference wurde auf Grund des sechsten DataObjectInfo Elements im Request erstellt. Die zu signierenden Daten wurden aus dem XMLContent des Requests entnommen, als Wert von dsig:Reference/@URI wurde der Wert von DataObjectInfo/@Reference übernommen.

-
-            <dsig:Reference Id="reference-1-7" URI="http://localhost:8080/referencedData/Text.txt">
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference wurde auf Grund des siebenten DataObjectInfo Elements im Request erstellt. Um zu den zu signierenden Daten zu gelangen, wurde von MOA SS die URL in DataObjectInfo/@Reference aufgelöst. Gleichermaßen wurde die URL in dsig:Reference/@URI übernommen.

-
-            <dsig:Reference Id="reference-1-8" URI="NichtAufloesbareReferenz2">
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference wurde auf Grund des achten DataObjectInfo Elements im Request erstellt. Um zu den zu signierenden Daten zu gelangen, wurde von MOA SS die URL in LocRefContent aufgelöst. In dsig:Reference/@URI wurde der Wert aus DataObjectInfo/@Reference übernommen.

-
-            <dsig:Reference Id="reference-1-9" URI="">
-              <dsig:Transforms>
-                <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
-              </dsig:Transforms>
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference wurde auf Grund des neunten DataObjectInfo Elements im Request erstellt. Als zu signierende Daten wurde das XML-Dokument ausgewählt, in das die XML-Signatur integriert werden solle. Vor der Berechnung des Hashwerts wurde eine Enveloped Signature Transformation zwischengeschaltet, welche die XML-Struktur der Signatur selbst aus den Hash-Eingangsdaten herausschneidet.

-
-            <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1">
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>mNsxUkFoF46XZVBivBo4aasFCTQ=</dsig:DigestValue>
-            </dsig:Reference>
-
-

Diese dsig:Reference verweist auf das dsig:Manifest weiter unten in der XML-Struktur der Signatur. Das dsig:Manifest wurde angelegt, weil bei zwei DataObjectInfos im Request das Attribut ChildOfManifest auf den Wert true gesetzt wurde.

-
-          </dsig:SignedInfo>
-          <dsig:SignatureValue>...</dsig:SignatureValue>
-          <dsig:KeyInfo>...</dsig:KeyInfo>
-          <dsig:Object Id="signed-data-1-2-1">
-            <doc:XMLDocument xmlns:doc="urn:document">
-              <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
-              <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
-                Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
-            </doc:XMLDocument>
-          </dsig:Object>
-          <dsig:Object Id="signed-data-1-3-1">RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=</dsig:Object>
-          <dsig:Object Id="signed-data-1-4-1">RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=</dsig:Object>
-          <dsig:Object Id="signed-data-1-1-1">RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</dsig:Object>
-
-

SignatureValue und KeyInfo werden an dieser Stelle nicht näher betrachtet.

-

Das erste dsig:Object enthält die Daten aus dem zweiten DataObjectInfo; das zweite dsig:Object jene aus dem dritten DataObjectInfo; das dritte dsig:Object jene aus dem vierten DataObjectInfo; das vierte dsig:Object schließlich jene aus dem ersten DataObjectInfo.

-
-          <dsig:Object>
-            <dsig:Manifest Id="dsig-manifest-1-1">
-              <dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())">
-                <dsig:Transforms>
-                  <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/>
-                </dsig:Transforms>
-                <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-                <dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue>
-              </dsig:Reference>
-              <dsig:Reference Id="reference-1-5" URI="http://localhost:8080/referencedData/Text.b64">
-                <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-                <dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue>
-              </dsig:Reference>
-            </dsig:Manifest>
-          </dsig:Object>
-
-

Das fünfte dsig:Object enthält das dsig:Manifest, das von MOA SS auf Grund des ersten bzw. fünften DataObjectInfo des Requests erstellt wurde. Darin enthalten sind die zum ersten und fünten DataObjectInfo korrespondierenden dsig:Reference Elemente. Die Daten für die erste im dsig:Manifest enthaltene dsig:Reference wurden aus dem Base64Content Element des ersten DataObjectInfo entnommen, jene für die zweite dsig:Reference aus dem Base64Content Element des fünften DataObjectInfo. Der Wert des URI Attributs der zweiten dsig:Reference wurde aus dem DataObject/@Reference des fünften DataObjectInfo übernommen.

-

2.1.2.3 Transformationen

-
Request
-

Dieses Beispiel (CreateXMLSignatureRequest.Transforms.xml) stellt die wichtigsten Transformationen vor, die von MOA SS bei der Erstellung einer Signatur verwendet werden können. Eine Transformation bzw. eine Kette mehrerer hintereinandergeschalteter Transformationen werden auf die Referenz-Eingangsdaten (also jene Daten, die in DataObjectInfo/DataObject angegeben werden) angewendet; das Ergebnis fließt dann in die Hashwert-Berechnung ein.

-
<CreateXMLSignatureRequest
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
<KeyIdentifier>KG_allgemein</KeyIdentifier>
<SingleSignatureInfo SecurityLayerConformity="false">
-

Die Signatur soll mit dem Schlüssel KG_allgemein erstellt werden; jene Elemente, die speziell für eine Security-Layer V1.1 konforme Signatur notwendig sind (vergleiche Einfaches Beispiel), brauchen nicht erstellt zu werden (SecurityLayerConformity="false").

-
-    <DataObjectInfo Structure="detached">
-      <DataObject Reference="http://localhost:8080/referencedData/Text.b64"/>
-      <CreateTransformsInfoProfile>
-        <CreateTransformsInfo>
-          <dsig:Transforms>
-            <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/>
-          </dsig:Transforms>
-          <FinalDataMetaInfo>
-            <MimeType>text/plain</MimeType>
-          </FinalDataMetaInfo>
-        </CreateTransformsInfo>
-      </CreateTransformsInfoProfile>
-    </DataObjectInfo>
-
-

Für das erste zu signierende Datenobjekt werden die Referenz-Eingangsdaten mittels DataObject/@Reference referenziert, d. h. MOA SS löst die darin enthaltene URL auf, um zu den Daten zu gelangen. Es handelt sich dabei um einen base64 kodierten Text.

-

Unterschrieben werden soll nun aber nicht dieser base64 kodierte Text, sondern der entsprechend dekodierte Text. Dies lässt sich elegant durch die Angabe einer Base64 Decoding Transformation bewerkstelligen. Dazu wird als erstes Kindelement von CreateTransformsInfo ein dsig:Transforms Element im Request angegeben. Dieses dsig:Transforms Element nimmt ein oderer mehrere dsig:Transform Elemente auf, wobei jedes dsig:Transform Element für eine Transformation steht. In unserem Fall wird nur eine einzige Transformation benötigt; die Angabe, um welche Transformation es sich handelt, wird durch das Attribut dsig:Transform/@Algorithm angegeben. Für die Base64 Decoding Transformation muss der Wert auf http://www.w3.org/2000/09/xmldsig#base64 gesetzt werden. Sie ist eine parameterlose Transformation, d. h. dsig:Transform hat keine Kindelemente.

-

Der Mime-Type der zu signierenden Daten wird als text/plain angegeben, da ja tatsächlich nach der durchgeführten Transformation dekodierter Text vorliegt, über den dann der Hashwert berechnet wird.

-
-    <DataObjectInfo Structure="detached">
-      <DataObject Reference="http://localhost:8080/referencedData/XMLDocument.xml"/>
-      <CreateTransformsInfoProfile>
-        <CreateTransformsInfo>
-          <dsig:Transforms>
-            <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
-              <xp2:XPath
-                xmlns:xp2="http://www.w3.org/2002/06/xmldsig-filter2"
-                xmlns:doc="urn:document"
-                Filter="subtract">/doc:XMLDocument/doc:Paragraph[2]</xp2:XPath>
-            </dsig:Transform>
-            <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
-              <xsl:stylesheet version="1.0"
-                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="urn:document">
-  <xsl:output encoding="UTF-8" method="xml" indent="yes"/>
-  <xsl:template match="/doc:XMLDocument">
-    <html xmlns="http://www.w3.org/1999/xhtml">
-      <head>
-        <title>HTML-Dokument</title>
-      </head>
-      <body>
-        <xsl:for-each select="doc:Paragraph">
-          <p>
-            <xsl:value-of select="child::text()"/>
-          </p>
-        </xsl:for-each>
-      </body>
-    </html>
-  </xsl:template>
-</xsl:stylesheet></dsig:Transform>
-            <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
-          </dsig:Transforms>
-          <FinalDataMetaInfo>
-            <MimeType>application/xhtml+xml</MimeType>
-          </FinalDataMetaInfo>
-        </CreateTransformsInfo>
-      </CreateTransformsInfoProfile>
-    </DataObjectInfo>
-
-

Für das zweite zu signierende Datenobjekt werden die Referenz-Eingangsdaten wiederum mittels DataObject/@Reference referenziert, d. h. MOA SS löst die darin enthaltene URL auf, um zu den Daten zu gelangen. Es handelt sich dabei um ein XML-Dokument.

-

Zunächst soll von diesem XML-Dokument jedoch ein Teil weggeschnitten werden, da er nicht mitsigniert werden soll. Für diesen Zweck bietet sich die XPath Filter 2 Transformation an. Das Attribut dsig:Transform/@Algorithm ist dazu auf den Wert http://www.w3.org/2002/06/xmldsig-filter2 zu setzen. Diese Transformation benötigt weiters Transformationsparameter. Diese werden als Kindelement xp2:XPath in dsig:Transform angegeben. Das Attribut Filter selektiert den Filtermodus; für das Bespiel wird den Modus subtract benötigt, da ein Teil weggefiltert werden soll. Der Textinhalt von xp2:XPath ist ein XPath-Ausdruck, der den Wurzelknoten jenes Teilbaums selektiert, der weggefiltert werden soll. Für das Beispiel soll das zweite doc:Paragraph Element des XML-Dokuments weggefiltert werden. Beachten Sie, dass das im XPath-Ausdruck verwendete Namespace-Prefix doc im Kontext des xp2:XPath Elements deklariert sein muss.

-

Als nächstes soll nun das XML-Dokument mit Hilfe eines Stylesheets in ein XHTML-Dokument übergeführt werden. Dazu kann die XSLT Transformation verwendet werden. Das Attribut dsig:Transform/@Algorithm ist dazu auf den Wert http://www.w3.org/TR/1999/REC-xslt-19991116 zu setzen. Auch diese Transformation benötigt Transformationsparameter: Als Kindelement von dsig:Transform wird jener Stylesheet angegeben, mit dem die Stylesheet-Transformation ausgeführt werden soll.

-

Abschließend soll, wie in der Spezifikation der XSLT-Transformation empfohlen, eine Kanonisierungstransformation angewendet werden. Damit können Unterschiede im Output unterschiedlicher XSLT-Engines, wie sie in der Praxis vorkommen, abgefangen werden. Beachten Sie, dass als Voraussetzung dazu die Output-Methode im Stylesheet auf xml festgelegt werden muss (<xsl:output method="xml">), denn nur XML-Output kann anschließend kanonisiert werden. Das Attribut dsig:Transform/@Algorithm ist für die Canonical XML Transformation auf den Wert http://www.w3.org/TR/2001/REC-xml-c14n-20010315 zu setzen. Die Transformation benötigt keine Transformationsparameter.

-

Das Ergebnis der drei hintereinandergeschalteten Transformationen, welches der Hashwert-Berechnung zufließt, finden Sie hier.

-
Response
-

CreateXMLSignatureRequest.Transforms.resp.xml ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<CreateXMLSignatureResponse
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <SignatureEnvironment>
-    <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-      <dsig:SignedInfo>
-        <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
-        <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
-
-

Die Antwort enthält in SignatureEnvironment das Ergebnis der Signaturerstellung. Nachdem die Signatur in kein bestehendes Dokument eingefügt werden sollte, enhält SignatureEnvironment direkt die erzeugte XML-Signatur (dsig:Signature).

-
-        <dsig:Reference Id="reference-1-1" URI="http://localhost:8080/referencedData/Text.b64">
-          <dsig:Transforms>
-            <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/>
-          </dsig:Transforms>
-          <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-          <dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue>
-        </dsig:Reference>
-
-

Die erste dsig:Reference wurde auf Grund des ersten DataObjectInfo im Request erstellt. Man erkennt dass die URL auf die Referenz-Eingangsdaten (Wert des Attributs dsig:Reference/@URI) aus DataObject/@Reference übernommen und eine Base64 Decoding Transformation eingefügt würde. Die im Request spezifizierten Transformationen werden also eins zu eins in die XML-Signatur übernommen.

-
-        <dsig:Reference Id="reference-1-2" URI="http://localhost:8080/referencedData/XMLDocument.xml">
-          <dsig:Transforms>
-            <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
-              <xp2:XPath Filter="subtract" xmlns:doc="urn:document"
-                xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
-                xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2"
-                xmlns:xp2="http://www.w3.org/2002/06/xmldsig-filter2">/doc:XMLDocument/doc:Paragraph[2]</xp2:XPath>
-            </dsig:Transform>
-            <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
-              <xsl:stylesheet version="1.0"
-                xmlns:doc="urn:document" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-                <xsl:output encoding="UTF-8" indent="yes" method="xml"/>
-                <xsl:template match="/doc:XMLDocument">...</xsl:template>
-              </xsl:stylesheet>
-            </dsig:Transform>
-            <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
-          </dsig:Transforms>
-          <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-          <dsig:DigestValue>fIPwneCpjVqTXwHMN9DFfx6tJIU=</dsig:DigestValue>
-        </dsig:Reference>
-
-

Die zweite dsig:Reference wurde auf Grund des zweiten DataObjectInfo im Request erstellt. Man erkennt auch hier gut, dass die URL auf die Referenz-Eingangsdaten (Wert des Attributs dsig:Reference/@URI) aus DataObject/@Reference übernommen und die drei Transformationen wie im Request angegeben eingefügt wurden.

-

2.1.2.4 Ergänzungsobjekte

-
Request
-

Dieses Beispiel (CreateXMLSignatureRequest.Supplements.xml) stellt die Verwendung von Ergänzungsobjekten vor. Ein Ergänzungsobjekt betrifft entweder ein zu signierendes Datum (Zusammenhang mit einem DataObject) oder jenes Dokument, in das eine zu erzeugende Signatur eingefügt werden soll (Zusammenhang mit CreateSignatureEnvironment). Es muss dann angegeben werden, wenn in einem zu signierenden Datum bzw. im Einfügedokument auf Daten per Referenz verwiesen wird, diese referenzierten Daten aber von MOA SS nicht aufgelöst werden können. Das Ergänzungsobjekt enthält dann genau diese Daten, die nicht von MOA SS aufgelöst werden können.

-
-<CreateXMLSignatureRequest
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <KeyIdentifier>KG_allgemein</KeyIdentifier>
-  <SingleSignatureInfo SecurityLayerConformity="false">
-
-

Die Signatur soll mit dem Schlüssel KG_allgemein erstellt werden; jene Elemente, die speziell für eine Security-Layer V1.1 konforme Signatur notwendig sind (vergleiche Einfaches Beispiel), brauchen nicht erstellt zu werden (SecurityLayerConformity="false").

-
-    <DataObjectInfo Structure="detached">
-      <DataObject Reference="#Para2"/>
-
-

Das zu signierende Datum in diesem Beispiel ist ein Teil des Dokuments, in das die zu erstellende Signatur eingefügt werden soll. Der Wert des Reference Attributs ist #Para2, das bedeutet, dass jenes Element des Einfügedokuments signiert werden soll, das ein ID-Attribut mit dem Wert #Para2 aufweist. Damit MOA SS diesen Hinweis auswerten kann, muss es das Einfügedokument validierend parsen, denn sonst wüsste es ja nicht, welche Attribute überhaupt ID-Attribute sind. Das zum validierenden Parsen notwendige XML-Schema wird MOA SS in diesem Beispiel über ein Ergänzungsobjekt zum Einfügedokument mitgeteilt (siehe weiter unten).

-
-      <CreateTransformsInfoProfile>
-        <CreateTransformsInfo>
-          <dsig:Transforms>
-            <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
-              <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <xsl:include href="XMLDocument.Para.xsl"/>
-</xsl:stylesheet>
-            </dsig:Transform>
-            <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
-          </dsig:Transforms>
-          <FinalDataMetaInfo>
-            <MimeType>application/xhtml+xml</MimeType>
-          </FinalDataMetaInfo>
-
-

Das Beispiel enthält als erste Transformation eine XSLT-Transformation. Der als Kindelement von dsig:Transform angegebene Stylesheet verweist dabei mittels xsl:include auf einen weiteren Stylesheet. Dieser weitere Stylesheet kann jedoch von MOA nicht direkt aufgelöst werden, da er als relative Referenz angegeben wird. Deshalb ist es notwendig, diesen weiteren Stylesheet als Ergänzungsobjekt zu den signierenden Daten anzugeben:

-< - </CreateTransformsInfo> - <Supplement> - <Content Reference="XMLDocument.Para.xsl"> - <LocRefContent>http://localhost:8080/referencedData/XMLDocument.Para.xsl</LocRefContent> - </Content> - </Supplement> - </CreateTransformsInfoProfile> - </DataObjectInfo> - -

Ein Ergänzungsobjekt für zu signierende Daten wird im entsprechenden DataObjectInfo Element angegeben, und zwar als Inhalt des Elements CreateTransformsInfoProfile/Supplement. Das verpflichtend zu verwendende Attribut Content/@Reference enthält dabei die Referenz auf das Ergänzungsobjekt in exakt jener Schreibweise, wie sie in der xsl:include Direktive vorkommt, hier also XMLDocument.Para.xsl. Das Element Content beinhaltet das Ergänzungsobjekt so, wie es MOA SS verwenden soll (Elemente Base64Content oder XMLContent, vergleiche Einfaches Beispiel), bzw. enthält eine von MOA SS auflösbare Referenz auf das Ergänzungsobjekt (Element LocRefContent, vergleiche Einfaches Beispiel). Im konkreten Beispiel wird LocRefContent verwendet.

-
-    <CreateSignatureInfo>
-      <CreateSignatureEnvironment
-        Reference="http://localhost:8080/referencedData/XMLDocument.withSchemaHint.xml"/>
-      <CreateSignatureEnvironmentProfile>
-        <CreateSignatureLocation
-          Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation>
-
-

Eingefügt werden soll die zu erzeugende Signatur in ein bestehendes Dokument, das MOA SS durch Auflösen der in CreateSignatureEnvironment/@Reference angegebenen URL erhält. Eingefügt werden soll die Signatur als fünfter Kindknoten des Wurzelelements doc:XMLDocument. Beachten Sie wiederum die Hinweise zur Zählweise für das Attribut Index bzw. zur Deklaration der im XPath-Ausdruck verwendeten Namespace-Deklarationen (hier doc).

-
-        <Supplement>
-          <Content Reference="urn:XMLDocument.xsd">
-            <LocRefContent>http://localhost:8080/referencedData/XMLDocument.xsd</LocRefContent>
-          </Content>
-        </Supplement>
-      </CreateSignatureEnvironmentProfile>
-    </CreateSignatureInfo>
-
-

Wie oben bereits angemerkt, muss MOA SS zur Auflösung der ID-Referenz #Para2 das Einfügedokument validierend parsen. Im Einfügedokument ist zwar nun ein Hinweis auf die dazu notwendige Grammatikinformation in Form eines XML-Schemas enthalten (Attribut xsi:schemaLocation enthält den Wert "urn:document urn:XMLDocument.xsd"). Nachdem die darin angegebene URI urn:XMLDocument.xsd jedoch von MOA nicht direkt aufgelöst werden kann, wird im Request ein Ergänzungsobjekt zum Einfügedokument angegeben (CreateSignatureEnvironmentProfile/Supplement). Das Attribut Content/@Reference enthält die Referenz auf das Ergänzungsobjekt in exakt jener Schreibweise, wie sie im Attribut xsi:schemaLocation angegeben wurde (urn:XMLDocument.xsd). Das Element Content beinhaltet das Ergänzungsobjekt so, wie es MOA SS verwenden soll (Elemente Base64Content oder XMLContent, vergleiche Einfaches Beispiel), bzw. enthält eine von MOA SS auflösbare Referenz auf das Ergänzungsobjekt (Element LocRefContent, vergleiche Einfaches Beispiel). Im konkreten Beispiel wird LocRefContent verwendet.

-

Beachten Sie bitte, dass die Verwendung von Ergänzungsobjekten für die Mitteilung von XML-Schemata nur dann funktioniert, wenn die Referenz auf das XML-Schema in der xsi:schemaLocation eine absolute URI ist (also z.B. wie hier urn:XMLDocument.xsd oder auch http://example.org/XMLDocument.xsd, nicht aber z.B. XMLDocument.xsd oder ../schemas/XMLDocument.xsd).

-

Auch für das Auflösen eines Verweises in einer DTD kann in analoger Weise von Ergänzungsobjekten Gebrauch gemacht werden.

-
Response
-

CreateXMLSignatureRequest.Supplements.resp.xml ist eine typische Response des SS Webservices auf den obigen Request. Er wird an dieser Stelle nicht näher analysiert, da er keine für das Thema des Beispiels relevanten Besonderheiten aufweist.

-

2.1.3 Prüfung einer CMS bzw. CAdES-Signatur

-

2.1.3.1 Einfaches Beispiel

-
Request
-

Dieses Beispiel (VerifyCMSSignatureRequest.Simple.xml) ist ein einfacher Request zur Prüfung einer CMS-Signatur. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass der nachfolgende Ausschnitt aus dem Request aus Gründen der Übersichtlichkeit gekürzt wurde.

-
-<VerifyCMSSignatureRequest
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
-  <CMSSignature>MIIHsAYJKo...4sLL6kpOPJaLg==</CMSSignature>
-  <TrustProfileID>Test-Signaturdienste</TrustProfileID>
-</VerifyCMSSignatureRequest>
-
-

Der Request enthält zunächst in CMSSignature die zu prüfende CMS-Signatur, und zwar in base64 kodierter Form. In diesem Beispiel wird davon ausgegangen, dass es sich dabei um eine Enveloping Signature handelt, d. h. dass die signierten Daten als Teil der CMS-Struktur vorhanden sind. Für die Behandlung einer Detached Signature sei auf das nächste Beispiel verwiesen.

-

Abschließend enthält der Request in TrustProfileID die Angabe des Vertrauensprofils, gegen das die Vertrauensprüfung des Zertifikats durchgeführt werden soll. Ein Vertrauensprofil mit dem angegebenen Namen muss in der für die Signaturprüfung verwendeten Instanz von MOA SP eingerichtet sein.

-
Response
-

VerifyCMSSignatureRequest.Simple.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyCMSSignatureResponse
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <SignerInfo>
-    <dsig:X509Data>
-      <dsig:X509SubjectName>serialNumber=615536615920,givenName=Gregor,SN=Karlinger,
-CN=Gregor Karlinger,C=AT</dsig:X509SubjectName>
-      <dsig:X509IssuerSerial>
-        <dsig:X509IssuerName>CN=TrustSignTest-Sig-01,OU=TrustSignTest-Sig-01,
-O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName>
-        <dsig:X509SerialNumber>2892</dsig:X509SerialNumber>
-      </dsig:X509IssuerSerial>
-      <dsig:X509Certificate>...</dsig:X509Certificate>
-      <QualifiedCertificate/>
-    </dsig:X509Data>
-  </SignerInfo>
-
-

Die Response enthält zunächst in SignerInfo/dsig:X509Data Informationen über den Signator, die aus dem in der CMS-Signatur enthaltenen Signatorzertifikat entnommen sind.

-

dsig:X509SubjectName ist immer vorhanden und enthält den Namen des Signators. dsig:X509IssuerSerial ist ebenfalls immer vorhanden und enthält den Namen des Austellers des Signatorzertifikats (dsig:X509IssuerName) sowie die Seriennummer des Zertifikats (dsig:X509SerialNumber). Auch dsig:X509Certificate ist immer vorhanden und enthält das Signatorzertifikat in base64 kodierter Form.

-

Optional vorhanden ist das inhaltslose Element QualifiedCertificate, und zwar dann, wenn es sich beim Signatorzertifikat um ein qualifiziertes Zertifikat handelt. Ebenfalls optional vorhanden ist schließlich - in diesem Beispiel nicht ersichtlich - das Element PublicAuthority, und zwar dann, wenn das Signatorzertifikat die österreichspezifische Zertifikatserweiterung Verwaltungseigenschaft aufweist. Ist in dieser Zertifikatserweiterung das Verwaltungskennzeichen mitkodiert, wird dieses Kennzeichen als Textinhalt des optionalen Elements PublicAuthority/Code geliefert.

-
-  <SignatureCheck>
-    <Code>0</Code>
-  </SignatureCheck>
-
-

Anschließend an SignerInfo enthält die Response mit SignatureCheck/Code das Resultat der kryptographischen Prüfung der Signatur. In unserem Beispiel ist dort der Wert 0 enthalten, d. h. die Signatur konnte erfolgreich validiert werden. Für eine Übersicht der möglichen Kodes siehe Security-Layer Spezifikation.

-
-  <CertificateCheck>
-    <Code>1</Code>
-  </CertificateCheck>
-
-

Abschließend enthält die Response mit CertificateCheck/Code das Resultat der Prüfung des Signatorzertifikats. Zunächst prüft MOA SP, ob ausgehend vom Signatorzertifikat eine Zertifikatskette zu einem im zugehörigen Vertrauensprofil konfigurierten sog. Trust Anchor gebildet werden kann. Gelingt dies, wird die Gültigkeit jedes Zertifikats dieser Kette überprüft. In unserem Beispiel enthält Code den Wert 1, d. h. MOA SP konnte die oben erläuterte Zertifikatskette nicht bilden. Für eine Übersicht der möglichen Kodes siehe Security-Layer Spezifikation.

-

2.1.3.2 Erweitertes Beispiel

-
Request
-

Dieses erweiterte Beispiel zur Prüfung einer CMS-Signatur (VerifyCMSSignatureRequest.Extended.xml) demonstriert die Prüfung mehrerer Signatoren einer CMS-Signatur, die Angabe des Prüfzeitpunkts sowie die Prüfung einer Detached Signature, d. h. einer Signatur, in der die signierten Daten nicht enthalten sind und daher extra angegeben werden müssen.

-
-<VerifyCMSSignatureRequest
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  Signatories="1">
-  <DateTime>2004-08-17T08:00:00+02:00</DateTime>
-  <CMSSignature>MIIHiwYJKoZI...kfiwsvqSk48lou</CMSSignature>
-  <DataObject>
-    <Content>
-      <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content>
-    </Content>
-  </DataObject>
-  <TrustProfileID>Test-Signaturdienste</TrustProfileID>
-</VerifyCMSSignatureRequest>
-
-

Liegt eine zu prüfende CMS-Signatur vor, die von mehreren Unterzeichnenden signiert worden ist, kann das Attribut VerifyCMSSignatureRequest/@Signatories verwendet werden, um jene Unterzeichnenden auszuwählen, deren Unterschriften von MOA SP geprüft werden sollen. Der Default-Wert für dieses optionale Attribut ist 1. Soll nicht die Unterschrift allein des ersten Unterzeichnenden geprüft werden, muss das Attribut explizit angegeben werden. Es enthält dann eine oder mehrere Ganzzahlwerte, getrennt durch Leerzeichen. Jede Ganzzahl bezeichnet einen Unterzeichnenden, wobei die Reihenfolge der Auflistung der Unterzeichner in der CMS-Signatur entspricht. Der Wert "1 3" würde beispielsweise aussagen, dass MOA SP die Unterschrift des ersten sowie des dritten Unterzeichnenden prüfen soll.

-

Mit dem optionalen Element DateTime kann der Zeitpunkt der Signaturprüfung explizit vorgegeben werden. Inhalt dieses Elements ist die Angabe von Datum und Uhrzeit entsprechend dem XML-Schema Datentyp dateTime. Enthält der angegebene Zeitpunkt keinen Zeitzonen-Offset zur UTC, wird der Zeitpunkt als lokale Zeit des Servers interpretiert, auf dem MOA SP läuft. Wird DateTime nicht angegeben, versucht MOA SP, den Zeitpunkt der Signaturerstellung aus der Signatur zu ermitteln (anhand des Signaturattributs SigningTime). Enthält die Signatur keinen Zeitpunkt der Signaturerstellung, verwendet MOA SP die aktuelle Systemzeit des Servers, auf dem es läuft.

-

Das optionale Element DataObject muss dann angegeben werden, wenn eine Detached Signature geprüft werden soll, d. h. wenn in der CMS-Signatur die signierten Daten nicht mitkodiert sind. In DataObject/Content/Base64Content sind in einem solchen Fall diese Daten in base64 kodierter Form bereit zu stellen.

-
Response
-

VerifyCMSSignatureRequest.Extended.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Er wird an dieser Stelle nicht näher analysiert, da er keine für das Thema des Beispiels relevanten Besonderheiten aufweist.

-

2.1.4 Prüfen einer XML-Signatur

-

2.1.4.1 Einfaches Beispiel

-
Request
-

VerifyXMLSignatureRequest.Simple.xml ist ein einfacher XML-Request zur Prüfung einer XML-Signatur. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass der dargestellte Request zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
-  <VerifySignatureInfo>
-    <VerifySignatureEnvironment>
-      <XMLContent>
-        <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-          <dsig:SignedInfo>
-            <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
-            <dsig:SignatureMethod
-              Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
-            <dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())">
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>tLODyeiWFbAkQKwhrR23jtcgu4k=</dsig:DigestValue>
-            </dsig:Reference>
-          </dsig:SignedInfo>
-          <dsig:SignatureValue>...</dsig:SignatureValue>
-          <dsig:KeyInfo>...</dsig:KeyInfo>
-          <dsig:Object Id="signed-data-1-1-1">Diese Daten werden signiert.</dsig:Object>
-        </dsig:Signature>
-      </XMLContent>
-    </VerifySignatureEnvironment>
-
-

Das Element VerifySignatureEnvironment enthält jenes XML-Dokument, das die zu prüfende XML-Signatur enthält. Auch hier stehen eine Reihe von Möglichkeiten zur Verfügung, dieses XML-Dokument anzugeben. Im Beispiel wurde das Element XMLContent verwendet; alternativ stehen die Elemente Base64Content und LocRefContent bzw. gleichwertig zu LocRefContent das Attribut Reference zur Verfügung.

-

Im konkreten Beispiel enthält das angegebene XML-Dokument direkt als Root-Element die zu prüfende Signatur (dsig:Signature). Es handelt sich dabei um eine Enveloping Signature, d. h. die signierten Daten sind in einem dsig:Object als Teil der XML-Struktur der Signatur kodiert. Tatsächlich signiert ist hier die Zeichenkette Diese Daten werden signiert.

-
-    <VerifySignatureLocation
-      xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/dsig:Signature</VerifySignatureLocation>
-  </VerifySignatureInfo>
-
-

Das Element VerifySignatureLocation enthält als Text den XPath-Ausdruck zur Selektion der XML-Signatur innerhalb des zu prüfenden XML-Dokuments. Die Auswertung des XPath-Ausdrucks muss genau ein Element dsig:Signature ergeben. Bitte beachten Sie, dass im Kontext des Elements VerifySignatureLocation alle im XPath-Ausdruck verwendeten Namespace-Präfixe bekannt sein müssen (hier das Präfix dsig).

-
-  <TrustProfileID>Test-Signaturdienste</TrustProfileID>
-</VerifyXMLSignatureRequest>
-
-

Das Element TrustProfileID schließlich enthält den Bezeichner des Vertrauensprofils, gegen das die Zertifikatsprüfung von MOA SP durchgeführt wird. Ein Vertrauensprofil enthält die Zertifikate jene Zertifizierungsdiensteanbieter, denen als Aussteller von Signatorzertifikaten vertraut wird. Ein Vertrauensprofil mit dem gewählten Namen (hier Test-Signaturdienste) muss in der Konfiguration von MOA SP hinterlegt sein.

-
Response
-

VerifyXMLSignatureRequest.Simple.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureResponse
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <SignerInfo>
-    <dsig:X509Data>
-      <dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,
-      O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName>
-      <dsig:X509IssuerSerial>
-        <dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,
-        O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName>
-        <dsig:X509SerialNumber>9</dsig:X509SerialNumber>
-      </dsig:X509IssuerSerial>
-      <dsig:X509Certificate>...</dsig:X509Certificate>
-      <PublicAuthority>
-        <Code>BKA-IKT</Code>
-      </PublicAuthority>
-    </dsig:X509Data>
-  </SignerInfo>
-
-

Die Response enthält zunächst in SignerInfo/dsig:X509Data Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind.

-

dsig:X509SubjectName ist immer vorhanden und enthält den Namen des Signators. dsig:X509IssuerSerial ist ebenfalls immer vorhanden und enthält den Namen des Austellers des Signatorzertifikats (dsig:X509IssuerName) sowie die Seriennummer des Zertifikats (dsig:X509SerialNumber). Auch dsig:X509Certificate ist ist immer vorhanden und enthält das Signatorzertifikat in base64 kodierter Form.

-

Optional vorhanden - in diesem Beispiel nicht ersichtlich - ist das inhaltslose Element QualifiedCertificate, und zwar dann, wenn es sich beim Signatorzertifikat um ein qualifiziertes Zertifikat handelt. Ebenfalls optional vorhanden ist schließlich das Element PublicAuthority, und zwar dann, wenn das Signatorzertifikat die österreichspezifische Zertifikatserweiterung Verwaltungseigenschaft aufweist. Ist in dieser Zertifikatserweiterung das Verwaltungskennzeichen mitkodiert, wird dieses Kennzeichen als Textinhalt des optionalen Elements PublicAuthority/Code geliefert.

-
-  <SignatureCheck>
-    <Code>0</Code>
-  </SignatureCheck>
-
-

Anschließend an SignerInfo enthält die Response mit SignatureCheck/Code das Resultat der kryptographischen Prüfung der Signatur. In unserem Beispiel ist dort der Wert 0 enthalten, d. h. die Signatur konnte erfolgreich validiert werden. Für eine Übersicht der möglichen Kodes siehe Security-Layer Spezifikation.

-
-  <CertificateCheck>
-    <Code>0</Code>
-  </CertificateCheck>
-
-

Abschließend enthält die Response mit CertificateCheck/Code das Resultat der Prüfung des Signatorzertifikats. Zunächst prüft MOA SP, ob ausgehend vom Signatorzertifikat eine Zertifikatskette zu einem im zugehörigen Vertrauensprofil konfigurierten sog. Trust Anchor gebildet werden kann. Gelingt dies, wird die Gültigkeit jedes Zertifikats dieser Kette überprüft. In unserem Beispiel enthält Code den Wert 0, d. h. MOA SP konnte die Kette bilden, und alle Zertifikate der Kette sind gültig. Für eine Übersicht der möglichen Kodes siehe Security-Layer Spezifikation.

-

2.1.4.2 Erweitertes Beispiel

-
Request
-

Dieses erweiterte Beispiel zur Prüfung einer XML-Signatur (VerifyXMLSignatureRequest.Enveloped.xml) demonstriert die Prüfung einer Enveloped Signature, d. h. einer Signatur, die in ein XML-Dokument integriert ist, die Angabe des Prüfzeitpunkts sowie die Anweisung an MOA SP, in der Response die von der Signatur abgedeckten Daten zu retournieren.

-
-<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
-  <DateTime>2004-08-18T17:00:00+02:00</DateTime>
-
-

Mit dem optionalen Element DateTime kann der Zeitpunkt der Signaturprüfung explizit vorgegeben werden. Inhalt dieses Elements ist die Angabe von Datum und Uhrzeit entsprechend dem XML-Schema Datentyp dateTime. Enthält der angegebene Zeitpunkt keinen Zeitzonen-Offset zur UTC, wird der Zeitpunkt als lokale Zeit des Servers interpretiert, auf dem MOA SP läuft. Wird DateTime nicht angegeben, versucht MOA SP, den Zeitpunkt der Signaturerstellung aus der Signatur zu ermitteln (anhand des Signaturattributs SigningTime). Enthält die Signatur keinen Zeitpunkt der Signaturerstellung, verwendet MOA SP die aktuelle Systemzeit des Servers, auf dem es läuft.

-
-  <VerifySignatureInfo>
-    <VerifySignatureEnvironment Reference="http://localhost:8080/referencedData/XMLDocument.signed.xml"/>
-    <VerifySignatureLocation xmlns:doc="urn:document"
-      xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation>
-  </VerifySignatureInfo>
-
-

Das Element VerifySignatureEnvironment enthält in diesem Fall mit dem Attribut Reference eine Referenz auf das XML-Dokument (XMLDocument.signed.xml), das die zu prüfende Signatur beinhaltet. Als Textinhalt von VerifySignatureLocation ist ein XPath-Ausdruck angegeben, der die zu prüfende Signatur innerhalb des XML-Dokuments auswählt. Bitte beachten Sie, dass im Kontext des Elements VerifySignatureLocation alle im XPath-Ausdruck verwendeten Namespace-Präfixe bekannt sein müssen (hier die Präfixe doc und dsig).

-
-  <ReturnHashInputData/>
-  <TrustProfileID>Test-Signaturdienste</TrustProfileID>
-</VerifyXMLSignatureRequest>
-
-

Durch Angabe des optionalen, leeren Elements ReturnHashInputData wird MOA SP angewiesen, im Response jene Daten zurückzuliefern, die von der Signatur abgedeckt sind, d. h. tatsächlich signiert wurden (siehe unten). Diese Information ist für die MOA SP verwendende Anwendung essentiell, da sie wissen muss, ob tatsächlich die von ihr geforderten Daten signiert wurden. Wird HashInputData im Request nicht angegeben, muss die Anwendung selbst die Signatur analysieren, um diese Information zu erhalten.

-
Response
-

VerifyXMLSignatureRequest.Enveloped.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureResponse
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <SignerInfo>
-    <dsig:X509Data>...</dsig:X509Data>
-  </SignerInfo>
-
-

Die Response enthält zunächst in SignerInfo/dsig:X509Data Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind (siehe Einfaches Beispiel).

-
-  <HashInputData PartOf="SignedInfo">
-    <Base64Content>PGRvYzp...hNTERvY3VtZW50Pg==</Base64Content>
-  </HashInputData>
-
-

Wurde im Request - so wie in diesem Beispiel - das Element ReturnHashInputData angegeben, enthält - die Response nach SignerInfo für jede dsig:Reference in dsig:SignedInfo der - XML-Signatur (bzw. auch für jede dsig:Reference aus einem dsig:Manifest, auf - das mittels des Attributs Type="http://www.w3.org/2000/09/xmldsig#Manifest" in einer dsig:Reference aus dsig:SignedInfo verwiesen - wird; solche Manifeste kommen aber in diesem Beispiel nicht vor) ein Element HashInputData.

-

Die Reihenfolge der HashInputData-Elemente - entspricht der Reihenfolge der dsig:Reference-Elemente in dsig:SignedInfo der - XML-Signatur (enthält die XML-Signatur auch dsig:Manifest-Elemente, auf die jeweils in einer dsig:Reference aus dsig:SignedInfo verwiesen wird, werden zuerst HashInputData-Elemente für alle dsig:Reference-Elemente - aus dsig:SignedInfo und anschließend HashInputData-Elemente für alle dsig:Reference-Elemente - aus den einzelnen dsig:Manifest-Elementen geliefert).

-

Das Attribut PartOf weist mit dem Wert SignedInfo darauf hin, dass die dsig:Reference, -für welche die Hasheingangsdaten gelten, Teil von dsig:SignedInfo ist (für eine dsig:Reference aus -einem dsig:SignedInfo würde der gelieferte Wert XMLDSIGManifest lauten; weiters -würde HashInputData in einem solchen Fall ein weiteres Attribut - - -ReferringSigReference aufweisen, dessen Wert die Nummer jener dsig:Reference aus dsig:SignedInfo als -positive Ganzzahl repräsentiert, die auf das beinhaltende dsig:Manifest verweist.).

-

Der Inhalt wird dabei stets mittels Base64Content in - base64-kodierter Form geliefert.

-
-  <SignatureCheck>
-    <Code>0</Code>
-  </SignatureCheck>
-  <CertificateCheck>
-    <Code>0</Code>
-  </CertificateCheck>
-</VerifyXMLSignatureResponse>
-
-

Die Elemente SignatureCheck und CertificateCheck enthalten die Resultate der kryptographischen Prüfung der Signatur sowie der Zertifikatsprüfung (siehe Einfaches Beispiel).

-

2.1.4.3 Prüfung eines XMLDSIG-Manifests

-
Request
-

Dieses Beispiel zur Prüfung einer XML-Signatur (VerifyXMLSignatureRequest.XMLDSigManifest.xml) demonstriert die Prüfung eines in der XML-Signatur vorhandenden Manifests nach XMLDSig. Bitte beachten Sie, dass der dargestellte Request zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureRequest
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <VerifySignatureInfo>
-    <VerifySignatureEnvironment>
-      <XMLContent>
-        <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Id="signature-1-1">
-          <dsig:SignedInfo>
-            <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
-            <dsig:SignatureMethod
-              Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
-            <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1">
-              <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-              <dsig:DigestValue>nUUaW6OtcsNvV/QhqmkU2QXT1Mw=</dsig:DigestValue>
-            </dsig:Reference>
-          </dsig:SignedInfo>
-          <dsig:SignatureValue>315gCwZI...OXFwr+</dsig:SignatureValue>
-          <dsig:KeyInfo>...</dsig:KeyInfo>
-          <dsig:Object Id="signed-data-1-1-1">Diese Daten sind signiert.</dsig:Object>
-          <dsig:Object>
-            <dsig:Manifest Id="dsig-manifest-1-1">
-              <dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())">
-                <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
-                <dsig:DigestValue>EYxznGxNRAIcHQeUsj+zsK+uaHA=</dsig:DigestValue>
-              </dsig:Reference>
-            </dsig:Manifest>
-          </dsig:Object>
-        </dsig:Signature>
-      </XMLContent>
-    </VerifySignatureEnvironment>
-
-

Das Element VerifySignatureEnvironment enthält als XMLContent die zu prüfende XML-Signatur. Man erkennt, dass sich die einzige dsig:Reference im dsig:SignedInfo der XML-Signatur auf ein Manifest nach XMLDSig bezieht (erkennbar am Attribut Type, das auf den Wert http://www.w3.org/2000/09/xmldsig#Manifest gesetzt ist). Im Response (siehe unten) werden wir deshalb ein eigenes Resultat für die Manifest-Prüfung erhalten.

-

Das Manifest selbst ist in einem dsig:Object, also innerhalb der XML-Struktur der XML-Signatur kodiert. Es enthält eine dsig:Reference, welche sich auf die Zeichenkette Diese Daten sind signiert. bezieht.

-
-    <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation>
-  </VerifySignatureInfo>
-  <TrustProfileID>Test-Signaturdienste</TrustProfileID>
-</VerifyXMLSignatureRequest>
-
-

Das Element VerifySignatureLocation wählt die zu prüfende Signatur innerhalb des in VerifySignatureEnvironment angegebenen XML-Dokuments aus. Das Element TrustProfileID wählt das Vertrauensprofil aus, gegen das die Zertifikatsprüfung durchgeführt werden soll.

-
Response
-

VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureResponse
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <SignerInfo>
-    <dsig:X509Data>...</dsig:X509Data>
-  </SignerInfo>
-  <SignatureCheck>
-    <Code>0</Code>
-  </SignatureCheck>
-
-

Die Response enthält zunächst in SignerInfo/dsig:X509Data Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind (siehe Einfaches Beispiel). Das Element SignatureCheck enthält das Resultat der kryptographischen Prüfung der Signatur (siehe Einfaches Beispiel).

-
-  <XMLDSIGManifestCheck>
-    <Code>0</Code>
-    <Info>
-      <ReferringSigReference>1</ReferringSigReference>
-    </Info>
-  </XMLDSIGManifestCheck>
-
-

Neu ist in dieser Response das an SignatureCheck anschließende Element XMLDSIGManifestCheck. Ein oder mehrere solche Elemente werden immer dann zurückgeliefert, wenn in dsig:SignedInfo der XML-Signatur dsig:Reference Elemente existieren, die sich auf ein Manifest nach XMLDSIG beziehen (siehe oben). Je solcher dsig:Reference enthält die Antwort ein korrespondierendes Element XMLDSIGManifestCheck, im konkreten Beispiel als eines.

-

Das Element Code gibt das Ergebnis der durchgeführten Prüfung des XMLDSIG-Manifests an. In diesem Fall bedeutet 0, dass die Prüfung jeder dsig:Reference im dsig:Manifest (im konkreten Beispiel also genau einer dsig:Reference) erfolgreich durchgeführt werden konnte. Für eine Übersicht der möglichen Kodes siehe Security-Layer Spezifikation.

-

Das Element Info/ReferringSigReference enthält als Textinhalt die Nummer jenes dsig:Reference Elements in dsig:SignedInfo der XML-Signatur, welches auf das untersuchte Manifest nach XMLDSIG verweist, wobei mit 1 zu zählen begonnen wird.

-
-  <CertificateCheck>
-    <Code>0</Code>
-  </CertificateCheck>
-</VerifyXMLSignatureResponse>
-
-

Das Element CertificateCheck enthält das Resultat der Zertifikatsprüfung (siehe Einfaches Beispiel).

-

2.1.4.4 Ergänzungsobjekte

-

Dieses Beispiel zur Prüfung einer XML-Signatur (VerifyXMLSignatureRequest.Supplements.xml) demonstriert die Verwendung von Ergänzungsobjekten. Ein Ergänzungsobjekt betrifft entweder ein signiertes Datum (Zusammenhang mit einem dsig:Reference der XML-Signatur) oder jenes Dokument, in dem sich die zu prüfende XML-Signatur befindet (Zusammenhang mit VerifySignatureEnvironment). Es muss dann angegeben werden, wenn auf ein signiertes Datum bzw. in einem signierten Datum bzw. in dem die XML-Signatur enthaltenden XML-Dokument auf weitere Daten per Referenz verwiesen wird, diese Referenz aber von MOA SP nicht aufgelöst werden kann. Das Ergänzungsobjekt enthält dann genau diese Daten die nicht von MOA SS aufgelöst werden können.

-

Bitte beachten Sie, dass der dargestellte Request zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
-  <VerifySignatureInfo>
-    <VerifySignatureEnvironment>
-      <XMLContent>
-        <doc:XMLDocument ... xsi:schemaLocation="urn:document urn:XMLDocument.xsd">
-          <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
-          <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
-Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
-          <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-            <dsig:SignedInfo>
-              ...
-              <dsig:Reference Id="reference-1-1" URI="#Para2">
-                <dsig:Transforms>
-                  <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
-                    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-                      <xsl:include href="XMLDocument.Para.xsl"/>
-                    </xsl:stylesheet>
-                  </dsig:Transform>
-                  <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
-                </dsig:Transforms>
-                ...
-              </dsig:Reference>
-            </dsig:SignedInfo>
-            <dsig:SignatureValue>5rXIIkbP/djWmTgQEICy...0Sf8jvnz+d</dsig:SignatureValue>
-            <dsig:KeyInfo>...</dsig:KeyInfo>
-          </dsig:Signature>
-        </doc:XMLDocument>
-      </XMLContent>
-    </VerifySignatureEnvironment>
-
-

Das Element VerifySignatureEnvironment enthält das XML-Dokument mit der zu prüfenden XML-Signatur.

-

Man erkennt, dass das Attribut dsig:Reference/@URI das Element doc:Paragraph mit dem auf den Wert Para2 gesetzten ID-Attribut ParaId referenziert. MOA kann jedoch den Umstand, dass es sich bei doc:Paragraph/@ParaId um ein ID-Attribut handelt, nur dann erkennen, wenn es das XML-Dokument validierend parst. Der dazu nötige Verweis auf das passende XML-Schema ist zwar mit dem Attribut xsi:schemaLocation vorhanden, jedoch handelt es sich dabei mit urn:XMLDocument.xsd um eine nicht auflösbare Referenz. Deshalb wird im Request ein passendes Ergänzungsobjekt benötigt (siehe unten).

-

Weiters erkennt man, dass dsig:Reference ein XSLT-Transformation enthält. Im darin kodierten Stylesheet-Parameter (dsig:Transform/xsl:stylesheet) wird ein weiterer Stylesheet inkludiert (XMLDocument.Para.xsl). Diese Referenz ist aber wiederum für MOA SP nicht auflösbar. Auch hier wird also ein passendes Ergänzungsobjekt benötigt (siehe unten).

-
-    <VerifySignatureLocation xmlns:doc="urn:document"
-      xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation>
-  </VerifySignatureInfo>
-
-

Das Element VerifySignatureLocation wählt die zu prüfende Signatur innerhalb des in VerifySignatureEnvironment angegebenen XML-Dokuments aus.

-
-  <SupplementProfile>
-    <Content Reference="XMLDocument.Para.xsl">
-      <LocRefContent>http://localhost:8080/referencedData/XMLDocument.Para.xsl</LocRefContent>
-    </Content>
-  </SupplementProfile>
-
-

Das erste Element SupplementProfile enthält nun das Ergänzungsobjekt für den oben beschriebenen inkludierten Stylesheet. Content/@Reference enthält die Referenz genau so, wie sie oben im Attribut xsl:stylesheet/@href angegeben wurde. Im Inhalt von Content werden entweder explizit jene Daten angegeben, die von MOA statt des Auflösens der Referenz verwendet werden sollen (Base64Content oder XMLContent), oder aber es wird - wie im konkreten Beispiel - mit LocRefContent eine auflösbare Referenz für diese Daten an MOA SP übergeben.

-
-  <SupplementProfile>
-    <Content Reference="urn:XMLDocument.xsd">
-      <XMLContent>
-        <xs:schema targetNamespace="urn:document" xmlns:xs="http://www.w3.org/2001/XMLSchema"
-          xmlns="urn:document" elementFormDefault="qualified" attributeFormDefault="unqualified">
-          ...
-        </xs:schema>
-      </XMLContent>
-    </Content>
-  </SupplementProfile>
-  <TrustProfileID>Test-Signaturdienste</TrustProfileID>
-</VerifyXMLSignatureRequest>
-
-

Das zweite Element SupplementProfile enthält analog das Ergänzungsobjekt für das oben beschriebene XML-Schema. Content/@Reference enthält die Referenz genau so, wie sie oben im Attribut xsi:schemaLocation angegeben wurde.

-
Response
-

VerifyXMLSignatureRequest.Supplements.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Er wird an dieser Stelle nicht näher analysiert, da er keine für das Thema des Beispiels relevanten Besonderheiten aufweist.

-

2.1.4.5 Signatur-Manifest des Security-Layers

-
Request
-

Dieses Beispiel zur Prüfung einer XML-Signatur (VerifyXMLSignatureRequest.SigManifest.xml) demonstriert die Überprüfung des Zusammenhangs zwischen den Referenz-Eingangsdaten und den Hash-Eingangsdaten für die dsig:Reference-Elemente einer XML-Signatur. Mit Hilfe dieser Prüfung kann eine Anwendung feststellen, ob bei der Erstellung einer XML-Signatur jene Transformationen bzw. auch jene inkludierten Stylesheets (vgl. Implizite Transformationsparameter) einer XSLT-Transformation angewendet wurden, welche die Anwendung vorgegeben hat. Bei erfolgreicher Prüfung dieses Zusammenhangs kann die Anwendung die Referenz-Eingangsdaten einer dsig:Reference als gesichert ansehen, obwohl eigentlich die Hash-Eingangsdaten durch die Signatur gesichert sind. Dies ist jenen Fällen sinnvoll, in denen die Anwendung grundsätzlich mit XML-Daten arbeitet, diese Daten jedoch für das Signieren durch eine Person in ein für diese Person verständliches Format wie z.B. HTML umgewandelt werden sollen.

-
-<VerifyXMLSignatureRequest
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <VerifySignatureInfo>
-    <VerifySignatureEnvironment>
-      <XMLContent>
-        <doc:XMLDocument xmlns:doc="urn:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-          xsi:schemaLocation="urn:document http://localhost:8080/referencedData/XMLDocument.xsd">
-          <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
-          <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
-Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
-          <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Id="signature-1-1">
-            <dsig:SignedInfo>
-              ...
-              <dsig:Reference Id="reference-1-1" URI="#Para2">
-                <dsig:Transforms>
-                  <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
-                    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-                      <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/>
-                    </xsl:stylesheet>
-                  </dsig:Transform>
-                  <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
-                </dsig:Transforms>
-                ...
-              </dsig:Reference>
-              <dsig:Reference
-                Type="http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest"
-                URI="#manifest-1-1">
-                ...
-              </dsig:Reference>
-              <dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" ...>...</dsig:Reference>
-            </dsig:SignedInfo>
-            <dsig:SignatureValue>jnXc/X+hUY...uBxo9q</dsig:SignatureValue>
-            <dsig:KeyInfo>...</dsig:KeyInfo>
-            <dsig:Object>
-              <dsig:Manifest Id="manifest-1-1">
-                <dsig:Reference URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl">
-                  ...
-                </dsig:Reference>
-              </dsig:Manifest>
-            </dsig:Object>
-            <dsig:Object Id="etsi-signed-1-1">
-              <etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#">
-              ...
-              </etsi:QualifyingProperties>
-            </dsig:Object>
-          </dsig:Signature>
-        </doc:XMLDocument>
-      </XMLContent>
-    </VerifySignatureEnvironment>
-
-

Das Element VerifySignatureEnvironment enthält das XML-Dokument mit der zu prüfenden XML-Signatur. Die XML-Signatur wurde von einer Bürgerkarten-Umgebung erstellt. Man erkennt, dass das Element dsig:SignedInfo der XML-Signatur drei dsig:Reference-Elemente enthält.

-

Die erste dsig:Reference bezieht sich auf die eigentlich signierten Nutzdaten. Das zweite doc:Paragraph-Element stellt die Referenz-Eingangsdaten für diese dsig:Reference dar, welche mit Hilfe einer XSLT-Transformation in ein kleines HTML-Dokument übergeführt wird, worüber dann der Hashwert der dsig:Reference gebildet wird (Hash-Eingangsdaten).

-

Die zweite dsig:Reference bezieht sich auf das von der Bürgerkarten-Umgebung angefertigte Signaturmanifest. Das Signaturmanifest ist vorhanden, weil die XSLT-Transformation der ersten dsig:Reference einen weiteren Stylesheet inkludiert, und die Daten dieses weiteren Stylesheets ansonsten nicht von der XML-Signatur abgedeckt wären (vgl. Implizite Transformationsparameter). Das Signaturmanifest enthält eine einzige dsig:Reference, die den inkludierten Stylesheet referenziert und so in die XML-Signatur einbindet.

-

Die dritte dsig:Reference bezieht sich auf die von der Bürgerkarten-Umgebung angefertigten Signatureigenschaften, die hier nicht näher betrachtet werden.

-
-    <VerifySignatureLocation xmlns:doc="urn:document">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation>
-  </VerifySignatureInfo>
-
-

Das Element VerifySignatureLocation wählt die zu prüfende Signatur innerhalb des in VerifySignatureEnvironment angegebenen XML-Dokuments aus.

-
-  <SignatureManifestCheckParams ReturnReferenceInputData="true">
-    <ReferenceInfo>
-      <VerifyTransformsInfoProfile>
-        <dsig:Transforms>
-          <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
-            <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-              <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/>
-            </xsl:stylesheet>
-          </dsig:Transform>
-          <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
-        </dsig:Transforms>
-        <TransformParameter URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/>
-      </VerifyTransformsInfoProfile>
-      <VerifyTransformsInfoProfile>
-        <dsig:Transforms>
-          <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
-        </dsig:Transforms>
-      </VerifyTransformsInfoProfile>
-    </ReferenceInfo>
-  </SignatureManifestCheckParams>
-  <TrustProfileID>Test-Signaturdienste</TrustProfileID>
-</VerifyXMLSignatureRequest>
-
-

Mit Angabe des optionalen Elements SignatureManifestCheckParams wird MOA SP angewiesen, den oben skizzierten Zusammenhang zwischen Referenz-Eingangsdaten und Hash-Eingangsdaten zu überprüfen. Wird das Attribut ReturnReferenceInputData wie im Beispiel auf den Wert true gesetzt, liefert MOA SP in der Response die Hash-Eingangsdaten für alle Referenzen in dsig:SignedInfo der XML-Signatur an die Anwendung zurück, was in der Regel von der Anwendung wohl gewünscht wird, wenn MOA SP schon den Zusammenhang zwischen Referenz-Eingangsdaten und Hash-Eingangsdaten prüfen soll.

-

Die Prüfung des Zusammenhangs untergliedert sich in zwei Teilprüfungen:

-
    -
  • Überprüfung, ob jede dsig:Reference in dsig:SignedInfo der Signatur eine vorgegebene Transformationskette inkludiert;
  • -
  • Überprüfung, ob die in der vorgegebenen Transformationskette ggf. enthaltenen inkludierten Stylesheets (implizite Transformationsparameter) durch ein Signaturmanifest mitsigniert sind.
  • -
-

Damit MOA SP die erste Teilprüfung durchführen kann, muss in SignatureManifestCheckParams je dsig:Reference Element in dsig:SignedInfo der XML-Signatur ein Element ReferenceInfo angeben. Ausgenommen sind dsig:Reference-Elemente, die auf ein Signaturmanifest (Attribut Type ist gesetzt und hat den Wert http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest), auf ein XMLDSIG-Manifest (Attribut Type ist gesetzt und hat den Wert http://www.w3.org/2000/09/xmldsig#Manifest) oder auf Signatureigenschaften (Attribut Type ist gesetzt und hat den Wert http://uri.etsi.org/01903/v1.1.1#SignedProperties) verweisen.

-

Das Element ReferenceInfo enthält eine oder mehrere erlaubte Transformationsketten, die jeweils durch ein Element VerifyTransformsInfoProfile/dsig:Transforms repräsentiert werden. Im konkreten Beispiel werden für die einzige zu prüfende dsig:Reference zwei erlaubte Transformationsketten angegeben. Die Transformationen in der dsig:Reference müssen einer dieser beiden Ketten entsprechen; im konkreten Beispiel entsprechen sie der ersten.

-

Nachdem die erste erlaubte Transformationskette eine XSLT-Transformation mit einem inkludierten Stylesheet enthält, muss MOA SP auch überprüfen, ob dieser inkludierte Stylesheet korrekt durch ein Signaturmanifest mitunterschrieben wurde. Nachdem wichtig ist, dass nicht irgendein beliebiger Stylesheet verwendet und mitunterschrieben wurde, sondern genau jener, den die Anwendung bei der Signaturerstellung vorgegeben hat, muss die Anwendung MOA SP mitteilen, welcher Stylesheet das sein muss. Die Anwendung verwendet dazu das Element VerifyTransformsInfoProfile/TransformParameter. Das Attribut TransformParameter/@URI enthält die Referenz auf den Stylesheet genau so, wie er im Stylesheet-Parameter der zu prüfenden Signatur verwendet wird (dsig:Transform/xsl:stylesheet/xsl:inlcude/@href). Für den Inhalt dieses Elements hat die Anwendung drei Möglichkeiten:

-
    -
  • Die Anwendung lässt den Inhalt leer. Dies wird sie dann machen, wenn sie darauf vertrauen kann, dass die Auflösung der in TransformParameter/@URI angegebenen Referenz bei der Signaturprüfung zum gleichen Resultat führt wie seinerzeit beim Erstellen der Signatur (z.B. weil die Referenz auf einen Webserver unter Kontrolle der Anwendung zeigt);
  • -
  • Die Anwendung gibt im Element TransformParameter/Base64Content explizit den inkludierten Stylesheet an. MOA SP verwendet dann diesen Stylesheet, um den Hashwert der dsig:Reference im Signaturmanifest zu kontrollieren;
  • -
  • Die Anwendung gibt im Element TransformParameter/Hash den Hashwert des inkludierten Stylesheets an. MOA SP löst dann die Referenz in dsig:Transform/xsl:stylesheet/xsl:inlcude/@href auf und stellt sicher, dass der über das Auflösungsergebnis gebildete Hashwert jenem in TransformParameter/Hash entspricht. Diese Möglichkeit wird die Anwendung dann verwenden, wenn es sich um einen sehr umfangreichen Stylesheet handelt, der nicht im Request mitübertragen werden soll.
  • -
-
Response
-

VerifyXMLSignatureRequest.SigManifest.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureResponse
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <SignerInfo>...</SignerInfo>
-
-

Die Response enthält zunächst in SignerInfo/dsig:X509Data Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind (siehe Einfaches Beispiel).

-
-  <ReferenceInputData PartOf="SignedInfo">
-    <XMLContent xml:space="preserve">
-      <doc:Paragraph ParaId="Para2" xmlns:doc="urn:document"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">...</doc:Paragraph>
-    </XMLContent>
-  </ReferenceInputData>
-  <ReferenceInputData PartOf="SignedInfo">
-    <XMLContent xml:space="preserve">
-      <dsig:Manifest Id="manifest-1-1" xmlns:doc="urn:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-        ...
-      </dsig:Manifest>
-    </XMLContent>
-  </ReferenceInputData>
-  <ReferenceInputData PartOf="SignedInfo">
-    <XMLContent xml:space="preserve">
-      <etsi:SignedProperties xmlns:doc="urn:document"
-        xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-        ...
-      </etsi:SignedProperties>
-    </XMLContent>
-  </ReferenceInputData>
-
-

Nachdem im Request spezifiziert wurde, dass in der Response die Referenzeingangsdaten für alle dsig:Reference-Elemente - von dsig:SignedInfo (bzw. auch für jede dsig:Reference aus einem dsig:Manifest, - auf das mittels des Attributs Type="http://www.w3.org/2000/09/xmldsig#Manifest" in einer dsig:Reference aus dsig:SignedInfo verwiesen - wird; solche Manifeste kommen aber in diesem Beispiel nicht vor) der geprüften - XML-Signatur übermittelt - werden sollen, enthält - die Response nach SignerInfo drei ReferenceInputData-Elemente. Das erste ReferenceInputData-Element - enthält das zuvor besprochene doc:Paragraph Element, das zweite das Signaturmanifest, das - dritte die Signatureigenschaften. Das Attribut PartOf jedes Elements weist mit dem Wert SignedInfo darauf hin, - dass die dsig:Reference, für welche die Referenzeingangsdaten gelten, Teil von dsig:SignedInfo ist.

-
-  <SignatureCheck>
-    <Code>0</Code>
-  </SignatureCheck>
-
-

Das Element SignatureCheck enthält das Resultat der kryptographischen Prüfung der Signatur (siehe Einfaches Beispiel).

-
-  <SignatureManifestCheck>
-    <Code>0</Code>
-  </SignatureManifestCheck>
-
-

Das Element SignatureManifestCheck enhält das Resultat der Prüfung des Zusammenhangs zwischen Referenz-Eingangsdaten und Hash-Eingangsdaten. Der Kode 0 im konkreten Beispiel bedeutet, dass alle Referenzen die in der Anfrage zur Überprüfung der XML-Signatur gemachten Einschränkungen bezüglich der erlaubten Transformationskette(n) einhalten, sowie dass die Anforderungen hinsichtlich des Signaturmanifests werden eingehalten. Für eine Übersicht der möglichen Kodes siehe die Spezifikation zu MOA SP/SS, Abschnitt 5.1.3.1.4.

-
-  <CertificateCheck>
-    <Code>0</Code>
-  </CertificateCheck>
-</VerifyXMLSignatureResponse>
-
-

Das Element CertificateCheck enthält das Resultat der Zertifikatsprüfung (siehe Einfaches Beispiel).

- -

2.1.4.6 Prüfung gegen Trustprofil mit TSL Unterstützung

-
Request
-

VerifyXMLSignatureRequest.TSL.xml ist ein einfacher XML-Request zur Prüfung einer XML-Signatur. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass der dargestellte Request zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
-  <VerifySignatureInfo>
-    <VerifySignatureEnvironment>
-      <XMLContent>
-        <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-          [..]
-        </dsig:Signature>
-      </XMLContent>
-    </VerifySignatureEnvironment>
-
-

Das Element VerifySignatureEnvironment enthält jenes XML-Dokument, das die zu prüfende XML-Signatur enthält.

-
-    <VerifySignatureLocation
-      xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">//dsig:Signature</VerifySignatureLocation>
-  </VerifySignatureInfo>
-
-

Das Element VerifySignatureLocation enthält als Text den XPath-Ausdruck zur Selektion der XML-Signatur innerhalb des zu prüfenden XML-Dokuments. Die Auswertung des XPath-Ausdrucks muss genau ein Element dsig:Signature ergeben. Bitte beachten Sie, dass im Kontext des Elements VerifySignatureLocation alle im XPath-Ausdruck verwendeten Namespace-Präfixe bekannt sein müssen (hier das Präfix dsig).

-
-  <TrustProfileID>Test-TSLProfil</TrustProfileID>
-</VerifyXMLSignatureRequest>
-
-

Das Element TrustProfileID schließlich enthält den Bezeichner des Vertrauensprofils, gegen das die Zertifikatsprüfung von MOA SP durchgeführt wird. In diesem Falle muss für das Vertrauenprofil die TSL Unterstützung aktiviert sein. In der beispielhaften Konfiguration sp.minimum_with_tsl.config.xml ist so eine Vertrauensprofile mit der ID Test-TSLProfil eingerichtet.

-
Response
-

VerifyXMLSignatureRequest.TSL.resp.xml ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.

-
-<VerifyXMLSignatureResponse
-  xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"
-  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
-  <SignerInfo>
-    <dsig:X509Data>
-      <dsig:X509SubjectName>T=DI,serialNumber=847206943023,givenName=Klaus,SN=Stranacher,
-  CN=Klaus Stranacher,C=AT</dsig:X509SubjectName>
-      <dsig:X509IssuerSerial>
-        <dsig:X509IssuerName>CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,
-  O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName>
-        <dsig:X509SerialNumber>685117</dsig:X509SerialNumber>
-      </dsig:X509IssuerSerial>
-      <dsig:X509Certificate>...</dsig:X509Certificate>              
-        <QualifiedCertificate/>
<SecureSignatureCreationDevice Source="Certificate"/>
<IssuerCountryCode>AT</IssuerCountryCode>
</dsig:X509Data> - </SignerInfo> -
-

Die Response enthält zunächst in SignerInfo/dsig:X509Data Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind.

-

dsig:X509SubjectName ist immer vorhanden und enthält den Namen des Signators. dsig:X509IssuerSerial ist ebenfalls immer vorhanden und enthält den Namen des Austellers des Signatorzertifikats (dsig:X509IssuerName) sowie die Seriennummer des Zertifikats (dsig:X509SerialNumber). Auch dsig:X509Certificate ist ist immer vorhanden und enthält das Signatorzertifikat in base64 kodierter Form.

-

Optional vorhanden ist das inhaltslose Element QualifiedCertificate, und zwar dann, wenn es sich beim Signatorzertifikat um ein qualifiziertes Zertifikat handelt. Optional vorhanden ist das Element SecureSignatureCreationDevice, und zwar dann wenn die Signatur mittels einer sicheren Signaturerstellungseinheit erzeugt wurde. Das Attribut Source, gibt dabei an ob diese Information über die entsprechende TSL (Source=TSL) oder über das Zertifikat ermittelt wurde (Source=Certificate). Das weitere optionale Element IssuerCountryCode gibt dabei den Ländercode des Zertifizierungsdiensteanbieters an, der das Signaturzertifikat ausgestellt hat. Ebenfalls optional vorhanden (nicht in diesem Beispiel) ist schließlich das Element PublicAuthority, und zwar dann, wenn das Signatorzertifikat die österreichspezifische Zertifikatserweiterung Verwaltungseigenschaft aufweist. Ist in dieser Zertifikatserweiterung das Verwaltungskennzeichen mitkodiert, wird dieses Kennzeichen als Textinhalt des optionalen Elements PublicAuthority/Code geliefert.

-
-  <SignatureCheck>
-    <Code>0</Code>
-  </SignatureCheck>
-
-

Anschließend an SignerInfo enthält die Response mit SignatureCheck/Code das Resultat der kryptographischen Prüfung der Signatur. In unserem Beispiel ist dort der Wert 0 enthalten, d. h. die Signatur konnte erfolgreich validiert werden. Für eine Übersicht der möglichen Kodes siehe Security-Layer Spezifikation.

-
-  <CertificateCheck>
-    <Code>0</Code>
-  </CertificateCheck>
-
-

Abschließend enthält die Response mit CertificateCheck/Code das Resultat der Prüfung des Signatorzertifikats. Zunächst prüft MOA SP, ob ausgehend vom Signatorzertifikat eine Zertifikatskette zu einem im zugehörigen Vertrauensprofil konfigurierten sog. Trust Anchor gebildet werden kann. Gelingt dies, wird die Gültigkeit jedes Zertifikats dieser Kette überprüft. In unserem Beispiel enthält Code den Wert 0, d. h. MOA SP konnte die Kette bilden, und alle Zertifikate der Kette sind gültig. Für eine Übersicht der möglichen Kodes siehe Security-Layer Spezifikation.

- - -

2.2 Webservice-Clients

-

Abschnitt 2.1 bespricht eine Reihe von typischen XML-Requests, die über die Webservice-Schnittstelle an MOA SP/SS gesendet werden können, um entweder Signaturen zu erstellen (MOA SS) oder Signaturen zu prüfen (MOA SP). Dieser Abschnitt zeigt die Verwendung des prototypischen Webservice-Clients, der mit dieser Dokumentation zu MOA SP/SS ausgeliefert wird.

-

2.2.1 Übersicht

-

Der Webservice-Client existiert in drei Varianten, wobei jede Variante in einer eigenen Java-Klasse implementiert ist:

-
    -
  • Der einfache Client (HTTP.java) arbeitet ohne Authentifikation. Er prüft weder die Authentizität des verwendeten MOA-Webservices, noch identifiziert er sich selbst gegenüber dem MOA-Webservice.
  • -
  • Der Client mit Server-Authentisierung (HTTPSServerAuth.java) prüft die Authentizität des verwendeten MOA-Websservices an Hand dessen SSL-Serverzertifikats, identifiziert sich selbst jedoch nicht gegenüber dem MOA-Webservice.
  • -
  • Der Client mit Client- und Server-Authentisierung (HTTPSClientAuth.java) prüft einerseits die Authentizität des verwendeten MOA-Websservices an Hand dessen SSL-Serverzertifikats; andererseits weist er sich selbst mittels eines SSL-Client-Zertifikats gegenüber dem MOA-Webservice aus.
  • -
-

Welcher der drei Varianten des Webservice-Clients zum Einsatz kommen soll, hängt von der Art ab, wie das MOA-Webservice betrieben wird, d.h. ob es Server- bzw. Client-Authentisierung unterstützt bzw. verlangt. Befinden sich sowohl MOA-Webservice als auch der Webservice-Client im gleichen, abgeschotteten Netzwerk, kann auch eine Kommunikation ohne Authenifikation in Betracht gezogen werden. Ansonsten wird der Standardfall wohl der Betrieb mit Server-Authentisierung (Verwendung von MOA SP) bzw. mit Server- und Client-Authentisierung (Verwendung von MOA SS) sein.

-

Hinweis: Das Wurzelverzeichnis dieses Handbuchs stellt ein komplettes und sofort verwendbares Eclipse Projekt dar.

-

2.2.2 Gemeinsamkeiten

-

Dieser Abschnitt beschreibt die Gemeinsamkeiten aller drei Varianten des Webservice-Clients.

-

Zunächst einmal benötigen alle drei Varianten die folgenden Java-Bibliotheken, die im Ordner clients/webservice/lib/ dieses Handbuchs bereits enthalten sind:

- - - - - - - - - - - - - - - - - - - -
Java-BibliothekBemerkung
Java SEJava Standard Edition (Software Development Kit bzw. Java Runtime Environment)
Apache XercesXML-Parser, Version 2.0.2 oder höher
AXIS FrameworkWebservice-Framework, ab Version 1.1.
-

Weiters ist allen drei Varianten der folgende Kern-Ablauf gemeinsam:

-
    -
  1. Der Webservice-Client liest einen vorbereiteten MOA-XML-Request (z. B. einen der in Abschnitt 2.1 gezeigten) vom Dateisystem ein.
  2. -
  3. Der Webservice-Client erstellt einen SOAP-Request mit dem vom Dateisystem gelesenen MOA-XML-Request als Nutzlast.
  4. -
  5. Der Webservice-Client sendet den erstellten SOAP-Request über HTTP an MOA SP/SS.
  6. -
  7. Der Webservice-Client empfängt die SOAP-Response von MOA SP/SS.
  8. -
  9. Der Webservice-Client extrahiert die Nutzlast des SOAP-Responses (d. h. die zum MOA-XML-Request aus Schritt 1 passende MOA-XML-Response), gibt diese auf die Konsole aus und speichert sie im Dateisystem.
  10. -
-

Konfiguriert werden können alle drei Varianten mit Hilfe von zwei Kommandozeilen-Parametern:

-
    -
  1. Der erste Kommandozeilenparameter gibt an, ob MOA SS (Wert sign) oder MOA SP (Wert verify) kontaktiert werden soll.
  2. -
  3. Der zweite Kommandozeilenparameter enthält Pfad und Dateiname einer Java-Properties-Datei, die die weiteren Konfigurationsparameter für den Webservice-Client enthält. Ein relativer Pfad wird als relativ zum Arbeitsverzeichnis der Java Virtual Machine interpretiert. Genaue Infos zu den möglichen Konfigurationsparametern entnehmen Sie bitte der Quellcodedokumentation der jeweiligen Variante des Webservice-Clients. http.properties enthält eine auf dieses Handbuch abgestimmte Konfiguration.
  4. -
-

2.2.3 Besonderheiten von HTTPSServerAuth.java

-

Diese Variante des Webservice-Clients baut im Schritt 3 des Kernablaufs aus Abschnitt 2.2.2 eine SSL-Verbindung mit Server-Authentifizierung zum MOA SP/SS Server auf. In dieser SSL-Verbindung sendet der Webservice-Client dann den erstellten SOAP-Request über HTTPS.

-

Die entsprechende Konfiguration (Speicher für die vertrauenswürdigen Serverzertifikate, Typ dieses Speichers, Passwort für diesen Speicher) wird mittels zusätzlicher Parameter in der in Abschnitt 2.2.2 besprochenen Java-Properties-Datei vorgenommen. Genaue Infos zu diesen Konfigurationsparametern entnehmen Sie bitte der Quellcodedokumentation von HTTPSServerAuth.java. http.properties enthält eine auf dieses Handbuch abgestimmte Konfiguration.

-

Falls Sie Probleme beim SSL-Verbindungsaufbau zwischen Webservice-Client und MOA SP/SS Webservice haben, empfiehlt sich die Aktivierung des SSL Loggings. Das Setzen der dafür notwendigen Java System Property ist im Quellcode von HTTPSServerAuth.java bereits enthalten, jedoch auskommentiert. Suchen Sie einfach nach dem String javax.net.debug, um zur entsprechenden Stelle im Quellcode zu gelangen.

-

2.2.4 Besonderheiten von HTTPSClientAuth.java

-

Diese Variante des Webservice-Clients baut im Schritt 3 des Kernablaufs aus Abschnitt 2.2.2 eine SSL-Verbindung mit Server- und Client-Authentifizierung zum MOA SP/SS Server auf. In dieser SSL-Verbindung sendet der Webservice-Client dann den erstellten SOAP-Request über HTTPS.

-

Die gegenüber Abschnitt 2.2.3 zusätzlich notwendige Konfiguration (Speicher für das SSL-Client-Zertifikat sowie den dazugehörigen privaten Schlüssel, Typ dieses Speichers, Passwort für diesen Speicher) wird mittels zusätzlicher Parameter in der in Abschnitt 2.2.2 besprochenen Java-Properties-Datei vorgenommen. Genaue Infos zu diesen Konfigurationsparametern entnehmen Sie bitte der Quellcodedokumentation von HTTPSClientAuth.java. http.properties enthält eine auf dieses Handbuch abgestimmte Konfiguration.

-

Beachten Sie bitte auch den Hinweis zum SSL Logging aus Abschnitt 2.2.3.

-

2.3 Zertifikat einer Schlüsselgruppe auslesen

-

Ab der Version 2.0.3 von MOA-SPSS kann das Zertifikat einer Schlüsselgruppe über ein Web Interface abgerufen werden. MOA-SPSS bietet hierfür folgenden Endpunkt:

-
http(s)://......../moa-spss/Certificate?id=<Name der Schlüsselgruppe>
-

Mit dem http GET Parameter id kann die gewünsche Schlüsselgruppe ausgewählt werden.

-

3 Verwendung der Klassenbibliothek

-

Neben dem Betrieb von MOA SP/SS als Webservice ist als Alternative auch die Verwendung von MOA SP/SS als Klassenbibliothek möglich, also die direkte Einbindung in ein Java-Programm unter Verwendung des Application Programmers Interface (API) von MOA SP/SS.

-

3.1 Vorbereitung

-

Um das API von MOA SP/SS verwenden zu können, müssen einerseits die MOA-Bibliotheken selbst, andererseits eine Reihe von unterstützenden Bibliotheken in den Klassenpfad aufgenommen werden. Eine Übersicht dazu finden Sie im Installationshandbuch im Abschnitt 3. -

3.2 Allgemeines

-

Der strukturelle Aufbau der API entspricht weitgehend der Struktur eines MOA-XML-Requests. Es werden daher in diesem Abschnitt nur zwei grundlegende Beispiele gebracht; für komplexere Aufgaben können die XML-Beispiele aus Abschnitt 2.1 als Vorlage verwendet und einfach in die "API-Welt" übertragen werden. -

3.3 Beispiele

-

Dieses Handbuch enthält zwei Beispiele für die Verwendung der API von MOA SP/SS: -

    -
  1. CreateXMLSignature.java: Erstellung einer einfachen XML-Signatur; dieses Beispiel entspricht dem MOA-XML-Request aus Abschnitt 2.1.1.1.
    - Die Konfiguration der API erfolgt über Kommandozeilenparameter (Lage der Konfigurationsdatei für MOA SP/SS, Lage der Konfigurationsdatei für das Logging mit Log4j). Detaillierte Informationen dazu finden Sie in der Quellcodedokumentation des Beispiels.
  2. -
  3. VerifyXMLSignature.java: Prüfung einer einfachen XML-Signatur; dieses Beispiel entspricht dem MOA-XML-Request aus Abschnitt 2.1.3.1.
    - Die Konfiguration der API erfolgt über Kommandozeilenparameter (Lage der Konfigurationsdatei für MOA SP/SS, Lage der Konfigurationsdatei für das Logging mit Log4j). Detaillierte Informationen dazu finden Sie in der Quellcodedokumentation des Beispiels.
    - Die Auswahl der zu prüfenden Signatur erfolgt ebenfalls per Kommandozeilenparameter. Detaillierte Informationen dazu finden Sie ebenfalls in der Quellcodedokumentation des Beispiels.
  4. -
-

3.4 API-Dokumentation

-

Für die vollständige Dokumentation des API von MOA SP/SS sei auf die Java Doc der API verwiesen. -

-

A Referenzierte Software

-

Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:

- - - - - - - - - - - - - - - - - - - -
NameBeschreibung
Apache Xerces 2 XML-Parser aus dem Apache Project
Apache AxisWebservice-Framework aus dem Apache Project
Java SEJava Standard Edition (Software Development Kit bzw. Java Runtime Environment)
-

B Referenzierte Spezifikation

- - - - - - - - - - - -
SpezifikationLink

Security Layer Spezifikation Version 1.2.7

http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20140114/core/core.html#core
- - diff --git a/spss/handbook/pom.xml b/spss/handbook/pom.xml deleted file mode 100644 index d4cf8e867..000000000 --- a/spss/handbook/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - MOA - spss - 2.0.x - - - 4.0.0 - MOA.spss.handbook - moa-spss-handbook - pom - 2.0 - MOA SP/SS Handbook - - - clients - - - - ${basedir}/../../../repository - - - - - - - diff --git a/spss/pom.xml b/spss/pom.xml deleted file mode 100644 index 9780bc5b5..000000000 --- a/spss/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - MOA - MOA - 2.x - - - 4.0.0 - spss - pom - 2.0.x - MOA SP/SS - - - ${basedir}/../repository - - - - server - - - - - - - - - - diff --git a/spss/server/history.txt b/spss/server/history.txt deleted file mode 100644 index 9fbfd6a7d..000000000 --- a/spss/server/history.txt +++ /dev/null @@ -1,470 +0,0 @@ -############## -2.0.3 -############## -- Neues Endpunkt zum Auslesen des Zertifikats einer Schlüsselgruppe hinzugefügt -- Libraries aktuallisert - > javax.xml.bind.jaxb-api 2.2.12 - > xerces.xercesImpl 2.11.0 - > xalan 2.7.2 - > serializer 2.7.2 - - -############## -2.0.2 -############## -- Libraries aktuallisert - - iaik-tsl Version 1.1 (Implementiert ETSI TS119612 V1.2.1) - - iaik_moa Version 1.51 - - iaik_jce_full_MOA Version 5.2 - - iaik_cms_MOA Version 5.0 -- Update der Standard Trustprofile - -############## -2.0.1 -############## - -- Sicherheitsupdates: - - Update axis-iaik.jar -- Sonstiges: - - kleinere Anpassungen - -############## -2.0.0 -############## - -- Signaturerstellung: - - Unterstuetzung von XAdES Version 1.4.2 - - Unterstuetzung von CMS/CAdES Signaturen Version 2.2.1 -- Signaturpruefung: - - Trust-service Status List (TSL) Unterstuetzung -- Update der Standard Trustprofile und Standard Konfigurationen -- Sicherheitsupdates - - Angabe einer Whitelist um das Aufloesen externer Referenzen von den angegebenen Quellen zu aktivieren. -- Libraries aktualisiert bzw. hinzugefuegt: - iaik-moa: Version 1.5 - iaik-tsl Version 1.0 - -############## -1.5.1 -############## - -- Sicherheitsupdates - - Defaultmaessiges Deaktiveren des Aufloesens von externen Referenzen - - Angabe einer Blacklist in der Konfiguration um den Intranetbereich zu schützen, so das Aufloesen externer Referenzen aktiviert wird -- Update der Standard Trustprofile und Standard Konfigurationen -- Standard Trustprofil "OfficialSignature" fuer Amtssignaturen hinzugefuegt -- Libraries aktualisiert: - iaik-moa: Version 1.32 - iaik-ixsil: Version 1.2.2.5 - Axis: Version 1.0_IAIK - -############## -1.5.0 -############## - -- Fixed Bug #548 (http://egovlabs.gv.at/tracker/index.php?func=detail&aid=548&group_id=6&atid=105) -- IAIK Libraries aktualisiert: - iaik-moa: Version 1.29 - iaik_jce_full: Version 4.0_MOA - iaik_cms: Version 4.1_MOA - - -############## -1.4.8 -############## - -- IAIK Libraries aktualisiert: - iaik-moa: Version 1.28 (Unterst�tzung XAdES Versionen) - -############## -1.4.7 -############## - -- Update Konfiguration: - Im Element ServiceOrder unter dem Element RevocationChecking kann nun auch nur ein - Service eingetragen werden (bspw. nur CRL) -- IAIK Libraries aktualisiert: - iaik-moa: Version 1.27 -############## -1.4.6 -############## - -- Keine �nderung in MOA-SPSS - -############## -1.4.5 -############## - -- IAIK Libraries aktualisiert: - iaik-moa: Version 1.26 - iaik-ecc: Version 2.19 - iaik-jce: Version 3.18_MOA - iaikPkcs11Provider: Version 1.2.6 - iaikPkcs11Wrapper: Version 1.2.17 - -- �berpr�fung von ArchiveCutOff und Implementierung eines Retention Intervalls f�r CRLs. -- Hinzuf�gen der M�glichkeit Retention Intervalle f�r bestimmte CAs zu konfigurieren. - Dadurch wurde auch das Konfigurations Schema ge�ndert. -- Weitere �nderung des Konfigurations Schemas: Bei der ServiceOrder f�r das Revocation - Checking kann nun auch nur jeweils ein Dienst (CRL oder OCSP) angegeben werden. - -############## -1.4.4 -############## - -- IAIK Libraries aktualisiert: - iaik-moa: Version 1.24 - iaik-ixsil: Version 1.2.2.4 - -############## -1.4.3-1 -############## - -- Fix von falscher Schemabenennung in Constants.java des common-Projekts. - -############## -1.4.3 -############## - -- Unn�tige Abh�ngigkeit zu JSSE-Implementierung von Sun wurden entfernt, welcher den Einsatz von MOA SP/SS in - Java-Laufzeitumgebungen anderer Hersteller als Sun (z.B. IBM) erschwert. - -- Ein Konfigurationsparameter f�r MOA SP wurde eingef�hrt (cfg:SignatureVerification/cfg:PermitFileURIs) welcher - file-URIs erlauben oder verbieten soll. - -- Das Herausl�sen des Verarbeitungsrequests aus dem SOAP-Request endete in einer - ClassCastException, wenn zwischen dem Body-Element des SOAP-Envelopes und dem - Request white spaces vorhanden sind bzw. dieses Element nicht unmittelbar nach - dem Body-Element steht. Das Herausl�sen ist nun gegen white spaces robust. - -- Bei der Signaturverifikation (zus�tzlich zu den bisherigen) folgende Algorithmen unterst�tzt: - 1. Added the following signature algorithms for XML signatures: - o http://www.w3.org/2001/04/xmldsig-more#rsa-sha384 - o http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 - o http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha224 - o http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha256 - o http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha384 - o http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha512 - o http://www.w3.org/2007/05/xmldsig-more#ecdsa-ripemd160 - 2. Added the following hash algorithms for XML signatures: - o http://www.w3.org/2001/04/xmldsig-more#sha224 - o http://www.w3.org/2001/04/xmldsig-more#sha384 - o http://www.w3.org/2001/04/xmlenc#sha512 - 3. Added the following signature algorithms for verifying CMS signatures: - o SHA224withRSA - o SHA384withRSA - o SHA512withRSA - o SHA224withECDSA - o SHA256withECDSA - o SHA384withECDSA - o SHA512withECDSA - o RIPEMD160withECDSAPlain - 4. Added the following hash algorithms for CMS signatures: - o SHA-224 - o SHA-384 - o SHA-512 - -- IAIK Libraries aktualisiert: - Versionsnummern: - iaik-cms: Version 4.01_MOA - iaik-moa: Version 1.23 - iaik-ecc: Version 2.16 - -############## -1.4.2 -############## - -- IAIK Libraries aktualisiert: - Versionsnummern: - iaik-jce: Version 3.16_MOA - iaik-cms: Version 4.0_MOA - -############## -1.4.2 beta1 -############## - -- Performance-Verbesserungen bei der Verwendnung von externen Referenzen. Diese - werden nur mehr einmal gelesen und dann gecashed - -- Das Lesen von Streams wurde beschleunigt - -- Axis wird wieder in Version 1.0 eingesetzt, da es sonst bei Verwendung von - eingebetteten Dokumenten (Stylesheets usf.) zu Verlusten von Namespace- - Deklarationen kommt (dsig, xsi). - -############## -1.4.1 -############## - -- Die Projektstruktur wurde eimem Maven Build-Prozess unterlegt. Der Sourcocde - ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verf�gbar. - -############## -1.4.0 -############## - -- Unterst�tzung von SOAP with Attachments. LocRefContent kann nun auch �ber SOAP - attachments �bergeben werden. Dadurch k�nnen alle notwendigen Teile f�r einen - Request platzsparend in einem Schritt �bermittelt werden. - -- Axis Libraries aktualisiert (auf Version 1.4) - -- Erm�glichung von Signaturpositionen die sich am Ende des Dokuments befinden - (CreateSignatureLocation=-1). - -- IAIK Libraries aktualisiert: - Versionsnummern: - iaik-jce: Version 3.142_MOA - iaik-cms: Version 3.2 - iaikPkcs11Provider: Version 1.2.4 - iaikPkcs11Wrapper: Version 1.2.16 - ixsil: Version IXSIL-1.2.2.3 - ecc: Version v2.15 - iaik-moa: Version 1.20 - -- Neue Mindestanforderung an Java: Version 1.4.0 (1.3.* wird nicht mehr - unterst�tzt) - -############## -1.3.1D01 -############## - -- IAIK-MOA: CRL wird nun auch akzeptiert, wenn im CLRSigner-Zertifikat KeyUsage - crlSign-Bit nicht gesetzt ist, allerdings nur wenn das Zertifikat - ein Trust-Anchor ist. -- IAIK-MOA: Eine indirekte CRL wird nun auch akzeptiert, wenn die - "IssuingDistributionPoint"-Extension fehlt - -- Logging: commons-logging-1.0.4-Libraries (unterst�tzt auch Tomcat 5*) - -############## -1.3.0 -############## - -- "E-CARD"-Release -- Update der Zertifikatsspeicher und Trustprofile -- Update PKI auf OCSP (auch schon in 1.3.0D01 enthalten) -- Update IAIK-Libraries (ab sofort wieder in der Distribution enthalten) - Versionsnummern: - iaik-jce: Version 3.13_3.13_NONEwithRSA (MOA-SPSS kann nun auch mit - JDK1.5 verwendet werden) - iaik-cms: Version 3.2 - iaikPkcs11Provider: Version 1.1.9 - iaikPkcs11Wrapper: Version 1.2.14 - ixsil: Version IXSIL-1_2_2 - ecc: Version 2.0 - -############## -1.3.0D01 -############## - -- Default-Wert f�r Archivierungsdauer von Widerrufsinformation von 0 auf 365 - Tage ge�ndert. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=305. - -- Default-Reihenfolge der Verwendung von Widerrufspunkten von (CRL, OCSP) auf - (OCSP, CRL) ge�ndert. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=304. - -- XML-Schema f�r die Konfiguration von MOA SP/SS komplett �berarbeitet. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=271. - -- �nderungen der Semantik des Elements VerifyXMLSignatureRequest/ReturnHashInputData - bzw. des Attributs VerifyXMLSignatureRequest/SignatureManifestCheckParams/ - @ReturnReferenceInputData. Es werden nunmehr auch die Hash-Eingangsdaten bzw. - die Referenz-Eingangsdaten f�r dsig:Reference-Elemente in XMLDSIG-Manifesten - zur�ckgeliefert. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=232. - -- TCP-Verbindungen zur Aufl�sung von externen Referenzen wurden bisher nicht - sauber geschlossen. Damit kam es bei sehr komplexen XML-Signaturen unter - Umst�nden zu einem Ressourcen-Problem, da zu viele TCP-Verbindungen gleich- - zeitig ge�ffnet wurden. Dieses Probem wurde behoben. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=283. - -- Trustprofil um eine Menge explizit erlaubter Signatorzertifikate erweitert. - Dadurch ist es nun m�glich, nicht nur generell allen von einer als Vertrauens- - anker gesetzten CA ausgestellten Zertifikate zu vertrauen, sondern diese Zerti- - fikate weiter auf eine taxativ aufgez�hlte Liste von Signatorzertifikaten ein- - zuschr�nken. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=267. - -- MOA SS Webservice Clients, die sich mit einem Zertifikat ausweisen, k�nnen nun - auch auf die Key-Groups des anonymen Key-Group-Mappings zugreifen. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=224. - -- MOA SS fit f�r Mehrfachsignaturen, d.h. mehrere XML-Signaturen in einem XML- - Dokument gemacht. Bisher scheiterte das an den fix vergebenen Id-Attributen - innerhalb der dsig:Signature-Struktur. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=214. - -- MOA SP so ver�ndert, dass die Pr�fungen zum Signaturmanifest laut SL 1.2 jeden- - falls durchgef�hrt werden, auch wenn das Element SignatureManifestCheckParams - in VerifyXMLSignatureRequest nicht angegeben wird. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=269. - -- Verwendete JSSE Bibliothek auf Version 1.0.3 aktualisiert, da fr�here Versionen - einen sicherheitskritischen Fehler enthalten. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=124. - -############## -1.2.1 -############## - -- Packaging umgestellt. Ab dieser Release werden die Kryptographiebibliotheken - des IAIK nicht mehr mit den Distributionen von MOA SP/SS mitgeliefert, sondern - sind vom Kunden selbst zu besorgen. - -############## -1.2.0 -############## - -- Fehler beim validierenden Parsen des SignatureEnvironments eines Signaturer- - stellungsrequests behoben. War das Debug-Level ungleich debug, kam es bisher - zu einem Fehler. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=220. - -- Default-Wert f�r das Konfigurationsattribut cfg:CRLDistributionPoint/ - cfg:DistributionPoint/@reasonCodes so ver�ndert, dass bei Weglassen des - Attributs alle Reason-Codes gesetzt werden. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=244. - -- Commons Logging Bibliothek auf die Version 1.0.4 aktualisiert, damit Logging - auch beim Betrieb unter Tomcat 5 funktioniert. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=245. - -- Werden bei der Zusammenstellung eines Signaturpr�frequests �ber das MOA API - keine Supplements angegeben (null), kommt es nunmehr zu keinem Fehler mehr. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=247. - -############## -1.2.0D04 -############## - -- Update des MOA-Kerns von IAIK. Gepatched wurde darin die fehlerhafte Kodierung - des Signaturwerts f�r ECDSA-Signaturen. Bisher wurde das Paar (r,s) fehlerhafter - Weise in eine ASN.1-Struktur eingepackt. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=218. - -############## -1.2.0D03 -############## - -- Update auf eine neuere Version der XML-Signaturbibliothek sowie damit ver- - bunden ein Update auf neuere Versionen von Xalan (2.5.1) sowie Xerces (2.4.0). - Grund: Mit der neuen Xerces-Version funktioniert nun auch das Parsen einer - XML-Personenbindung mit ECDSA-Schl�sseln. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=215. - -- Update des MOA-Kerns von IAIK. Es werden nun ECDSA-Signaturen, welche den - Signaturalgorithmus mit "http://www.w3.org/2004/01/xmldsig-more#" - kennzeichnen, erfolgreich von MOA SP erkannt und gepr�ft. Ebenso erstellt - MOA SP nun ECDSA-Signaturen mit dem erw�hnten Signaturalgorithmus. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=217. - -- Pr�fung des Signaturmanifests funktioniert nun auch bei vorhandener EC14N - Transformation. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=197. - -- Das Element SignerInfo/QualifiedCertificate der Antwort auf eine XML- - Signaturpr�fung erscheint nun im korrekten Namespace. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=189. - -- Eine falsche Fehlermeldung im Zusammenhang mit Erg�nzungsobjekten wurde - korrigiert. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=174. - -- Fehlender Typ des Elements TrustProfileID im XML-Schema wurde erg�nzt. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=163. - -- Stack Overflow bei Pr�fung bestimmter XML-Signaturen tritt nun nicht mehr - auf. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=132. - -- Unpr�zise Fehlermeldungen verbessert. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=127. - Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=74. - - -############## -1.2.0D02 -############## - -- Im Befehl CreateXMLSignatureRequest kann nun in FinalDataMetaInfo das - zus�tzliche Element "Type" angegeben werden. Der Textinhalt dieses Elements - wird als Type-Attribut der korrespondierenden dsig:Reference gesetzt. Siehe - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=54. - -- Die Verwendung von EC14N-Transformationen ohne InclusiveNamespaces funktioniert - nun auch. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=44. - -- Signaturerstellung mit DSA-Schl�ssel funktioniert nun. Siehe - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=52. - -############## -1.2.0D01 -############## - -- In den Befehlen CreateXMLSignatureRequest sowie VerifyXMLSignatureRequest kann - nun in allen F�llen, in denen bisher entweder Base64Content oder XMLContent - angegeben werden konnte, auch eine dritte Spielart verwendet werden, n�mlich - LocRefContent. LocRefContent hat als Text-Inhalt eine URL, von der MOA den - Content bezieht - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=41). - -############## -1.1.0 -############## - -- Einfach verwendbare Scripts f�r Starten/Stopen sowie Install/Uninstall als - Service unter Windows in die Auslieferung aufgenommen - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=36). - -- Drei neue Fragen in die FAQ aufgenommen - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=34, - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=35, - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=37). - -- Zertifikatsspeicher der Default-Konfiguration enth�lt nun alle CA-Zertifikate - A-Trust sowie das Root-Zertifikats des Mobilkom-B�rgerkarten-Versuchs - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=33). - -- Konfigurationsparameter "checkRevocation" ist hat nun Default-Wert "false" - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=32). - -- Fehlerhafte Eintr�ge in den minimalen Default-Konfigurationsfiles behoben - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=30, - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=31). - -- Ein CreateXMLSignatureRequest, der nicht den Default-Namespace verwendet, sondern - ein ns-Pr�fix verwendet, wird nun auch korrekt verarbeitet - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=19). - -- Wird eine Enveloped Signature erzeugt, wird nun das korrekte XML-Dokument mit der - erzeugten Signatur in der Antwort zur�ckgeliefert - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=12). - -- WSDL-File, das �ber die URI /services/SignatureCreation?wsdl - bzw. /services/SignatureVerification?wsdl abgefragt werden - kann, ist nun aktuell (MOA-SPSS-Schema 1.1) und enth�lt einen korrekten Verweis - auf das MOA-SPSS-Schema 1.1 - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=6). - -- Problem mit Aufl�sung von LDAP-URLs beim Einsatz als Webservice in Tomcat behoben. - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=2). - -- Bei der Pr�fung auf Security-Layer-Konformit�t wird nun das korrekte Resultat - zur�ckgeliefert, wenn die Signatur keine impliziten Transformationsparameter - enth�lt - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=3). - -- Unterst�tzung anderer Datenbanken als postgreSQL und mySQL f�r das CRL-Archiv - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=7). - -- Diverse Fehler in der Dokumentation beseitigt - (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=8, - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=9, - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=29). - -############## -1.0.9 -############## - -- Erste �ffentliche Release diff --git a/spss/server/pom.xml b/spss/server/pom.xml deleted file mode 100644 index 362f2e1b2..000000000 --- a/spss/server/pom.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - MOA - spss - 2.0.x - - - 4.0.0 - MOA.spss - moa-spss - pom - MOA SP/SS Server - - - - serverlib - serverws - - - - ${basedir}/../../repository - - - - - - - - - diff --git a/spss/server/readme.inst.txt b/spss/server/readme.inst.txt deleted file mode 100644 index 6cbf14fd0..000000000 --- a/spss/server/readme.inst.txt +++ /dev/null @@ -1,38 +0,0 @@ -Willkommen zur Installation von MOA SP/SS! - -Fuer eine Anleitung zur Installation verwenden Sie bitte das -Installationshandbuch "handbook.html" im Verzeichnis "doc" dieser -Distribution. - -BEVOR SIE STARTEN BEACHTEN SIE BITTE FOLGENDE HINWEISE ZUR -LIZENSIERUNG VON MOA SP/SS SOWIE DER VON IHM VERWENDETEN -BIBLIOTHEKEN: - -This product includes software originally developed at the -Austrian Federal Computing Centre (BRZ - Bundesrechenzentrum, -www.brz.gv.at) and the Federal Chancellery Austria (Stabsstelle -IKT-Strategie des Bundes, Bundeskanzleramt, -www.digitales.oesterreich.gv.at). - -This product includes software developed by third parties -and provided under an open source license (www.opensource.org). - -This product -- up to and including version 1.5.0 -- includes software -"IAIK MOA" provided by Stiftung Secure Information and Communication -Technologies SIC (www.sic.st). This software has been licensed under the terms -and conditions given in "IAIK-LICENSE". - -This product includes software ("IAIK MOA") provided by Stiftung Secure -Information and Communication Technologies SIC (www.sic.st). This software has -been licensed under the terms and conditions given in "SIC-LICENSE.txt". - -License change: -Up to and including version 1.5.0 of this product were published under an -Apache 2.0 license (see "LICENSE-2.0.txt"). From version 1.5.0 onwards the -product is licensed under the terms and conditions of the European Union Public -Licence (EUPL) Version 1.1 ("EUPL v.1.1 - Licence.pdf"). -For this present version 1.5.0 a transitional dual license is granted: The -licensee can choose to either use "LICENSE-2.0.txt" together with -"IAIK_LICENSE", or "EUPL v.1.1 - Licence.pdf" together with "SIC-LICENSE.txt" -(for software provided by Stiftung Secure Information and Communication -Technologies SIC). \ No newline at end of file diff --git a/spss/server/readme.update.txt b/spss/server/readme.update.txt deleted file mode 100644 index 3ebf15565..000000000 --- a/spss/server/readme.update.txt +++ /dev/null @@ -1,76 +0,0 @@ -------------------------------------------------------------------------------- - Update einer bestehenden MOA-SPSS-Installation auf Version 2.0.3 -------------------------------------------------------------------------------- -Es gibt zwei Moeglichkeiten (im Folgenden als "Update Variante A" und -"Update Variante B" bezeichnet), das Update von MOA-SPSS auf Version -2.0.2 durchzufuehren. Update Variante A geht dabei den Weg ueber eine -vorangestellte Neuinstallation, waehrend Variante B direkt eine -bestehende Installation aktualisiert. - -Folgende Begriffe werden verwendet: - -JAVA_HOME bezeichnet das Wurzelverzeichnis der JDK-Installation - -CATALINA_HOME bezeichnet das Wurzelverzeichnis der Tomcat-Installation - -MOA_SPSS_INST bezeichnet das Verzeichnis, in das Sie die Datei -moa-spss-2.0.2.zip entpackt haben. - --------------------------- -Update Variante A --------------------------- - -1.) Erstellen Sie eine Sicherungskopie des kompletten Tomcat-Verzeichnisses - Ihrer MOA-SPSS-Installation. - -2.) Fuehren Sie eine Neuinstallation gemaess Handbuch durch. - -3.) Kopieren Sie etwaige Konfigurationsdateien, Trust-Profile und Key-Stores, - die Sie aus Ihrer alten Installation beibehalten moechten, aus Ihrer - Sicherungskopie in die entsprechenden Verzeichnisse der neuen - Installation. - Anmerkung: Falls Sie Ihre alten Trustprofile beibehalten wollen, gehen Sie wie unter - Update Variante B, Punkt 9 beschrieben vor, um Ihre alten Trustprofile - auf einen aktuellen Stand zu bringen. - -4.) Nur wenn alte Installation aelter als Version 1.3.0: - Falls Sie Ihre alte MOA-SP Konfigurationsdatei weiterverwenden wollen: - Seit dem Wechsel auf Version 1.3.1 verwendet MOA SP ein neues Format fuer die - XML-Konfigurationsdatei. Sie muessen die Konfigurationsdatei fuer MOA-SP aus - Ihrer alten Installation auf das neue Format konvertieren. - Details dazufinden Sie im MOA-SPSS-Installationshandbuch. - - --------------------------- -Update Variante B --------------------------- - -1.) Erstellen Sie eine Sicherungskopie des kompletten Tomcat-Verzeichnisses - Ihrer MOA-SPSS-Installation. - -2.) Entpacken Sie die Datei "moa-spss-2.0.3.zip" in das Verzeichnis MOA_SPSS_INST. - -3.) Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis - JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach. - -4.) Kopieren Sie alle Dateien aus dem Verzeichnis MOA_SPSS_INST\ext in das - Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr - unterstuetzt). - -5.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_SPSS_INST\endorsed - in das Verzeichnis CATALINA_HOME\common\endorsed. Ueberschreiben Sie dabei - etwaige gleichnamige Dateien. Die dort eventuell vorhandene Datei - xmlParserAPIs.jar ist zu loechen. - -6.) Loeschen Sie das Verzeichnis CATALINA_HOME\webapps\moa-spss. - -7.) Ersetzen Sie die Datei CATALINA_HOME\webapps\moa-spss.war durch die Datei - MOA_SPSS_INST\moa-spss.war. - -8.) Loeschen Sie das Verzeichnis CATALINA_HOME\work. - -9.) Nur wenn alte Installation aelter als Version 1.3.0: - Mit dem Wechsel auf Version 1.3.0 verwendet MOA SP ein neues Format fuer die - XML-Konfigurationsdatei. Sie muessen die Konfigurationsdatei fuer MOA-SP aus - Ihrer alten Installation auf das neue Format konvertieren. Details dazu - finden Sie im MOA-SPSS-Installationshandbuch. \ No newline at end of file diff --git a/spss/server/serverlib/.gitignore b/spss/server/serverlib/.gitignore deleted file mode 100644 index ea8c4bf7f..000000000 --- a/spss/server/serverlib/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml deleted file mode 100644 index 3437f84db..000000000 --- a/spss/server/serverlib/pom.xml +++ /dev/null @@ -1,338 +0,0 @@ - - - MOA.spss - moa-spss - 2.0.x - - - 4.0.0 - MOA.spss.server - moa-spss-lib - jar - 2.0.5 - MOA SP/SS API - - - ${basedir}/../../../repository - - - - - axis - axis - 1.0_IAIK_1.2 - - - org.apache.axis - axis-jaxrpc - 1.4 - - - org.apache.axis - axis-saaj - 1.4 - - - axis - axis-wsdl4j - 1.5.1 - - - commons-discovery - commons-discovery - - - commons-logging - commons-logging - - - javax.activation - activation - - - javax.mail - mail - - - junit - junit - - - log4j - log4j - 1.2.17 - - - org.postgresql - postgresql - - - javax.servlet - javax.servlet-api - provided - - - xalan-bin-dist - xalan - - - - xerces - xercesImpl - - - - xalan-bin-dist - xml-apis - - - xalan-bin-dist - serializer - - - - iaik.prod - iaik_moa - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_jce_full - compile - - - iaik.prod - iaik_ecc - compile - - - iaik.prod - iaik_cms - runtime - - - iaik.prod - iaik_Pkcs11Provider - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - win32 - dll - runtime - true - - - MOA.id.server - moa-id-commons - jar - - - - - - MOA.id.server - moa-id-commons - test-jar - test - - - MOA.spss.server - moa-spss-tools - test - - - - iaik - iaik_tsl - - - iaik_pki_module - iaik - - - iaik_ecc_signed - iaik - - - iaik_jce_eval_signed - iaik - - - - - - com.sun.xml.bind - jaxb-impl - 2.2.11 - - - - com.sun.xml.bind - jaxb-core - 2.2.11 - - - - - - - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - false - - - - - test-jar - - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.9.1 - - true - false - false - true - false - at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.* - - - pre - a - Preconditions: - - - post - a - Postconditions: - - - - - API Factory and Services - at.gv.egovernment.moa.spss.api - - - Exceptions - at.gv.egovernment.moa.spss - - - API Objects for Signature Creation - at.gv.egovernment.moa.spss.api.xmlsign - - - API Objects for CMS Signature Verification - at.gv.egovernment.moa.spss.api.cmsverify - - - API Objects for XML Signature Verification - at.gv.egovernment.moa.spss.api.xmlverify - - - Common API Objects - at.gv.egovernment.moa.spss.api.common - - - Builders and Parsers to convert API Objects to and from XML - at.gv.egovernment.moa.spss.api.xmlbind - - - Utilities - at.gv.egovernment.moa.util - at.gv.egovernment.moa.spss.util - - - Logging - at.gv.egovernment.moa.logging - - - - http://docs.oracle.com/javase/7/docs/api/ - http://logging.apache.org/log4j/docs/api/ - - 1.7 - - - - generate-javadoc - package - - jar - - - - - - - - diff --git a/spss/server/serverlib/resources/data/deploy/tomcat/unix/moa-env.sh b/spss/server/serverlib/resources/data/deploy/tomcat/unix/moa-env.sh deleted file mode 100644 index f114a40f8..000000000 --- a/spss/server/serverlib/resources/data/deploy/tomcat/unix/moa-env.sh +++ /dev/null @@ -1,13 +0,0 @@ -MOA_START=`pwd` - -CONFIG_OPT=-Dmoa.spss.server.configuration=$MOA_START/conf/moa-spss/spss.config.xml -LOGGING_OPT=-Dlog4j.configuration=file:$MOA_START/conf/moa-spss/log4j.properties - -# NODE_ID_OPT=-Dmoa.node-id=node1 -# TRUST_STORE_OPT=-Djavax.net.ssl.trustStore=truststore.jks -# TRUST_STORE_PASS_OPT=-Djavax.net.ssl.trustStorePassword=changeit -# TRUST_STORE_TYPE_OPT=-Djavax.net.ssl.trustStoreType=jks - -export CATALINA_OPTS="$CONFIG_OPT $LOGGING_OPT $NODE_ID_OPT $TRUST_STORE_OPT $TRUST_STORE_PASS_OPT $TRUST_STORE_TYPE_OPT" - -echo CATALINA_OPTS=$CATALINA_OPTS diff --git a/spss/server/serverlib/resources/data/deploy/tomcat/uriworkermap.properties b/spss/server/serverlib/resources/data/deploy/tomcat/uriworkermap.properties deleted file mode 100644 index 673acf65d..000000000 --- a/spss/server/serverlib/resources/data/deploy/tomcat/uriworkermap.properties +++ /dev/null @@ -1,4 +0,0 @@ -# a sample mod_jk uriworkermap.properties file for mapping -# MOA SP/SS web service requests to workers - -/moa-spss/*=moaworker \ No newline at end of file diff --git a/spss/server/serverlib/resources/data/deploy/tomcat/win32/startTomcat.bat b/spss/server/serverlib/resources/data/deploy/tomcat/win32/startTomcat.bat deleted file mode 100644 index de36fd5c4..000000000 --- a/spss/server/serverlib/resources/data/deploy/tomcat/win32/startTomcat.bat +++ /dev/null @@ -1,28 +0,0 @@ -rem ---------------------------------------------------------------------------------------------- -rem Modify these entries according to your needs - -rem JDK home directory (no trailing path separator) -set JAVA_HOME= - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME= - -rem ---------------------------------------------------------------------------------------------- - -set MOA_SPSS_CFG_HOME=%CATALINA_HOME%\conf\moa-spss - -set PARAM_SPSSCONFIG=-Dmoa.spss.server.configuration=%MOA_SPSS_CFG_HOME%\spss.config.xml -set PARAM_LOGGING=-Dlog4j.configuration=file:%MOA_SPSS_CFG_HOME%\log4j.properties -set PARAM_NODEID=-Dmoa.node-id=Node1 - -set PARAMS_MOA=%PARAM_SPSSCONFIG% %PARAM_LOGGING% %PARAM_NODEID% - -rem set PARAM_TRUST_STORE=-Djavax.net.ssl.trustStore=truststore.jks -rem set PARAM_TRUST_STORE_PASS=-Djavax.net.ssl.trustStorePassword=changeit -rem set PARAM_TRUST_STORE_TYPE=-Djavax.net.ssl.trustStoreType=jks -rem set PARAMS_SSL=%PARAM_TRUST_STORE% %PARAM_TRUST_STORE_PASS% %PARAM_TRUST_STORE_TYPE% - -set CATALINA_OPTS=%PARAMS_MOA% %PARAMS_SSL% - -cd %CATALINA_HOME% -bin\catalina.bat start \ No newline at end of file diff --git a/spss/server/serverlib/resources/data/deploy/tomcat/win32/stopTomcat.bat b/spss/server/serverlib/resources/data/deploy/tomcat/win32/stopTomcat.bat deleted file mode 100644 index 09dd83f2d..000000000 --- a/spss/server/serverlib/resources/data/deploy/tomcat/win32/stopTomcat.bat +++ /dev/null @@ -1,13 +0,0 @@ -rem ---------------------------------------------------------------------------------------------- -rem Modify these entries according to your needs - -rem JDK home directory (no trailing path separator) -set JAVA_HOME= - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME= - -rem ---------------------------------------------------------------------------------------------- - -cd %CATALINA_HOME% -bin\catalina.bat stop \ No newline at end of file diff --git a/spss/server/serverlib/resources/data/deploy/tomcat/workers.properties b/spss/server/serverlib/resources/data/deploy/tomcat/workers.properties deleted file mode 100644 index 9350ddc77..000000000 --- a/spss/server/serverlib/resources/data/deploy/tomcat/workers.properties +++ /dev/null @@ -1,6 +0,0 @@ -# a sample workers.properties file defining a single mod_jk worker - -worker.list=moaworker -worker.moaworker.type=ajp13 -worker.moaworker.host=localhost -worker.moaworker.port=8009 diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAApplicationException.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAApplicationException.java deleted file mode 100644 index 305c22783..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAApplicationException.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss; -/** - * Base class of application specific MOA exceptions. - * - * Application exceptions are exceptions that originate from application - * code (e.g. inconsistent data provided by the user, no permission to access - * certain resources, etc.) - * - * @author Patrick Peck - * @version $Id$ - */ -public class MOAApplicationException extends MOAException { - - /** - * - */ - private static final long serialVersionUID = 1042877795934327684L; - -/** - * Create a new MOAApplicationException. - * - * @param messageId The identifier of the message associated with this - * exception. - * @param parameters Additional message parameters. - */ - public MOAApplicationException(String messageId, Object[] parameters) { - super(messageId, parameters); - } - - /** - * Create a new MOAApplicationException. - * - * @param messageId The identifier of the message associated with this - * MOAApplicationException. - * @param parameters Additional message parameters. - * @param wrapped The exception wrapped by this - * MOAApplicationException. - */ - public MOAApplicationException( - String messageId, - Object[] parameters, - Throwable wrapped) { - super(messageId, parameters, wrapped); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAException.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAException.java deleted file mode 100644 index 6cf46c50a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOAException.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss; -import java.io.PrintStream; -import java.io.PrintWriter; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.util.Constants; - - -import at.gv.egovernment.moa.spss.util.MessageProvider; - -/** - * Base class of MOA specific exceptions. - * - * This class has the ability to wrap other exceptions which may be seen - * as the root cause for this exception. A similar mechanism is in place - * since JDK1.4 (see the getClause() method) but will not be used - * because of required compatibility with JDK1.3. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class MOAException extends Exception { - /** - * - */ - private static final long serialVersionUID = 7115301799538771949L; -/** The message ID. */ - private String messageId; - /** The wrapped Throwable. */ - private Throwable wrapped; - - /** - * Create a MOAException. - * - * @param messageId The message ID of the message contained in the created - * MOAException. - * @param parameters The parameters needed to fill in the message arguments. - */ - public MOAException(String messageId, Object[] parameters) { - super(MessageProvider.getInstance().getMessage(messageId, parameters)); - this.messageId = messageId; - } - - /** - * Create a MOAException. - * - * @param messageId The message ID of the message contained in the created - * MOAException. - * @param parameters The parameters needed to fill in the message arguments. - * @param wrapped The exception wrapped by the created - * MOAException. - */ - public MOAException(String messageId, Object[] parameters, Throwable wrapped) { - - super(MessageProvider.getInstance().getMessage(messageId, parameters)); - this.messageId = messageId; - this.wrapped = wrapped; - } - - /** - * Returns the message ID of this exception. - * - * @return The message ID as provided in the constructor. - */ - public String getMessageId() { - return messageId; - } - - /** - * Returns the exception wrapped by this MOAException. - * - * @return The exception wrapped by this exception. Possibly - * null, if none was provided at construction time. - */ - public Throwable getWrapped() { - return wrapped; - } - - /** - * Convert this MOAException to an ErrorResponse - * element from the MOA namespace. - * - * @return An ErrorResponse element, containing the subelements - * ErrorCode and Info required by the MOA schema. - */ - public Element toErrorResponse() { - DocumentBuilder builder; - DOMImplementation impl; - Document doc; - Element errorResponse; - Element errorCode; - Element info; - - // create a new document - try { - builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - impl = builder.getDOMImplementation(); - } catch (ParserConfigurationException e) { - return null; - } - - // build the ErrorResponse element - doc = impl.createDocument(Constants.MOA_NS_URI, "ErrorResponse", null); - errorResponse = doc.getDocumentElement(); - - // add MOA namespace declaration - errorResponse.setAttributeNS( - Constants.XMLNS_NS_URI, - "xmlns", - Constants.MOA_NS_URI); - - // build the child elements - errorCode = doc.createElementNS(Constants.MOA_NS_URI, "ErrorCode"); - errorCode.appendChild(doc.createTextNode(messageId)); - info = doc.createElementNS(Constants.MOA_NS_URI, "Info"); - info.appendChild(doc.createTextNode(getMessage())); - errorResponse.appendChild(errorCode); - errorResponse.appendChild(info); - return errorResponse; - } - - /** - * Print a stack trace of this exception to System.err. - * - * @see java.lang.Throwable#printStackTrace() - */ - public void printStackTrace() { - printStackTrace(System.err); - } - - /** - * Print a stack trace of this exception, including the wrapped exception. - * - * @param s The stream to write the stack trace to. - * @see java.lang.Throwable#printStackTrace(java.io.PrintStream) - */ - public void printStackTrace(PrintStream s) { - super.printStackTrace(s); - if (getWrapped() != null) { - s.print("Caused by: "); - getWrapped().printStackTrace(s); - } - } - - /** - * Print a stack trace of this exception, including the wrapped exception. - * - * @param s The stream to write the stacktrace to. - * @see java.lang.Throwable#printStackTrace(java.io.PrintWriter) - */ - public void printStackTrace(PrintWriter s) { - super.printStackTrace(s); - if (getWrapped() != null) { - s.print("Caused by: "); - getWrapped().printStackTrace(s); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOARuntimeException.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOARuntimeException.java deleted file mode 100644 index a3c8565e5..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOARuntimeException.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss; -import java.io.PrintStream; -import java.io.PrintWriter; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.Constants; - -/** - * Base class of MOA specific runtime exceptions. - * - * This class has the ability to wrap other exceptions which may be seen - * as the root cause for this exception. A similar mechanism is in place - * since JDK1.4 (see the getClause() method) but will not be used - * because of required compatibility with JDK1.3. - * - * @author Patrick Peck - * @version $Id$ - */ -public class MOARuntimeException extends RuntimeException { - /** - * - */ - private static final long serialVersionUID = 8516197293435621864L; -/** The message ID. */ - private String messageId; - /** The wrapped Throwable. */ - private Throwable wrapped; - - /** - * Create a MOAException. - * - * @param messageId The message ID of the message contained in the created - * MOAException. - * @param parameters The parameters needed to fill in the message arguments. - */ - public MOARuntimeException(String messageId, Object[] parameters) { - super(MessageProvider.getInstance().getMessage(messageId, parameters)); - this.messageId = messageId; - } - - /** - * Create a MOAException. - * - * @param messageId The message ID of the message contained in the created - * MOAException. - * @param parameters The parameters needed to fill in the message arguments. - * @param wrapped The exception wrapped by the created - * MOAException. - */ - public MOARuntimeException( - String messageId, - Object[] parameters, - Throwable wrapped) { - - super(MessageProvider.getInstance().getMessage(messageId, parameters)); - this.messageId = messageId; - this.wrapped = wrapped; - } - - /** - * Returns the message ID of this exception. - * - * @return The message ID as provided in the constructor. - */ - public String getMessageId() { - return messageId; - } - - /** - * Returns the exception wrapped by this MOARuntimeException. - * - * @return The exception wrapped by this exception. Possibly - * null, if none was provided at construction time. - */ - public Throwable getWrapped() { - return wrapped; - } - - /** - * Convert this MOARuntimeException to an ErrorResponse - * element from the MOA namespace. - * - * @return An ErrorResponse element, containing the subelements - * ErrorCode and Info required by the MOA schema. - */ - public Element toErrorResponse() { - DocumentBuilder builder; - DOMImplementation impl; - Document doc; - Element errorResponse; - Element errorCode; - Element info; - - // create a new document - try { - builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - impl = builder.getDOMImplementation(); - } catch (ParserConfigurationException e) { - return null; - } - - // build the ErrorResponse element - doc = impl.createDocument(Constants.MOA_NS_URI, "ErrorResponse", null); - errorResponse = doc.getDocumentElement(); - - // add MOA namespace declaration - errorResponse.setAttributeNS( - Constants.XMLNS_NS_URI, - "xmlns", - Constants.MOA_NS_URI); - - // build the child elements - errorCode = doc.createElementNS(Constants.MOA_NS_URI, "ErrorCode"); - errorCode.appendChild(doc.createTextNode(messageId)); - info = doc.createElementNS(Constants.MOA_NS_URI, "Info"); - info.appendChild(doc.createTextNode(getMessage())); - errorResponse.appendChild(errorCode); - errorResponse.appendChild(info); - return errorResponse; - } - - /** - * Print a stack trace of this exception to System.err. - * - * @see java.lang.Throwable#printStackTrace() - */ - public void printStackTrace() { - printStackTrace(System.err); - } - - /** - * Print a stack trace of this exception, including the wrapped exception. - * - * @param s The stream to write the stack trace to. - * @see java.lang.Throwable#printStackTrace(java.io.PrintStream) - */ - public void printStackTrace(PrintStream s) { - super.printStackTrace(s); - if (getWrapped() != null) { - s.print("Caused by: "); - getWrapped().printStackTrace(s); - } - } - - /** - * Print a stack trace of this exception, including the wrapped exception. - * - * @param s The stream to write the stacktrace to. - * @see java.lang.Throwable#printStackTrace(java.io.PrintWriter) - */ - public void printStackTrace(PrintWriter s) { - super.printStackTrace(s); - if (getWrapped() != null) { - s.print("Caused by: "); - getWrapped().printStackTrace(s); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOASystemException.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOASystemException.java deleted file mode 100644 index 67c19082d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/MOASystemException.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss; -/** - * Base class of technical MOA exceptions. - * - * Technical exceptions are exceptions that originate from system failure (e.g., - * a database connection fails, a component is not available, etc.) - * - * @author Patrick Peck - * @version $Id$ - */ -public class MOASystemException extends MOAException { - - /** - * - */ - private static final long serialVersionUID = 655642019638205185L; - -/** - * Create a new MOASystemException. - * - * @param messageId The identifier of the message associated with this - * exception. - * @param parameters Additional message parameters. - */ - public MOASystemException(String messageId, Object[] parameters) { - super(messageId, parameters); - } - - /** - * Create a new MOASystemException. - * - * @param messageId The identifier of the message associated with this - * MOASystemException. - * @param parameters Additional message parameters. - * @param wrapped The exception wrapped by this - * MOASystemException. - */ - public MOASystemException( - String messageId, - Object[] parameters, - Throwable wrapped) { - super(messageId, parameters, wrapped); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/Configurator.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/Configurator.java deleted file mode 100644 index 617b16f82..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/Configurator.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api; - -import org.apache.commons.discovery.tools.DiscoverClass; - -import at.gv.egovernment.moa.spss.MOAException; - -/** - * Configures the SP/SS API. - * - * Also handles dynamic configuration updates. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class Configurator { - - /** The default implementation class. */ - private static final String DEFAULT_IMPLEMENTATION = - "at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl"; - - /** The single instance of this class. */ - private static Configurator instance = null; - - public static synchronized Configurator getInstance() { - if (instance == null) { - try { - DiscoverClass discover = new DiscoverClass(); - instance = - (Configurator) discover.newInstance( - Configurator.class, - DEFAULT_IMPLEMENTATION); - } catch (Exception e) { - // this can not happen since we provide a valid default - // implementation - } - } - return instance; - } - - /** - * Initialize the SP/SS configuration. - * - * Only a single call to this method will have an effect. Use - * update() for reflecting changes in the configuration instead. - * - * @throws MOAException An error occurred updating the SP/SS configuration. - */ - public abstract void init() throws MOAException; - - /** - * Update the SP/SS configuration. - * - * This will only have an effect after the system has been initialized once - * using init(). - * - * @throws MOAException An error occurred updating the SP/SS configuration. - */ - public abstract void update() throws MOAException; - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java deleted file mode 100644 index d41891167..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SPSSFactory.java +++ /dev/null @@ -1,1138 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api; - -import java.io.InputStream; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.security.cert.X509Certificate; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import org.apache.commons.discovery.tools.DiscoverClass; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; -import at.gv.egovernment.moa.spss.api.common.Transform; -import at.gv.egovernment.moa.spss.api.common.X509IssuerSerial; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.common.XPathFilter; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; - -/** - * An abstract factory for creating MOA SP/SS API objects. - * - * Use getInstance() to get a concrete factory instance. Using - * this instance, concrete MOA SP/SS API object can be created. - * - * @author Patrick Peck - * @author Gregor Karlinger - * @version $Id$ - */ -public abstract class SPSSFactory { - - /** The default implementation of this class. */ - private static final String DEFAULT_IMPLEMENTATION = - "at.gv.egovernment.moa.spss.api.impl.SPSSFactoryImpl"; - - /** The single instance of this class. */ - private static SPSSFactory instance = null; - - /** - * Returns the single instance of this class. - * - * @return The single instance of this class. - */ - public static synchronized SPSSFactory getInstance() { - if (instance == null) { - try { - DiscoverClass discover = new DiscoverClass(); - instance = - (SPSSFactory) discover.newInstance( - SPSSFactory.class, - DEFAULT_IMPLEMENTATION); - } catch (Exception e) { - // this can not happen since we provide a valid default - // implementation - } - } - return instance; - } - - // - // Factory methods for creating XML signatures - // - - /** - * Create a new CreateXMLSignatureRequest object. - * - * @param keyIdentifier The identifier for the key group to use for signing. - * @param singleSignatureInfos A List of - * SingleSignatureInfo objects containing information about a - * single signature to be created. - * @return The CreateXMLSignatureRequest containing the above - * data. - * - * @pre keyIdentifier != null && keyIdentifier.length() > 0 - * @pre singleSignatureInfos != null - * @pre forall Object o in singleSignatureInfos | - * o instanceof at.gv.egovernment.moa.spss.api.common.SingleSignatureInfo - * @post return != null - */ - public abstract CreateXMLSignatureRequest createCreateXMLSignatureRequest( - String keyIdentifier, - List singleSignatureInfos); - - /** - * Create a new CreateCMSSignatureRequest object. - * - * @param keyIdentifier The identifier for the key group to use for signing. - * @param singleSignatureInfos A List of - * SingleSignatureInfo objects containing information about a - * single signature to be created. - * @return The CreateCMSSignatureRequest containing the above - * data. - * - * @pre keyIdentifier != null && keyIdentifier.length() > 0 - * @pre singleSignatureInfos != null - * @pre forall Object o in singleSignatureInfos | - * o instanceof at.gv.egovernment.moa.spss.api.common.SingleSignatureInfo - * @post return != null - */ - public abstract CreateCMSSignatureRequest createCreateCMSSignatureRequest( - String keyIdentifier, - List singleSignatureInfos); - - /** - * Create a new SingleSignatureInfo object. - * - * @param dataObjectInfos The data objects that will be signed (including - * transformations). - * @param createSignatureInfo Information about the signature environment. May - * be null. - * @param securityLayerConform If true, a Security Layer conform - * signature manifest is created, otherwise not. - * @return The SingleSignatureInfo containing the above data. - * - * @pre dataObjectInfos != null && dataObjectInfos.size() > 0 - * @pre forall Object o in dataObjectInfos | - * o instanceof at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo - * @post return != null - */ - public abstract SingleSignatureInfo createSingleSignatureInfo( - List dataObjectInfos, - CreateSignatureInfo createSignatureInfo, boolean securityLayerConform); - - /** - * Create a new SingleSignatureInfo object. - * - * @param dataObjectInfo The data object that will be signed. - * @param securityLayerConform If true, a Security Layer conform - * signature manifest is created, otherwise not. - * @return The SingleSignatureInfo containing the above data. - * - * @post return != null - */ - public abstract at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo createSingleSignatureInfoCMS( - at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo dataObjectInfo, - boolean securityLayerConform); - - - - - /** - * Create a new DataObjectInfo object. - * - * @param structure The type of signature to create. - * @param childOfManifest If true, references will be returned - * as children of an XMLDsig manifest. Otherwise, they will be returned as - * children of the signature itself. - * @param dataObject The data object that will be signed. - * @param createTransformsInfoProfile Additional transformations to apply - * to the data object. - * @return The DataObjectInfo containing the above data. - * - * @pre DataObjectInfo.STRUCTURE_DETACHED.equals(structure) || - * DataObjectInfo.STRUCTURE_ENVELOPING.equals(structure) - * @pre dataObject != null - * @pre createTransformsInfoProfile != null - * @post return != null - */ - public abstract DataObjectInfo createDataObjectInfo( - String structure, - boolean childOfManifest, - Content dataObject, - CreateTransformsInfoProfile createTransformsInfoProfile); - - /** - * Create a new DataObjectInfo object. - * - * @param structure The type of signature to create. - * @param dataObject The data object that will be signed. - * @return The DataObjectInfo containing the above data. - * - * @pre DataObjectInfo.STRUCTURE_DETACHED.equals(structure) || - * DataObjectInfo.STRUCTURE_ENVELOPING.equals(structure) - * @pre dataObject != null - * @post return != null - */ - public abstract at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo createDataObjectInfo( - String structure, - CMSDataObject dataObject); - - /** - * Create a new CreateTransformsInfoProfile object containing a - * reference to a locally stored profile. - * - * @param profileID The profile ID to resolve during signature creation. - * @return The CreateTransformsInfoProfile containing the given - * profile ID. - * - * @pre profileID != null && profileID.length() > 0 - * @post return != null - */ - public abstract CreateTransformsInfoProfile createCreateTransformsInfoProfile(String profileID); - - /** - * Create a new CreateTransformsInfoProfile object by providing - * the profile data explicitly. - * - * @param transformsInfo The transformations to apply to the associated - * data object. - * @param supplements Supplemental information for the transformation. May be - * null. - * @return The CreateTransformsInfoProfile containing the above - * data. - * - * @pre transformsInfo != null - * @pre supplements != null implies - * forall Object o in supplements | - * o instanceof at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation - * @post return != null - */ - public abstract CreateTransformsInfoProfile createCreateTransformsInfoProfile( - CreateTransformsInfo transformsInfo, - List supplements); - - /** - * Create a new CreateTransformsInfo object. - * - * @param transforms The Transforms to apply to the associated - * data object. May be null. - * @param finalDataMetaInfo Information about the type of the transformed - * data. - * @return The CreateTransformsInfo containing the above data. - * - * @pre transforms != null implies transforms.size > 0 - * @pre transforms != null implies - * forall Object o in transforms | - * o instanceof at.gv.egovernment.moa.spss.api.common.Transform - * @pre finalDataMetaInfo != null - * @post return != null - */ - public abstract CreateTransformsInfo createCreateTransformsInfo( - List transforms, - MetaInfo finalDataMetaInfo); - - /** - * Create a new CreateSignatureInfo object. - * - * @param createSignatureEnvironment The signature environment that will - * contain the signature. - * @param createSignatureEnvironmentProfile Additional information about - * the signture environment. - * @return The CreateSignatureInfo containing the above data. - * - * @pre createSignatureEnvironment != null - * @pre createSignatureEnvironmentProfile != null - * @post return != null - */ - public abstract CreateSignatureInfo createCreateSignatureInfo( - Content createSignatureEnvironment, - CreateSignatureEnvironmentProfile createSignatureEnvironmentProfile); - - /** - * Create a new CreateSignatureEnvironmentProfile object - * containing a reference to a locally stored profile. - * - * @param profileID The profile ID to resolve during signature creation. - * @return The CreateSignatureEnvironmentProfile containing - * the given profile ID. - * - * @pre profileID != null && profileID.length() > 0 - * @post return != null - */ - public abstract CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile(String profileID); - - /** - * Create a new CreateSignatureEnvironmentProfile object by - * providing the profile data explicitly. - * - * @param createSignatureLocation The location where the signature will be - * inserted. - * @param supplements Additional information about the signature environment. - * @return The CreateSignatureEnvironmentProfile containing the - * above data. - * - * @pre createSignatureLocation != null - * @pre supplements != null - * @pre forall Object o in supplements | - * o instanceof at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation - * @post return != null - */ - public abstract CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile( - CreateSignatureLocation createSignatureLocation, - List supplements); - - /** - * Create a new CreateSignatureLocation object. - * - * @param xPathExpression The XPath expression to select the signature - * parent element within the signature environment. - * @param index The index of the node, after which the signature will be - * inserted. - * @param namespaceDeclarations The namespace prefix to URI mapping to apply - * while evaluating the XPath expression. - * @return The CreateSignatureLocation containing the above data. - * - * @pre xPathExpression != null - * @pre index >= 0 - * @pre namespaceDeclarations != null - */ - public abstract CreateSignatureLocation createCreateSignatureLocation( - String xPathExpression, - int index, - Map namespaceDeclarations); - - /** - * Create a new CreateXMLSignatureResponse object. - * - * @param responseElements The elements of the response, either - * SignatureEnvironmentResponse objects, or - * ErrorResponse objects. - * @return The new CreateXMLSignatureResponse containing the - * above data. - * - * @pre responseElements != null && responseElements.size() > 0 - * @pre forall Object o in responseElements | - * o instanceof at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureResponseElement - * @post return != null - */ - public abstract CreateXMLSignatureResponse createCreateXMLSignatureResponse(List responseElements); - - - /** - * Create a new CreateCMSSignatureResponse object. - * - * @param responseElements The elements of the response, either - * CMSSignatureResponse objects, or - * ErrorResponse objects. - * @return The new CreateCMSSignatureResponse containing the - * above data. - * - * @pre responseElements != null && responseElements.size() > 0 - * @pre forall Object o in responseElements | - * o instanceof at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse - * @post return != null - */ - public abstract CreateCMSSignatureResponse createCreateCMSSignatureResponse(List responseElements); - - - /** - * Create a new SignatureEnvironmentResponse object. - * - * @param signatureEnvironment The signature environment containing the - * signature. - * @return The SignatureEnvironmentResponse containing the - * signatureEnvironment. - * - * @pre signatureEnvironment != null - * @post return != null - */ - public abstract CMSSignatureResponse createCMSSignatureResponse(String base64value); - - /** - * Create a new SignatureEnvironmentResponse object. - * - * @param signatureEnvironment The signature environment containing the - * signature. - * @return The SignatureEnvironmentResponse containing the - * signatureEnvironment. - * - * @pre signatureEnvironment != null - * @post return != null - */ - public abstract SignatureEnvironmentResponse createSignatureEnvironmentResponse(Element signatureEnvironment); - - /** - * Create a new ErrorResponse object. - * - * @param code The numerical error code. - * @param info Verbose error information. - * @return The new ErrorResponse containing the above data. - * - * @pre code > 0 - * @pre info != null - * @post return != null - */ - public abstract ErrorResponse createErrorResponse(int code, String info); - - // - // Factory methods for verifying CMS signatures - // - - /** - * Create a new VerifyCMSSignatureRequest object. - * - * @param signatories The indexes of the signatories whose signature is to - * be verified. - * @param dateTime The date for which the verification is to be performed. - * May be null. - * @param cmsSignature The CMS signature. - * @param dataObject The signed data. May be null. - * @param trustProfileID The ID of the trust profile containing the trusted - * root certificates. - * @return The VerifyCMSSignatureRequest containing the above - * data. - * - * @pre signatories != null && signatories.length > 0 - * @pre signaturies != VerifyCMSSignatureRequest.ALL_SIGNATORIES implies - * for (int i = 0; i < signatories.length; i++) - * signatories[i] >= 1 - * @pre cmsSignature != null - * @pre trustProfileID != null && trustProfileID.length() > 0 - * @post return != null - */ - public abstract VerifyCMSSignatureRequest createVerifyCMSSignatureRequest( - int[] signatories, - Date dateTime, - InputStream cmsSignature, - CMSDataObject dataObject, - String trustProfileID); - - /** - * Create a new CMSDataObject object from data at a given URI. - * - * @param metaInfo Type information about the CMSDataObject. - * May be null. - * @param content The CMS content containing the data. - * @return The new CMSDataObject containing the data. - * - * @pre referenceURI != null - * @pre content != null - * @post return != null - */ - public abstract CMSDataObject createCMSDataObject( - MetaInfo metaInfo, - CMSContent content, - BigDecimal excludeByteRangeFrom, - BigDecimal excludeByteRangeTo); - - /** - * Create a new CMSContent object from the data contained at the - * given URI. - * - * @param referenceURI The URI identifying the data. Must be resolvable. - * @return The CMSContent containing a reference to the signed - * data. - * - * @pre referenceURI != null - * @post return != null - */ - public abstract CMSContent createCMSContent(String referenceURI); - - /** - * Create a new CMSContent object from a byte stream. - * - * @param binaryContent The byte stream containing the signed data. - * @return The new CMSContent containing the data from the - * byte stream. - * - * @pre binaryContent != null - * @post return != null - */ - public abstract CMSContent createCMSContent(InputStream binaryContent); - - /** - * Create a new VerifyCMSSignatureResponse object. - * - * @param responseElements Verification information about each signature. - * @return The new VerifyCMSSignatureResponse containing the - * status of signature verification for each signature contained in the - * request. - * - * @pre responseElements != null && responseElements.size() > 0 - * @pre forall Object o in responseElements | - * o instanceof at.gv.egovernment.moa.spss.api.cmssign.VerifyCMSSignatureResponseElement - * @post return != null - */ - public abstract VerifyCMSSignatureResponse createVerifyCMSSignatureResponse(List responseElements); - - /** - * Create a new VerifyCMSSignatureResponseElement object. - * - * @param signerInfo Information about the signer certificate. - * @param signatureCheck Result of the singature value check. - * @param certificateCheck Result of the certificate status check. - * @return The new VerifyCMSSignatureResponseElement containing - * the above data. - * - * @pre signerInfo != null && signatureCheck != null && - * certificateCheck != null - * @post return != null - */ - public abstract VerifyCMSSignatureResponseElement createVerifyCMSSignatureResponseElement( - SignerInfo signerInfo, - CheckResult signatureCheck, - CheckResult certificateCheck); - - // - // Factory methods for verifying XML signatures - // - - /** - * Create a new VerifyXMLSignatureRequest object. - * - * @param dateTime The date for which the verification is to be performed. - * May be null. - * @param verifySignatureInfo Information about the signature environment and - * the location of the signature. - * @param supplementProfiles Supplemental information for the signature - * environment. May be null. - * @param signatureManifestParams Additional information for checking the - * signature manifest. May be null. - * @param returnHashInputData If true, hash input data will - * be returned in the response, otherwise not. - * @param trustProfileID The ID of the trust profile containing the trusted - * root certificates. - * @return The new VerifyXMLSignatureRequest containing the - * above data. - * - * @pre verifySignatureInfo != null - * @pre supplementProfiles != null implies - * forall Object o in supplementProfiles | - * o instanceof at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile - * @pre trustProfileID != null && trustProfileID.length() > 0 - * @post return != null - */ - public abstract VerifyXMLSignatureRequest createVerifyXMLSignatureRequest( - Date dateTime, - VerifySignatureInfo verifySignatureInfo, - List supplementProfiles, - SignatureManifestCheckParams signatureManifestParams, - boolean returnHashInputData, - String trustProfileID); - - /** - * Create a new VerifySignatureInfo object. - * - * @param verifySignatureEnvironment The signature environment containing - * the signature to be verified. - * @param verifySignatureLocation The location of the signature within the - * signature environment. - * @return The new VerifySignatureInfo containing the above data. - * - * @pre verifySignatureEnvironment != null - * @pre verifySignatureLocation != null - * @post return != null - */ - public abstract VerifySignatureInfo createVerifySignatureInfo( - Content verifySignatureEnvironment, - VerifySignatureLocation verifySignatureLocation); - - /** - * Create a new VerifySignatureLocation object. - * - * @param xPathExpression The XPath expression to select the signature - * element within the signature environment. - * @param namespaceDeclarations The namespace prefix to URI mapping to apply - * while evaluating the XPath expression. - * @return The new VerifySignatureLocation containing the above - * data. - * - * @pre xPathExpression != null - * @pre namespaceDeclarations != null - * @post return != null - */ - public abstract VerifySignatureLocation createVerifySignatureLocation( - String xPathExpression, - Map namespaceDeclarations); - - /** - * Create a new SupplementProfile object containing a reference - * to a locally stored profile. - * - * @param profileID The profile ID to resolve during signature verification. - * @return The SupplementProfile containing the profile ID. - * - * @pre profileID != null && profileID.length() > 0 - * @post return != null - */ - public abstract SupplementProfile createSupplementProfile(String profileID); - - /** - * Create a new SupplementProfile object by providing the profile - * data explicitly. - * - * @param supplementProfile The profile data. - * @return The SupplementProfile containing the profile data. - */ - public abstract SupplementProfile createSupplementProfile(XMLDataObjectAssociation supplementProfile); - - /** - * Create a new SignatureManifestCheckParams object. - * - * @param referenceInfos Information for checking the validity of a - * a reference. - * @param returnReferenceInputData If true, the input data to - * the calculation of reference digest values will be returned in the - * response, otherwise not. - * @return The SignatureManifestCheckParams containing the - * above data. - * - * @pre referenceInfos != null && referenceInfos.size() > 0 - * @pre forall Object o in referenceInfos | - * o instanceof at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo - * @post return != null - */ - public abstract SignatureManifestCheckParams createSignatureManifestCheckParams( - List referenceInfos, - boolean returnReferenceInputData); - - /** - * Create a new ReferenceInfo object. - * - * @param verifyTransformsInfoProfiles The transformation profiles valid for - * the associated reference. - * @return The ReferenceInfo containing the transformation - * profiles. - * - * @pre verifyTransformsInfoProfiles != null && - * verifyTransformsInfoProfiles.size() > 0 - * @pre forall Object o in verifyTransformsInfoProfiles | - * o instanceof at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile - * @post return != null - */ - public abstract ReferenceInfo createReferenceInfo(List verifyTransformsInfoProfiles); - - /** - * Create a new VerifyTransformsInfoProfile object containing - * a reference to a locally stored profile. - * - * @param profileID The profile ID to resolve during signature verification. - * @return The VerifyTransformsInfoProfile containing the - * given profile ID. - * - * @pre profileID != null && profileID.length() > 0 - * @post return != null - */ - public abstract VerifyTransformsInfoProfile createVerifyTransformsInfoProfile(String profileID); - - /** - * Create a new VerifyTransformsInfoProfile object by providing - * the profile data explicitly. - * - * @param transforms A valid chain of transformations for the reference. - * May be null. - * @param transformParameters Additional transformation information. - * @return The VerifyTransformsInfoProfile containing the above - * data. - * - * @pre transforms != null implies - * (transforms.size() > 0 && - * forall Object o in transforms | o instanceof Transform) - * @pre transformParameters != null implies - * forall Object o in transformParameters | - * o instanceof at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter - * @post return != null - */ - public abstract VerifyTransformsInfoProfile createVerifyTransformsInfoProfile( - List transforms, - List transformParameters); - - /** - * Create a new TransformParameter object with the data - * contained at the given URI. - * - * @param URI The URI identifying the data. The URI will be resolved during - * signature verification. - * @return The TransformParameter containing the URI of the - * data. - * - * @pre URI != null - * @post return != null - */ - public abstract TransformParameter createTransformParameter(String URI); - - /** - * Creata a new TransformParameter object containing the - * binary data. - * - * @param URI The URI identifying the data. - * @param binaryData The binary data. - * @return The TransformParameter containig the binary data. - * - * @pre URI != null - * @pre binary != null - * @post return != null - */ - public abstract TransformParameter createTransformParameter( - String URI, - InputStream binaryData); - - /** - * Create a new TransformParameter object containing the hash - * value of the transformation data. - * - * @param URI The URI identifying the data. It will be resolved during - * signature verification. - * @param digestMethod The digest method used for calculating the digest - * value. - * @param digestValue The hash value of the transformation data. - * @return The TransformParameter containing the above data. - * - * @pre URI != null - * @pre digestMethod != null - * @pre digestValue != null - */ - public abstract TransformParameter createTransformParameter( - String URI, - String digestMethod, - byte[] digestValue); - - /** - * Create a new VerifyXMLSignatureResponse object. - * - * @param signerInfo Information about the signer certificate. - * @param hashInputDatas The signed data objects. May be null. - * @param referenceInputDatas The reference input data objects. - * May be null. - * @param signatureCheck Status information about the signature check. - * @param signatureManifestCheck Status information about the signature - * manifest check. - * @param xmlDsigManifestChecks Status information about each XMLDsig manifest - * check. - * @param certificateCheck Status information about the signer certificate - * check. - * @return The VerifyXMLSignatureResponse containing the above - * data. - * - * @pre signerInfo != null - * @pre hashInputDatas != null implies - * forall Object o in hashInputDatas | - * o instanceof at.gv.egovernment.moa.spss.api.common.Content - * @pre referenceInputDatas != null implies - * forall Object o in referenceInputDatas | - * o instanceof at.gv.egovernment.moa.spss.api.common.Content - * @pre signatureCheck != null - * @pre xmlDsigManifestChecks != null implies - * forall Object o in xmlDsigManifestChecks | - * o instanceof at.gv.egovernment.moa.spss.api.xmlverifyManifestRefsCheckResult - * @pre certificateCheck != null - * @post return != null - */ - public abstract VerifyXMLSignatureResponse createVerifyXMLSignatureResponse( - SignerInfo signerInfo, - List hashInputDatas, - List referenceInputDatas, - ReferencesCheckResult signatureCheck, - ReferencesCheckResult signatureManifestCheck, - List xmlDsigManifestChecks, - CheckResult certificateCheck); - - /** - * Create a new ReferencesCheckResult object. - * - * @param code The status code. - * @param info Additional information about the reference check. - * @return The ReferencesCheckResult containing the above data. - * - * @pre code >= 0 - * @post return != null - */ - public abstract ReferencesCheckResult createReferencesCheckResult( - int code, - ReferencesCheckResultInfo info); - - /** - * Create a new ReferencesCheckResultInfo object. - * - * @param anyOtherInfo Arbitrary XML content describing the check result. - * May be null. - * @param failedReferences The indexes of the failed references. May be - * null. - * @return The ReferencesCheckResultInfo containing the above - * data. - * - * @post return != null - */ - public abstract ReferencesCheckResultInfo createReferencesCheckResultInfo( - NodeList anyOtherInfo, - int[] failedReferences); - - /** - * Create a new ManifestRefsCheckResult object. - * - * @param code The status code. - * @param info Additional information about the manifest check. May be - * null. - * @return The ManifestRefsCheckResult containing the above - * data. - * - * @pre code >= 0 - * @post return != null - */ - public abstract ManifestRefsCheckResult createManifestRefsCheckResult( - int code, - ManifestRefsCheckResultInfo info); - - /** - * Create a new ManifestRefsCheckResultInfo object. - * - * @param anyOtherInfo Arbitrary XML content describing the check result. - * May be null. - * @param failedReferences The indexes of the failed references. May be - * null. - * @param referringSigReference The index of the reference in the signature. - * @return The ManifestRefsCheckResultInfo containing the - * above data. - * - * @pre referringSigReference > 0 - * @post return != null - */ - public abstract ManifestRefsCheckResultInfo createManifestRefsCheckResultInfo( - NodeList anyOtherInfo, - int[] failedReferences, - int referringSigReference); - - // - // Factory methods for common objects - // - - /** - * Create a new Content object referencing data via a URI. - * - * @param referenceURI The URI pointing to the content. - * @return The Content object containing the reference. - * - * @pre referenceURI != null && referenceURI.length() > 0 - * @post return != null - */ - public abstract Content createContent(String referenceURI); - - /** - * Create a new Content object containing binary data. - * - * @param binaryData An InputStream containing the binary data. - * @param referenceURI An URI identifying the data. May be null. - * @return The Content object containing the data. - * - * @pre binaryData != null - * @post return != null - */ - public abstract Content createContent( - InputStream binaryData, - String referenceURI); - - /** - * Create a new Content object containing location reference data. - * - * @param locationReferenceURI a URI pointing to the actual remote location of the content. - * - * @param referenceURI An URI identifying the data. May be null. - * - * @return The Content object containing the data. - * - * @pre locationReferenceURI != null - * @post return != null - */ - public abstract Content createContent( - String locationReferenceURI, - String referenceURI); - - /** - * Create a new Content object containing XML data. - * - * @param xmlData The XML data contained in the new Content. - * @param referenceURI An URI identifying the data. May be null. - * @return The Content object containing the data. - * - * @pre xmlData != null - * @post return != null - */ - public abstract Content createContent(NodeList xmlData, String referenceURI); - - /** - * Create a new XMLDataObjectAssociation object. - * - * @param metaInfo Information about the content type. May be - * null. - * @param content The Content object containing the data. - * @return The XMLDataObjectAssociation containing the above - * data. - * - * @pre content != null - * @pre content.getContentType() == Content.CONTENT_XML || - * content.getContentType() == Contetn.CONTENT_BINARY - * @pre content.getReference() != null - * @post return != null - */ - public abstract XMLDataObjectAssociation createXMLDataObjectAssociation( - MetaInfo metaInfo, - Content content); - - /** - * Create a new MetaInfo object. - * - * @param mimeType The MIME type part of the meta information. - * @param description Descriptive meta information. May be null. - * @param otherInfo XML meta information. May be null. - * @param type Type information for XML signature creation. May be null. - * @return The MetaInfo object containing the above data. - * - * @pre mimeType != null && mimeType.length() > 0 - * @pre otherInfo != null implies - * forall Node n in otherInfo | n.getNodeType() == Node.ELEMENT - */ - public abstract MetaInfo createMetaInfo( - String mimeType, - String description, - NodeList otherInfo, - String type); - - /** - * Create a CanonicalizationTransform type of Transform. - * - * @param algorithmURI The algorithm URI of the canonicalization. - * @return The created CanonicalizationTransform object. - * - * @pre CanonicalizationTransform.CANONICAL_XML.equals(algorithmURI) || - * CanonicalizationTransform.CANONICAL_XML_WITH_COMMENTS.equals(algorithmURI) - * @post return != null - */ - public abstract Transform createCanonicalizationTransform(String algorithmURI); - - /** - * Create an ExclusiveCanonicalizationTransform type of - * Transform. - * - * @param algorithmURI The algorithm URI of the exclusive canonicalization. - * @param inclusiveNamespacePrefixes The prefixes of the namespaces to - * treat according to canonical XML. - * @return The new ExclusiveCanonicalizationTransform - * - * @pre ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML.equals(algorithmURI) || - * ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML_WITH_COMMENTS.equals(algorithmURI) - * @pre inclusiveNamespacePrefixes != null - * @pre forall Object o in inclusiveNamespacePrefixes | o instanceof String - * @post return != null - */ - public abstract Transform createExclusiveCanonicalizationTransform( - String algorithmURI, - List inclusiveNamespacePrefixes); - - /** - * Create a Base64Transform type of Transform. - * - * @return A Transform denoting a Base64 decoding. - * - * @post return != null - */ - public abstract Transform createBase64Transform(); - - /** - * Create a EnvelopedSignatureTransform type of - * Transform. - * - * @return A Transform denoting an enveloped signature. - * - * @post return != null - */ - public abstract Transform createEnvelopedSignatureTransform(); - - /** - * Create an XSLTTransform type of Transform. - * - * @param styleSheet The XSLT stylesheet contained in the - * Transform. - * @return A Transform containing the XSLT stylesheet. - * - * @post return != null - */ - public abstract Transform createXSLTTransform(Element styleSheet); - - /** - * Create an XPathTransform type of Transform. - * - * @param xPathExpression The XPath expression to use in the created - * Transform. - * @param namespaceDeclarations The namespace prefix to URI mapping to - * apply on evaluation of the XPath expression. - * @return The XPathTransform containing the above data. - * - * @pre xPathExpression != null - * @pre namespaceDeclarations != null - * @post return != null - */ - public abstract Transform createXPathTransform( - String xPathExpression, - Map namespaceDeclarations); - - /** - * Create a new XPathFilter2Transform type of - * Transform. - * - * @param xPathFilters The filters contained in the newly created - * XPathFilter2Transform. - * @return The XPathFilter2Transform containing the given - * filters. - * - * @pre xPathFilters != null && - * forall Object o in xPathFilters | - * o instanceof at.gv.egovernment.moa.spss.api.common.XPathFilter - * @post return != null - */ - public abstract Transform createXPathFilter2Transform(List xPathFilters); - - /** - * Create a new XPathFilter object. - * - * @param filterType The type of filter. - * @param xPathExpression The XPath expression contained in this filter. - * @param namespaceDeclarations The namespace prefix to URI mapping to apply - * on evaluation of the XPath expression. - * @return The XPathFilter containing the above data. - * - * @pre XPathFilter.SUBTRACT_TYPE.equals(filterType) || - * XPathFilter.INTERSECT_TYPE.equals(filterType) || - * XPathFilter.UNION_TYPE.equals(filterType) - * @pre xPathExpression != null - * @pre namespaceDeclarations != null - * @post return != null - */ - public abstract XPathFilter createXPathFilter( - String filterType, - String xPathExpression, - Map namespaceDeclarations); - - /** - * Create a new CheckResult object. - * - * @param code The check code. - * @param info Verbose information about the check. May be null. - * @return The CheckResult containing the above data. - * - * @pre code >= 0 - * @post return != null - */ - public abstract CheckResult createCheckResult(int code, NodeList info); - - - - /** - * Create a new SignerInfo object. - * - * @param signerCertificate The signer certificate in binary form. - * @param qualifiedCertificate true, if the signer certificate is - * a qualified certificate, otherwise false. - * @param qcSourceTSL true, if the QC information comes from the TSL, - * otherwise false. - * @param publicAuthority true, if the signer certificate is a - * public authority certificate, otherwise false. - * @param publicAuthorityID The identification of the public authority - * (if publicAuthority is true). May be - * null. - * @param sscd true, if the TSL check verifies the - * signature based on a SSDC, otherwise false. - * @param sscdSourceTSL true, if the SSCD information comes from the TSL, - * otherwise false. - * @param issuerCountryCode contains the signer certificate issuer country code. - * @return The SignerInfo containing the above data. - * - * @pre signerCertSubjectName != null - * @pre signerCertIssuerSerial != null - * @pre signerCertificate != null - */ - public abstract SignerInfo createSignerInfo( - X509Certificate signerCertificate, - boolean qualifiedCertificate, - boolean qcSourceTSL, - boolean publicAuthority, - String publicAuthorityID, - boolean sscd, - boolean sscdSourceTSL, - String issuerCountryCode); - - /** - * Create a new X509IssuerSerial object. - * - * @param issuerName The distinguished name of the issuer. - * @param issuerSerial The certificate serial number. - * @return The X509IssuerSerial containing the above data. - * - * @pre issuerName != null - * @pre issuerSerial != null - */ - public abstract X509IssuerSerial createX509IssuerSerial( - String issuerName, - BigInteger issuerSerial); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureCreationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureCreationService.java deleted file mode 100644 index 364640ebc..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureCreationService.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api; - -import at.gv.egovernment.moa.spss.MOAException; - -import org.apache.commons.discovery.tools.DiscoverClass; - - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; - -/** - * Interface providing functions for signature creation. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class SignatureCreationService { - - /** The default implementation class. */ - private static final String DEFAULT_IMPLEMENTATION = - "at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl"; - - /** The single instance of this class. */ - private static SignatureCreationService instance = null; - - /** - * Get an instance of the SignatureCreationService. - * - * @return A concrete instance of the SignatureCreationService. - */ - public static synchronized SignatureCreationService getInstance() { - if (instance == null) { - try { - DiscoverClass discover = new DiscoverClass(); - instance = - (SignatureCreationService) discover.newInstance( - SignatureCreationService.class, - DEFAULT_IMPLEMENTATION); - } catch (Exception e) { - // this can not happen since we provide a valid default - // implementation - } - } - return instance; - } - - /** - * Create an XML signature. - * - * @param request Information on how to create the signature. - * @return A CreateXMLSignatureResponse containing the - * signature. - * @throws MOAException Error in server side MOA module. - */ - public abstract CreateXMLSignatureResponse createXMLSignature(CreateXMLSignatureRequest request) - throws MOAException; -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java deleted file mode 100644 index 1464ee724..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api; - -import org.apache.commons.discovery.tools.DiscoverClass; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; - -/** - * Interface providing functions for verifying signatures. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class SignatureVerificationService { - - /** The default implementation class. */ - private static final String DEFAULT_IMPLEMENTATION = - "at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl"; - - /** The single instance of this class. */ - private static SignatureVerificationService instance = null; - - /** - * Get an instance of the SignatureVerificationService. - * - * @return A concrete instance of the - * SignatureVerificationService. - */ - public static synchronized SignatureVerificationService getInstance() { - if (instance == null) { - try { - DiscoverClass discover = new DiscoverClass(); - instance = - (SignatureVerificationService) discover.newInstance( - SignatureVerificationService.class, - DEFAULT_IMPLEMENTATION); - } catch (Exception e) { - // this can not happen since we provide a valid default - // implementation - } - } - return instance; - } - - /** - * Verify a CMS signature. - * - * @param request Detailed information on the verification that should be - * performed. - * @return A VerifyCMSSignatureResponse object that contains - * information about the performed verification. - * @throws MOAException Error in server side MOA module. - */ - public abstract VerifyCMSSignatureResponse verifyCMSSignature(VerifyCMSSignatureRequest request) - throws MOAException; - /** - * Verfiy an XML Signature. - * - * @param request information on the verification that should be performed. - * @return A VerifyXMLSignatureResponse object that contains - * information about the performed verification. - * @throws MOAException Error in server side MOA module. - */ - public abstract VerifyXMLSignatureResponse verifyXMLSignature(VerifyXMLSignatureRequest request) - throws MOAException; -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CMSSignatureResponse.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CMSSignatureResponse.java deleted file mode 100644 index 10db67627..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CMSSignatureResponse.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmssign; - - -/** - * Contains the signature if the signature creation was successful. - * - * @version $Id$ - */ -public interface CMSSignatureResponse - extends CreateCMSSignatureResponseElement { - /** - * Gets the CMS signature (Base64 encoded). - * - * @return The CMS signature - */ - public String getCMSSignature(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureRequest.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureRequest.java deleted file mode 100644 index 9d5cd7a0d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureRequest.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmssign; - -import java.util.List; - - -/** - * Object that encapsulates a request to create a CMS Signature. - * - * - * @version $Id$ - */ -public interface CreateCMSSignatureRequest { - /** - * Gets the identifier for the keys to be used for the signature. - * - * @return The identifier for the keys to be used. - */ - public String getKeyIdentifier(); - /** - * Gets the information of the singleSignatureInfo elements. - * - * @return The information of singleSignatureInfo elements. - */ - public List getSingleSignatureInfos(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponse.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponse.java deleted file mode 100644 index 6062a1162..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponse.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmssign; - -import java.util.List; - -/** - * Object that encapsulates the response on to a - * CreateCMSSignatureRequest to create an XML signature. - * - * @version $Id$ - */ -public interface CreateCMSSignatureResponse { - /** - * Gets the response elements. - * - * @return The response elements. - */ - public List getResponseElements(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponseElement.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponseElement.java deleted file mode 100644 index 8e4e61145..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/CreateCMSSignatureResponseElement.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmssign; - -/** - * Base class for CMSSignature and - * ErrorResponse elements in a - * CreateXMLSignatureResponse. - * - * @version $Id$ - */ -public interface CreateCMSSignatureResponseElement { - /** - * Indicates that this object contains a CMSSignature. - */ - public static final int CMS_SIGNATURE = 0; - /** - * Indicates that this objet contains an ErrorResponse. - */ - public static final int ERROR_RESPONSE = 1; - - /** - * Gets the type of response object. - * - * @return The type of response object, either - * CMS_SIGNATURE or ERROR_RESPONSE. - */ - public int getResponseType(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/DataObjectInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/DataObjectInfo.java deleted file mode 100644 index b9f363061..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/DataObjectInfo.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmssign; - -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; - -/** - * Encapsulates information required to create a single signature. - * - * @version $Id$ - */ -public interface DataObjectInfo { - /** - * Indicates that a detached signature will be created. - */ - public static final String STRUCTURE_DETACHED = "detached"; - /** - * Indicates that an enveloping signature will be created. - */ - public static final String STRUCTURE_ENVELOPING = "enveloping"; - - /** - * Gets the structure of the signature. - * - * @return The structure of the signature. - */ - public String getStructure(); - - /** - * Gets information related to a single data object. - * - * @return Information related to a single data object. - */ - public CMSDataObject getDataObject(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/SingleSignatureInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/SingleSignatureInfo.java deleted file mode 100644 index 1f87a50ca..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmssign/SingleSignatureInfo.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmssign; - - - -/** - * Encapsulates data to create a single signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SingleSignatureInfo { - /** - * Gets the dataObjectInfo information. - * - * @return The dataObjectInfo information. - */ - public DataObjectInfo getDataObjectInfo(); - - /** - * Check whether a Security Layer conform signature manifest will be created. - * - * @return true, if a Security Layer conform signature manifest - * will be created, false otherwise. - */ - public boolean isSecurityLayerConform(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java deleted file mode 100644 index 4c2c1ccb8..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmsverify; - -/** - * Base class for objects containing CMS content. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CMSContent { - /** - * Indicates that this object contains a reference to the CMS content. - */ - public static final int REFERENCE_CONTENT = 0; - /** - * Indicates that this object contains the CMS content explicitly. - */ - public static final int EXPLICIT_CONTENT = 1; - - /** - * Gets the type of the contained content. - * - * @return The type of content, either REFERENCE_CONTENT or - * EXPLICIT_CONTENT. - */ - public int getContentType(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java deleted file mode 100644 index 7fc602966..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmsverify; - -import java.io.InputStream; - -/** - * Encapsulates binary CMS content. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CMSContentExcplicit extends CMSContent { - /** - * Gets the content as a stream. - * - * @return A stream containing the binary content. - */ - public InputStream getBinaryContent(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java deleted file mode 100644 index ade197d33..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmsverify; - -/** - * Encapsulates CMS content that is referenced by an URI. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CMSContentReference extends CMSContent { - /** - * Gets the reference URI from wher the content can be retrieved. - * - * @return The reference URI. - */ - public String getReference(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java deleted file mode 100644 index f9a684676..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmsverify; - -import java.math.BigDecimal; - -import at.gv.egovernment.moa.spss.api.common.MetaInfo; - -/** - * A data object used for verification of CMS signatures. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CMSDataObject { - /** - * Gets the meta information of the content. - * - * @return An object containig the meta information. - */ - public MetaInfo getMetaInfo(); - /** - * Gets the actual content of the data object. - * - * @return The actual content. - */ - public CMSContent getContent(); - - - public BigDecimal getExcludeByteRangeFrom(); - - public BigDecimal getExcludeByteRangeTo(); - - } diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java deleted file mode 100644 index 225f685ec..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmsverify; - -import java.io.InputStream; -import java.util.Date; - -/** - * Object that encapsulates a request to verify a CMS signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyCMSSignatureRequest { - /** - * Indicates, that signature checks for all signatories must be returned. - */ - public static int[] ALL_SIGNATORIES = new int[] { -1 }; - /** - * Gets the positions of signatories whose signature must be verified. - * - * @return The positions of signatories. - */ - public int[] getSignatories(); - /** - * Gets the date and time for which the signature verification has to - * be performed. - * - * @return Date and time for which the signature verification has - * to be performed. - */ - public Date getDateTime(); - /** - * Gets the binary CMS signature. - * - * @return An InputStream from which the binary CMS signature - * can be read. - */ - public InputStream getCMSSignature(); - /** - * Gets the data object necessary for the verification. - * - * @return The data object necessary for verification. - */ - public CMSDataObject getDataObject(); - /** - * Gets the profile ID of trusted certificates to be used for signature - * verification. - * - * @return The profile ID of trusted certificates. - */ - public String getTrustProfileId(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java deleted file mode 100644 index 33924cb2c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmsverify; - -import java.util.List; - - -/** - * Object that encapsulates the response on a request to verify a CMS - * signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyCMSSignatureResponse { - /** - * Gets the response elements. - * - * @return The response elements. - */ - public List getResponseElements(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java deleted file mode 100644 index a1135babf..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.cmsverify; - -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; - -/** - * Contains detailed information about the verification of a signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyCMSSignatureResponseElement { - /** - * Gets a SignerInfo element according to CMS. - * - * @return The SignerInfo element according to CMS. - */ - public SignerInfo getSignerInfo(); - /** - * Gets the result of the signature verification. - * - * @return The result of the signature verification. - */ - public CheckResult getSignatureCheck(); - /** - * Gets the result of the certificate verification. - * - * @return The result of the certificate verification. - */ - public CheckResult getCertificateCheck(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Base64Transform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Base64Transform.java deleted file mode 100644 index 6050d5b5f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Base64Transform.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -/** - * A Transform performing a Base64 decoding. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface Base64Transform extends Transform { - /** Algorithm URI of the Base64 Transform type. */ - public static final String BASE64_DECODING = - "http://www.w3.org/2000/09/xmldsig#base64"; -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java deleted file mode 100644 index 988c5bc11..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import at.gv.egovernment.moa.util.Constants; - -/** - * A canonicalization type of Transform. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface CanonicalizationTransform extends Transform { - /** Algorithm URI of canonical XML. */ - public static final String CANONICAL_XML = Constants.C14N_URI; - /** Algorithm URI of canonical XML with comments. */ - public static final String CANONICAL_XML_WITH_COMMENTS = - Constants.C14N_WITH_COMMENTS_URI; -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CheckResult.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CheckResult.java deleted file mode 100644 index 5c949813e..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/CheckResult.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import org.w3c.dom.NodeList; - -/** - * Object encapsulating the result of a signature verification. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CheckResult { - /** - * Gets the result code. - * - * @return The result code. - */ - public int getCode(); - /** - * Gets descriptive information. - * - * @return Descriptive information. - */ - public NodeList getInfo(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Content.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Content.java deleted file mode 100644 index efde1ebd1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Content.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -/** - * Encapsulates content data. - * - * @author Patrick Peck - * @author Stephan Grill - * @author Gregor Karlinger - * @version $Id$ - */ -public interface Content { - - /** - * Indicates that this object contains a URI reference to some content. - */ - public static final int REFERENCE_CONTENT = 0; - - /** - * Indicates that this object contains binary content. - */ - public static final int BINARY_CONTENT = 1; - - /** - * Indicates that this object contains XML content. - */ - public static final int XML_CONTENT = 2; - - /** - * Indicates that this object contains a location reference content. - */ - public static final int LOCREF_CONTENT = 3; - - /** - * Gets the type of content contained in this object. - * - * @return The type of content, one of BINARY_CONTENT, XML_CONTENT, - * REFERENCE_CONTENT or LOCREF_CONTENT. - */ - public int getContentType(); - - /** - * Gets the reference to the content data (a URI). - * - * @return The reference to the content data. - */ - public String getReference(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentBinary.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentBinary.java deleted file mode 100644 index 77ec9ddb6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentBinary.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.io.InputStream; - -/** - * Encapsulates binary content. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface ContentBinary extends Content { - /** - * Get the binary content. - * - * @return An InputStream from which the binary content can - * be read. - */ - public InputStream getBinaryContent(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentLocRef.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentLocRef.java deleted file mode 100644 index d1ef09672..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentLocRef.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -/** - * Encapsulates location reference content. - * - * @author Gregor Karlinger - * @version $Id$ - */ -public interface ContentLocRef extends Content -{ - /** - * Gets the location reference URI pointing to the actual remote location of the content. - * - * @return the location reference URI. - */ - public String getLocationReferenceURI(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentReference.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentReference.java deleted file mode 100644 index 8c4a65809..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentReference.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -/** - * Content containing a reference to content data. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface ContentReference extends Content { - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentXML.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentXML.java deleted file mode 100644 index d41f6a6d4..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ContentXML.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import org.w3c.dom.NodeList; - -/** - * Encapsulates arbitrary XML content. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface ContentXML extends Content { - /** - * Gets the XML content stored in this object. - * - * @return The XML content. - */ - public NodeList getXMLContent(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ElementSelector.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ElementSelector.java deleted file mode 100644 index b446c5fed..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ElementSelector.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.util.Map; - -/** - * A class containing data for selecting single elements using an XPath - * expression. - * - * Derived classes are used to point to the CreateSignatureLocation - * and the VerifySignatureLocation. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface ElementSelector { - /** - * Gets the XPath expression pointing to a single element. - * - * @return The XPath expression to select the signature parent element. - */ - public String getXPathExpression(); - /** - * Gets the namespace prefix to URI mapping to use when evaluating the XPath. - * - * @return The namespace prefix to URI mapping. - */ - public Map getNamespaceDeclarations(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java deleted file mode 100644 index 8e6de8709..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -/** - * An enveloped signature type of Transform. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface EnvelopedSignatureTransform extends Transform { - /** - * Algorithm URI of the enveloped signature type of Transform. - */ - public static final String ENVELOPED_SIGNATURE = - "http://www.w3.org/2000/09/xmldsig#enveloped-signature"; -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java deleted file mode 100644 index 5c2b63368..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.util.List; - -import at.gv.egovernment.moa.util.Constants; - -/** - * An exclusive canonicalization type of Transform. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface ExclusiveCanonicalizationTransform extends Transform { - /** Algorithm URI of exclusive canonical XML. */ - public static final String EXCLUSIVE_CANONICAL_XML = Constants.EXC_C14N_URI; - /** Algorithm URI of exclusive canonical XML with comments. */ - public static final String EXCLUSIVE_CANONICAL_XML_WITH_COMMENTS = - Constants.EXC_C14N_WITH_COMMENTS_URI; - - /** - * Sets the namespace prefixes that are handled in the same manner as in - * canonical XML. - * - * @return The inclusive namespace prefixes. - */ - public List getInclusiveNamespacePrefixes(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/InputData.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/InputData.java deleted file mode 100644 index 8c940cde7..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/InputData.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -/** - * Interface specifying accessors for two attributes needed for returning - * HashInputData and ReferenceInputData information - * as part of VerifyXMLSignatureResponse. - * - * @author Gregor Karlinger - * - * @version $Id$ - */ -public interface InputData extends Content -{ - /** - * Possible value returned by {@link #getPartOf}. - */ - public static String CONTAINER_SIGNEDINFO_ = "SignedInfo"; - - /** - * Possible value returned by {@link #getPartOf}. - */ - public static String CONTAINER_XMLDSIGMANIFEST_ = "XMLDSIGManifest"; - - /** - * Value returned by {link getReferringReferenceNumber}, signalling that the - * attribute is not used. - */ - public static int REFERER_NONE_ = -1; - - /** - * Returns a String signalling what kind of container the - * XMLDSIG Reference this InputData belongs - * to is part of. - * - * @return the kind of container. - */ - public String getPartOf(); - - /** - * If this InputData belongs to an XMLDSIG Reference - * being part of either a XMLDSIGManifest or a SignatureManifest, this method - * returns a positive int value signalling the particular Reference - * of the XMLDSIG SignedInfo referring to the XMLDSIGManifest or - * SignatureManifest respectively. - */ - public int getReferringReferenceNumber(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/MetaInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/MetaInfo.java deleted file mode 100644 index 24132297c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/MetaInfo.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import org.w3c.dom.NodeList; - -/** - * Object encapsulating descriptive meta information. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface MetaInfo { - /** - * Gets the mime type of the associated object. - * - * @return The mimetype of the associated object. - */ - public String getMimeType(); - /** - * Gets the descriptive information (URI). - * - * @return URI referencing the descriptive information. - */ - public String getDescription(); - /** - * Gets the elemental informations. - * - * @return The elemental informations. - */ - public NodeList getAnyElements(); - /** - * Gets the XML signature creation type information of the associated object. - * - * @return the XML signature creation type information of the associated object. - */ - public String getType(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/SignerInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/SignerInfo.java deleted file mode 100644 index 777365ad3..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/SignerInfo.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.security.cert.X509Certificate; - - -/** - * Contains information about the signer. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SignerInfo { - /** - * Gets the signer certificate. - * - * @return The signer certificate. - */ - public X509Certificate getSignerCertificate(); - /** - * Checks, whether the certificate contained in this object is qualified. - * - * @return true, if the certificate is qualified, otherwise - * false. - */ - public boolean isQualifiedCertificate(); - - - /** - * Checks, whether the signature is based on a SSCD. - * - * @return true, if the signature is based on a SSCD, otherwise - * false. - */ - public boolean isSSCD(); - - /** - * Returns the source of the SSCD check (TSL or Certificate) * - */ - public String getSSCDSource(); - - /** - * Returns the source of the QC check (TSL or Certificate) * - */ - public String getQCSource(); - - /** - * Returns the signer certificate issuer country code - * @return - */ - public String getIssuerCountryCode(); - /** - * Checks, whether the certificate contained in this object is a - * public authority certificate. - * - * @return true, if the certificate is a public authority - * certificate, otherwise false. - */ - public boolean isPublicAuthority(); - /** - * Gets the public authority ID, if the certificate contained in this - * object is from a public authority. - * - * @return The public authority ID. - */ - public String getPublicAuhtorityID(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/TSLConfiguration.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/TSLConfiguration.java deleted file mode 100644 index 29529322c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/TSLConfiguration.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import iaik.ixsil.util.URI; - -import java.util.Date; - - -/** - * Contains TSL configuration information. - * - * @author kstranacher - */ -public interface TSLConfiguration { - - /** Default URL of EU TSL */ - public String DEFAULT_EU_TSL_URL = "https://ec.europa.eu/information_society/policy/esignature/trusted-list/tl-mp.xml"; - - /** Default period (1day=86400000 msec) for update schedule */ - public String DEFAULT_UPDATE_SCHEDULE_PERIOD = "86400000"; - - /** Default start time (2:00 AM) for update schedule */ - public String DEFAULT_UPDATE_SCHEDULE_STARTTIME = "02:00:00"; - - public String DEFAULT_WORKING_DIR = "tslworking"; - - /** - * Gets the EU TSL URL. - * - * @return The EU TSL URL. - */ - public String getEuTSLUrl(); - - /** - * - * @return - */ - public Date getUpdateScheduleStartTime(); - - /** - * - * @return - */ - public long getUpdateSchedulePeriod(); - - /** - * - * @return - */ - public String getWorkingDirectory(); - - /** - * - * @return - */ - public URI getWorkingDirectoryAsURI(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Transform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Transform.java deleted file mode 100644 index ad050b406..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/Transform.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -/** - * Base class for XMLDsig Transform elements. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface Transform { - /** - * Gets the algorithm URI of this Transform. - * - * @return The algorithm URI of this Transform. - */ - public String getAlgorithmURI(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java deleted file mode 100644 index 39ec807dd..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.math.BigInteger; - -/** - * Contains an X.509 issuer distinguished name/serial number pair. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface X509IssuerSerial { - /** - * Gets the issuer distinguished name. - * - * @return The issuer distinguished name. - */ - public String getX509IssuerName(); - /** - * Gets the issuer serial number. - * - * @return The issuer serial number. - */ - public BigInteger getX509SerialNumber(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java deleted file mode 100644 index fe2a7957c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - - -/** - * Object encapsulating arbitrary content and optional descriptive meta - * information. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface XMLDataObjectAssociation { - /** - * Gets descriptive meta information. - * - * @return The descriptive meta information. - */ - public MetaInfo getMetaInfo(); - /** - * Gets the actual content. - * - * @return The content of this association. - */ - public Content getContent(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter.java deleted file mode 100644 index 06a49a224..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.util.Map; - -/** - * An XPath expression set operation. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface XPathFilter { - /** Subtract this filter's node set from the resulting node set. */ - public static final String SUBTRACT_TYPE = "subtract"; - /** Intersect this filter's node set with the resulting node set. */ - public static final String INTERSECT_TYPE = "intersect"; - /** Compute the union of this filter's node set and the resulting node set. */ - public static final String UNION_TYPE = "union"; - - /** - * Gets the type of this XPathFilter. - * - * @return The type of this XPathFilter. - */ - public String getFilterType(); - /** - * Gets the XPath expression for selecting the nodes. - * - * @return The XPath expression for selecting the nodes. - */ - public String getXPathExpression(); - /** - * Gets The namespace prefix to URI mapping used during evaluation of the - * XPath expression. - * - * @return The namespace prefix to URI mapping. - */ - public Map getNamespaceDeclarations(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java deleted file mode 100644 index 6f05710e9..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.util.List; - -/** - * An XPath type of Transform containing multiple filters for - * performing set operations on XPath selections. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface XPathFilter2Transform extends Transform { - /** Algorithm URI for the XPath Filter2 Transform. */ - public static final String XPATH_FILTER2 = - "http://www.w3.org/2002/06/xmldsig-filter2"; - - /** - * Gets the XPathFilters contained in this - * XPathFilter2Transform. - * - * @return The XPathFilters. - */ - public List getFilters(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathTransform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathTransform.java deleted file mode 100644 index 99eda2ad2..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XPathTransform.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import java.util.Map; - -/** - * A Transform performing an XPath selection. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface XPathTransform extends Transform { - /** Algorithm URI of the XPath Transform. */ - public static final String XPATH = - "http://www.w3.org/TR/1999/REC-xpath-19991116"; - - /** - * Gets the XPath expression used for selection. - * - * @return The XPath expression used for selection. - */ - public String getXPathExpression(); - /** - * Gets The namespace prefix to URI mapping used during evaluation of the - * XPath expression. - * - * @return The namespace prefix to URI mapping. - */ - public Map getNamespaceDeclarations(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java deleted file mode 100644 index 8cb6c8e1f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.common; - -import org.w3c.dom.Element; - -/** - * A Transform containing an XSLT stylesheet. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface XSLTTransform extends Transform { - /** Algorithm URI for the XSLT type of Transform. */ - public static final String XSLT = - "http://www.w3.org/TR/1999/REC-xslt-19991116"; - - /** - * Gets the XSLT stylesheet element used for the transformation. - * - * @return The XSLT stylesheet element used for the transformation. - */ - public Element getStylesheet(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java deleted file mode 100644 index f708bab08..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.Base64Transform; - -/** - * Default implementation of Base64Transform. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class Base64TransformImpl - extends TransformImpl - implements Base64Transform { - - /** - * Create a new Base64TransformImpl object. - */ - public Base64TransformImpl() { - setAlgorithmURI(BASE64_DECODING); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java deleted file mode 100644 index 8dede90a6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.io.InputStream; - -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit; - -/** - * Default implementation of CMSContentExplicit. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CMSContentExplicitImpl implements CMSContentExcplicit { - - /** The binary content, as a stream. */ - private InputStream binaryContent; - - /** - * Sets the binary content as a stream. - * - * @param content The binary content as a stream. - */ - public void setBinaryContent(InputStream content) { - this.binaryContent = content; - } - - public InputStream getBinaryContent() { - return binaryContent; - } - - /** - * Gets the type of content. - * - * @return EXPLICIT_CONTENT - */ - public int getContentType() { - return EXPLICIT_CONTENT; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java deleted file mode 100644 index fb90c5f92..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentReference; - -/** - * Default implementation of CMSContentReference. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CMSContentReferenceImpl implements CMSContentReference { - - /** The reference pointing to the actual data. */ - private String reference; - - /** - * Sets the reference URI. - * - * @param referenceURI The URI pointing to the content data. - */ - public void setReference(String referenceURI) { - this.reference = referenceURI; - } - - public String getReference() { - return reference; - } - - /** - * Gets the content type. - * - * @return REFERENCE_CONTENT - */ - public int getContentType() { - return REFERENCE_CONTENT; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java deleted file mode 100644 index 20a9b5654..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.math.BigDecimal; - -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; - -/** - * Default implementation of CMLSDataObject. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CMSDataObjectImpl implements CMSDataObject { - - /** The MetaInfo associated with the CMS data object. */ - private MetaInfo metaInfo; - /** The CMSContent contained in this data object. */ - private CMSContent cmsContent; - - private BigDecimal excludeByteRangeFrom; - private BigDecimal excludeByteRangeTo; - - /** - * Sets the meta information associated with the CMS data object. - * - * @param metaInfo The meta information. - */ - public void setMetaInfo(MetaInfo metaInfo) { - this.metaInfo = metaInfo; - } - - public MetaInfo getMetaInfo() { - return metaInfo; - } - - /** - * Sets the data of this CMSDataObject. - * - * @param cmsContent The actual data of this CMSDataObject. - */ - public void setContent(CMSContent cmsContent) { - this.cmsContent = cmsContent; - } - - public CMSContent getContent() { - return cmsContent; - } - - public void setExcludeByteRangeFrom(BigDecimal excludeByteRangeFrom) { - this.excludeByteRangeFrom = excludeByteRangeFrom; - } - - public BigDecimal getExcludeByteRangeFrom() { - return excludeByteRangeFrom; - } - - public void setExcludeByteRangeTo(BigDecimal excludeByteRangeTo) { - this.excludeByteRangeTo = excludeByteRangeTo; - } - - public BigDecimal getExcludeByteRangeTo() { - return excludeByteRangeTo; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSSignatureResponseImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSSignatureResponseImpl.java deleted file mode 100644 index b512dd0bd..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CMSSignatureResponseImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; - -/** - * Default implementation of CMSSignatureResponse. - * - * @version $Id$ - */ -public class CMSSignatureResponseImpl - implements CMSSignatureResponse { - - /** The base64 value of the CMS signature. */ - private String cmsSignature; - - /** - * Sets the CMS signature. - * - * @param cmsSignature The Base64 encoded value CMS signature. - */ - public void setCMSSignature(String cmsSignature) { - this.cmsSignature = cmsSignature; - } - - public String getCMSSignature() { - return cmsSignature; - } - - /** - * Gets the type of CreateCMSSignatureResponseElement. - * - * @return CMS_SIGNATURE - */ - public int getResponseType() { - return CMS_SIGNATURE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java deleted file mode 100644 index f8efe26db..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform; - -/** - * Default implementation of CanonicalizationTransform. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CanonicalizationTransformImpl - extends TransformImpl - implements CanonicalizationTransform { - - /** - * Create a new CanonicalizationTransformImpl object. - * - * @param algorithmURI Algorithm URI of the canonicalization - * Transform type. - */ - public CanonicalizationTransformImpl(String algorithmURI) { - setAlgorithmURI(algorithmURI); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java deleted file mode 100644 index 5bb6e603b..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.api.common.CheckResult; - -/** - * Default implementation of CheckResult. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CheckResultImpl implements CheckResult { - /** The result code. */ - private int code; - - /** Additional information. */ - private NodeList info; - - /** - * Sets a result code. - * - * @param code The result code. - */ - public void setCode(int code) { - this.code = code; - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.CheckResult#getCode() - */ - public int getCode() { - return code; - } - - /** - * Sets a descriptive information. - * - * @param info The descriptive information. - */ - public void setInfo(NodeList info) { - this.info = info; - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.CheckResult#getInfo() - */ - public NodeList getInfo() { - return info; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java deleted file mode 100644 index 7fe1cf9ed..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.io.InputStream; - -import at.gv.egovernment.moa.spss.api.common.ContentBinary; - -/** - * Default implementation of ContentBinary. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class ContentBinaryImpl extends ContentImpl implements ContentBinary { - - /** The binary content as a stream. */ - private InputStream binaryContent; - - /** - * Sets the binary content as a stream. - * - * @param binaryContent The binary content as a stream. - */ - public void setBinaryContent(InputStream binaryContent) { - this.binaryContent = binaryContent; - } - - public InputStream getBinaryContent() { - return binaryContent; - } - - /** - * Gets the type of content. - * - * @return BINARY_CONTENT - */ - public int getContentType() { - return BINARY_CONTENT; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java deleted file mode 100644 index d0617476e..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.Content; - -/** - * Default base class for Content implementations. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class ContentImpl implements Content { - /** The reference pointing to the content data. */ - private String reference; - - /** - * Sets the reference pointing to the content data. - * - * @param referenceURI The URI of the content data. - */ - public void setReference(String referenceURI) { - this.reference = referenceURI; - } - - public String getReference() { - return reference; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentLocRefImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentLocRefImpl.java deleted file mode 100644 index aa01a93bb..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentLocRefImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.ContentLocRef; - -/** - * Default implementation of ContentLocRef. - * - * @author Gregor Karlinger - * @version $Id$ - */ -public class ContentLocRefImpl extends ContentImpl implements ContentLocRef -{ - /** - * The location reference URI pointing to the actual remote location of the content. - */ - private String locationReferenceURI_; - - /** - * @see at.gv.egovernment.moa.spss.api.common.ContentLocRef#getLocationReferenceURI() - */ - public String getLocationReferenceURI() - { - return locationReferenceURI_; - } - - /** - * Sets the location reference URI pointing to the actual remote location of the content. - * - * @param locationReferenceURI the location reference URI. - */ - public void setLocationReferenceURI(String locationReferenceURI) - { - locationReferenceURI_ = locationReferenceURI; - } - - /** - * Gets the type of content. - * - * @return LOCREF_CONTENT. - */ - public int getContentType() { - return LOCREF_CONTENT; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java deleted file mode 100644 index ab5c3b494..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.ContentReference; - -/** - * Default implementation of ContentReference. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ContentReferenceImpl - extends ContentImpl - implements ContentReference { - - /** - * Gets the type of content. - * - * @return REFERENCE_CONTENT - */ - public int getContentType() { - return REFERENCE_CONTENT; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java deleted file mode 100644 index dcc1935f9..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.api.common.ContentXML; - -/** - * Default implementation of ContentXML. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class ContentXMLImpl extends ContentImpl implements ContentXML { - - /** The nodes making up the XML content. */ - private NodeList xmlContent; - - /** - * Sets the nodes making up the XML content. - * - * @param xmlContent The XML content. - */ - public void setXMLContent(NodeList xmlContent) { - this.xmlContent = xmlContent; - } - - public NodeList getXMLContent() { - return xmlContent; - } - - /** - * Gets the type of content. - * - * @return XML_CONTENT - */ - public int getContentType() { - return XML_CONTENT; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureRequestImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureRequestImpl.java deleted file mode 100644 index e8408bc55..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureRequestImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; - -/** - * Default implementation of CreateCMSSignatureRequest. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateCMSSignatureRequestImpl - implements CreateCMSSignatureRequest { - - /** The identifier for selecting the private keys for creating the signature.*/ - private String keyIdentifier; - /** Information for creating a single signature. */ - private List singleSignatureInfos = new ArrayList(); - - /** - * Sets the identifier for selecting the private keys for creating the - * signature. - * - * @param keyIdentifier The identifier for selecting the private keys. - */ - public void setKeyIdentifier(String keyIdentifier) { - this.keyIdentifier = keyIdentifier; - } - - public String getKeyIdentifier() { - return keyIdentifier; - } - - /** - * Sets the information for creating single signatures. - * - * @param singleSignaureInfos The information for creating single signatures. - */ - public void setSingleSignatureInfos(List singleSignaureInfos) { - this.singleSignatureInfos = - singleSignaureInfos != null - ? Collections.unmodifiableList(new ArrayList(singleSignaureInfos)) - : null; - } - - public List getSingleSignatureInfos() { - return singleSignatureInfos; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureResponseImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureResponseImpl.java deleted file mode 100644 index d596058c6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateCMSSignatureResponseImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; - -/** - * Default implementation of CreateCMSSignatureResponse. - * - * @version $Id$ - */ -public class CreateCMSSignatureResponseImpl - implements CreateCMSSignatureResponse { - - /** The elements contained in the response. */ - private List responseElements = new ArrayList(); - - /** - * Sets the elements contained in the response. - * - * @param responseElements The response elements. - */ - public void setResponseElements(List responseElements) { - this.responseElements = - responseElements != null - ? Collections.unmodifiableList(new ArrayList(responseElements)) - : null; - } - - public List getResponseElements() { - return responseElements; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java deleted file mode 100644 index 9fe8eaf8b..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation; - -/** - * Default implementation of - * . - * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateSignatureEnvironmentProfileExplicitImpl - implements CreateSignatureEnvironmentProfileExplicit { - - /** The insertion location of the signature to be created. */ - private CreateSignatureLocation createSignatureLocation; - - /** Supplemental information for evaluating the signature environment. */ - private List supplements; - - /** - * Sets the insertion location of the signature to be created. - * - * @param createSignatureLocation The insertion location of the signature to - * be created. - */ - public void setCreateSignatureLocation(CreateSignatureLocation createSignatureLocation) { - this.createSignatureLocation = createSignatureLocation; - } - - public CreateSignatureLocation getCreateSignatureLocation() { - return createSignatureLocation; - } - - /** - * Sets the supplemental information for evaluating the signature - * environment. - * - * @param supplements The supplemental information. - */ - public void setSupplements(List supplements) { - this.supplements = - supplements != null - ? Collections.unmodifiableList(new ArrayList(supplements)) - : null; - } - - public List getSupplements() { - return supplements; - } - - /** - * Gets the type of profile. - * - * @return EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE - */ - public int getCreateSignatureEnvironmentProfileType() { - return EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java deleted file mode 100644 index 5edbf4f94..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileID; - -/** - * Default implementation of CreateSignatureEnvironmentProfileID. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateSignatureEnvironmentProfileIDImpl - implements CreateSignatureEnvironmentProfileID { - - /** The profile ID. */ - private String createSignatureEnvironmentProfileID; - - /** - * Sets the profile ID. - * - * @param profileID The profile ID. - */ - public void setCreateSignatureEnvironmentProfileID(String profileID) { - this.createSignatureEnvironmentProfileID = profileID; - } - - public String getCreateSignatureEnvironmentProfileID() { - return createSignatureEnvironmentProfileID; - } - - /** - * Gets the type of profile. - * - * @return ID_CREATESIGNATUREENVIRONMENTPROFILE - */ - public int getCreateSignatureEnvironmentProfileType() { - return ID_CREATESIGNATUREENVIRONMENTPROFILE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java deleted file mode 100644 index 711163362..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; - -/** - * Default implementation of CreateSignatureInfo. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateSignatureInfoImpl implements CreateSignatureInfo { - - /** The signature environment that will contain the newly created - * signature. */ - private Content createSignatureEnvironment; - - /** Additional information about the signature environment. */ - private CreateSignatureEnvironmentProfile createSignatureEnvironmentProfile; - - /** - * Sets the signature environment that will contain the newly created - * signature. - * - * @param createSignatureEnvironment The signature environment. - */ - public void setCreateSignatureEnvironment(Content createSignatureEnvironment) { - this.createSignatureEnvironment = createSignatureEnvironment; - } - - public Content getCreateSignatureEnvironment() { - return createSignatureEnvironment; - } - - /** - * Sets the signature environment profile containing additional information - * about the signature environment. - * - * @param profile The signature environment profile. - */ - public void setCreateSignatureEnvironmentProfile(CreateSignatureEnvironmentProfile profile) { - this.createSignatureEnvironmentProfile = profile; - } - - public CreateSignatureEnvironmentProfile getCreateSignatureEnvironmentProfile() { - return createSignatureEnvironmentProfile; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java deleted file mode 100644 index 6f3101f00..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation; - -/** - * Default implementation of CreateSignatureLocation. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateSignatureLocationImpl - extends ElementSelectorImpl - implements CreateSignatureLocation { - - /** The index of the newly created signature. */ - private int index; - - /** - * Sets the index of the newly created signature. - * - * @param index The index of the newly created signature. - */ - public void setIndex(int index) { - this.index = index; - } - - public int getIndex() { - return index; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java deleted file mode 100644 index d53f103ad..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; - -/** - * Default implementation of CreateTransformsInfo. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateTransformsInfoImpl implements CreateTransformsInfo { - /** The dsig:Transforms. */ - private List transforms; - /** Meta information about the data resulting from the transforms. */ - private MetaInfo finalDataMetaInfo; - - /** - * Sets the transforms. - * - * @param transforms The transforms. - */ - public void setTransforms(List transforms) { - this.transforms = - transforms != null - ? Collections.unmodifiableList(new ArrayList(transforms)) - : null; - } - - public List getTransforms() { - return transforms; - } - - /** - * Sets the meta information about the data resulting from the transforms. - * - * @param finalDataMetaInfo The meta information. - */ - public void setFinalDataMetaInfo(MetaInfo finalDataMetaInfo) { - this.finalDataMetaInfo = finalDataMetaInfo; - } - - public MetaInfo getFinalDataMetaInfo() { - return finalDataMetaInfo; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java deleted file mode 100644 index b6b9d5269..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; - -/** - * Default implementation of CreateTransformsInfoProfileExplicit. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateTransformsInfoProfileExplicitImpl - implements CreateTransformsInfoProfileExplicit { - - /** Transformation information. */ - private CreateTransformsInfo transformsInfo; - /** Additional data for the transformations. */ - private List supplements = new ArrayList(); - - /** - * Sets the transformation information. - * - * @param transformsInfo The transformation information. - */ - public void setCreateTransformsInfo(CreateTransformsInfo transformsInfo) { - this.transformsInfo = transformsInfo; - } - - public CreateTransformsInfo getCreateTransformsInfo() { - return transformsInfo; - } - - /** - * Sets the additional data for the transformations. - * - * @param supplements The additional data. - */ - public void setSupplements(List supplements) { - this.supplements = - supplements != null - ? Collections.unmodifiableList(new ArrayList(supplements)) - : null; - } - - public List getSupplements() { - return supplements; - } - - /** - * Gets the type of profile. - * - * @return EXPLICIT_CREATETRANSFORMSINFOPROFILE - */ - public int getCreateTransformsInfoProfileType() { - return EXPLICIT_CREATETRANSFORMSINFOPROFILE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java deleted file mode 100644 index 55d0ca691..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileID; - -/** - * Default implementation of CreateTransformsInfoProfileID. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateTransformsInfoProfileIDImpl - implements CreateTransformsInfoProfileID { - - /** The profile ID. */ - private String createTransformsID; - - /** - * Sets the profile ID. - * @param createTransformsID The profile ID. - */ - public void setCreateTransformsInfoProfileID(String createTransformsID) { - this.createTransformsID = createTransformsID; - } - - public String getCreateTransformsInfoProfileID() { - return createTransformsID; - } - - /** - * Gets the type of profile. - * - * @return ID_CREATETRANSFORMSINFOPROFILE - */ - public int getCreateTransformsInfoProfileType() { - return ID_CREATETRANSFORMSINFOPROFILE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java deleted file mode 100644 index aaffaa7eb..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; - -/** - * Default implementation of CreateXMLSignatureRequest. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateXMLSignatureRequestImpl - implements CreateXMLSignatureRequest { - - /** The identifier for selecting the private keys for creating the signature.*/ - private String keyIdentifier; - /** Information for creating a single signature. */ - private List singleSignatureInfos = new ArrayList(); - - /** - * Sets the identifier for selecting the private keys for creating the - * signature. - * - * @param keyIdentifier The identifier for selecting the private keys. - */ - public void setKeyIdentifier(String keyIdentifier) { - this.keyIdentifier = keyIdentifier; - } - - public String getKeyIdentifier() { - return keyIdentifier; - } - - /** - * Sets the information for creating single signatures. - * - * @param singleSignaureInfos The information for creating single signatures. - */ - public void setSingleSignatureInfos(List singleSignaureInfos) { - this.singleSignatureInfos = - singleSignaureInfos != null - ? Collections.unmodifiableList(new ArrayList(singleSignaureInfos)) - : null; - } - - public List getSingleSignatureInfos() { - return singleSignatureInfos; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java deleted file mode 100644 index 7a8359fe9..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; - -/** - * Default implementation of CreateXMLSignatureResponse. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class CreateXMLSignatureResponseImpl - implements CreateXMLSignatureResponse { - - /** The elements contained in the response. */ - private List responseElements = new ArrayList(); - - /** - * Sets the elements contained in the response. - * - * @param responseElements The response elements. - */ - public void setResponseElements(List responseElements) { - this.responseElements = - responseElements != null - ? Collections.unmodifiableList(new ArrayList(responseElements)) - : null; - } - - public List getResponseElements() { - return responseElements; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoCMSImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoCMSImpl.java deleted file mode 100644 index 702086b6f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoCMSImpl.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; - -/** - * Default implementation of DataObjectInfo for CMS. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class DataObjectInfoCMSImpl implements DataObjectInfo { - /** The signature structure type. */ - private String stucture; - /** The data object to be signed. */ - private CMSDataObject dataObject; - - /** - * Sets the signature structure type. - * - * @param structure The signature structure type. - */ - public void setStructure(String structure) { - this.stucture = structure; - } - - public String getStructure() { - return stucture; - } - - - /** - * Sets the data object to be signed. - * - * @param dataObject The data object to be signed. - */ - public void setDataObject(CMSDataObject dataObject) { - this.dataObject = dataObject; - } - - public CMSDataObject getDataObject() { - return dataObject; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java deleted file mode 100644 index 7a25a97be..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; - -/** - * Default implementation of DataObjectInfo. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class DataObjectInfoImpl implements DataObjectInfo { - /** The signature structure type. */ - private String stucture; - /** Whether a reference will be placed in the signature itself or in the - * manifest */ - private boolean childOfManifest; - /** The data object to be signed. */ - private Content dataObject; - /** The profile containing additional information for the transformations. */ - private CreateTransformsInfoProfile createTransformsInfoProfile; - - /** - * Sets the signature structure type. - * - * @param structure The signature structure type. - */ - public void setStructure(String structure) { - this.stucture = structure; - } - - public String getStructure() { - return stucture; - } - - /** - * Sets whether a reference will be placed in the signature itself or in the - * manifest. - * - * @param childOfManifest Whether to put the reference in the signature of - * in the manifest. - */ - public void setChildOfManifest(boolean childOfManifest) { - this.childOfManifest = childOfManifest; - } - - public boolean isChildOfManifest() { - return childOfManifest; - } - - /** - * Sets the data object to be signed. - * - * @param dataObject The data object to be signed. - */ - public void setDataObject(Content dataObject) { - this.dataObject = dataObject; - } - - public Content getDataObject() { - return dataObject; - } - - /** - * Sets additional information for the transformations. - * - * @param profile The profile containing additional information for the - * transformations. - */ - public void setCreateTransformsInfoProfile(CreateTransformsInfoProfile profile) { - this.createTransformsInfoProfile = profile; - } - - public CreateTransformsInfoProfile getCreateTransformsInfoProfile() { - return createTransformsInfoProfile; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java deleted file mode 100644 index 7de066075..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.HashMap; -import java.util.Map; - -import at.gv.egovernment.moa.spss.api.common.ElementSelector; - -/** - * Default implementation of ElementSelector. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class ElementSelectorImpl implements ElementSelector { - /** The XPath expression pointing to the element. */ - private String xPathExpression; - /** The namespace declarations to apply for evaluating the XPath */ - private Map namespaceDeclarations = new HashMap(); - - /** - * Sets the XPath expression pointing to the element. - * - * @param xPathExpression XPath expression pointing to the element. - */ - public void setXPathExpression(String xPathExpression) { - this.xPathExpression = xPathExpression; - } - - public String getXPathExpression() { - return xPathExpression; - } - - /** - * Sets namespace declarations to apply for evaluating the XPath. - * - * @param namespaceDeclarations The namespace declarations to apply for - * evaluating the XPath. - */ - public void setNamespaceDeclarations(Map namespaceDeclarations) { - this.namespaceDeclarations = namespaceDeclarations; - } - - public Map getNamespaceDeclarations() { - return namespaceDeclarations; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java deleted file mode 100644 index 121037f30..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform; - -/** - * Default implementation of EnvelopedSignatureTransform. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class EnvelopedSignatureTransformImpl - extends TransformImpl - implements EnvelopedSignatureTransform { - - /** - * Create a EnvelopedSignatureTransformImpl. - */ - public EnvelopedSignatureTransformImpl() { - setAlgorithmURI(ENVELOPED_SIGNATURE); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java deleted file mode 100644 index a2a59a743..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; - -/** - * Default implementation of ErrorResponse. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class ErrorResponseImpl implements ErrorResponse { - /** The error code. */ - private int code; - /** Verbose error message. */ - private String info; - - /** - * Sets the error code. - * - * @param code The error code. - */ - public void setErrorCode(int code) { - this.code = code; - } - - public int getErrorCode() { - return code; - } - - /** - * Sets the verbose error information. - * - * @param info The verbose error information. - */ - public void setInfo(String info) { - this.info = info; - } - - public String getInfo() { - return info; - } - - /** - * Gets the response type. - * - * @return ERROR_RESPONSE - */ - public int getResponseType() { - return ERROR_RESPONSE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java deleted file mode 100644 index eea09c035..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; - -/** - * Default implementation of ExclusiveCanonicalizationTransform. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ExclusiveCanonicalizationTransformImpl - extends TransformImpl - implements ExclusiveCanonicalizationTransform { - - /** The namespaces to treat according to canonical XML. */ - private List inclusiveNamespacePrefixes; - - /** - * Create a ExclusiveCanonicalizationTransformImpl object. - * - * @param algorithmURI The algorithm URI identifying the transformation - * algorithm. - */ - public ExclusiveCanonicalizationTransformImpl(String algorithmURI) { - setAlgorithmURI(algorithmURI); - } - - /** - * Sets the namespaces to treat according to canonical XML. - * @param inclusiveNamespacePrefixes The namespaces to treat according to - * canonical XML. - */ - public void setInclusiveNamespacePrefixes(List inclusiveNamespacePrefixes) { - this.inclusiveNamespacePrefixes = - inclusiveNamespacePrefixes != null - ? Collections.unmodifiableList(new ArrayList(inclusiveNamespacePrefixes)) - : null; - } - - public List getInclusiveNamespacePrefixes() { - return inclusiveNamespacePrefixes; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataBinaryImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataBinaryImpl.java deleted file mode 100644 index 27f6f85ab..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataBinaryImpl.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.io.InputStream; - -import at.gv.egovernment.moa.spss.MOARuntimeException; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.ContentBinary; -import at.gv.egovernment.moa.spss.api.common.InputData; - -/** - * Content wrapper decorating a binary content with two additional attributes - * needed for returning HashInputData and ReferenceInputData - * information as part of VerifyXMLSignatureResponse. - * - * @author Gregor Karlinger - * - * @version $Id$ - */ -public class InputDataBinaryImpl implements ContentBinary, InputData -{ - /** - * The wrapped Content. - */ - protected ContentBinary wrapped_; - - /** - * This attribute signals what kind of container the XMLDSIG Reference - * this InputData belongs to is part of. - */ - protected String partOf_; - - /** - * If this InputData belongs to an XMLDSIG Reference - * being part of either a XMLDSIGManifest or a SignatureManifest, this attribute - * (a positive int) signals the particular Reference of the XMLDSIG - * SignedInfo referring to the XMLDSIGManifest or SignatureManifest - * respectively. - */ - protected int referringReferenceNumber_; - - /** - * Creates a new instance. - * - * @param wrapped The wrapped Content. Must be of type {@link Content#BINARY_CONTENT}. - * - * @param partOf see {@link InputData} - * - * @param referringReferenceNumber see {@link InputData} - */ - public InputDataBinaryImpl(Content wrapped, String partOf, int referringReferenceNumber) throws MOARuntimeException - { - if (wrapped.getContentType() != Content.BINARY_CONTENT) throw new MOARuntimeException("9901", null); - - wrapped_ = (ContentBinary) wrapped; - partOf_ = partOf; - referringReferenceNumber_ = referringReferenceNumber; - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.Content#getContentType() - */ - public int getContentType() - { - return wrapped_.getContentType(); - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.Content#getReference() - */ - public String getReference() - { - return wrapped_.getReference(); - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.ContentBinary#getBinaryContent() - */ - public InputStream getBinaryContent() - { - return wrapped_.getBinaryContent(); - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.InputData#getPartOf() - */ - public String getPartOf() - { - return partOf_; - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.InputData#getReferringReferenceNumber() - */ - public int getReferringReferenceNumber() - { - return referringReferenceNumber_; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataXMLImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataXMLImpl.java deleted file mode 100644 index 432e1a242..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/InputDataXMLImpl.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.MOARuntimeException; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.ContentXML; -import at.gv.egovernment.moa.spss.api.common.InputData; - -/** - * Content wrapper decorating an XML content with two additional attributes - * needed for returning HashInputData and ReferenceInputData - * information as part of VerifyXMLSignatureResponse. - * - * @author Gregor Karlinger - * - * @version $Id$ - */ -public class InputDataXMLImpl implements ContentXML, InputData -{ - /** - * The wrapped ContentXML. - */ - protected ContentXML wrapped_; - - /** - * This attribute signals what kind of container the XMLDSIG Reference - * this InputData belongs to is part of. - */ - protected String partOf_; - - /** - * If this InputData belongs to an XMLDSIG Reference - * being part of either a XMLDSIGManifest or a SignatureManifest, this attribute - * (a positive int) signals the particular Reference of the XMLDSIG - * SignedInfo referring to the XMLDSIGManifest or SignatureManifest - * respectively. - */ - protected int referringReferenceNumber_; - - /** - * Creates a new instance. - * - * @param wrapped The wrapped ContentBinary. Must be of type {@link Content#XML_CONTENT}. - * - * @param partOf see {@link InputData} - * - * @param referringReferenceNumber see {@link InputData} - */ - public InputDataXMLImpl(Content wrapped, String partOf, int referringReferenceNumber) - { - if (wrapped.getContentType() != Content.XML_CONTENT) throw new MOARuntimeException("9901", null); - - wrapped_ = (ContentXML) wrapped; - partOf_ = partOf; - referringReferenceNumber_ = referringReferenceNumber; - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.Content#getContentType() - */ - public int getContentType() - { - return wrapped_.getContentType(); - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.Content#getReference() - */ - public String getReference() - { - return wrapped_.getReference(); - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.ContentXML#getXMLContent() - */ - public NodeList getXMLContent() - { - return wrapped_.getXMLContent(); - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.InputData#getPartOf() - */ - public String getPartOf() - { - return partOf_; - } - - /** - * @see at.gv.egovernment.moa.spss.api.common.InputData#getReferringReferenceNumber() - */ - public int getReferringReferenceNumber() - { - return referringReferenceNumber_; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java deleted file mode 100644 index e5b7f403e..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo; - -/** - * Default implementation of ManifestRefsCheckResult. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class ManifestRefsCheckResultImpl implements ManifestRefsCheckResult { - /** The numerical check code. */ - private int code; - /** Additional information about the check. */ - private ManifestRefsCheckResultInfo info; - - /** - * Sets the check code. - * - * @param code A numerical representation of the result of the manifest check. - */ - public void setCode(int code) { - this.code = code; - } - - public int getCode() { - return code; - } - - /** - * Sets a reference to the manifest. - * - * @param info The reference to the manifest. - */ - public void setInfo(ManifestRefsCheckResultInfo info) { - this.info = info; - } - - public ManifestRefsCheckResultInfo getInfo() { - return info; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java deleted file mode 100644 index f0ef1c58e..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo; - -/** - * Default implementation of ManifestRefsCheckResultInfo. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class ManifestRefsCheckResultInfoImpl - extends ReferencesCheckResultInfoImpl - implements ManifestRefsCheckResultInfo { - - /** The position of the signature reference containing the reference to the - * manifest being described by this object.*/ - private int referringSignatureReference; - - /** - * Sets the position of the signature reference containing the reference to - * the manifest being described by this object. - * @param referringSignatureReference The position of the signature reference. - */ - public void setReferringSignatureReference(int referringSignatureReference) { - this.referringSignatureReference = referringSignatureReference; - } - - public int getReferringSignatureReference() { - return referringSignatureReference; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java deleted file mode 100644 index e3a06c63d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.api.common.MetaInfo; - -/** - * Default implementation of MetaInfo. - * @author Fatemeh Philippi - * @version $Id$ - */ -public class MetaInfoImpl implements MetaInfo { - /** Information about the MIME type. */ - private String mimeType; - /** URI pointing to a description of the content. */ - private String description; - /** Descriptive XML content. */ - private NodeList anyElements; - /** Type information for XML signature creation */ - private String type; - - /** - * Sets the MIME type. - * - * @param mimeType The MIME type to set. - */ - public void setMimeType(String mimeType) { - this.mimeType = mimeType; - } - - public String getMimeType() { - return mimeType; - } - - /** - * Sets the URI pointing to a description of the content. - * - * @param description The URI pointing to a description of the content. - */ - public void setDescription(String description) { - this.description = description; - } - - public String getDescription() { - return description; - } - - /** - * Sets descriptive XML content. - * - * @param anyElements The elements to set. - */ - public void setAnyElements(NodeList anyElements) { - this.anyElements = anyElements; - } - - public NodeList getAnyElements() { - return anyElements; - } - - /** - * Sets the XML signature creation type information. - * - * @param type the XML signature creation type information to set. - */ - public void setType(String type) { - this.type = type; - } - - public String getType() { - return type; - } - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java deleted file mode 100644 index 8bd81a737..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; - -/** - * Default implementation of ReferenceInfo. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class ReferenceInfoImpl implements ReferenceInfo { - /** Profile containing the transforms allowed in the signature. */ - private List verifyTransformsInfoProfiles; - - /** - * Sets the transforms profile used for verifying the transforms contained - * in the signature. - * - * @param verifyTransformsInfoProfiles The profiles containing the transforms - * allowed in the signature. - */ - public void setVerifyTransformsInfoProfiles(List verifyTransformsInfoProfiles) { - this.verifyTransformsInfoProfiles = - verifyTransformsInfoProfiles != null - ? Collections.unmodifiableList( - new ArrayList(verifyTransformsInfoProfiles)) - : null; - } - - public List getVerifyTransformsInfoProfiles() { - return verifyTransformsInfoProfiles; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java deleted file mode 100644 index d4cbab09f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo; - -/** - * Default implementation of ReferencesCheckResult. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ReferencesCheckResultImpl implements ReferencesCheckResult { - /** The check code. */ - private int code; - /** Additional information about the reference check. */ - private ReferencesCheckResultInfo info; - - /** - * Sets the check code. - * - * @param code A numerical representation of the result of the reference - * check. - */ - public void setCode(int code) { - this.code = code; - } - - public int getCode() { - return code; - } - - /** - * Sets additional information about the reference check. - * - * @param manifestRefsCheckResultInfo Additional information about the - * reference check. - */ - public void setInfo(ReferencesCheckResultInfo manifestRefsCheckResultInfo) { - this.info = manifestRefsCheckResultInfo; - } - - public ReferencesCheckResultInfo getInfo() { - return info; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java deleted file mode 100644 index a6969889b..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo; - -/** - * Default implementation of ReferencesCheckResultInfo. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ReferencesCheckResultInfoImpl - implements ReferencesCheckResultInfo { - - /** Additional information about the references check. */ - private NodeList anyOtherInfo; - /** The indexes of the failed references. */ - private int[] failedReferences = new int[0]; - - /** - * Sets additional information about the references check. - * @param anyOtherInfo Additional information about the references check. - */ - public void setAnyOtherInfo(NodeList anyOtherInfo) { - this.anyOtherInfo = anyOtherInfo; - } - - public NodeList getAnyOtherInfo() { - return anyOtherInfo; - } - - /** - * Sets the indexes of the failed references. - * - * @param failedReferences The indexes of the failed references. - */ - public void setFailedReferences(int[] failedReferences) { - this.failedReferences = failedReferences; - } - - public int[] getFailedReferences() { - return failedReferences; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java deleted file mode 100644 index ac3d4c940..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java +++ /dev/null @@ -1,656 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.io.InputStream; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.security.cert.X509Certificate; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; -import at.gv.egovernment.moa.spss.api.common.Transform; -import at.gv.egovernment.moa.spss.api.common.X509IssuerSerial; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.common.XPathFilter; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; - -/** - * Default implementation of SPSSFactory. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SPSSFactoryImpl extends SPSSFactory { - - public CreateXMLSignatureRequest createCreateXMLSignatureRequest( - String keyIdentifier, - List singleSignatureInfos) { - CreateXMLSignatureRequestImpl createXMLSignatureRequest = - new CreateXMLSignatureRequestImpl(); - createXMLSignatureRequest.setKeyIdentifier(keyIdentifier); - createXMLSignatureRequest.setSingleSignatureInfos(singleSignatureInfos); - return createXMLSignatureRequest; - } - - public CreateCMSSignatureRequest createCreateCMSSignatureRequest( - String keyIdentifier, - List singleSignatureInfos) { - CreateCMSSignatureRequestImpl createCMSSignatureRequest = - new CreateCMSSignatureRequestImpl(); - createCMSSignatureRequest.setKeyIdentifier(keyIdentifier); - createCMSSignatureRequest.setSingleSignatureInfos(singleSignatureInfos); - return createCMSSignatureRequest; - - } - - public CreateCMSSignatureResponse createCreateCMSSignatureResponse(List responseElements) { - CreateCMSSignatureResponseImpl createCMSSignatureResponse = new CreateCMSSignatureResponseImpl(); - createCMSSignatureResponse.setResponseElements(responseElements); - return createCMSSignatureResponse; - } - - - public CMSSignatureResponse createCMSSignatureResponse(String base64value) { - CMSSignatureResponseImpl cmsSignatureResponse = new CMSSignatureResponseImpl(); - cmsSignatureResponse.setCMSSignature(base64value); - - return cmsSignatureResponse; - } - - - public SingleSignatureInfo createSingleSignatureInfo( - List dataObjectInfos, - CreateSignatureInfo createSignatureInfo, - boolean securityLayerConform) { - SingleSignatureInfoImpl singleSignatureInfo = new SingleSignatureInfoImpl(); - singleSignatureInfo.setDataObjectInfos(dataObjectInfos); - singleSignatureInfo.setCreateSignatureInfo(createSignatureInfo); - singleSignatureInfo.setSecurityLayerConform(securityLayerConform); - return singleSignatureInfo; - } - - public at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo createSingleSignatureInfoCMS( - at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo dataObjectInfo, - boolean securityLayerConform) { - SingleSignatureInfoCMSImpl singleSignatureInfo = new SingleSignatureInfoCMSImpl(); - singleSignatureInfo.setDataObjectInfo(dataObjectInfo); - singleSignatureInfo.setSecurityLayerConform(securityLayerConform); - return singleSignatureInfo; - } - - public DataObjectInfo createDataObjectInfo( - String structure, - boolean childOfManifest, - Content dataObject, - CreateTransformsInfoProfile createTransformsInfoProfile) { - DataObjectInfoImpl dataObjectInfo = new DataObjectInfoImpl(); - dataObjectInfo.setStructure(structure); - dataObjectInfo.setChildOfManifest(childOfManifest); - dataObjectInfo.setDataObject(dataObject); - dataObjectInfo.setCreateTransformsInfoProfile(createTransformsInfoProfile); - return dataObjectInfo; - } - - public at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo createDataObjectInfo( - String structure, - CMSDataObject dataObject) { - DataObjectInfoCMSImpl dataObjectInfo = new DataObjectInfoCMSImpl(); - dataObjectInfo.setStructure(structure); - dataObjectInfo.setDataObject(dataObject); - return dataObjectInfo; - } - - public CreateTransformsInfoProfile createCreateTransformsInfoProfile(String profileID) { - - CreateTransformsInfoProfileIDImpl createTransformsInfoProfile = - new CreateTransformsInfoProfileIDImpl(); - createTransformsInfoProfile.setCreateTransformsInfoProfileID(profileID); - return createTransformsInfoProfile; - } - - public CreateTransformsInfoProfile createCreateTransformsInfoProfile( - CreateTransformsInfo transformsInfo, - List supplements) { - CreateTransformsInfoProfileExplicitImpl createTransformsInfoProfile = - new CreateTransformsInfoProfileExplicitImpl(); - createTransformsInfoProfile.setCreateTransformsInfo(transformsInfo); - createTransformsInfoProfile.setSupplements(supplements); - return createTransformsInfoProfile; - } - - public CreateTransformsInfo createCreateTransformsInfo( - List transforms, - MetaInfo finalDataMetaInfo) { - CreateTransformsInfoImpl createTransformsInfo = - new CreateTransformsInfoImpl(); - - createTransformsInfo.setTransforms(transforms); - createTransformsInfo.setFinalDataMetaInfo(finalDataMetaInfo); - return createTransformsInfo; - } - - public CreateSignatureInfo createCreateSignatureInfo( - Content createSignatureEnvironment, - CreateSignatureEnvironmentProfile createSignatureEnvironmentProfile) { - CreateSignatureInfoImpl createSignatureInfo = new CreateSignatureInfoImpl(); - createSignatureInfo.setCreateSignatureEnvironment( - createSignatureEnvironment); - createSignatureInfo.setCreateSignatureEnvironmentProfile( - createSignatureEnvironmentProfile); - return createSignatureInfo; - } - - public CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile( - CreateSignatureLocation createSignatureLocation, - List supplements) { - CreateSignatureEnvironmentProfileExplicitImpl createSignatureEnvironmentProfile = - new CreateSignatureEnvironmentProfileExplicitImpl(); - createSignatureEnvironmentProfile.setCreateSignatureLocation( - createSignatureLocation); - createSignatureEnvironmentProfile.setSupplements(supplements); - return createSignatureEnvironmentProfile; - } - - public CreateSignatureLocation createCreateSignatureLocation( - String signatureLocationXPath, - int signatureLocationIndex, - Map namespaceDeclarations) { - CreateSignatureLocationImpl createSignatureLocation = - new CreateSignatureLocationImpl(); - createSignatureLocation.setIndex(signatureLocationIndex); - createSignatureLocation.setNamespaceDeclarations(namespaceDeclarations); - createSignatureLocation.setXPathExpression(signatureLocationXPath); - return createSignatureLocation; - } - - public CreateSignatureEnvironmentProfile createCreateSignatureEnvironmentProfile(String profileID) { - CreateSignatureEnvironmentProfileIDImpl createSignatureEnvironmentProfile = - new CreateSignatureEnvironmentProfileIDImpl(); - createSignatureEnvironmentProfile.setCreateSignatureEnvironmentProfileID( - profileID); - return createSignatureEnvironmentProfile; - } - - public CreateXMLSignatureResponse createCreateXMLSignatureResponse(List responseElements) { - CreateXMLSignatureResponseImpl createXMLSignatureResponse = - new CreateXMLSignatureResponseImpl(); - createXMLSignatureResponse.setResponseElements(responseElements); - return createXMLSignatureResponse; - } - - public SignatureEnvironmentResponse createSignatureEnvironmentResponse(Element signatureEnvironment) { - SignatureEnvironmentResponseImpl signatureEnvironmentResponse = - new SignatureEnvironmentResponseImpl(); - signatureEnvironmentResponse.setSignatureEnvironment(signatureEnvironment); - return signatureEnvironmentResponse; - } - - public ErrorResponse createErrorResponse(int code, String info) { - ErrorResponseImpl errorResponse = new ErrorResponseImpl(); - errorResponse.setErrorCode(code); - errorResponse.setInfo(info); - return errorResponse; - } - - public VerifyCMSSignatureRequest createVerifyCMSSignatureRequest( - int[] signatories, - Date dateTime, - InputStream cmsSignature, - CMSDataObject dataObject, - String trustProfileID) { - VerifyCMSSignatureRequestImpl verifyCMSSignatureRequest = - new VerifyCMSSignatureRequestImpl(); - verifyCMSSignatureRequest.setDateTime(dateTime); - verifyCMSSignatureRequest.setCMSSignature(cmsSignature); - verifyCMSSignatureRequest.setDataObject(dataObject); - verifyCMSSignatureRequest.setTrustProfileId(trustProfileID); - verifyCMSSignatureRequest.setSignatories(signatories); - return verifyCMSSignatureRequest; - } - - public CMSDataObject createCMSDataObject( - MetaInfo metaInfo, - CMSContent content, - BigDecimal excludeByteRangeFrom, - BigDecimal excludeByteRangeTo) { - - CMSDataObjectImpl cmsDataObject = new CMSDataObjectImpl(); - cmsDataObject.setMetaInfo(metaInfo); - cmsDataObject.setContent(content); - cmsDataObject.setExcludeByteRangeFrom(excludeByteRangeFrom); - cmsDataObject.setExcludeByteRangeTo(excludeByteRangeTo); - - return cmsDataObject; - } - - public CMSContent createCMSContent(InputStream binaryContent) { - CMSContentExplicitImpl cmsContent = new CMSContentExplicitImpl(); - - cmsContent.setBinaryContent(binaryContent); - return cmsContent; - } - - public CMSContent createCMSContent(String referenceURI) { - CMSContentReferenceImpl cmsContent = new CMSContentReferenceImpl(); - - cmsContent.setReference(referenceURI); - return cmsContent; - } - - - public CMSDataObject createCMSDataObject( - MetaInfo metaInfo, - String referenceURI) { - CMSDataObjectImpl cmsDataObject = new CMSDataObjectImpl(); - CMSContentReferenceImpl cmsContent = new CMSContentReferenceImpl(); - cmsDataObject.setMetaInfo(metaInfo); - cmsContent.setReference(referenceURI); - return cmsDataObject; - } - - public VerifyCMSSignatureResponse createVerifyCMSSignatureResponse(List responseElements) { - VerifyCMSSinatureResponseImpl verifyCMSSignatureResponse = - new VerifyCMSSinatureResponseImpl(); - verifyCMSSignatureResponse.setResponseElements(responseElements); - return verifyCMSSignatureResponse; - } - - public VerifyCMSSignatureResponseElement createVerifyCMSSignatureResponseElement( - SignerInfo signerInfo, - CheckResult signatureCheck, - CheckResult certificateCheck) { - VerifyCMSSignatureResponseElementImpl verifyCMSSignatureResponseElement = - new VerifyCMSSignatureResponseElementImpl(); - verifyCMSSignatureResponseElement.setSignerInfo(signerInfo); - verifyCMSSignatureResponseElement.setSignatureCheck(signatureCheck); - verifyCMSSignatureResponseElement.setCertificateCheck(certificateCheck); - - return verifyCMSSignatureResponseElement; - } - - public VerifyXMLSignatureRequest createVerifyXMLSignatureRequest( - Date dateTime, - VerifySignatureInfo verifySignatureInfo, - List supplementProfiles, - SignatureManifestCheckParams signatureManifestParams, - boolean returnHashInputData, - String trustProfileID) { - VerifyXMLSignatureRequestImpl verifyXMLSignatureRequest = - new VerifyXMLSignatureRequestImpl(); - verifyXMLSignatureRequest.setDateTime(dateTime); - verifyXMLSignatureRequest.setSignatureInfo(verifySignatureInfo); - verifyXMLSignatureRequest.setSupplementProfiles(supplementProfiles); - verifyXMLSignatureRequest.setSignatureManifestCheckParams( - signatureManifestParams); - verifyXMLSignatureRequest.setReturnHashInputData(returnHashInputData); - verifyXMLSignatureRequest.setTrustProfileId(trustProfileID); - return verifyXMLSignatureRequest; - } - - public VerifySignatureInfo createVerifySignatureInfo( - Content verifySignatureEnvironment, - VerifySignatureLocation verifySignatureLocation) { - VerifySignatureInfoImpl verifySignatureInfo = new VerifySignatureInfoImpl(); - verifySignatureInfo.setVerifySignatureEnvironment( - verifySignatureEnvironment); - verifySignatureInfo.setVerifySignatureLocation(verifySignatureLocation); - return verifySignatureInfo; - } - - public VerifySignatureLocation createVerifySignatureLocation( - String xPathExpression, - Map namespaceDeclarations) { - VerifySignatureLocationImpl verifySignatureLocation = - new VerifySignatureLocationImpl(); - verifySignatureLocation.setXPathExpression(xPathExpression); - verifySignatureLocation.setNamespaceDeclarations(namespaceDeclarations); - return verifySignatureLocation; - } - - public SupplementProfile createSupplementProfile(String profileID) { - SupplementProfileIDImpl supplementProfileID = new SupplementProfileIDImpl(); - supplementProfileID.setSupplementProfileID(profileID); - return supplementProfileID; - } - - public SupplementProfile createSupplementProfile(XMLDataObjectAssociation supplementProfile) { - SupplementProfileExplicitImpl supplementProfileExplicit = - new SupplementProfileExplicitImpl(); - supplementProfileExplicit.setSupplementProfile(supplementProfile); - return supplementProfileExplicit; - } - - public SignatureManifestCheckParams createSignatureManifestCheckParams( - List referenceInfos, - boolean returnReferenceInputData) { - SignatureManifestCheckParamsImpl signatureManifestCheckParams = - new SignatureManifestCheckParamsImpl(); - signatureManifestCheckParams.setReferenceInfos(referenceInfos); - signatureManifestCheckParams.setReturnReferenceInputData( - returnReferenceInputData); - return signatureManifestCheckParams; - } - - public ReferenceInfo createReferenceInfo(List verifyTransformsInfoProfiles) { - ReferenceInfoImpl referenceInfo = new ReferenceInfoImpl(); - referenceInfo.setVerifyTransformsInfoProfiles(verifyTransformsInfoProfiles); - return referenceInfo; - } - - public VerifyTransformsInfoProfile createVerifyTransformsInfoProfile( - List transforms, - List transformParameters) { - VerifyTransformsInfoProfileExplicitImpl verifyTransformsInfoProfile = - new VerifyTransformsInfoProfileExplicitImpl(); - - verifyTransformsInfoProfile.setTransforms(transforms); - verifyTransformsInfoProfile.setTransformParameters(transformParameters); - - return verifyTransformsInfoProfile; - } - - public VerifyTransformsInfoProfile createVerifyTransformsInfoProfile(String profileID) { - VerifyTransformsInfoProfileIDImpl verifyTransformsInfoProfile = - new VerifyTransformsInfoProfileIDImpl(); - verifyTransformsInfoProfile.setVerifyTransformsInfoProfileID(profileID); - return verifyTransformsInfoProfile; - } - - - public TransformParameter createTransformParameter(String URI, String digestMethod, byte[] digestValue) { - TransformPatameterHashImpl transformParameter = - new TransformPatameterHashImpl(); - transformParameter.setURI(URI); - transformParameter.setDigestMethod(digestMethod); - transformParameter.setDigestValue(digestValue); - return transformParameter; - } - - public TransformParameter createTransformParameter( - String URI, - InputStream binaryData) { - TransformParameterBinaryImpl transformParameter = - new TransformParameterBinaryImpl(); - transformParameter.setURI(URI); - transformParameter.setBinaryContent(binaryData); - return transformParameter; - } - - public TransformParameter createTransformParameter(String URI) { - TransformParameterURIImpl transformParameter = - new TransformParameterURIImpl(); - transformParameter.setURI(URI); - return transformParameter; - } - - public VerifyXMLSignatureResponse createVerifyXMLSignatureResponse( - SignerInfo signerInfo, - List hashInputDatas, - List referenceInputDatas, - ReferencesCheckResult signatureCheck, - ReferencesCheckResult signatureManifestCheck, - List xmlDsigManifestChecks, - CheckResult certificateCheck) { - VerifyXMLSignatureResponseImpl verifyXMLSignatureResponse = - new VerifyXMLSignatureResponseImpl(); - verifyXMLSignatureResponse.setSignerInfo(signerInfo); - verifyXMLSignatureResponse.setHashInputDatas(hashInputDatas); - verifyXMLSignatureResponse.setReferenceInputDatas(referenceInputDatas); - verifyXMLSignatureResponse.setSignatureCheck(signatureCheck); - verifyXMLSignatureResponse.setSignatureManifestCheck( - signatureManifestCheck); - verifyXMLSignatureResponse.setXMLDsigManifestChecks(xmlDsigManifestChecks); - verifyXMLSignatureResponse.setCertificateCheck(certificateCheck); - - return verifyXMLSignatureResponse; - } - - public ReferencesCheckResult createReferencesCheckResult( - int code, - ReferencesCheckResultInfo info) { - ReferencesCheckResultImpl referencesCheckResult = - new ReferencesCheckResultImpl(); - referencesCheckResult.setCode(code); - referencesCheckResult.setInfo(info); - return referencesCheckResult; - } - - public ReferencesCheckResultInfo createReferencesCheckResultInfo( - NodeList anyOtherInfo, - int[] failedReferences) { - ReferencesCheckResultInfoImpl referencesCheckResultInfo = - new ReferencesCheckResultInfoImpl(); - referencesCheckResultInfo.setAnyOtherInfo(anyOtherInfo); - referencesCheckResultInfo.setFailedReferences(failedReferences); - return referencesCheckResultInfo; - } - - public ManifestRefsCheckResult createManifestRefsCheckResult( - int code, - ManifestRefsCheckResultInfo info) { - ManifestRefsCheckResultImpl manifestRefsCheckResult = - new ManifestRefsCheckResultImpl(); - manifestRefsCheckResult.setCode(code); - manifestRefsCheckResult.setInfo(info); - return manifestRefsCheckResult; - } - - public ManifestRefsCheckResultInfo createManifestRefsCheckResultInfo( - NodeList anyOtherInfo, - int[] failedReferences, - int referringSigReference) { - ManifestRefsCheckResultInfoImpl manifestRefsCheckResultInfo = - new ManifestRefsCheckResultInfoImpl(); - manifestRefsCheckResultInfo.setAnyOtherInfo(anyOtherInfo); - manifestRefsCheckResultInfo.setReferringSignatureReference( - referringSigReference); - manifestRefsCheckResultInfo.setFailedReferences(failedReferences); - return manifestRefsCheckResultInfo; - } - - public Content createContent(InputStream binaryData, String referenceURI) { - ContentBinaryImpl content = new ContentBinaryImpl(); - content.setBinaryContent(binaryData); - content.setReference(referenceURI); - return content; - } - - public Content createContent(String locationReferenceURI, String referenceURI) { - ContentLocRefImpl content = new ContentLocRefImpl(); - content.setLocationReferenceURI(locationReferenceURI); - content.setReference(referenceURI); - return content; - } - - public Content createContent(String referenceURI) { - ContentReferenceImpl content = new ContentReferenceImpl(); - content.setReference(referenceURI); - return content; - } - - public Content createContent(NodeList xmlData, String referenceURI) { - ContentXMLImpl content = new ContentXMLImpl(); - content.setXMLContent(xmlData); - content.setReference(referenceURI); - return content; - } - - public XMLDataObjectAssociation createXMLDataObjectAssociation( - MetaInfo metaInfo, - Content xmlContent) { - XMLDataObjectAssociationImpl xmlDataObjectAssociation = - new XMLDataObjectAssociationImpl(); - xmlDataObjectAssociation.setMetaInfo(metaInfo); - xmlDataObjectAssociation.setContent(xmlContent); - return xmlDataObjectAssociation; - } - - public MetaInfo createMetaInfo( - String mimeType, - String description, - NodeList otherInfo, - String type) { - MetaInfoImpl metaInfo = new MetaInfoImpl(); - metaInfo.setMimeType(mimeType); - metaInfo.setDescription(description); - metaInfo.setAnyElements(otherInfo); - metaInfo.setType(type); - return metaInfo; - } - - public Transform createCanonicalizationTransform(String algorithmURI) { - CanonicalizationTransformImpl transform = new CanonicalizationTransformImpl(algorithmURI); - return transform; - } - - public Transform createExclusiveCanonicalizationTransform(String algorithmURI, List inclusiveNamespacePrefixes) { - ExclusiveCanonicalizationTransformImpl transform = new ExclusiveCanonicalizationTransformImpl(algorithmURI); - transform.setInclusiveNamespacePrefixes(inclusiveNamespacePrefixes); - return transform; - } - - public Transform createBase64Transform() { - Base64TransformImpl transform = new Base64TransformImpl(); - return transform; - } - - public Transform createEnvelopedSignatureTransform() { - EnvelopedSignatureTransformImpl transform = - new EnvelopedSignatureTransformImpl(); - return transform; - } - - public Transform createXSLTTransform(Element styleSheet) { - XSLTransformImpl transform = new XSLTransformImpl(); - transform.setStylesheet(styleSheet); - return transform; - } - - public Transform createXPathTransform( - String xPathExpression, - Map namespaceDeclarations) { - XPathTransformImpl transform = new XPathTransformImpl(); - transform.setXPathExpression(xPathExpression); - transform.setNamespaceDelcarations(namespaceDeclarations); - return transform; - } - - public Transform createXPathFilter2Transform(List xPathFilters) { - XPathFilter2TransformImpl transform = new XPathFilter2TransformImpl(); - transform.setFilters(xPathFilters); - return transform; - } - - public XPathFilter createXPathFilter( - String filterType, - String xPathExpression, - Map namespaceDeclarations) { - XPathFilterImpl xPathFilter = new XPathFilterImpl(); - xPathFilter.setFilterType(filterType); - xPathFilter.setXPathExpression(xPathExpression); - xPathFilter.setNamespaceDelcarations(namespaceDeclarations); - return xPathFilter; - } - - public CheckResult createCheckResult(int code, NodeList info) { - CheckResultImpl checkResult = new CheckResultImpl(); - checkResult.setCode(code); - checkResult.setInfo(info); - return checkResult; - } - - - public SignerInfo createSignerInfo( - X509Certificate signerCertificate, - boolean qualifiedCertificate, - boolean qcSourceTSL, - boolean publicAuthority, - String publicAuthorityID, - boolean sscd, - boolean sscdSourceTSL, - String issuerCountryCode) { - SignerInfoImpl signerInfo = new SignerInfoImpl(); - signerInfo.setSignerCertificate(signerCertificate); - signerInfo.setQualifiedCertificate(qualifiedCertificate); - signerInfo.setQCSourceTSL(qcSourceTSL); - signerInfo.setPublicAuthority(publicAuthority); - signerInfo.setPublicAuhtorityID(publicAuthorityID); - signerInfo.setSSCD(sscd); - signerInfo.setSSCDSourceTSL(sscdSourceTSL); - signerInfo.setIssuerCountryCode(issuerCountryCode); - return signerInfo; - } - - public X509IssuerSerial createX509IssuerSerial( - String issuerName, - BigInteger serialNumber) { - X509IssuerSerialImpl x509IssuerSerial = new X509IssuerSerialImpl(); - x509IssuerSerial.setX509IssuerName(issuerName); - x509IssuerSerial.setX509SerialNumber(serialNumber); - return x509IssuerSerial; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java deleted file mode 100644 index 4b50d8955..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; - -/** - * Default implementation of SignatureEnvironmentResponse. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class SignatureEnvironmentResponseImpl - implements SignatureEnvironmentResponse { - - /** The signature environment containing the XML signature. */ - private Element signatureEnvironment; - - /** - * Sets the XML structure which contains the signature. - * - * @param signatureEnvironment A general XML structure containing the signature. - */ - public void setSignatureEnvironment(Element signatureEnvironment) { - this.signatureEnvironment = signatureEnvironment; - } - - public Element getSignatureEnvironment() { - return signatureEnvironment; - } - - /** - * Gets the type of CreateXMLSignatureResponseElement. - * - * @return SIGNATURE_ENVIRONMENT_RESPONSE - */ - public int getResponseType() { - return SIGNATURE_ENVIRONMENT_RESPONSE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java deleted file mode 100644 index 40e87e746..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; - -/** - * Default implementation of SignatureManifestCheckParams. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class SignatureManifestCheckParamsImpl - implements SignatureManifestCheckParams { - - /** Referential information. */ - private List referenceInfos; - /** Whether to return the signature source data. */ - private boolean returnReferenceInputData = true; - - /** - * Sets the referantial information. - * - * @param referenceInfos The referential information. - */ - public void setReferenceInfos(List referenceInfos) { - this.referenceInfos = - referenceInfos != null - ? Collections.unmodifiableList(new ArrayList(referenceInfos)) - : null; - } - - public List getReferenceInfos() { - return referenceInfos; - } - - /** - * Sets whether to return signature source data. - * - * @param returnReferenceInputData Whether to return signature source data. - */ - public void setReturnReferenceInputData(boolean returnReferenceInputData) { - this.returnReferenceInputData = returnReferenceInputData; - } - - public boolean getReturnReferenceInputData() { - return returnReferenceInputData; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java deleted file mode 100644 index 7a108e8a4..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.security.cert.X509Certificate; - -import at.gv.egovernment.moa.spss.api.common.SignerInfo; - -/** - * Default implementation of SignerInfo. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class SignerInfoImpl implements SignerInfo { - - /** The signer certificate. */ - private X509Certificate signerCertificate; - /** Determines, whether signerCertificate is a qualified - * certificate. */ - private boolean qualifiedCertificate; - /** Determines, whether signerCertificate is from a public - * authority. */ - private boolean publicAuthority; - /** The public authority ID of the signerCertificate. */ - private String publicAuthorityID; - - /** Determines, whether the signature is based on an SSCD */ - private boolean sscd; - - /** Determines, if the SSCD check bases upon on TSL */ - private boolean sscdSourceTSL; - - /** Determines, if the QC check bases upon on TSL */ - private boolean qcSourceTSL; - - /** The certificate issuer country code */ - private String issuerCountryCode; - - /** - * Sets the signer certificate. - * - * @param signerCertificate The signer certificate. - */ - public void setSignerCertificate(X509Certificate signerCertificate) { - this.signerCertificate = signerCertificate; - } - - public X509Certificate getSignerCertificate() { - return signerCertificate; - } - - /** - * Sets, whether the certificate contained in this object is qualified or not. - * - * @param qualifiedCertificate Is true, if the certificate is - * qualified, otherwise false. - */ - public void setQualifiedCertificate(boolean qualifiedCertificate) { - this.qualifiedCertificate = qualifiedCertificate; - } - - public boolean isQualifiedCertificate() { - return qualifiedCertificate; - } - - /** - * Sets, whether the signature is based on an SSCS or not. - * - * @param sscd Is true, if the signature is - * based on an SSCD, otherwise false. - */ - public void setSSCD(boolean sscd) { - this.sscd = sscd; - } - public boolean isSSCD() { - return sscd; - } - - public void setSSCDSourceTSL(boolean sscdSourceTSL) { - this.sscdSourceTSL = sscdSourceTSL; - } - - public String getSSCDSource() { - if (sscdSourceTSL) - return "TSL"; - else - return "Certificate"; - } - - public void setQCSourceTSL(boolean qcSourceTSL) { - this.qcSourceTSL = qcSourceTSL; - } - - public String getQCSource() { - if (qcSourceTSL) - return "TSL"; - else - return "Certificate"; - } - - public void setIssuerCountryCode(String issuerCountryCode) { - this.issuerCountryCode = issuerCountryCode; - } - public String getIssuerCountryCode() { - return issuerCountryCode; - } - - /** - * Sets, whether the certificate contained in this object is an - * e-government certificate or not. - * - * @param publicAuthority Is true, if the certificate is - * public authority certificate, otherwise false. - */ - public void setPublicAuthority(boolean publicAuthority) { - this.publicAuthority = publicAuthority; - } - - public boolean isPublicAuthority() { - return publicAuthority; - } - - /** - * Sets the public authority ID of the signer certificate. - * - * @param publicAuhtorityID The public authority ID of the signer certificate. - */ - public void setPublicAuhtorityID(String publicAuhtorityID) { - this.publicAuthorityID = publicAuhtorityID; - } - - public String getPublicAuhtorityID() { - return publicAuthorityID; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoCMSImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoCMSImpl.java deleted file mode 100644 index cb3651587..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoCMSImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo; - -/** - * @version $Id$ - */ -public class SingleSignatureInfoCMSImpl implements SingleSignatureInfo { - - private DataObjectInfo dataObjectInfo = null; - - - private boolean securityLayerConform = true; - - public void setDataObjectInfo(DataObjectInfo dataObjectInfo) { - this.dataObjectInfo = dataObjectInfo; - } - - public DataObjectInfo getDataObjectInfo() { - return dataObjectInfo; - } - - - - public void setSecurityLayerConform(boolean securityLayerConform) { - this.securityLayerConform = securityLayerConform; - } - - public boolean isSecurityLayerConform() { - return securityLayerConform; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java deleted file mode 100644 index 3d4306890..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; - -/** - * @author Fatemeh Philippi - * @version $Id$ - */ -public class SingleSignatureInfoImpl implements SingleSignatureInfo { - - private List dataObjectInfos = new ArrayList(); - - private CreateSignatureInfo createSignatureInfo; - - private boolean securityLayerConform = true; - - public void setDataObjectInfos(List dataObjectInfos) { - this.dataObjectInfos = - dataObjectInfos != null - ? Collections.unmodifiableList(new ArrayList(dataObjectInfos)) - : null; - } - - public List getDataObjectInfos() { - return dataObjectInfos; - } - - public void setCreateSignatureInfo(CreateSignatureInfo createSignatureInfo) { - this.createSignatureInfo = createSignatureInfo; - } - - public CreateSignatureInfo getCreateSignatureInfo() { - return createSignatureInfo; - } - - public void setSecurityLayerConform(boolean securityLayerConform) { - this.securityLayerConform = securityLayerConform; - } - - public boolean isSecurityLayerConform() { - return securityLayerConform; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java deleted file mode 100644 index 7f8038801..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicit; - -/** - * Default implementation of SupplementProfileExplicit. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class SupplementProfileExplicitImpl implements SupplementProfileExplicit { - - /** Supplemental information for verifying a signature. */ - private XMLDataObjectAssociation supplement; - - /** - * Sets the supplemental information for verifying a signature. - * - * @param supplement The supplemental information for verifying a signature. - */ - public void setSupplementProfile(XMLDataObjectAssociation supplement) { - this.supplement = supplement; - } - - public XMLDataObjectAssociation getSupplementProfile() { - return supplement; - } - - /** - * Gets the type of SupplementProfile. - * - * @return EXPLICIT_SUPPLEMENTPROFILE - */ - public int getSupplementProfileType() { - return EXPLICIT_SUPPLEMENTPROFILE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java deleted file mode 100644 index e73ce60ff..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileID; - -/** - * Default implementation of SupplementProfileID. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class SupplementProfileIDImpl implements SupplementProfileID { - /** The profile ID. */ - private String profileID; - - /** - * Sets the SupplementProfile profile ID. - * - * @param profileID The profile ID. - */ - public void setSupplementProfileID(String profileID) { - this.profileID = profileID; - } - - public String getSupplementProfileID() { - return profileID; - } - - /** - * Gets the type of SupplementProfile. - * - * @return ID_SUPPLEMENTPROFILE - */ - public int getSupplementProfileType() { - return ID_SUPPLEMENTPROFILE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TSLConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TSLConfigurationImpl.java deleted file mode 100644 index 87314e1f7..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TSLConfigurationImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import iaik.ixsil.util.URI; - -import java.util.Date; - -import at.gv.egovernment.moa.spss.api.common.TSLConfiguration; - -/** - * Default implementation of TSLConfiguration. - * - * @author kstranacher - */ -public class TSLConfigurationImpl implements TSLConfiguration { - - - - /** The EU TSL URL. */ - private String euTSLUrl; - - /** update period in milliseconds */ - private long updateSchedulePeriod; - - /** Time of the first update */ - private Date updateScheduleStartTime; - - /** Working directory */ - private String workingDirectory; - - /** Working directory */ - private URI workingDirectoryAsURI; - - public String getEuTSLUrl() { - return this.euTSLUrl; - } - - public long getUpdateSchedulePeriod() { - return this.updateSchedulePeriod; - } - - public Date getUpdateScheduleStartTime() { - return this.updateScheduleStartTime; - } - - public String getWorkingDirectory() { - return this.workingDirectory; - } - - public URI getWorkingDirectoryAsURI() { - return this.workingDirectoryAsURI; - } - - public void setEuTSLUrl(String euTSLUrl) { - this.euTSLUrl = euTSLUrl; - } - - public void setUpdateSchedulePeriod(long updateSchedulePeriod) { - this.updateSchedulePeriod = updateSchedulePeriod; - } - - public void setUpdateScheduleStartTime(Date updateScheduleStartTime) { - this.updateScheduleStartTime = updateScheduleStartTime; - } - - public void setWorkingDirectory(String workingDirectory) { - this.workingDirectory = workingDirectory; - } - - public void setWorkingDirectoryURI(URI workingDirectoryAsURI) { - this.workingDirectoryAsURI = workingDirectoryAsURI; - } - - - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java deleted file mode 100644 index 37a05f9a8..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.Transform; - -/** - * @author Fatemeh Philippi - * @version $Id$ - */ -public class TransformImpl implements Transform { - /** The URI identifying the transformation algorithm. */ - private String algorithmURI; - - /** - * Sets the URI identifying the transformation algorithm. - * - * @param algorithmURI The URI identifying the transformation algorithm. - */ - public void setAlgorithmURI(String algorithmURI) { - this.algorithmURI = algorithmURI; - } - - public String getAlgorithmURI() { - return algorithmURI; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java deleted file mode 100644 index 691f3a9da..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.io.InputStream; - -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterBinary; - -/** - * Default implementation of TransformParameterBinary. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class TransformParameterBinaryImpl - extends TransformParameterImpl - implements TransformParameterBinary { - - /** The binary content as a stream. */ - private InputStream binaryContent; - - /** - * Sets the binary content as a stream. - * - * @param binaryContent The binary content as a stream. - */ - public void setBinaryContent(InputStream binaryContent) { - this.binaryContent = binaryContent; - } - - public InputStream getBinaryContent() { - return binaryContent; - } - - /** - * Gets the TransformParameter type. - * - * @return BINARY_TRANSFORMPARAMETER - */ - public int getTransformParameterType() { - return BINARY_TRANSFORMPARAMETER; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java deleted file mode 100644 index 1399c6e9f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -/** - * Default base implementation of TransformParameter. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class TransformParameterImpl { - /** An URI identifying the TransformParameter. */ - private String uri; - - /** - * Sets the URI identifying the TransformParameter. - * @param uri The URI identifying the TransformParameter. - */ - public void setURI(String uri) { - this.uri = uri; - } - - public String getURI() { - return uri; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java deleted file mode 100644 index 77810be9f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterURI; - -/** - * Default implementation of TransformParameterURI. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class TransformParameterURIImpl - extends TransformParameterImpl - implements TransformParameterURI { - - /** - * Gets the type of TransformParameter. - * - * @return URI_TRANSFORMPARAMETER - */ - public int getTransformParameterType() { - return URI_TRANSFORMPARAMETER; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java deleted file mode 100644 index 7fcd72ca0..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterHash; - -/** - * Default implementation of TransformParameterHash - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class TransformPatameterHashImpl - extends TransformParameterImpl - implements TransformParameterHash { - - /** The method used to calculate the digest value. */ - private String digestMethod; - /** The digest value. */ - private byte[] digestValue; - - /** - * Sets method used to calculate the digest value. - * @param digestMethod The method used to calculate the digest value. - */ - public void setDigestMethod(String digestMethod) { - this.digestMethod = digestMethod; - } - - public String getDigestMethod() { - return digestMethod; - } - - /** - * Sets the digest value. - * - * @param digestValue The digest value. - */ - public void setDigestValue(byte[] digestValue) { - this.digestValue = digestValue; - } - - public byte[] getDigestValue() { - return digestValue; - } - - /** - * Gets the type of TransformParameter. - * - * @return HASH_TRANSFORMPARAMETER - */ - public int getTransformParameterType() { - return HASH_TRANSFORMPARAMETER; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java deleted file mode 100644 index c759f5f13..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.io.InputStream; -import java.util.Date; - -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; - -/** - * Default implementation of VerifyCMSSignatureRequest. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyCMSSignatureRequestImpl - implements VerifyCMSSignatureRequest { - - /** The indexes of the signatories whose signature should be verified. */ - private int[] signatories; - /** The profile ID of trusted certificates. */ - private String trustProfileId; - /** The data object necessary for signature verification. */ - private CMSDataObject dataObject; - /** The CMS signature to verify. */ - private InputStream cmsSignature; - /** The date for which to verify the signature. */ - private Date dateTime; - - /** - * Sets the indexes of the signatories whose signature should be verified. - * - * @param signatories The indexes of the signatories whose signature should be - * verified. - */ - public void setSignatories(int[] signatories) { - this.signatories = signatories; - } - - public int[] getSignatories() { - return signatories; - } - - /** - * Sets the date for which to verify the signature. - * - * @param dateTime The date for which to verify the signature. - */ - public void setDateTime(Date dateTime) { - this.dateTime = dateTime; - } - - public Date getDateTime() { - return dateTime; - } - - /** - * Sets the CMS signature to verify. - * @param signature The CMS signature to verify. - */ - public void setCMSSignature(InputStream signature) { - this.cmsSignature = signature; - - } - - public InputStream getCMSSignature() { - return cmsSignature; - } - - /** - * Sets the data object necessary for signature verification. - * @param dataObject The data object necessary for signature verification. - */ - public void setDataObject(CMSDataObject dataObject) { - this.dataObject = dataObject; - } - - public CMSDataObject getDataObject() { - return dataObject; - } - - /** - * Sets the profile ID of trusted certificates. - * @param trustProfileId The profile ID of trusted certificates. - */ - public void setTrustProfileId(String trustProfileId) { - this.trustProfileId = trustProfileId; - } - - public String getTrustProfileId() { - return trustProfileId; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java deleted file mode 100644 index f258b3bbd..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; - -/** - * Default implementation of VerifyCMSSignatureResponseElement. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyCMSSignatureResponseElementImpl - implements VerifyCMSSignatureResponseElement { - - /** Information about the signer certificate. */ - private SignerInfo signerInfo; - /** Information about the signature check. */ - private CheckResult signatureCheck; - /** Information about the certificate check. */ - private CheckResult certificateCheck; - - /** - * Sets a SignerInfo element according to CMS. - * - * @param signerInfo The SignerInfo element according to CMS. - */ - public void setSignerInfo(SignerInfo signerInfo) { - this.signerInfo = signerInfo; - } - - public SignerInfo getSignerInfo() { - return signerInfo; - } - - /** - * Sets a result of the signature verification. - * - * @param signatureCheck The result of the signature verification. - */ - public void setSignatureCheck(CheckResult signatureCheck) { - this.signatureCheck = signatureCheck; - } - - public CheckResult getSignatureCheck() { - return signatureCheck; - } - - /** - * Sets a result of the certificate verification. - * - * @param certificateCheck The result of the certificate verification. - */ - public void setCertificateCheck(CheckResult certificateCheck) { - this.certificateCheck = certificateCheck; - } - - public CheckResult getCertificateCheck() { - return certificateCheck; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java deleted file mode 100644 index 44fb47478..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; - -/** - * Default implementation of VerifyCMSSignatureResponse. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyCMSSinatureResponseImpl - implements VerifyCMSSignatureResponse { - - /** The elements contained in the response. */ - private List responseElements; - - /** - * Sets the elements contained in the response. - * - * @param responseElements The elements contained in the response. - */ - public void setResponseElements(List responseElements) { - this.responseElements = - responseElements != null - ? Collections.unmodifiableList(new ArrayList(responseElements)) - : null; - } - - public List getResponseElements() { - return responseElements; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java deleted file mode 100644 index d022ae422..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; - -/** - * Default implementation of VerifySignatureInfo. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifySignatureInfoImpl implements VerifySignatureInfo { - /** The location of the signature to be verified. */ - private VerifySignatureLocation verifySignatureLocation; - /** The environment containing the signature to be verified. */ - private Content verifySignatureEnvironment; - - /** - * Sets the location of the signature to be verified. - * - * @param verifySignatureLocation The location of the signature to be - * verified. - */ - public void setVerifySignatureLocation(VerifySignatureLocation verifySignatureLocation) { - this.verifySignatureLocation = verifySignatureLocation; - } - - public VerifySignatureLocation getVerifySignatureLocation() { - return verifySignatureLocation; - } - - /** - * Sets the signature environment containing the signature to be verified. - * - * @param verifySignatureEnvironment The signature environment containing the - * signature to be verified. - */ - public void setVerifySignatureEnvironment(Content verifySignatureEnvironment) { - this.verifySignatureEnvironment = verifySignatureEnvironment; - } - - public Content getVerifySignatureEnvironment() { - return verifySignatureEnvironment; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java deleted file mode 100644 index 8e183bb23..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; - -/** - * Default implementation of VerifySignatureLocation. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifySignatureLocationImpl - extends ElementSelectorImpl - implements VerifySignatureLocation { - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java deleted file mode 100644 index 25b5c39e0..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; - -/** - * Default implementation of . - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyTransformsDataImpl implements ReferenceInfo { - /** Information about the transformations contained in the signature. */ - private List verifyTransformsInfoProfiles; - - /** - * Sets the information about the transformations contained in the signature. - * - * @param verifyTransformsInfoProfiles The profiles containing transformation - * information. - */ - public void setVerifyTransformsInfoProfiles(List verifyTransformsInfoProfiles) { - this.verifyTransformsInfoProfiles = - verifyTransformsInfoProfiles != null - ? Collections.unmodifiableList( - new ArrayList(verifyTransformsInfoProfiles)) - : null; - } - - public List getVerifyTransformsInfoProfiles() { - return verifyTransformsInfoProfiles; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java deleted file mode 100644 index 2ce5f396d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; - -/** - * Default implementation of VerifyTransformsInfoProfileExplicit. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyTransformsInfoProfileExplicitImpl - implements VerifyTransformsInfoProfileExplicit { - - /** The transforms contained in this profile. */ - private List transforms; - /** Additional information for the transforms. */ - private List transformParameters = new ArrayList(); - - /** - * Sets the transforms contained in this profile. - * - * @param transforms The transforms contained in this profile. - */ - public void setTransforms(List transforms) { - this.transforms = - transforms != null - ? Collections.unmodifiableList(new ArrayList(transforms)) - : null; - } - - public List getTransforms() { - return transforms; - } - - /** - * Sets additional information for the transforms. - * - * @param transformParameters Additional information for the transforms. - */ - public void setTransformParameters(List transformParameters) { - this.transformParameters = new ArrayList(transformParameters); - } - - public List getTransformParameters() { - return transformParameters; - } - - /** - * Gets the type of VerifyTransformsInfoProfile. - * - * @return EXPLICIT_VERIFYTRANSFORMSINFOPROFILE - */ - public int getVerifyTransformsInfoProfileType() { - return EXPLICIT_VERIFYTRANSFORMSINFOPROFILE; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java deleted file mode 100644 index a5455351d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileID; - -/** - * Default implementation of VerifyTransformsInfoProfileID. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyTransformsInfoProfileIDImpl implements VerifyTransformsInfoProfileID { - - /** The profile ID. */ - private String verifyTransformsInfoProfileID; - - /** - * Sets the profile ID. - * - * @param profileID The profile ID. - */ - public void setVerifyTransformsInfoProfileID(String profileID) { - this.verifyTransformsInfoProfileID = profileID; - } - - public String getVerifyTransformsInfoProfileID() { - return verifyTransformsInfoProfileID; - } - - /** - * Gets the type of VerifyTransformsInfoProfile. - * - * @return ID_VERIFYTRANSFORMSINFOPROFILE - */ - public int getVerifyTransformsInfoProfileType() { - return ID_VERIFYTRANSFORMSINFOPROFILE; - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java deleted file mode 100644 index 1b9be350a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; - -/** - * Default implementation of VerifyXMLSignatureRequest. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyXMLSignatureRequestImpl - implements VerifyXMLSignatureRequest { - /** Date and time for signature verification. */ - private Date dateTime; - /** The signature to be verified. */ - private VerifySignatureInfo verifySignatureInfo; - /** Supplemental information about the singature. */ - private List supplementProfiles; - /** Additional parameters for checking the signature manifest. */ - private SignatureManifestCheckParams signatureManifestCheckParams; - /** Whether to return the hash input data. */ - private boolean returnHashInputData; - /** The profile ID of the trust profile containing the trusted certificates. - */ - private String trustProfileId; - - /** - * Sets the date and time for signature verification. - * - * @param dateTime The date and time for signature verification. - */ - public void setDateTime(Date dateTime) { - this.dateTime = dateTime; - } - - public Date getDateTime() { - return dateTime; - } - - /** - * Sets the signature to be verified. - * - * @param signatureInfo The signature to be verified. - */ - public void setSignatureInfo(VerifySignatureInfo signatureInfo) { - this.verifySignatureInfo = signatureInfo; - } - - public VerifySignatureInfo getSignatureInfo() { - return verifySignatureInfo; - } - - /** - * Sets supplemental information about the singature. - * @param supplementProfiles - */ - public void setSupplementProfiles(List supplementProfiles) { - this.supplementProfiles = - supplementProfiles != null - ? Collections.unmodifiableList(new ArrayList(supplementProfiles)) - : null; - } - - public List getSupplementProfiles() { - return supplementProfiles; - } - - /** - * Sets supplemental information about the singature. - * @param params Supplemental information about the singature. - */ - public void setSignatureManifestCheckParams(SignatureManifestCheckParams params) { - this.signatureManifestCheckParams = params; - } - - public SignatureManifestCheckParams getSignatureManifestCheckParams() { - return signatureManifestCheckParams; - } - - /** - * Sets whether to return hash input data. - * - * @param returnSignedData Whether to return hash input data. - */ - public void setReturnHashInputData(boolean returnSignedData) { - this.returnHashInputData = returnSignedData; - } - - public boolean getReturnHashInputData() { - return returnHashInputData; - } - - /** - * Sets the profile ID of trusted certificates. - * - * @param trustProfileId The profile ID of trusted certificates. - */ - public void setTrustProfileId(String trustProfileId) { - this.trustProfileId = trustProfileId; - } - - public String getTrustProfileId() { - return trustProfileId; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java deleted file mode 100644 index 46fd51791..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; - -/** - * @author Fatemeh Philippi - * @version $Id$ - */ -public class VerifyXMLSignatureResponseImpl - implements VerifyXMLSignatureResponse { - - /** Information about the signer certificate. */ - private SignerInfo signerInfo; - - /** - * The hash input data objects. The list consists of {@link at.gv.egovernment.moa.spss.api.common.InputData}s. - * */ - private List hashInputDatas = new ArrayList(); - - /** - * The reference input data objects. The list consists of {@link at.gv.egovernment.moa.spss.api.common.InputData}s. - * */ - private List referenceInputDatas = new ArrayList(); - - /** Information about the signature check. */ - private ReferencesCheckResult signatureCheck; - /** Information about the signature manifest check. */ - private ReferencesCheckResult signatureManifestCheck; - /** Information about the XMLDsig manifest check. */ - private List xmlDsigManifestChecks = new ArrayList(); - /** Information about the certificate check. */ - private CheckResult certificateCheck; - - /** - * Sets information about the signer certificate. - * - * @param signerInfo Information about the signer certificate. - */ - public void setSignerInfo(SignerInfo signerInfo) { - this.signerInfo = signerInfo; - } - - public SignerInfo getSignerInfo() { - return signerInfo; - } - - /** - * Sets data signed by the signatory. - * - * @param hashInputDatas The signed datas. - */ - public void setHashInputDatas(List hashInputDatas) { - this.hashInputDatas = - hashInputDatas != null - ? Collections.unmodifiableList(new ArrayList(hashInputDatas)) - : null; - } - - public List getHashInputDatas() { - return hashInputDatas; - } - - /** - * Sets the source data elements. - * - * @param referenceInputDatas The source data elements. - */ - public void setReferenceInputDatas(List referenceInputDatas) { - this.referenceInputDatas = - referenceInputDatas != null - ? Collections.unmodifiableList(new ArrayList(referenceInputDatas)) - : null; - } - - public List getReferenceInputDatas() { - return referenceInputDatas; - } - - /** - * Sets the result of the signature verification. - * - * @param signatureCheck The result of the signature verification. - */ - public void setSignatureCheck(ReferencesCheckResult signatureCheck) { - this.signatureCheck = signatureCheck; - } - - public ReferencesCheckResult getSignatureCheck() { - return signatureCheck; - } - - /** - * Sets the result of the signature manifest verification. - * - * @param signatureManifestCheck The result of the signature manifest verification. - */ - public void setSignatureManifestCheck(ReferencesCheckResult signatureManifestCheck) { - this.signatureManifestCheck = signatureManifestCheck; - } - - public ReferencesCheckResult getSignatureManifestCheck() { - return signatureManifestCheck; - } - - /** - * Sets the result of the certification verification. - * - * @param certificateCheck The result of the certificate verification. - */ - public void setCertificateCheck(CheckResult certificateCheck) { - this.certificateCheck = certificateCheck; - } - - public CheckResult getCertificateCheck() { - return certificateCheck; - } - - - /** - * Sets the XMLDSigManifestChecks. - * - * @param xmlDsigManifestChecks The XMLDSigManifestChecks. - */ - public void setXMLDsigManifestChecks(List xmlDsigManifestChecks) { - this.xmlDsigManifestChecks = - xmlDsigManifestChecks != null - ? Collections.unmodifiableList(new ArrayList(xmlDsigManifestChecks)) - : null; - } - - public List getXMLDsigManifestChecks() { - return xmlDsigManifestChecks; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java deleted file mode 100644 index aff7e103c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.math.BigInteger; - -import at.gv.egovernment.moa.spss.api.common.X509IssuerSerial; - -/** - * Default implementation of X509IssuerSerial. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class X509IssuerSerialImpl implements X509IssuerSerial { - /** The certificate serial number. */ - private BigInteger x509SerialNumber; - /** The certificate issuer DN. */ - private String x509IssuerName; - - /** - * Sets the issuer distinguished name. - * - * @param x509IssuerName The issuer distinguished name. - */ - public void setX509IssuerName(String x509IssuerName) { - this.x509IssuerName = x509IssuerName; - } - - public String getX509IssuerName() { - return x509IssuerName; - } - - /** - * Sets the certificate serial number. - * - * @param x509SerialNumber The issuer serial number. - */ - public void setX509SerialNumber(BigInteger x509SerialNumber) { - this.x509SerialNumber = x509SerialNumber; - } - - public BigInteger getX509SerialNumber() { - return x509SerialNumber; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java deleted file mode 100644 index dabf29d28..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; - -/** - * Default implementation of XMLDataObjectAssociation. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class XMLDataObjectAssociationImpl implements XMLDataObjectAssociation { - - /** Meta information about the Content object. */ - private MetaInfo metaInfo; - /** The actual data contained in this object. */ - private Content content; - - /** - * Sets meta information about the Content object. - * @param metaInfo Meta information about the Content object. - */ - public void setMetaInfo(MetaInfo metaInfo) { - this.metaInfo = metaInfo; - } - - public MetaInfo getMetaInfo() { - return metaInfo; - } - - /** - * Sets the actual data contained in this object. - * - * @param content The actual data contained in this object. - */ - public void setContent(Content content) { - this.content = content; - } - - public Content getContent() { - return content; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java deleted file mode 100644 index 175de3ac0..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.ArrayList; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; - -/** - * Default implementation of XPathFilter2Transform. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class XPathFilter2TransformImpl - extends TransformImpl - implements XPathFilter2Transform { - - /** The XPath filters. */ - private List filters; - - /** - * Create a new XPathFilter2TransformImpl object. - */ - public XPathFilter2TransformImpl() { - setAlgorithmURI(XPATH_FILTER2); - } - - /** - * Sets the XPath filters contained in this - * XPathFilter2Transform. - * - * @param filters The XPath filters contained in this - * XPathFilter2Transform. - */ - public void setFilters(List filters) { - this.filters = new ArrayList(filters); - } - - public List getFilters() { - return filters; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java deleted file mode 100644 index 6615e9f52..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.HashMap; -import java.util.Map; - -import at.gv.egovernment.moa.spss.api.common.XPathFilter; - -/** - * Default implementation of XPathFilter. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class XPathFilterImpl implements XPathFilter { - /** The type of filter. */ - private String filterType; - /** The XPath expression of the filter. */ - private String xPathExpression; - /** The namespace prefix to URI mapping to while evaluating the XPath - * expression. */ - private Map namespaceDeclarations = new HashMap(); - - /** - * Sets the type of filter. - * - * @param filterType The type of filter. - */ - public void setFilterType(String filterType) { - this.filterType = filterType; - } - - public String getFilterType() { - return filterType; - } - - /** - * Sets the XPath expression of the filter. - * - * @param xPathExpression The XPath expression of the filter. - */ - public void setXPathExpression(String xPathExpression) { - this.xPathExpression = xPathExpression; - } - - public String getXPathExpression() { - return xPathExpression; - } - - /** - * Sets the namespace prefix to URI mapping to while evaluating the XPath - * expression. - * - * @param namespaceDeclarations The namespace prefix to URI mapping to while - * evaluating the XPath expression. - */ - public void setNamespaceDelcarations(Map namespaceDeclarations) { - this.namespaceDeclarations = namespaceDeclarations; - } - - public Map getNamespaceDeclarations() { - return namespaceDeclarations; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java deleted file mode 100644 index f626a95bb..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import java.util.HashMap; -import java.util.Map; - -import at.gv.egovernment.moa.spss.api.common.XPathTransform; - -/** - * Default implementation of XPathTransform. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class XPathTransformImpl - extends TransformImpl - implements XPathTransform { - - /** The XPath expression to evaluate. */ - private String xPathExpression; - /** The namespace prefix to URI mapping to while evaluating the XPath - * expression. */ - private Map namespaceDeclarations = new HashMap(); - - /** - * Create a new XPathTransformImpl object. - */ - public XPathTransformImpl() { - setAlgorithmURI(XPATH); - } - - /** - * Sets the XPath expression to evaluate. - * - * @param xPathExpression The XPath expression to evaluate. - */ - public void setXPathExpression(String xPathExpression) { - this.xPathExpression = xPathExpression; - } - - public String getXPathExpression() { - return xPathExpression; - } - - /** - * Sets the namespace prefix to URI mapping to while evaluating the XPath - * expression. - * - * @param namespaceDeclarations The namespace prefix to URI mapping to while - * evaluating the XPath expression. - */ - public void setNamespaceDelcarations(Map namespaceDeclarations) { - this.namespaceDeclarations = namespaceDeclarations; - } - - public Map getNamespaceDeclarations() { - return namespaceDeclarations; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java deleted file mode 100644 index 3fd4cc1a3..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.impl; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.api.common.XSLTTransform; - -/** - * Default implementation of XSLTTransform. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class XSLTransformImpl extends TransformImpl implements XSLTTransform { - /** The XSLT stylesheet to apply. */ - private Element styleSheet; - - /** - * Create a new XSLTransformImpl object. - */ - public XSLTransformImpl() { - setAlgorithmURI(XSLT); - } - - /** - * Sets the XSLT stylesheet to apply. - * - * @param styleSheet The XSLT stylesheet to apply. - */ - public void setStylesheet(Element styleSheet) { - this.styleSheet = styleSheet; - } - - public Element getStylesheet() { - return styleSheet; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java deleted file mode 100644 index a8cae9c4e..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureRequestParser.java +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.io.InputStream; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.List; - -import org.w3c.dom.Element; -import org.w3c.dom.traversal.NodeIterator; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.BoolUtils; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.XPathUtils; - -/** - * A parser to parse CreateCMSSignatureRequest DOM trees into - * CreateCMSSignatureRequest API objects. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateCMSSignatureRequestParser { - - // - // XPath expresssions to select elements in the CreateCMSSignatureRequest - // - private static final String MOA = Constants.MOA_PREFIX + ":"; - private static final String KEY_IDENTIFIER_XPATH = - "/" + MOA + "CreateCMSSignatureRequest/" + MOA + "KeyIdentifier"; - private static final String SINGLE_SIGNATURE_INFO_XPATH = - "/" + MOA + "CreateCMSSignatureRequest/" + MOA + "SingleSignatureInfo"; - private static final String DATA_OBJECT_INFO_XPATH = MOA + "DataObjectInfo"; - private static final String DATA_OBJECT_XPATH = MOA + "DataObject"; - - private static final String SL_CONFORM_ATTR_NAME = "SecurityLayerConformity"; - - private static final String META_INFO_XPATH = MOA + "MetaInfo"; - private static final String CONTENT_XPATH = MOA + "Content"; - private static final String BASE64_CONTENT_XPATH = MOA + "Base64Content"; - private static final String EXCLUDEBYTERANGE_FROM_XPATH = MOA + "ExcludedByteRange/" + MOA + "From"; - private static final String EXCLUDEBYTERANGE_TO_XPATH = MOA + "ExcludedByteRange/" + MOA + "To"; - - - - /** The factory to create API objects. */ - private SPSSFactory factory; - - /** - * Create a new CreateCMSSignatureRequestParser. - */ - public CreateCMSSignatureRequestParser() { - this.factory = SPSSFactory.getInstance(); - } - - /** - * Parse a CreateCMSSignatureRequest DOM element, as defined - * by the MOA schema. - * - * @param requestElem The CreateCMSSignatureRequest to parse. The - * request must have been successfully parsed against the schema for this - * method to succeed. - * @return A CreateCMSSignatureRequest API object containing - * the data from the DOM element. - * @throws MOAApplicationException An error occurred parsing the request. - */ - public CreateCMSSignatureRequest parse(Element requestElem) - throws MOAApplicationException { - - List singleSignatureInfos = parseSingleSignatureInfos(requestElem); - String keyIdentifier = - XPathUtils.getElementValue(requestElem, KEY_IDENTIFIER_XPATH, null); - - return factory.createCreateCMSSignatureRequest( - keyIdentifier, - singleSignatureInfos); - } - - /** - * Parse all SingleSignatureInfo elements of the - * CreateCMSSignatureRequest. - * - * @param requestElem The CreateCMSSignatureRequest to parse. - * @return A List of SingleSignatureInfo API - * objects. - * @throws MOAApplicationException An error occurred parsing on of the - * SingleSignatureInfo elements. - */ - private List parseSingleSignatureInfos(Element requestElem) - throws MOAApplicationException { - - List singleSignatureInfos = new ArrayList(); - NodeIterator sigInfoElems = - XPathUtils.selectNodeIterator(requestElem, SINGLE_SIGNATURE_INFO_XPATH); - Element sigInfoElem; - - while ((sigInfoElem = (Element) sigInfoElems.nextNode()) != null) { - singleSignatureInfos.add(parseSingleSignatureInfo(sigInfoElem)); - } - - return singleSignatureInfos; - } - - /** - * Parse a SingleSignatureInfo DOM element. - * - * @param sigInfoElem The SingleSignatureInfo DOM element to - * parse. - * @return A SingleSignatureInfo API object containing the - * information of sigInfoElem. - * @throws MOAApplicationException An error occurred parsing the - * SingleSignatureInfo. - */ - private SingleSignatureInfo parseSingleSignatureInfo(Element sigInfoElem) - throws MOAApplicationException { - - DataObjectInfo dataObjectInfo = parseDataObjectInfo(sigInfoElem); - boolean securityLayerConform; - - if (sigInfoElem.hasAttribute(SL_CONFORM_ATTR_NAME)) { - securityLayerConform = - BoolUtils.valueOf(sigInfoElem.getAttribute(SL_CONFORM_ATTR_NAME)); - } else { - securityLayerConform = true; - } - - return factory.createSingleSignatureInfoCMS( - dataObjectInfo, - securityLayerConform); - } - - /** - * Parse the DataObjectInfo DOM elements contained in the given - * SingleSignatureInfo DOM element. - * - * @param sigInfoElem The SingleSignatureInfo DOM element - * whose DataObjectInfos to parse. - * @return A List of DataObjectInfo API objects - * containing the data from the DataObjectInfo DOM elements. - * @throws MOAApplicationException An error occurred parsing one of the - * DataObjectInfos. - */ - private DataObjectInfo parseDataObjectInfo(Element sigInfoElem) - throws MOAApplicationException { - - Element dataObjInfoElem = (Element)XPathUtils.selectSingleNode(sigInfoElem, DATA_OBJECT_INFO_XPATH); - - String structure = dataObjInfoElem.getAttribute("Structure"); - Element dataObjectElem = - (Element) XPathUtils.selectSingleNode(dataObjInfoElem, DATA_OBJECT_XPATH); - - CMSDataObject dataObject = parseDataObject(dataObjectElem); - - return factory.createDataObjectInfo( - structure, - dataObject); - - } - - - - - - /** - * Parse a the DataObject DOM element contained in a given - * CreateCMSSignatureRequest DOM element. - * - * @param requestElem The DataObject DOM element of the VerifyCMSSignatureRequest - * to parse. - * @return The CMSDataObject API object containing the data - * from the DataObject DOM element. - */ - private CMSDataObject parseDataObject(Element dataObjectElem) { - - if (dataObjectElem != null) { - Element metaInfoElem = (Element) XPathUtils.selectSingleNode(dataObjectElem, META_INFO_XPATH); - MetaInfo metaInfo = null; - Element contentElem = (Element) XPathUtils.selectSingleNode(dataObjectElem, CONTENT_XPATH); - CMSContent content = parseContent(contentElem); - - if (metaInfoElem != null) { - metaInfo = RequestParserUtils.parseMetaInfo(metaInfoElem); - } - - String excludeByteRangeFromStr = XPathUtils.getElementValue(dataObjectElem, EXCLUDEBYTERANGE_FROM_XPATH, null); - String excludeByteRangeToStr = XPathUtils.getElementValue(dataObjectElem, EXCLUDEBYTERANGE_TO_XPATH, null); - - BigDecimal excludeByteRangeFrom = null; - BigDecimal excludeByteRangeTo = null; - - if (excludeByteRangeFromStr != null) - excludeByteRangeFrom = new BigDecimal(excludeByteRangeFromStr); - if (excludeByteRangeToStr != null) - excludeByteRangeTo = new BigDecimal(excludeByteRangeToStr); - - return factory.createCMSDataObject(metaInfo, content, excludeByteRangeFrom, excludeByteRangeTo); - } - else { - return null; - } - } - - - - /** - * Parse the content contained in a CMSContentBaseType kind of - * DOM element. - * - * @param contentElem The CMSContentBaseType kind of element to - * parse. - * @return A CMSDataObject API object containing the data - * from the given DOM element. - */ - private CMSContent parseContent(Element contentElem) { - Element base64ContentElem = - (Element) XPathUtils.selectSingleNode(contentElem, BASE64_CONTENT_XPATH); - - if (base64ContentElem != null) { - String base64Str = DOMUtils.getText(base64ContentElem); - InputStream binaryContent = Base64Utils.decodeToStream(base64Str, true); - return factory.createCMSContent(binaryContent); - } else { - return factory.createCMSContent( - contentElem.getAttribute("Reference")); - } - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureResponseBuilder.java deleted file mode 100644 index 907f90d32..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateCMSSignatureResponseBuilder.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.io.IOException; -import java.util.Iterator; - -import javax.xml.transform.TransformerException; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; - -/** - * Convert a CreateCMSSignatureResponse API object into its - * XML representation, according to the MOA XML schema. - * - * @version $Id$ - */ -public class CreateCMSSignatureResponseBuilder { - private static final String MOA_NS_URI = Constants.MOA_NS_URI; - - /** The XML document containing the response element. */ - private Document responseDoc; - /** The response CreateCMSSignatureResponse DOM element. */ - private Element responseElem; - - /** - * Create a new CreateCMSSignatureResponseBuilder: - * - * @throws MOASystemException An error occurred setting up the resulting - * XML document. - */ - public CreateCMSSignatureResponseBuilder() throws MOASystemException { - responseDoc = - ResponseBuilderUtils.createResponse("CreateCMSSignatureResponse"); - responseElem = responseDoc.getDocumentElement(); - } - - /** - * Build a document containing a CreateCMSSignatureResponse - * DOM element being the XML representation of the given - * CreateCMSSignatureResponse API object. - * - * @param response The CreateCMSSignatureResponse to convert - * to XML. - * @return A document containing the CreateCMSSignatureResponse - * DOM element. - */ - public Document build(CreateCMSSignatureResponse response) { - Iterator iter; - - - for (iter = response.getResponseElements().iterator(); iter.hasNext();) { - CreateCMSSignatureResponseElement responseElement = - (CreateCMSSignatureResponseElement) iter.next(); - - switch (responseElement.getResponseType()) { - case CreateCMSSignatureResponseElement.CMS_SIGNATURE : - CMSSignatureResponse cmsSignatureResponse = (CMSSignatureResponse) responseElement; - addCMSSignature(cmsSignatureResponse); - break; - - case CreateCMSSignatureResponseElement.ERROR_RESPONSE : - ErrorResponse errorResponse = (ErrorResponse) responseElement; - addErrorResponse(errorResponse); - break; - } - - } - - return responseDoc; - } - - - - /** - * Add a CMSSignature element to the response. - * - * @param cmsSignatureResponse The content to put under the - * CMSSignature element. - */ - private void addCMSSignature(CMSSignatureResponse cmsSignatureResponse) { - String base64Value = cmsSignatureResponse.getCMSSignature(); - - Element cmsSignature = responseDoc.createElementNS(MOA_NS_URI, "CMSSignature"); - cmsSignature.setTextContent(base64Value); - - responseElem.appendChild(cmsSignature); - -} - - /** - * Add a ErrorResponse element to the response. - * - * @param errorResponse The API object containing the information to put into - * the ErrorResponse DOM element. - */ - private void addErrorResponse(ErrorResponse errorResponse) { - Element errorElem = - responseDoc.createElementNS(MOA_NS_URI, "ErrorResponse"); - Element errorCodeElem = - responseDoc.createElementNS(MOA_NS_URI, "ErrorCode"); - Element infoElem = responseDoc.createElementNS(MOA_NS_URI, "Info"); - String errorCodeStr = Integer.toString(errorResponse.getErrorCode()); - - errorCodeElem.appendChild(responseDoc.createTextNode(errorCodeStr)); - errorElem.appendChild(errorCodeElem); - infoElem.appendChild(responseDoc.createTextNode(errorResponse.getInfo())); - errorElem.appendChild(errorCodeElem); - errorElem.appendChild(infoElem); - responseElem.appendChild(errorElem); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java deleted file mode 100644 index 9cea2fc99..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java +++ /dev/null @@ -1,312 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.util.ArrayList; -import java.util.List; - -import org.w3c.dom.Element; -import org.w3c.dom.traversal.NodeIterator; - -import at.gv.egovernment.moa.util.BoolUtils; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.XPathUtils; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; - -/** - * A parser to parse CreateXMLSignatureRequest DOM trees into - * CreateXMLSignatureRequest API objects. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateXMLSignatureRequestParser { - - // - // XPath expresssions to select elements in the CreateXMLSignatureRequest - // - private static final String MOA = Constants.MOA_PREFIX + ":"; - private static final String KEY_IDENTIFIER_XPATH = - "/" + MOA + "CreateXMLSignatureRequest/" + MOA + "KeyIdentifier"; - private static final String SINGLE_SIGNATURE_INFO_XPATH = - "/" + MOA + "CreateXMLSignatureRequest/" + MOA + "SingleSignatureInfo"; - private static final String DATA_OBJECT_INFO_XPATH = MOA + "DataObjectInfo"; - private static final String DATA_OBJECT_XPATH = MOA + "DataObject"; - private static final String CREATE_SIGNATURE_INFO_XPATH = - MOA + "CreateSignatureInfo"; - private static final String CREATE_TRANSFORMS_INFO_PROFILE_XPATH = - (MOA + "CreateTransformsInfoProfile | ") - + (MOA + "CreateTransformsInfoProfileID"); - private static final String CREATE_SIGNATURE_ENVIRONMENT_XPATH = - MOA + "CreateSignatureEnvironment"; - private static final String CREATE_SIGNATURE_ENVIRONMENT_PROFILE_XPATH = - (MOA + "CreateSignatureEnvironmentProfile | ") - + (MOA + "CreateSignatureEnvironmentProfileID"); - private static final String SL_CONFORM_ATTR_NAME = "SecurityLayerConformity"; - - /** The factory to create API objects. */ - private SPSSFactory factory; - - /** - * Create a new CreateXMLSignatureRequestParser. - */ - public CreateXMLSignatureRequestParser() { - this.factory = SPSSFactory.getInstance(); - } - - /** - * Parse a CreateXMLSignatureRequest DOM element, as defined - * by the MOA schema. - * - * @param requestElem The CreateXMLSignatureRequest to parse. The - * request must have been successfully parsed against the schema for this - * method to succeed. - * @return A CreateXMLSignatureRequest API object containing - * the data from the DOM element. - * @throws MOAApplicationException An error occurred parsing the request. - */ - public CreateXMLSignatureRequest parse(Element requestElem) - throws MOAApplicationException { - - List singleSignatureInfos = parseSingleSignatureInfos(requestElem); - String keyIdentifier = - XPathUtils.getElementValue(requestElem, KEY_IDENTIFIER_XPATH, null); - - return factory.createCreateXMLSignatureRequest( - keyIdentifier, - singleSignatureInfos); - } - - /** - * Parse all SingleSignatureInfo elements of the - * CreateXMLSignatureRequest. - * - * @param requestElem The CreateXMLSignatureRequest to parse. - * @return A List of SingleSignatureInfo API - * objects. - * @throws MOAApplicationException An error occurred parsing on of the - * SingleSignatureInfo elements. - */ - private List parseSingleSignatureInfos(Element requestElem) - throws MOAApplicationException { - - List singleSignatureInfos = new ArrayList(); - NodeIterator sigInfoElems = - XPathUtils.selectNodeIterator(requestElem, SINGLE_SIGNATURE_INFO_XPATH); - Element sigInfoElem; - - while ((sigInfoElem = (Element) sigInfoElems.nextNode()) != null) { - singleSignatureInfos.add(parseSingleSignatureInfo(sigInfoElem)); - } - - return singleSignatureInfos; - } - - /** - * Parse a SingleSignatureInfo DOM element. - * - * @param sigInfoElem The SingleSignatureInfo DOM element to - * parse. - * @return A SingleSignatureInfo API object containing the - * information of sigInfoElem. - * @throws MOAApplicationException An error occurred parsing the - * SingleSignatureInfo. - */ - private SingleSignatureInfo parseSingleSignatureInfo(Element sigInfoElem) - throws MOAApplicationException { - - List dataObjectInfos = parseDataObjectInfos(sigInfoElem); - CreateSignatureInfo createSignatureInfo = - parseCreateSignatureInfo(sigInfoElem); - boolean securityLayerConform; - - if (sigInfoElem.hasAttribute(SL_CONFORM_ATTR_NAME)) { - securityLayerConform = - BoolUtils.valueOf(sigInfoElem.getAttribute(SL_CONFORM_ATTR_NAME)); - } else { - securityLayerConform = true; - } - - return factory.createSingleSignatureInfo( - dataObjectInfos, - createSignatureInfo, - securityLayerConform); - } - - /** - * Parse the DataObjectInfo DOM elements contained in the given - * SingleSignatureInfo DOM element. - * - * @param sigInfoElem The SingleSignatureInfo DOM element - * whose DataObjectInfos to parse. - * @return A List of DataObjectInfo API objects - * containing the data from the DataObjectInfo DOM elements. - * @throws MOAApplicationException An error occurred parsing one of the - * DataObjectInfos. - */ - private List parseDataObjectInfos(Element sigInfoElem) - throws MOAApplicationException { - - List dataObjectInfos = new ArrayList(); - NodeIterator dataObjInfoElems = - XPathUtils.selectNodeIterator(sigInfoElem, DATA_OBJECT_INFO_XPATH); - Element dataObjInfoElem; - - while ((dataObjInfoElem = (Element) dataObjInfoElems.nextNode()) != null) { - dataObjectInfos.add(parseDataObjectInfo(dataObjInfoElem)); - } - return dataObjectInfos; - } - - /** - * Parse a DataObjectInfo DOM element. - * - * @param dataObjInfoElem The DataObjectInfo DOM element to - * parse. - * @return A DataObjectInfo API element containing the data - * from dataObjInfoElem. - * @throws MOAApplicationException An error occurred parsing the - * DataObjectInfo. - */ - private DataObjectInfo parseDataObjectInfo(Element dataObjInfoElem) - throws MOAApplicationException { - - String structure = dataObjInfoElem.getAttribute("Structure"); - Element dataObjectElem = - (Element) XPathUtils.selectSingleNode(dataObjInfoElem, DATA_OBJECT_XPATH); - Content dataObject = RequestParserUtils.parseContent(dataObjectElem); - CreateTransformsInfoProfile createTransformsInfoProfile = - parseCreateTransformsInfoProfile(dataObjInfoElem); - boolean childOfManifest; - - if (dataObjInfoElem.hasAttribute("ChildOfManifest")) { - childOfManifest = - BoolUtils.valueOf(dataObjInfoElem.getAttribute("ChildOfManifest")); - } else { - childOfManifest = false; - } - - return factory.createDataObjectInfo( - structure, - childOfManifest, - dataObject, - createTransformsInfoProfile); - } - - /** - * Parse a CreateTransformsInfoProfile DOM element. - * - * @param dataObjInfoElem The DataObjectInfo DOM element - * containing the CreateTransformsInfoProfile. - * @return The CreateTransformsInfoProfile API object containing - * the profile found in dataObjInfoElem. - * @throws MOAApplicationException An error occurred parsing the - * CreateTransformsInfoProfile. - */ - private CreateTransformsInfoProfile parseCreateTransformsInfoProfile(Element dataObjInfoElem) - throws MOAApplicationException { - - Element profileElem = - (Element) XPathUtils.selectSingleNode( - dataObjInfoElem, - CREATE_TRANSFORMS_INFO_PROFILE_XPATH); - - if ("CreateTransformsInfoProfile".equals(profileElem.getLocalName())) { - ProfileParser profileParser = new ProfileParser(); - return profileParser.parseCreateTransformsInfoProfile(profileElem); - - } else { - String profileID = DOMUtils.getText(profileElem); - return factory.createCreateTransformsInfoProfile(profileID); - } - } - - /** - * Parse the CreateSignatureInfo DOM element contained in - * a SingleSignatureInfo. - * - * @param sigInfoElem The SingleSignatureInfo DOM element - * containing the CreateSignatureInfo to be parsed. - * @return A CreateSignatureInfo API object containing the - * data from the CreateSignatureInfo DOM element, or - * null, if none was found. - */ - private CreateSignatureInfo parseCreateSignatureInfo(Element sigInfoElem) { - Element createInfoElem = - (Element) XPathUtils.selectSingleNode( - sigInfoElem, - CREATE_SIGNATURE_INFO_XPATH); - - if (createInfoElem != null) { - Element environmentElem = - (Element) XPathUtils.selectSingleNode( - createInfoElem, - CREATE_SIGNATURE_ENVIRONMENT_XPATH); - Content environment = RequestParserUtils.parseContent(environmentElem); - CreateSignatureEnvironmentProfile environmentProfile = - parseCreateSignatureEnvironmentProfile(createInfoElem); - - return factory.createCreateSignatureInfo(environment, environmentProfile); - } else { - return null; - } - } - - /** - * Parse the CreateSignatureEnvironmentProfile contained in - * the given CreateSignatureInfo DOM element. - * - * @param createInfoElem CreateSignatureInfo DOM element to - * parse. - * @return The CreateSignatureEnvironmentProfile contained - * in the given CreateSignatureInfo DOM element.. - */ - private CreateSignatureEnvironmentProfile parseCreateSignatureEnvironmentProfile(Element createInfoElem) { - Element profileElem = - (Element) XPathUtils.selectSingleNode( - createInfoElem, - CREATE_SIGNATURE_ENVIRONMENT_PROFILE_XPATH); - - if ("CreateSignatureEnvironmentProfile" - .equals(profileElem.getLocalName())) { - ProfileParser profileParser = new ProfileParser(); - return profileParser.parseCreateSignatureEnvironmentProfile(profileElem); - } else { - String profileID = DOMUtils.getText(profileElem); - return factory.createCreateSignatureEnvironmentProfile(profileID); - } - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java deleted file mode 100644 index 0af1a67e6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.util.Iterator; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import at.gv.egovernment.moa.util.Constants; - -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; - -/** - * Convert a CreateXMLSignatureResponse API object into its - * XML representation, according to the MOA XML schema. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateXMLSignatureResponseBuilder { - private static final String MOA_NS_URI = Constants.MOA_NS_URI; - - /** The XML document containing the response element. */ - private Document responseDoc; - /** The response CreateXMLSignatureResponse DOM element. */ - private Element responseElem; - - /** - * Create a new CreateXMLSignatureResponseBuilder: - * - * @throws MOASystemException An error occurred setting up the resulting - * XML document. - */ - public CreateXMLSignatureResponseBuilder() throws MOASystemException { - responseDoc = - ResponseBuilderUtils.createResponse("CreateXMLSignatureResponse"); - responseElem = responseDoc.getDocumentElement(); - } - - /** - * Build a document containing a CreateXMLSignatureResponse - * DOM element being the XML representation of the given - * CreateXMLSignatureResponse API object. - * - * @param response The CreateXMLSignatureResponse to convert - * to XML. - * @return A document containing the CreateXMLSignatureResponse - * DOM element. - */ - public Document build(CreateXMLSignatureResponse response) { - Iterator iter; - - for (iter = response.getResponseElements().iterator(); iter.hasNext();) { - CreateXMLSignatureResponseElement responseElement = - (CreateXMLSignatureResponseElement) iter.next(); - - switch (responseElement.getResponseType()) { - case CreateXMLSignatureResponseElement.SIGNATURE_ENVIRONMENT_RESPONSE : - SignatureEnvironmentResponse envResponse = - (SignatureEnvironmentResponse) responseElement; - addSignatureEnvironment(envResponse); - break; - - case CreateXMLSignatureResponseElement.ERROR_RESPONSE : - ErrorResponse errorResponse = (ErrorResponse) responseElement; - addErrorResponse(errorResponse); - break; - } - - } - - return responseDoc; - } - - /** - * Add a SignatureEnvironment element to the response. - * - * @param envResponse The content to put under the - * SignatureEnvironment element. This should either be a - * dsig:Signature element (in case of a detached signature) or - * the signature environment containing the signature (in case of - * an enveloping signature). - */ - private void addSignatureEnvironment(SignatureEnvironmentResponse envResponse) { - Element content = envResponse.getSignatureEnvironment(); - Node importedSignature = responseDoc.importNode(content, true); - Element signatureEnvironment = - responseDoc.createElementNS(MOA_NS_URI, "SignatureEnvironment"); - signatureEnvironment.appendChild(importedSignature); - responseElem.appendChild(signatureEnvironment); - } - - /** - * Add a ErrorResponse element to the response. - * - * @param errorResponse The API object containing the information to put into - * the ErrorResponse DOM element. - */ - private void addErrorResponse(ErrorResponse errorResponse) { - Element errorElem = - responseDoc.createElementNS(MOA_NS_URI, "ErrorResponse"); - Element errorCodeElem = - responseDoc.createElementNS(MOA_NS_URI, "ErrorCode"); - Element infoElem = responseDoc.createElementNS(MOA_NS_URI, "Info"); - String errorCodeStr = Integer.toString(errorResponse.getErrorCode()); - - errorCodeElem.appendChild(responseDoc.createTextNode(errorCodeStr)); - errorElem.appendChild(errorCodeElem); - infoElem.appendChild(responseDoc.createTextNode(errorResponse.getInfo())); - errorElem.appendChild(errorCodeElem); - errorElem.appendChild(infoElem); - responseElem.appendChild(errorElem); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java deleted file mode 100644 index 0705c0b64..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java +++ /dev/null @@ -1,309 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.w3c.dom.Element; -import org.w3c.dom.traversal.NodeIterator; - -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.XPathUtils; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile; - -/** - * Parse the various profile elements contained in the MOA web service requests - * and given as separate files in the MOA configuration. - * - * The profiles parsed must be schema valid according to the MOA XML schema. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ProfileParser { - - // - // XPath expressions to select parts of the profiles - // - private static final String MOA = Constants.MOA_PREFIX + ":"; - private static final String DSIG = Constants.DSIG_PREFIX + ":"; - private static final String CREATE_TRANSFORMS_XPATH = - MOA + "CreateTransformsInfo/" + DSIG + "Transforms"; - private static final String FINAL_DATA_META_INFO_XPATH = - MOA + "CreateTransformsInfo/" + MOA + "FinalDataMetaInfo"; - private static final String CREATE_SIGNATURE_LOCATION_XPATH = - MOA + "CreateSignatureLocation"; - private static final String SUPPLEMENT_XPATH = MOA + "Supplement"; - private static final String VERIFY_TRANSFORMS_XPATH = DSIG + "Transforms"; - private static final String TRANSFORM_PARAMETER_XPATH = - MOA + "TransformParameter"; - private static final String TRANSFORM_PARAMETER_CONTENT_XPATH = - MOA + "Base64Content | " + MOA + "Hash"; - private static final String DIGEST_METHOD_XPATH = DSIG + "DigestMethod"; - private static final String DIGEST_VALUE_XPATH = DSIG + "DigestValue"; - - /** The factory used to create API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - /** - * Parse a CreateTransformsInfoProfile DOM element. - * - * @param profileElem The CreateTransformsInfoProfile element - * to parse. - * @return The CreateTransformsInfoProfile API object containing - * the data from the profileElem. - * @throws MOAApplicationException An error occurred parsing the DOM element. - */ - public CreateTransformsInfoProfile parseCreateTransformsInfoProfile(Element profileElem) - throws MOAApplicationException { - CreateTransformsInfo createTransformsInfo = - parseCreateTransformsInfo(profileElem); - List supplements = parseSupplements(profileElem); - - return factory.createCreateTransformsInfoProfile( - createTransformsInfo, - supplements); - } - - /** - * Parse the CreateTransformsInfo DOM element contained in a - * CreateTransformsInfoProfile. - * - * @param profileElem The CreateTransformsInfoProfile DOM - * element containing the CreateTransformsInfo. - * @return The CreateTransformsInfo API object containinig the - * data from the CreateTransformsInfo DOM element. - * @throws MOAApplicationException An error occurred parsing the - * CreateTransformsInfo DOM element. - */ - private CreateTransformsInfo parseCreateTransformsInfo(Element profileElem) - throws MOAApplicationException { - - Element transformsElem = - (Element) XPathUtils.selectSingleNode( - profileElem, - CREATE_TRANSFORMS_XPATH); - Element metaInfoElem = - (Element) XPathUtils.selectSingleNode( - profileElem, - FINAL_DATA_META_INFO_XPATH); - MetaInfo finalDataMetaInfo; - List transforms; - - // parse the dsig:Transforms - if (transformsElem != null) { - TransformParser transformsParser = new TransformParser(); - transforms = transformsParser.parseTransforms(transformsElem); - } else { - transforms = null; - } - - // parse the meta info - finalDataMetaInfo = RequestParserUtils.parseMetaInfo(metaInfoElem); - - return factory.createCreateTransformsInfo(transforms, finalDataMetaInfo); - } - - /** - * Parse a CreateSignatureEnvironmentProfile DOM element. - * - * @param profileElem The CreateSignatureEnvironmentProfile - * DOM element to parse. - * @return The CreateSignatureEnvironmentProfile API object - * containing the data from the profileElem. - */ - public CreateSignatureEnvironmentProfile parseCreateSignatureEnvironmentProfile(Element profileElem) { - CreateSignatureLocation createSignatureLocation = - parseCreateSignatureLocation(profileElem); - List supplements = parseSupplements(profileElem); - - return factory.createCreateSignatureEnvironmentProfile( - createSignatureLocation, - supplements); - } - - /** - * Parse a CreateSignatureLocation DOM element contained in - * a CreateSignatureEnvironmentProfile. - * - * @param profileElem The CreateSignatureEnvironmentProfile DOM - * element containing the CreateSignatureLocation. - * @return The CreateSignatureLocation API object containing - * the data from the CreateSignatureLocation DOM element. - */ - private CreateSignatureLocation parseCreateSignatureLocation(Element profileElem) { - Element locationElem = - (Element) XPathUtils.selectSingleNode( - profileElem, - CREATE_SIGNATURE_LOCATION_XPATH); - String xPathExpression = DOMUtils.getText(locationElem); - Map namespaceDeclarations = DOMUtils.getNamespaceDeclarations(locationElem); - String indexStr = locationElem.getAttribute("Index"); - int index = Integer.parseInt(indexStr); - - return factory.createCreateSignatureLocation( - xPathExpression, - index, - namespaceDeclarations); - } - - /** - * Parse all Supplement DOM elements contained in a given - * parent DOM element. - * - * @param supplementsParentElem The DOM element being the parent of the - * Supplements. - * @return A List of Supplement API objects - * containing the data from the Supplement DOM elements. - */ - private List parseSupplements(Element supplementsParentElem) { - List supplements = new ArrayList(); - NodeIterator supplementElems = - XPathUtils.selectNodeIterator(supplementsParentElem, SUPPLEMENT_XPATH); - Element supplementElem; - - while ((supplementElem = (Element) supplementElems.nextNode()) != null) { - XMLDataObjectAssociation supplement = - RequestParserUtils.parseXMLDataObjectAssociation(supplementElem); - supplements.add(supplement); - } - return supplements; - } - - /** - * Parse a SupplementProfile DOM element. - * - * @param profileElem The SupplementProfile DOM element to parse. - * @return The SupplementProfile API object containing the - * data from the SupplementProfile DOM element. - */ - public SupplementProfile parseSupplementProfile(Element profileElem) { - XMLDataObjectAssociation supplementProfile = - RequestParserUtils.parseXMLDataObjectAssociation(profileElem); - - return factory.createSupplementProfile(supplementProfile); - } - - /** - * Parse a VerifyTransformsInfoProfile DOM element. - * - * @param profileElem The VerifyTransformsInfoProfile DOM - * element to parse. - * @return A VerifyTransformsInfoProfile API object containing - * the information from the VerifyTransformsInfoProfile DOM - * element. - * @throws MOAApplicationException An error occurred parsing the - * VerifyTransformsInfoProfile. - */ - public VerifyTransformsInfoProfile parseVerifyTransformsInfoProfile(Element profileElem) - throws MOAApplicationException { - Element transformsElem = - (Element) XPathUtils.selectSingleNode( - profileElem, - VERIFY_TRANSFORMS_XPATH); - List transforms = null; - NodeIterator paramElems = - XPathUtils.selectNodeIterator(profileElem, TRANSFORM_PARAMETER_XPATH); - Element paramElem; - List transformParameters = new ArrayList(); - - // parse the dsig:Transforms - if (transformsElem != null) { - TransformParser transformsParser = new TransformParser(); - transforms = transformsParser.parseTransforms(transformsElem); - } - - // parse the TransformParameter elements - while ((paramElem = (Element) paramElems.nextNode()) != null) { - transformParameters.add(parseTransformParameter(paramElem)); - } - - return factory.createVerifyTransformsInfoProfile( - transforms, - transformParameters); - } - - /** - * Parse a TransformParameter DOM element. - * - * @param paramElem The TransformParameter DOM element to - * parse. - * @return The TransformParameter API object containing the - * information from the TransformParameter DOM element. - * @throws MOAApplicationException An error occurred parsing the - * TransformParameter DOM element. - */ - private TransformParameter parseTransformParameter(Element paramElem) - throws MOAApplicationException { - String uri = paramElem.getAttribute("URI"); - Element contentElem = - (Element) XPathUtils.selectSingleNode( - paramElem, - TRANSFORM_PARAMETER_CONTENT_XPATH); - - if (contentElem == null) { - return factory.createTransformParameter(uri); - } else if ("Base64Content".equals(contentElem.getLocalName())) { - String base64Str = DOMUtils.getText(contentElem); - InputStream binaryContent = Base64Utils.decodeToStream(base64Str, true); - - return factory.createTransformParameter(uri, binaryContent); - } else { // "Hash".equals(contentElem.getLocalName()) - String digestMethodStr = - XPathUtils.getElementValue(contentElem, DIGEST_METHOD_XPATH, ""); - String digestValueStr = - XPathUtils.getElementValue(contentElem, DIGEST_VALUE_XPATH, ""); - byte[] digestValue = null; - - try { - digestValue = Base64Utils.decode(digestValueStr, true); - } catch (IOException e) { - throw new MOAApplicationException("2270", null); - } - return factory.createTransformParameter( - uri, - digestMethodStr, - digestValue); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java deleted file mode 100644 index 743a17c22..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.text.ParseException; -import java.util.Date; - -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.DateTimeUtils; -import at.gv.egovernment.moa.util.XPathUtils; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; - -/** - * Utility methods for parsing XML requests definied in the MOA XML schema. - * - * @author Patrick Peck - * @version $Id$ - */ -public class RequestParserUtils { - // - // XPath expressions for parsing parts of a request - // - private static final String MOA = Constants.MOA_PREFIX + ":"; - private static final String REFERENCE_ATTR_NAME = "Reference"; - private static final String MIME_TYPE_XPATH = MOA + "MimeType"; - private static final String DESCRIPTION_XPATH = MOA + "Description"; - private static final String TYPE_XPATH = MOA + "Type"; - private static final String XML_ASSOC_CONTENT_XPATH = MOA + "Content"; - private static final String CONTENT_XPATH = - MOA + "Base64Content | " + MOA + "XMLContent |" + MOA + "LocRefContent"; - private static final String ANY_OTHER_XPATH = - "*[namespace-uri() != \"" + Constants.MOA_NS_URI + "\"]"; - - /** - * Parse a XMLDataObjectAssociationType kind of DOM element. - * - * @param assocElem The XMLDataObjectAssociationType kind of - * DOM elmeent to parse. - * @return The XMLDataObjectAssociation API object containing - * the data from the XMLDataObjectAssociationType DOM element. - */ - public static XMLDataObjectAssociation parseXMLDataObjectAssociation(Element assocElem) { - SPSSFactory factory = SPSSFactory.getInstance(); - MetaInfo metaInfo = parseMetaInfo(assocElem); - Element contentElem = - (Element) XPathUtils.selectSingleNode(assocElem, XML_ASSOC_CONTENT_XPATH); - Content content = parseContent(contentElem); - - return factory.createXMLDataObjectAssociation(metaInfo, content); - } - - /** - * Parse a MetaInfoType kind of DOM element. - * - * @param metaInfoElem The MetaInfoType kind of DOM element. - * @return The MetaInfo API object containing the data from - * the metaInfoElem. - */ - public static MetaInfo parseMetaInfo(Element metaInfoElem) { - SPSSFactory factory = SPSSFactory.getInstance(); - String mimeType = - XPathUtils.getElementValue(metaInfoElem, MIME_TYPE_XPATH, null); - String description = - XPathUtils.getElementValue(metaInfoElem, DESCRIPTION_XPATH, null); - NodeList anyOther = - XPathUtils.selectNodeList(metaInfoElem, ANY_OTHER_XPATH); - String type = - XPathUtils.getElementValue(metaInfoElem, TYPE_XPATH, null); - - return factory.createMetaInfo(mimeType, description, anyOther, type); - } - - /** - * Parse a ContentOptionalRefType or - * ContentRequiredRefType kind of DOM element. - * @param contentParentElem The DOM element being the parent of the - * content element. - * @return The Content API object containing the data from - * the given DOM element. - */ - public static Content parseContent(Element contentParentElem) { - SPSSFactory factory = SPSSFactory.getInstance(); - String referenceURI = - contentParentElem.hasAttribute(REFERENCE_ATTR_NAME) - ? contentParentElem.getAttribute(REFERENCE_ATTR_NAME) - : null; - Element contentElem = - (Element) XPathUtils.selectSingleNode(contentParentElem, CONTENT_XPATH); - - if (contentElem == null) { - return factory.createContent(referenceURI); - } - - if ("Base64Content".equals(contentElem.getLocalName())) { - String base64String = DOMUtils.getText(contentElem); - return factory.createContent( - Base64Utils.decodeToStream(base64String, true), - referenceURI); - } else if ("LocRefContent".equals(contentElem.getLocalName())) { - String locationReferenceURI = DOMUtils.getText(contentElem); - return factory.createContent( - locationReferenceURI, - referenceURI); - } else { // "XMLContent".equals(contentElem.getLocalName()) - return factory.createContent( - contentElem.getChildNodes(), - referenceURI); - } - } - - /** - * Get the signing time from a Verfiy(CMS|XML)SignatureRequest. - * - * @param requestElem A Verify(CMS|XML)SignatureRequest DOM - * element. - * @param dateTimeXPath The XPath to lookup the DateTime element - * within the request. - * @return Date The date and time corresponding to the DateTime - * element in the request. If no DateTime element exists in the - * request, null is returned. - * @throws MOAApplicationException An error occurred during a parsing the - * DateTime element or creating the return value. - */ - public static Date parseDateTime(Element requestElem, String dateTimeXPath) - throws MOAApplicationException { - - Element dateTimeElem; - String dateTimeText; - - // select the DateTime element - dateTimeElem = - (Element) XPathUtils.selectSingleNode(requestElem, dateTimeXPath); - - // parse a date from the element value - if (dateTimeElem != null) { - dateTimeText = DOMUtils.getText(dateTimeElem); - try { - return DateTimeUtils.parseDateTime(dateTimeText); - } catch (ParseException e) { - throw new MOAApplicationException( - "1104", - new Object[] { dateTimeText }); - } - } else { - return null; - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java deleted file mode 100644 index 2e2afaf7c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java +++ /dev/null @@ -1,289 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.io.IOException; -import java.security.cert.CertificateEncodingException; -import java.security.cert.X509Certificate; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.DOMImplementation; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; - -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.Constants; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOASystemException; - -/** - * Utility methods used by the verious ResponseBuilder classes. - * - * @author Patrick Peck - * @version $Id$ - */ -class ResponseBuilderUtils { - // - // shortcuts to various XML namespace constants - // - private static final String MOA_NS_URI = Constants.MOA_NS_URI; - private static final String DSIG = Constants.DSIG_PREFIX + ":"; - private static final String DSIG_NS_URI = Constants.DSIG_NS_URI; - private static final String XMLNS_NS_URI = Constants.XMLNS_NS_URI; - - /** - * Create a response element with all the namespaces set. - * - * @param responseName The name of the response root element. - * @return A DOM document containing the response root element and predefined - * MOA, DSIG and XML namespace declarations. - * @throws MOASystemException An error building the response document. - */ - public static Document createResponse(String responseName) - throws MOASystemException { - - try { - DocumentBuilder docBuilder = - DocumentBuilderFactory.newInstance().newDocumentBuilder(); - DOMImplementation impl = docBuilder.getDOMImplementation(); - Document response; - Element root; - String attrValue; - - response = impl.createDocument(MOA_NS_URI, responseName, null); - root = response.getDocumentElement(); - - // add namespace prefix declarations - root.setAttributeNS(XMLNS_NS_URI, "xmlns", MOA_NS_URI); - attrValue = "xmlns:" + Constants.DSIG_PREFIX; - root.setAttributeNS(XMLNS_NS_URI, attrValue, DSIG_NS_URI); - - return response; - } catch (ParserConfigurationException e) { - throw new MOASystemException("2200", null, e); - } - } - - /** - * Add a SignerInfo element to the response. - * - * @param response The response document, in order to create new elements in - * it. - * @param root The root element into which the SignerInfo element - * will be inserted. - * @param cert The signer certificate to add. - * @param isQualified Indicates, whether cert is a qualified - * certificate. - * @param isPublicAuthority Indicates, whether cert is - * certificate owned by a public authority. - * @param publicAuthorityID Information about the public authority owning - * cert. Must not be null, if - * isPublicAuthority ! = null. - * @throws MOAApplicationException An error occurred reading data from the - * certificate. - */ - public static void addSignerInfo( - Document response, - Element root, - X509Certificate cert, - boolean isQualified, - String qcSource, - boolean isPublicAuthority, - String publicAuthorityID, - boolean isSSCD, - String sscdSource, - String issuerCountryCode) - throws MOAApplicationException { - - Element signerInfoElem = response.createElementNS(MOA_NS_URI, "SignerInfo"); - Element x509DataElem = - response.createElementNS(DSIG_NS_URI, DSIG + "X509Data"); - Element x509IssuerSerialElem = - response.createElementNS(DSIG_NS_URI, DSIG + "X509IssuerSerial"); - Element x509IssuerElem = - response.createElementNS(DSIG_NS_URI, DSIG + "X509IssuerName"); - String issuer = cert.getIssuerDN().getName(); - Element x509SerialNumberElem = - response.createElementNS(DSIG_NS_URI, DSIG + "X509SerialNumber"); - String serialNumber = cert.getSerialNumber().toString(); - Element x509SubjectNameElem = - response.createElementNS(DSIG_NS_URI, DSIG + "X509SubjectName"); - Element x509CertificateElem = - response.createElementNS(DSIG_NS_URI, DSIG + "X509Certificate"); - Element qualifiedCertificateElem = - isQualified - ? response.createElementNS(MOA_NS_URI, "QualifiedCertificate") - : null; - Element sscdElem = - isSSCD - ? response.createElementNS(MOA_NS_URI, "SecureSignatureCreationDevice") - : null; - Element issuerCountryCodeElem = null; - if (issuerCountryCode != null) { - issuerCountryCodeElem = response.createElementNS(MOA_NS_URI, "IssuerCountryCode"); - issuerCountryCodeElem.setTextContent(issuerCountryCode); - } - - Element publicAuthorityElem = - isPublicAuthority - ? response.createElementNS(MOA_NS_URI, "PublicAuthority") - : null; - Element codeElem = - publicAuthorityID != null - ? response.createElementNS(MOA_NS_URI, "Code") - : null; - - // fill in text - x509IssuerElem.appendChild(response.createTextNode(issuer)); - x509SerialNumberElem.appendChild(response.createTextNode(serialNumber)); - try { - RFC2253NameParser parser = - new RFC2253NameParser(cert.getSubjectDN().getName()); - String subjectRfc2253 = parser.parse().getRFC2253String(); - x509SubjectNameElem.appendChild(response.createTextNode(subjectRfc2253)); - } catch (RFC2253NameParserException e) { - x509SubjectNameElem.appendChild( - response.createTextNode(cert.getSubjectDN().getName())); - } - try { - x509CertificateElem.appendChild( - response.createTextNode(Base64Utils.encode(cert.getEncoded()))); - } catch (CertificateEncodingException e) { - throw new MOAApplicationException("2245", null, e); - } catch (IOException e) { - throw new MOAApplicationException("2245", null, e); - } - - // build structure - x509DataElem.appendChild(x509SubjectNameElem); - x509IssuerSerialElem.appendChild(x509IssuerElem); - x509IssuerSerialElem.appendChild(x509SerialNumberElem); - x509DataElem.appendChild(x509IssuerSerialElem); - x509DataElem.appendChild(x509CertificateElem); - if (isQualified) { - if (qcSource.compareToIgnoreCase("TSL") == 0) - qualifiedCertificateElem.setAttributeNS(MOA_NS_URI, "Source", qcSource); - - x509DataElem.appendChild(qualifiedCertificateElem); - } - if (isPublicAuthority) { - x509DataElem.appendChild(publicAuthorityElem); - if (publicAuthorityID != null) { - codeElem.appendChild(response.createTextNode(publicAuthorityID)); - publicAuthorityElem.appendChild(codeElem); - } - } - if (isSSCD) { - sscdElem.setAttributeNS(MOA_NS_URI, "Source", sscdSource); - x509DataElem.appendChild(sscdElem); - } - if (issuerCountryCodeElem != null) - x509DataElem.appendChild(issuerCountryCodeElem); - - signerInfoElem.appendChild(x509DataElem); - root.appendChild(signerInfoElem); - } - - /** - * Add an element containing Code and Info - * subelements. - * - * @param response The response document, in order to create new elements in - * it. - * @param root The root element into which to insert the newly created - * element. - * @param elementName The name of the newly created element. - * @param code The content of the Code subelement. - * @param info The content of the Info subelement. - */ - public static void addCodeInfoElement( - Document response, - Element root, - String elementName, - int code, - NodeList info) { - - Element codeInfoElem = response.createElementNS(MOA_NS_URI, elementName); - Element codeElem = response.createElementNS(MOA_NS_URI, "Code"); - Element infoElem; - int i; - - codeElem.appendChild(response.createTextNode(Integer.toString(code))); - codeInfoElem.appendChild(codeElem); - if (info != null) { - infoElem = response.createElementNS(MOA_NS_URI, "Info"); - - for (i = 0; i < info.getLength(); i++) { - infoElem.appendChild(info.item(i).cloneNode(true)); - } - codeInfoElem.appendChild(infoElem); - } - root.appendChild(codeInfoElem); - } - - /** - * Add an element containing Code and Info - * subelements. - * - * @param response The response document, in order to create new elements in - * it. - * @param root The root element into which to insert the newly created - * element. - * @param elementName The name of the newly created element. - * @param code The content of the Code subelement. - * @param info The content of the Info subelement. - */ - public static void addCodeInfoElement( - Document response, - Element root, - String elementName, - int code, - String info) { - - Element codeInfoElem = response.createElementNS(MOA_NS_URI, elementName); - Element codeElem = response.createElementNS(MOA_NS_URI, "Code"); - Element infoElem; - int i; - - codeElem.appendChild(response.createTextNode(Integer.toString(code))); - codeInfoElem.appendChild(codeElem); - - if (info != null) { - infoElem = response.createElementNS(MOA_NS_URI, "Info"); - infoElem.appendChild(response.createTextNode(info)); - codeInfoElem.appendChild(infoElem); - } - root.appendChild(codeInfoElem); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java deleted file mode 100644 index 687b0ae18..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java +++ /dev/null @@ -1,270 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; - -import org.w3c.dom.Element; -import org.w3c.dom.traversal.NodeIterator; - -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.XPathUtils; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Base64Transform; -import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform; -import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.Transform; -import at.gv.egovernment.moa.spss.api.common.XPathFilter; -import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; -import at.gv.egovernment.moa.spss.api.common.XPathTransform; -import at.gv.egovernment.moa.spss.api.common.XSLTTransform; - -/** - * A parser to parse XMLDsig Transform DOM elements into their - * MOA SPSS API representation. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransformParser { - // - // XPath expressions for selecting information from the DOM tree - // - private static final String DSIG = Constants.DSIG_PREFIX + ":"; - private static final String DSIG_FILTER2 = - Constants.DSIG_FILTER2_PREFIX + ":"; - private static final String XSLT = Constants.XSLT_PREFIX + ":"; - private static final String EC = Constants.DSIG_EC_PREFIX + ":"; - private static final String TRANSFORM_XPATH = DSIG + "Transform"; - private static final String XPATH_XPATH = DSIG + "XPath"; - private static final String XSLT_ELEMENT_XPATH = XSLT + "stylesheet"; - private static final String XPATH2_XPATH = - (DSIG_FILTER2 + "XPath[@Filter=\"intersect\"] | ") - + (DSIG_FILTER2 + "XPath[@Filter=\"subtract\"] | ") - + (DSIG_FILTER2 + "XPath[@Filter=\"union\"]"); - private static final String INCLUSIVE_NAMESPACES_XPATH = - EC + "InclusiveNamespaces"; - - /** - * The SPSSFactory to use for creating new API objects. - */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - /** - * Parse an XMLDsig Transforms DOM element. - * - * @param transformsElem The Transforms DOM element to parse. - * @return A List of Transform API objects - * containing the data from the individual Transform DOM - * elements. - * @throws MOAApplicationException An error occurred parsing the - * Transforms DOM element. - */ - public List parseTransforms(Element transformsElem) - throws MOAApplicationException { - List transforms = new ArrayList(); - NodeIterator transformElems = - XPathUtils.selectNodeIterator(transformsElem, TRANSFORM_XPATH); - Element transformElem; - Transform transform; - - while ((transformElem = (Element) transformElems.nextNode()) != null) { - transform = parseTransform(transformElem); - transforms.add(transform); - } - - return transforms; - } - - /** - * Parse an XMLDsig Transform DOM element. - * - * @param transformElem Transform DOM element to parse. - * @return The Transform API object containing the data - * from the Transform DOM element. - * @throws MOAApplicationException An error occurred parsing the - * Transform DOM element. - */ - public Transform parseTransform(Element transformElem) - throws MOAApplicationException { - - String algorithmUri = transformElem.getAttribute("Algorithm"); - - if (CanonicalizationTransform.CANONICAL_XML.equals(algorithmUri) - || CanonicalizationTransform.CANONICAL_XML_WITH_COMMENTS.equals( - algorithmUri)) { - return factory.createCanonicalizationTransform(algorithmUri); - } else if ( - ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML.equals( - algorithmUri) - || ExclusiveCanonicalizationTransform - .EXCLUSIVE_CANONICAL_XML_WITH_COMMENTS - .equals( - algorithmUri)) { - return parseExclusiveC14nTransform(algorithmUri, transformElem); - } else if (Base64Transform.BASE64_DECODING.equals(algorithmUri)) { - return factory.createBase64Transform(); - } else if ( - EnvelopedSignatureTransform.ENVELOPED_SIGNATURE.equals(algorithmUri)) { - return factory.createEnvelopedSignatureTransform(); - } else if (XPathTransform.XPATH.equals(algorithmUri)) { - return parseXPathTransform(transformElem); - } else if (XPathFilter2Transform.XPATH_FILTER2.equals(algorithmUri)) { - return parseXPathFilter2Transform(transformElem); - } else if (XSLTTransform.XSLT.equals(algorithmUri)) { - return parseXSLTTransform(transformElem); - } else { - throw new MOAApplicationException("1108", new Object[] { algorithmUri }); - } - } - - /** - * Parse an exclusive canonicalization type of transform. - * - * @param algorithmUri The algorithm URI of the canonicalization algorithm. - * @param transformElem The Transform DOM element to parse. - * @return An ExclusiveCanonicalizationTransform API object - * containing the data from the transformElem. - */ - private Transform parseExclusiveC14nTransform( - String algorithmUri, - Element transformElem) - { - - Element inclusiveNamespacesElem = - (Element) XPathUtils.selectSingleNode( - transformElem, - INCLUSIVE_NAMESPACES_XPATH); - - List inclusiveNamespaces = new ArrayList(); - if (inclusiveNamespacesElem != null) - { - StringTokenizer tokenizer = new StringTokenizer(inclusiveNamespacesElem.getAttribute("PrefixList")); - while (tokenizer.hasMoreTokens()) - { - inclusiveNamespaces.add(tokenizer.nextToken()); - } - } - return factory.createExclusiveCanonicalizationTransform( - algorithmUri, - inclusiveNamespaces); - } - - /** - * Parse an XPath type of Transform. - * - * @param transformElem The Transform DOM element to parse. - * @return The Transform API object representation of the - * Transform DOM element. - * @throws MOAApplicationException An error occurred parsing the - * Transform DOM element. - */ - private Transform parseXPathTransform(Element transformElem) - throws MOAApplicationException { - Element xPathElem = - (Element) XPathUtils.selectSingleNode(transformElem, XPATH_XPATH); - Map nsDecls; - - if (xPathElem == null) { - throw new MOAApplicationException("2202", null); - } - - nsDecls = DOMUtils.getNamespaceDeclarations(xPathElem); - nsDecls.remove(""); - - return factory.createXPathTransform(DOMUtils.getText(xPathElem), nsDecls); - } - - /** - * Parse an XPathFilter2 type of Transform. - * - * @param transformElem The Transform DOM element to parse. - * @return The Transform API object representation of the - * Transform DOM element. - * @throws MOAApplicationException An error occurred parsing the - * Transform DOM element. - */ - private Transform parseXPathFilter2Transform(Element transformElem) - throws MOAApplicationException { - List filters = new ArrayList(); - NodeIterator iter = - XPathUtils.selectNodeIterator(transformElem, XPATH2_XPATH); - Element filterElem; - - while ((filterElem = (Element) iter.nextNode()) != null) { - String filterAttr = filterElem.getAttribute("Filter"); - String filterType; - String expression; - Map nsDecls; - - if (filterAttr.equals("intersect")) { - filterType = XPathFilter.INTERSECT_TYPE; - } else if (filterAttr.equals("subtract")) { - filterType = XPathFilter.SUBTRACT_TYPE; - } else { - filterType = XPathFilter.UNION_TYPE; - } - - expression = DOMUtils.getText(filterElem); - nsDecls = DOMUtils.getNamespaceDeclarations(filterElem); - nsDecls.remove(""); - filters.add(factory.createXPathFilter(filterType, expression, nsDecls)); - } - if (filters.size() == 0) { - throw new MOAApplicationException("2216", null); - } - - return factory.createXPathFilter2Transform(filters); - } - - /** - * Parse an XSLT type of Transform. - * - * @param transformElem The Transform DOM element to parse. - * @return The Transform API object representation of the - * Transform DOM element. - * @throws MOAApplicationException An error occurred parsing the - * Transform DOM element. - */ - private Transform parseXSLTTransform(Element transformElem) - throws MOAApplicationException { - Element xsltElem = - (Element) XPathUtils.selectSingleNode(transformElem, XSLT_ELEMENT_XPATH); - - if (xsltElem == null) { - throw new MOAApplicationException("2215", null); - } - - return factory.createXSLTTransform(xsltElem); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java deleted file mode 100644 index 6b3f4301f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.io.InputStream; -import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.StringTokenizer; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.CollectionUtils; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.XPathUtils; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; - -/** - * A parser to parse VerifyCMSSignatureRequest DOM trees into - * VerifyCMSSignatureRequest API objects. - * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyCMSSignatureRequestParser { - - // - // XPath expressions for selecting parts of the DOM message - // - private static final String MOA = Constants.MOA_PREFIX + ":"; - private static final String DATE_TIME_XPATH = MOA + "DateTime"; - private static final String CMS_SIGNATURE_XPATH = MOA + "CMSSignature"; - private static final String TRUST_PROFILE_ID_XPATH = MOA + "TrustProfileID"; - private static final String DATA_OBJECT_XPATH = MOA + "DataObject"; - private static final String META_INFO_XPATH = MOA + "MetaInfo"; - private static final String CONTENT_XPATH = MOA + "Content"; - private static final String BASE64_CONTENT_XPATH = MOA + "Base64Content"; - private static final String EXCLUDEBYTERANGE_FROM_XPATH = MOA + "ExcludedByteRange/" + MOA + "From"; - private static final String EXCLUDEBYTERANGE_TO_XPATH = MOA + "ExcludedByteRange/" + MOA + "To"; - - - /** The SPSSFactory for creating new API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - /** - * Parse a VerifyCMSSignatureRequest DOM element, as defined - * by the MOA schema. - * - * @param requestElem The VerifyCMSSignatureRequest to parse. The - * request must have been successfully parsed against the schema for this - * method to succeed. - * @return A VerifyCMSSignatureRequest API objects containing - * the data from the DOM element. - * @throws MOAApplicationException An error occurred parsing the request. - */ - public VerifyCMSSignatureRequest parse(Element requestElem) - throws MOAApplicationException { - - int[] signatories = parseSignatories(requestElem); - Date dateTime = - RequestParserUtils.parseDateTime(requestElem, DATE_TIME_XPATH); - String cmsSignatureStr = - XPathUtils.getElementValue(requestElem, CMS_SIGNATURE_XPATH, ""); - CMSDataObject dataObject = parseDataObject(requestElem); - String trustProfileID = - XPathUtils.getElementValue(requestElem, TRUST_PROFILE_ID_XPATH, null); - InputStream cmsSignature = - Base64Utils.decodeToStream(cmsSignatureStr, true); - - return factory.createVerifyCMSSignatureRequest( - signatories, - dateTime, - cmsSignature, - dataObject, - trustProfileID); - } - - /** - * Parse the Signatories attribute contained in the - * VerifyCMSSignatureRequest DOM element. - * - * @param requestElem The VerifyCMSSignatureRequest DOM element. - * @return The signatories contained in the given - * VerifyCMSSignatureRequest DOM element. - */ - private int[] parseSignatories(Element requestElem) { - String signatoriesStr = requestElem.getAttribute("Signatories"); - - if ("all".equals(signatoriesStr)) { - return VerifyCMSSignatureRequest.ALL_SIGNATORIES; - } else { - StringTokenizer tokenizer = new StringTokenizer(signatoriesStr); - List signatoriesList = new ArrayList(); - int[] signatories; - - // put the signatories into a List - while (tokenizer.hasMoreTokens()) { - try { - signatoriesList.add(new Integer(tokenizer.nextToken())); - } catch (NumberFormatException e) { - // this cannot occur if the request has been validated - } - } - - // convert the List into an int array - signatories = CollectionUtils.toIntArray(signatoriesList); - - return signatories; - } - } - - /** - * Parse a the DataObject DOM element contained in a given - * VerifyCMSSignatureRequest DOM element. - * - * @param requestElem The VerifyCMSSignatureRequest DOM element - * to parse. - * @return The CMSDataObject API object containing the data - * from the DataObject DOM element. - */ - private CMSDataObject parseDataObject(Element requestElem) { - Element dataObjectElem = - (Element) XPathUtils.selectSingleNode(requestElem, DATA_OBJECT_XPATH); - - if (dataObjectElem != null) { - Element metaInfoElem = - (Element) XPathUtils.selectSingleNode(dataObjectElem, META_INFO_XPATH); - MetaInfo metaInfo = null; - Element contentElem = - (Element) XPathUtils.selectSingleNode(dataObjectElem, CONTENT_XPATH); - CMSContent content = parseContent(contentElem); - - if (metaInfoElem != null) { - metaInfo = RequestParserUtils.parseMetaInfo(metaInfoElem); - } - - String excludeByteRangeFromStr = XPathUtils.getElementValue(dataObjectElem, EXCLUDEBYTERANGE_FROM_XPATH, null); - String excludeByteRangeToStr = XPathUtils.getElementValue(dataObjectElem, EXCLUDEBYTERANGE_TO_XPATH, null); - - BigDecimal excludeByteRangeFrom = null; - BigDecimal excludeByteRangeTo = null; - - if (excludeByteRangeFromStr != null) - excludeByteRangeFrom = new BigDecimal(excludeByteRangeFromStr); - if (excludeByteRangeToStr != null) - excludeByteRangeTo = new BigDecimal(excludeByteRangeToStr); - - return factory.createCMSDataObject(metaInfo, content, excludeByteRangeFrom, excludeByteRangeTo); - - - } else { - return null; - } - - } - - /** - * Parse the content contained in a CMSContentBaseType kind of - * DOM element. - * - * @param contentElem The CMSContentBaseType kind of element to - * parse. - * @return A CMSDataObject API object containing the data - * from the given DOM element. - */ - private CMSContent parseContent(Element contentElem) { - Element base64ContentElem = - (Element) XPathUtils.selectSingleNode(contentElem, BASE64_CONTENT_XPATH); - - if (base64ContentElem != null) { - String base64Str = DOMUtils.getText(base64ContentElem); - InputStream binaryContent = Base64Utils.decodeToStream(base64Str, true); - return factory.createCMSContent(binaryContent); - } else { - return factory.createCMSContent( - contentElem.getAttribute("Reference")); - } - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java deleted file mode 100644 index b11560b28..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.util.Iterator; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; - -/** - * Convert a VerifyCMSSignatureResponse API object into its - * XML representation, according to the MOA XML schema. - * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyCMSSignatureResponseBuilder { - /** The XML document containing the response element. */ - private Document responseDoc; - /** The response VerifyCMSSignatureResponse DOM element. */ - private Element responseElem; - - /** - * Create a new VerifyCMSSignatureResponseBuilder: - * - * @throws MOASystemException An error occurred setting up the resulting - * XML document. - */ - public VerifyCMSSignatureResponseBuilder() throws MOASystemException { - responseDoc = - ResponseBuilderUtils.createResponse("VerifyCMSSignatureResponse"); - responseElem = responseDoc.getDocumentElement(); - } - - /** - * Build a document containing a VerifyCMSSignatureResponse - * DOM element being the XML representation of the given - * VerifyCMSSignatureResponse API object. - * - * @param response The VerifyCMSSignatureResponse to convert - * to XML. - * @return A document containing the VerifyCMSSignatureResponse - * DOM element. - * @throws MOAApplicationException An error occurred building the response. - */ - public Document build(VerifyCMSSignatureResponse response) - throws MOAApplicationException { - - Iterator iter; - - for (iter = response.getResponseElements().iterator(); iter.hasNext();) { - VerifyCMSSignatureResponseElement responseElement = - (VerifyCMSSignatureResponseElement) iter.next(); - addResponseElement(responseElement); - } - - return responseDoc; - } - - /** - * Add an element to the response. - * - * @param responseElement The element to add to the response. - * @throws MOAApplicationException An error occurred adding the element. - */ - private void addResponseElement(VerifyCMSSignatureResponseElement responseElement) - throws MOAApplicationException { - - SignerInfo signerInfo = responseElement.getSignerInfo(); - CheckResult signatureCheck = responseElement.getSignatureCheck(); - CheckResult certCheck = responseElement.getCertificateCheck(); - - ResponseBuilderUtils.addSignerInfo( - responseDoc, - responseElem, - signerInfo.getSignerCertificate(), - signerInfo.isQualifiedCertificate(), - signerInfo.getQCSource(), - signerInfo.isPublicAuthority(), - signerInfo.getPublicAuhtorityID(), - signerInfo.isSSCD(), - signerInfo.getSSCDSource(), - signerInfo.getIssuerCountryCode()); - - ResponseBuilderUtils.addCodeInfoElement( - responseDoc, - responseElem, - "SignatureCheck", - signatureCheck.getCode(), - signatureCheck.getInfo()); - - ResponseBuilderUtils.addCodeInfoElement( - responseDoc, - responseElem, - "CertificateCheck", - certCheck.getCode(), - certCheck.getInfo()); - - - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java deleted file mode 100644 index 7bd0b9e54..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; - -import org.w3c.dom.Element; -import org.w3c.dom.traversal.NodeIterator; - -import at.gv.egovernment.moa.util.BoolUtils; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.XPathUtils; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; - -/** - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyXMLSignatureRequestParser { - - // - // XPath expressions for parsing parts of the request - // - private static final String MOA = Constants.MOA_PREFIX + ":"; - private static final String DATE_TIME_XPATH = MOA + "DateTime"; - private static final String RETURN_HASH_INPUT_DATA_XPATH = - MOA + "ReturnHashInputData"; - private static final String TRUST_PROFILE_ID_XPATH = MOA + "TrustProfileID"; - private static final String VERIFY_SIGNATURE_ENVIRONMENT_XPATH = - MOA + "VerifySignatureInfo/" + MOA + "VerifySignatureEnvironment"; - private static final String VERIFY_SIGNATURE_LOCATION_XPATH = - MOA + "VerifySignatureInfo/" + MOA + "VerifySignatureLocation"; - private static final String SUPPLEMENT_PROFILE_XPATH = - MOA + "SupplementProfile | " + MOA + "SupplementProfileID"; - private static final String SIGNATURE_MANIFEST_CHECK_PARAMS_XPATH = - MOA + "SignatureManifestCheckParams"; - private static final String VERIFY_TRANSFORMS_INFO_PROFILE_XPATH = - (MOA + "VerifyTransformsInfoProfile | ") - + (MOA + "VerifyTransformsInfoProfileID"); - private static final String REFERENCE_INFO_XPATH = MOA + "ReferenceInfo"; - - /** The SPSSFactory for creating new API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - - /** - * Parse a VerifyXMLSignatureRequest DOM element, as defined - * by the MOA schema. - * - * @param requestElem The VerifyXMLSignatureRequest to parse. The - * request must have been successfully parsed against the schema for this - * method to succeed. - * @return A VerifyXMLSignatureRequest API object containing - * the data from the DOM element. - * @throws MOAApplicationException An error occurred parsing the request. - */ - public VerifyXMLSignatureRequest parse(Element requestElem) - throws MOAApplicationException { - - Date dateTime = - RequestParserUtils.parseDateTime(requestElem, DATE_TIME_XPATH); - VerifySignatureInfo verifySignatureInfo = - parseVerifySignatureInfo(requestElem); - List supplementProfiles = parseSupplementProfiles(requestElem); - SignatureManifestCheckParams signatureManifestCheckParams = - parseSignatureManifestCheckParams(requestElem); - boolean returnHashInputData = - XPathUtils.selectSingleNode(requestElem, RETURN_HASH_INPUT_DATA_XPATH) - != null; - String trustProfileID = - XPathUtils.getElementValue(requestElem, TRUST_PROFILE_ID_XPATH, null); - - return factory.createVerifyXMLSignatureRequest( - dateTime, - verifySignatureInfo, - supplementProfiles, - signatureManifestCheckParams, - returnHashInputData, - trustProfileID); - } - - /** - * Parse the VerifySignatureInfo DOM element contained in - * the VerifyXMLSignatureRequest DOM element. - * - * @param requestElem The VerifyXMLSignatureRequest DOM element - * containing the VerifySignatureInfo DOM element. - * @return The VerifySignatureInfo API object containing the - * data from the DOM element. - */ - private VerifySignatureInfo parseVerifySignatureInfo(Element requestElem) { - Element verifySignatureEnvironmentElem = - (Element) XPathUtils.selectSingleNode( - requestElem, - VERIFY_SIGNATURE_ENVIRONMENT_XPATH); - Content verifySignatureEnvironment = - RequestParserUtils.parseContent(verifySignatureEnvironmentElem); - VerifySignatureLocation verifySignatureLocation = - parseVerifySignatureLocation(requestElem); - - return factory.createVerifySignatureInfo( - verifySignatureEnvironment, - verifySignatureLocation); - } - - /** - * Parse the VerifySignatureLocation DOM element contained - * in the given VerifyXMLSignatureRequest DOM element. - * - * @param requestElem The VerifyXMLSignatureRequst DOM element. - * @return The VerifySignatureLocation API object containing the - * data from the DOM element. - */ - private VerifySignatureLocation parseVerifySignatureLocation(Element requestElem) { - Element locationElem = - (Element) XPathUtils.selectSingleNode( - requestElem, - VERIFY_SIGNATURE_LOCATION_XPATH); - String xPathExpression = DOMUtils.getText(locationElem); - Map namespaceDeclarations = DOMUtils.getNamespaceDeclarations(locationElem); - - return factory.createVerifySignatureLocation( - xPathExpression, - namespaceDeclarations); - } - - /** - * Parse the supplement profiles contained in the given - * VerifyXMLSignatureRequest DOM element. - * - * @param requestElem The VerifyXMLSignatureRequest DOM element. - * @return A List of SupplementProfile API objects - * containing the data from the SupplementProfile DOM elements. - */ - private List parseSupplementProfiles(Element requestElem) { - List supplementProfiles = new ArrayList(); - NodeIterator profileElems = - XPathUtils.selectNodeIterator(requestElem, SUPPLEMENT_PROFILE_XPATH); - Element profileElem; - - while ((profileElem = (Element) profileElems.nextNode()) != null) { - SupplementProfile profile; - - if ("SupplementProfile".equals(profileElem.getLocalName())) { - ProfileParser profileParser = new ProfileParser(); - profile = profileParser.parseSupplementProfile(profileElem); - } else { - String profileID = DOMUtils.getText(profileElem); - profile = factory.createSupplementProfile(profileID); - } - supplementProfiles.add(profile); - } - return supplementProfiles; - } - - /** - * Parse the SignatureManifestCheckParams DOM element contained - * in the given VerifyXMLSignatureRequest DOM element. - * @param requestElem The VerifyXMLSignatureRequest DOM element. - * @return The SignatureManifestCheckParams API object containing - * the data from the SignatureManifestCheckParams DOM element. - * @throws MOAApplicationException An error occurred parsing the - * SignatureManifestCheckParams DOM element. - */ - private SignatureManifestCheckParams parseSignatureManifestCheckParams(Element requestElem) - throws MOAApplicationException { - Element paramsElem = - (Element) XPathUtils.selectSingleNode( - requestElem, - SIGNATURE_MANIFEST_CHECK_PARAMS_XPATH); - - if (paramsElem != null) { - String returnReferenceInputDataStr = - paramsElem.getAttribute("ReturnReferenceInputData"); - boolean returnReferencInputData = - BoolUtils.valueOf(returnReferenceInputDataStr); - List referenceInfos = parseReferenceInfos(paramsElem); - - return factory.createSignatureManifestCheckParams( - referenceInfos, - returnReferencInputData); - } else { - return null; - } - } - - /** - * Parse the ReferenceInfo DOM elements contained in a - * SignatureManifestCheckParams DOM element. - * - * @param paramsElem The SignatureManifestCheckParams DOM element - * containing the ReferenceInfo DOM elements. - * @return A List of RefernceInfo API objects - * containing the data from the ReferenceInfo DOM elements. - * @throws MOAApplicationException An error occurred parsing the - * ReferenceInfo DOM elements. - */ - private List parseReferenceInfos(Element paramsElem) - throws MOAApplicationException { - - List referenceInfos = new ArrayList(); - NodeIterator refInfoElems = - XPathUtils.selectNodeIterator(paramsElem, REFERENCE_INFO_XPATH); - Element refInfoElem; - - while ((refInfoElem = (Element) refInfoElems.nextNode()) != null) { - ReferenceInfo referenceInfo = parseReferenceInfo(refInfoElem); - - referenceInfos.add(referenceInfo); - } - - return referenceInfos; - } - - /** - * Parse a ReferenceInfo DOM element. - * - * @param refInfoElem The ReferenceInfo DOM element to parse. - * @return The ReferenceInfo API object containing the data - * from the given ReferenceInfo DOM element. - * @throws MOAApplicationException An error occurred parsing the - * ReferenceInfo DOM element. - */ - private ReferenceInfo parseReferenceInfo(Element refInfoElem) - throws MOAApplicationException { - List profiles = parseVerifyTransformsInfoProfiles(refInfoElem); - return factory.createReferenceInfo(profiles); - } - - /** - * Parse the VerifyTransformsInfoProfile DOM elements contained - * in a ReferenceInfo DOM element. - * - * @param refInfoElem ReferenceInfo DOM element containing - * the VerifyTransformsInfoProfile DOM elements. - * @return A List of VerifyTransformsInfoProfile - * API objects containing the profile data. - * @throws MOAApplicationException An error occurred building the - * VerifyTransformsInfoProfiles. - */ - private List parseVerifyTransformsInfoProfiles(Element refInfoElem) - throws MOAApplicationException { - - List profiles = new ArrayList(); - NodeIterator profileElems = - XPathUtils.selectNodeIterator( - refInfoElem, - VERIFY_TRANSFORMS_INFO_PROFILE_XPATH); - Element profileElem; - - while ((profileElem = (Element) profileElems.nextNode()) != null) { - if ("VerifyTransformsInfoProfile".equals(profileElem.getLocalName())) { - ProfileParser profileParser = new ProfileParser(); - profiles.add( - profileParser.parseVerifyTransformsInfoProfile(profileElem)); - } else { - String profileID = DOMUtils.getText(profileElem); - profiles.add(factory.createVerifyTransformsInfoProfile(profileID)); - } - } - return profiles; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java deleted file mode 100644 index dd4e13ad9..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlbind; - -import java.io.IOException; -import java.util.Iterator; -import java.util.List; - -import org.w3c.dom.Document; -import org.w3c.dom.DocumentFragment; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.util.Base64Utils; -import at.gv.egovernment.moa.util.Constants; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.ContentBinary; -import at.gv.egovernment.moa.spss.api.common.ContentXML; -import at.gv.egovernment.moa.spss.api.common.InputData; -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; - -/** - * Convert a VerifyXMLSignatureResponse API object into its - * XML representation, according to the MOA XML schema. - * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyXMLSignatureResponseBuilder { - private static final String MOA_NS_URI = Constants.MOA_NS_URI; - - /** The XML document containing the response element. */ - private Document responseDoc; - /** The response VerifyXMLSignatureResponse DOM element. */ - private Element responseElem; - - /** - * Create a new VerifyXMLSignatureResponseBuilder: - * - * @throws MOASystemException An error occurred setting up the resulting - * XML document. - */ - public VerifyXMLSignatureResponseBuilder() throws MOASystemException { - responseDoc = - ResponseBuilderUtils.createResponse("VerifyXMLSignatureResponse"); - responseElem = responseDoc.getDocumentElement(); - } - - /** - * Build a document containing a VerifyXMLSignatureResponse - * DOM element being the XML representation of the given - * VerifyXMLSignatureResponse API object. - * - * @param response The VerifyXMLSignatureResponse to convert - * to XML. - * @return A document containing the VerifyXMLSignatureResponse - * DOM element. - * @throws MOAApplicationException An error occurred building the response. - */ - public Document build(VerifyXMLSignatureResponse response) - throws MOAApplicationException { - - Iterator iter; - List responseData; - - // add the SignerInfo - ResponseBuilderUtils.addSignerInfo( - responseDoc, - responseElem, - response.getSignerInfo().getSignerCertificate(), - response.getSignerInfo().isQualifiedCertificate(), - response.getSignerInfo().getQCSource(), - response.getSignerInfo().isPublicAuthority(), - response.getSignerInfo().getPublicAuhtorityID(), - response.getSignerInfo().isSSCD(), - response.getSignerInfo().getSSCDSource(), - response.getSignerInfo().getIssuerCountryCode()); - - // add HashInputData elements - responseData = response.getHashInputDatas(); - if (responseData != null && !responseData.isEmpty()) { - for (iter = responseData.iterator(); iter.hasNext();) { - InputData inputData = (InputData) iter.next(); - addContent("HashInputData", inputData); - } - } - - // add ReferenceInputData elements - responseData = response.getReferenceInputDatas(); - if (responseData != null && !responseData.isEmpty()) { - for (iter = responseData.iterator(); iter.hasNext();) { - InputData inputData = (InputData) iter.next(); - addContent("ReferenceInputData", inputData); - } - } - - // add the SignatureCheck - addReferencesCheckResult("SignatureCheck", response.getSignatureCheck()); - - // add the SignatureManifestCheck - if (response.getSignatureManifestCheck() != null) { - addReferencesCheckResult( - "SignatureManifestCheck", - response.getSignatureManifestCheck()); - } - - // add the XMLDsigManifestChecks - responseData = response.getXMLDsigManifestChecks(); - if (responseData != null && !responseData.isEmpty()) { - for (iter = responseData.iterator(); iter.hasNext();) { - ManifestRefsCheckResult checkResult = - (ManifestRefsCheckResult) iter.next(); - addManifestRefsCheckResult("XMLDSIGManifestCheck", checkResult); - } - } - - // add the CertificateCheck - ResponseBuilderUtils.addCodeInfoElement( - responseDoc, - responseElem, - "CertificateCheck", - response.getCertificateCheck().getCode(), - response.getCertificateCheck().getInfo()); - - - - return responseDoc; - } - - /** - * Add an element of type ContentBaseType to the response. - * - * @param elementName The name of the element. - * - * @param inputData The InputData to add. Based on the type of - * - * the InputData, either a Base64Content element - * or a XMLContent subelement will be added. An - * InputDataBinaryImpl will be added as a Base64Content - * child element. AnInputDataXMLImpl will be added as - * XMLContent child element. - * - * @throws MOAApplicationException An error occurred adding the content. - */ - private void addContent(String elementName, InputData inputData) - throws MOAApplicationException { - - Element contentElem = responseDoc.createElementNS(MOA_NS_URI, elementName); - - contentElem.setAttributeNS(null, "PartOf", inputData.getPartOf()); - if (inputData.getReferringReferenceNumber() != InputData.REFERER_NONE_) - contentElem.setAttributeNS( - null, - "ReferringSigReference", - Integer.toString(inputData.getReferringReferenceNumber())); - - switch (inputData.getContentType()) { - case Content.XML_CONTENT : - ContentXML contentXml = (ContentXML) inputData; - NodeList nodes = contentXml.getXMLContent(); - Element xmlElem; - int i; - - xmlElem = responseDoc.createElementNS(MOA_NS_URI, "XMLContent"); - //xmlElem.setAttributeNS(XML_NS_URI, "xml:space", "preserve"); - xmlElem.setAttribute("xml:space", "preserve"); - - for (i = 0; i < nodes.getLength(); i++) { - xmlElem.appendChild(responseDoc.importNode(nodes.item(i), true)); - } - contentElem.appendChild(xmlElem); - responseElem.appendChild(contentElem); - break; - case Content.BINARY_CONTENT : - Element binaryElem = - responseDoc.createElementNS(MOA_NS_URI, "Base64Content"); - ContentBinary contentBinary = (ContentBinary) inputData; - String base64Str; - - try { - base64Str = Base64Utils.encode(contentBinary.getBinaryContent()); - } catch (IOException e) { - throw new MOAApplicationException("2200", null, e); - } - binaryElem.appendChild(responseDoc.createTextNode(base64Str)); - contentElem.appendChild(binaryElem); - responseElem.appendChild(contentElem); - break; - } - } - - /** - * Add a ReferencesCheckResult to the response. - * - * @param elementName The DOM element name to use. - * @param checkResult The ReferencesCheckResult to add. - */ - private void addReferencesCheckResult( - String elementName, - ReferencesCheckResult checkResult) { - - NodeList info = null; - - if (checkResult.getInfo() != null) { - DocumentFragment fragment = responseDoc.createDocumentFragment(); - NodeList anyOtherInfo = checkResult.getInfo().getAnyOtherInfo(); - int[] failedReferences = checkResult.getInfo().getFailedReferences(); - - if (anyOtherInfo != null) { - addAnyOtherInfo(fragment, checkResult.getInfo().getAnyOtherInfo()); - } - - if (failedReferences != null) { - addFailedReferences(fragment, failedReferences); - } - - info = fragment.getChildNodes(); - } - - ResponseBuilderUtils.addCodeInfoElement( - responseDoc, - responseElem, - elementName, - checkResult.getCode(), - info); - } - - - /** - * Add a ManifestRefsCheckResult to the response. - * - * @param elementName The DOM element name to use. - * @param checkResult The ManifestRefsCheckResult to add. - */ - private void addManifestRefsCheckResult( - String elementName, - ManifestRefsCheckResult checkResult) { - - DocumentFragment fragment = responseDoc.createDocumentFragment(); - NodeList anyOtherInfo = checkResult.getInfo().getAnyOtherInfo(); - int[] failedReferences = checkResult.getInfo().getFailedReferences(); - Element referringSigRefElem; - String referringSigRefStr; - - // add any other elements - if (anyOtherInfo != null) { - addAnyOtherInfo(fragment, checkResult.getInfo().getAnyOtherInfo()); - } - - // add the failed references - if (failedReferences != null) { - addFailedReferences(fragment, failedReferences); - } - - // add the ReferringSigReference - referringSigRefElem = - responseDoc.createElementNS(MOA_NS_URI, "ReferringSigReference"); - referringSigRefStr = - Integer.toString(checkResult.getInfo().getReferringSignatureReference()); - referringSigRefElem.appendChild( - responseDoc.createTextNode(referringSigRefStr)); - fragment.appendChild(referringSigRefElem); - - // add XMLDSIGManifestCheckResult to the response - ResponseBuilderUtils.addCodeInfoElement( - responseDoc, - responseElem, - elementName, - checkResult.getCode(), - fragment.getChildNodes()); - } - - /** - * Add arbitrary XML content to a DOM DocumentFragment. - * - * @param fragment The fragment to add the XML content to. - * @param anyOtherInfo The XML content to add. - */ - private void addAnyOtherInfo( - DocumentFragment fragment, - NodeList anyOtherInfo) { - - int i; - - for (i = 0; i < anyOtherInfo.getLength(); i++) { - fragment.appendChild(responseDoc.importNode(anyOtherInfo.item(i), true)); - } - } - - /** - * Add the failed references as FailedReference DOM elements to - * the fragment. - * - * @param fragment The DOM document fragment to add the - * FailedReference elements to. - * @param failedReferences The indexes of the failed references. - */ - private void addFailedReferences( - DocumentFragment fragment, - int[] failedReferences) { - Element failedReferenceElem; - int i; - - for (i = 0; i < failedReferences.length; i++) { - failedReferenceElem = - responseDoc.createElementNS(MOA_NS_URI, "FailedReference"); - failedReferenceElem.appendChild( - responseDoc.createTextNode(Integer.toString(failedReferences[i]))); - fragment.appendChild(failedReferenceElem); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java deleted file mode 100644 index 4b40b9ced..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -/** - * Base class for signature environment profile data used in XML signature - * creation. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface CreateSignatureEnvironmentProfile { - /** - * Indicates that the profile data is given explicitly. - */ - public static int EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE = 0; - /** - * Indicates that the profile data is stored in the configuration and resolved - * using an ID. - */ - public static int ID_CREATESIGNATUREENVIRONMENTPROFILE = 1; - - /** - * Gets the type of this object. - * - * @return The type of CreateSignatureEnvironmentProfile denoted - * by this object. Either - * EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE or - * ID_CREATESIGNATUREENVIRONMENTPROFILE. - */ - public int getCreateSignatureEnvironmentProfileType(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java deleted file mode 100644 index 0bce94cbf..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import java.util.List; - -/** - * A CreateSignatureEnvironmentProfile containing the profile - * data explicitly. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface CreateSignatureEnvironmentProfileExplicit - extends CreateSignatureEnvironmentProfile { - - /** - * Gets the location and index of where to insert the signature into the - * signature environment. - * - * @return The location and index of the signature in the signature - * environment. - */ - public CreateSignatureLocation getCreateSignatureLocation(); - /** - * Gets the supplemental information. - * - * @return The supplemental information. - */ - public List getSupplements(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java deleted file mode 100644 index 73e4f52d3..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -/** - * A CreateSignatureEnvironmentProfile containing a profile ID - * pointing to locally stored profile data. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface CreateSignatureEnvironmentProfileID - extends CreateSignatureEnvironmentProfile { - - /** - * Gets the profile ID. - * - * @return The profile ID. - */ - public String getCreateSignatureEnvironmentProfileID(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java deleted file mode 100644 index 9363408eb..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import at.gv.egovernment.moa.spss.api.common.Content; - -/** - * Encapsulates a signature object used during signature creation. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateSignatureInfo { - /** - * Gets the XML structure where the signature will be inserted. - * - * @return The XML structure where the signature will be inserted. - */ - public Content getCreateSignatureEnvironment(); - /** - * Gets the supplemental data for the signature environment. - * - * @return The supplemental data for the signature envoronment. - */ - public CreateSignatureEnvironmentProfile getCreateSignatureEnvironmentProfile(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java deleted file mode 100644 index 9a0b798bc..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import at.gv.egovernment.moa.spss.api.common.ElementSelector; - -/** - * Specifies where to insert the newly created signature. - * - * An XPath expression is used to select the signature parent element. An - * additional index specifies the node index after which to insert the - * signature into the parent element. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface CreateSignatureLocation extends ElementSelector { - /** - * Gets the node index, after which the signature will be inserted into the - * parent elemen. - * - * @return The index of the node after which the signature will be inserted. - */ - public int getIndex(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java deleted file mode 100644 index fbb000019..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import java.util.List; - -import at.gv.egovernment.moa.spss.api.common.MetaInfo; - -/** - * Encapsulates information used for the transformation of the data object. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateTransformsInfo { - /** - * Gets the XMLDSig transforms. - * - * @return A List of Transform objects. - */ - public List getTransforms(); - /** - * Gets meta information about the data resulting from the transformation. - * - * @return Meta information about the resulting data. - */ - public MetaInfo getFinalDataMetaInfo(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java deleted file mode 100644 index 5babdaed2..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -/** - * Base class for transformation informations used in signature creation. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateTransformsInfoProfile { - /** - * Indicates transformation information given explicitly. - */ - public static final int EXPLICIT_CREATETRANSFORMSINFOPROFILE = 0; - /** - * Indicates transformation information given as an ID. - */ - public static final int ID_CREATETRANSFORMSINFOPROFILE = 1; - - /** - * Gets the type of profile information this object contains. - * - * @return The type of transformation information, either - * EXPLICIT_CREATETRANSFORMSINFOPROFILE or - * ID_CREATETRANSFORMSINFOPROFILE. - */ - public int getCreateTransformsInfoProfileType(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java deleted file mode 100644 index 9aae8cb6d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import java.util.List; - -/** - * Encapsulates explicit transformation informations. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateTransformsInfoProfileExplicit - extends CreateTransformsInfoProfile { - /** - * Gets the transformation information of the data object. - * - * @return Transformation information of the data object. - */ - public CreateTransformsInfo getCreateTransformsInfo(); - /** - * Gets the supplemental information. - * - * @return The supplemental information. - */ - public List getSupplements(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java deleted file mode 100644 index 69c3629b8..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -/** - * Encapsulates transformation information given via an identifier. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateTransformsInfoProfileID - extends CreateTransformsInfoProfile { - /** - * Gets the ID of the transformation. - * - * @return The transformation profile ID. - */ - public String getCreateTransformsInfoProfileID(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java deleted file mode 100644 index 351b16e35..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import java.util.List; - - -/** - * Object that encapsulates a request to create an XML Signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateXMLSignatureRequest { - /** - * Gets the identifier for the keys to be used for the signature. - * - * @return The identifier for the keys to be used. - */ - public String getKeyIdentifier(); - /** - * Gets the information of the singleSignatureInfo elements. - * - * @return The information of singleSignatureInfo elements. - */ - public List getSingleSignatureInfos(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java deleted file mode 100644 index c1b1c3006..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import java.util.List; - -/** - * Object that encapsulates the response on to a - * CreateXMLSignatureRequest to create an XML signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateXMLSignatureResponse { - /** - * Gets the response elements. - * - * @return The response elements. - */ - public List getResponseElements(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java deleted file mode 100644 index b9bd334c4..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -/** - * Base class for SignatureEnvironmentResponse and - * ErrorResponse elements in a - * CreateXMLSignatureResponse. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface CreateXMLSignatureResponseElement { - /** - * Indicates that this object contains a SignatureEnvironment. - */ - public static final int SIGNATURE_ENVIRONMENT_RESPONSE = 0; - /** - * Indicates that this objet contains an ErrorResponse. - */ - public static final int ERROR_RESPONSE = 1; - - /** - * Gets the type of response object. - * - * @return The type of response object, either - * SIGNATURE_ENVIRONMENT_RESPONSE or ERROR_RESPONSE. - */ - public int getResponseType(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java deleted file mode 100644 index 620e3b38d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import at.gv.egovernment.moa.spss.api.common.Content; - -/** - * Encapsulates information required to create a single signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface DataObjectInfo { - /** - * Indicates that a detached signature will be created. - */ - public static final String STRUCTURE_DETACHED = "detached"; - /** - * Indicates that an enveloping signature will be created. - */ - public static final String STRUCTURE_ENVELOPING = "enveloping"; - - /** - * Gets the structure of the signature. - * - * @return The structure of the signature. - */ - public String getStructure(); - /** - * Checks whether a refercence will be placed in the signature itself or - * in the manifest. - * - * @return true if a reference will be placed in the manifest, - * false if it will be placed in the signature. - */ - public boolean isChildOfManifest(); - /** - * Gets information related to a single data object. - * - * @return Information related to a single data object. - */ - public Content getDataObject(); - /** - * Gets information for the transformation of the data object. - * - * @return The transformation information. - */ - public CreateTransformsInfoProfile getCreateTransformsInfoProfile(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java deleted file mode 100644 index 6dfa843b1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - - -/** - * Object containing detailed error information. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface ErrorResponse extends CreateXMLSignatureResponseElement { - /** - * Gets the error code. - * - * @return The error code. - */ - public int getErrorCode(); - /** - * Gets verbose error information. - * - * @return Verbose error information. - */ - public String getInfo(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java deleted file mode 100644 index 47c4ce7c6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import org.w3c.dom.Element; - -/** - * Contains the signature if the signature creation was successful. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SignatureEnvironmentResponse - extends CreateXMLSignatureResponseElement { - /** - * Gets the XML structure which contains the signature. - * - * @return A general XML structure containing the signature. - */ - public Element getSignatureEnvironment(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java deleted file mode 100644 index 3355739ff..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlsign; - -import java.util.List; - -/** - * Encapsulates data to create a single signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SingleSignatureInfo { - /** - * Gets the dataObjectInfo information. - * - * @return The dataObjectInfo information. - */ - public List getDataObjectInfos(); - /** - * Gets the signature object. - * - * @return The signature object used during signature creation. - */ - public CreateSignatureInfo getCreateSignatureInfo(); - /** - * Check whether a Security Layer conform signature manifest will be created. - * - * @return true, if a Security Layer conform signature manifest - * will be created, false otherwise. - */ - public boolean isSecurityLayerConform(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java deleted file mode 100644 index 8ff461702..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - - -/** - * Contains the results of manifest checks according to XMLDsig. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface ManifestRefsCheckResult { - /** - * Gets the check code. - * - * @return A numerical representation of the result of the manifest check. - */ - public int getCode(); - /** - * Gets the reference to the manifest. - * - * @return The reference to the manifest. - */ - public ManifestRefsCheckResultInfo getInfo(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java deleted file mode 100644 index 4b0a4fbe1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - - -/** - * Encapsulates information referring to the manifest of the check. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface ManifestRefsCheckResultInfo extends ReferencesCheckResultInfo { - /** - * Gets the position of the signature reference containing the - * reference to the manifest being described by this object. - * - * @return The position of the signature reference. - */ - public int getReferringSignatureReference(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java deleted file mode 100644 index 95a2b92de..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import java.util.List; - -/** - * Contains transformation parameters which are locally available. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface ReferenceInfo { - /** - * Gets the transformation info. - * - * @return The transformation info. - */ - public List getVerifyTransformsInfoProfiles(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java deleted file mode 100644 index dd1f4828f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -/** - * Contains information about the verification status of references contained - * in the signature. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface ReferencesCheckResult { - /** - * Gets the check code. - * - * @return A numerical representation of the result of the reference check. - */ - public int getCode(); - /** - * Gets the additional information about the result. - * - * @return Additional information about the result. - */ - public ReferencesCheckResultInfo getInfo(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java deleted file mode 100644 index fc87c98c3..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import org.w3c.dom.NodeList; - -/** - * Additional information contained in a ReferencesCheckResult. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface ReferencesCheckResultInfo { - /** - * Gets the additional info of the failed dsig:reference element. - * - * @return The info elements. - */ - public NodeList getAnyOtherInfo(); - /** - * Gets the positions of the failed signature references containing the - * references to the manifests being described by this object. - * - * @return The positions of the failed signature references. - */ - public int[] getFailedReferences(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java deleted file mode 100644 index 524d4b81c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import java.util.List; - -/** - * Contains parameters used to check the signature manifest. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SignatureManifestCheckParams { - /** - * Gets the referential information. - * - * @return The referential information. - */ - public List getReferenceInfos(); - /** - * Gets information on whether signature source data should be returned. - * - * @return true, if signature source data should be returned, - * otherwise false. - */ - public boolean getReturnReferenceInputData(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java deleted file mode 100644 index 934e7c639..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -/** - * Base class for supplementary information. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SupplementProfile { - /** - * Indicates that this object contains explicit supplementary information. - */ - public static final int EXPLICIT_SUPPLEMENTPROFILE = 0; - /** - * Indicates that this object contains a profile id where supplementary - * information can be found. - */ - public static final int ID_SUPPLEMENTPROFILE = 1; - - /** - * Gets the type of supplementary information contained in this object. - * - * @return The type of supplementary information contained in this object, - * either EXPLICIT_SUPPLEMENT or ID_SUPPLEMENT. - */ - public int getSupplementProfileType(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java deleted file mode 100644 index d01abec02..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; - -/** - * Encapsulates explicit supplementary information. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SupplementProfileExplicit extends SupplementProfile { - /** - * Gets the supplemental object. - * - * @return The supplemental object. - */ - public XMLDataObjectAssociation getSupplementProfile(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java deleted file mode 100644 index beeb2f064..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -/** - * Encapsulates supplementary information stored in a profile. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface SupplementProfileID extends SupplementProfile { - /** - * Gets the id of the profile where the supplementary information can be - * found. - * - * @return The profile id. - */ - public String getSupplementProfileID(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java deleted file mode 100644 index 7ecd1b87c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -/** - * Object encapsulating transform parameters either as a URI, binary or - * hashed. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface TransformParameter { - /** - * Indicates that this object contains a transform parameter given as - * a URI. - */ - public static final int URI_TRANSFORMPARAMETER = 0; - /** - * Indicates that this object contains binary transform parameter. - */ - public static final int BINARY_TRANSFORMPARAMETER = 1; - /** - * Indicatest that this object contains a binary hash of the transform - * parameter. - */ - public static final int HASH_TRANSFORMPARAMETER = 2; - - /** - * Gets the type of transform parameter contained in this object. - * - * @return The type of transform parameter, being one of - * URI_TRANSFORMPARAMETER, BINARY_TRANSFORMPARAMETER - * or HASH_TRANSFORMPARAMETER. - */ - public int getTransformParameterType(); - /** - * Gets the transform parameter URI. - * - * @return The transform parameter URI. - */ - public String getURI();} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java deleted file mode 100644 index 388c5d0e5..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import java.io.InputStream; - -/** - * Encapsulates a binary transform parameter. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface TransformParameterBinary extends TransformParameter { - /** - * Gets the binary transform parameter. - * - * @return An InputStream from which the binary content can - * be read. - */ - public InputStream getBinaryContent(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java deleted file mode 100644 index 2ff6f39b9..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - - -/** - * Contains a hash of the transform parameter. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface TransformParameterHash extends TransformParameter { - /** - * Gets the method used for calculating the digest value. - * - * @return The digest method. - */ - public String getDigestMethod(); - /** - * Gets the binary hash of the transform parameter. - * - * @return A binary representation of the hash. - */ - public byte[] getDigestValue(); - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java deleted file mode 100644 index bc73e953d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -/** - * Encapsulates a transform parameter given as a URI. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface TransformParameterURI extends TransformParameter { - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java deleted file mode 100644 index 5d6e0eb31..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import at.gv.egovernment.moa.spss.api.common.Content; - -/** - * Encapsulates a signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifySignatureInfo { - /** - * Gets the content of the VerifySignatureEnvironment element. - * - * @return A MOAElement containing the - * VerifySignatureEnvironment in a DOM-like structure. - */ - public Content getVerifySignatureEnvironment(); - /** - * Gets the location of the signature. - * - * @return The location of the signature within the signature environment. - */ - public VerifySignatureLocation getVerifySignatureLocation(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java deleted file mode 100644 index 56a256723..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import at.gv.egovernment.moa.spss.api.common.ElementSelector; - -/** - * Specifies where to find the signature to be verified. - * - * @author Patrick Peck - * @version $Id$ - */ -public interface VerifySignatureLocation extends ElementSelector { - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java deleted file mode 100644 index a55d55e33..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -/** - * Object for explicitly specifying a transformation path. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyTransformsInfoProfile { - /** - * Indicates that this object contains the transformation path explicitly. - */ - public static final int EXPLICIT_VERIFYTRANSFORMSINFOPROFILE = 0; - /** - * Indicatest that this object contains a transformation info id. - */ - public static final int ID_VERIFYTRANSFORMSINFOPROFILE = 1; - - /** - * Gets the type of transformation information contained in this object. - * - * @return The type of transformation information, either - * EXPLICIT_VERIFYTRANSFORMSINFOPROFILE or - * ID_VERIFYTRANSFORMSINFOPROFILE. - */ - public int getVerifyTransformsInfoProfileType(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java deleted file mode 100644 index cc29ace68..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import java.util.List; - -/** - * Encapsulates explicit transformation information. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyTransformsInfoProfileExplicit extends VerifyTransformsInfoProfile { - /** - * Gets the XMLDSig transforms element. - * - * @return The List of Transforms. - */ - public List getTransforms(); - /** - * Gets the transformation parameters. - * - * @return The transformation parameters. - */ - public List getTransformParameters(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java deleted file mode 100644 index eeb28da47..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -/** - * Encapsulates transformation info id for signature verification. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyTransformsInfoProfileID extends VerifyTransformsInfoProfile { - /** - * Gets the identifier referencing the transformation info. - * - * @return The identifier referencing the transformation info. - */ - public String getVerifyTransformsInfoProfileID(); - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java deleted file mode 100644 index a6272d501..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import java.util.Date; -import java.util.List; - - -/** - * Object that encapsulates a request to verify an XML signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyXMLSignatureRequest { - /** - * Gets the date and time for which the signature verification has to - * be performed. - * - * @return Date and time for which the signature verification has - * to be performed. - */ - public Date getDateTime(); - /** - * Gets the signature to be verified. - * - * @return The signature to be verified. - */ - public VerifySignatureInfo getSignatureInfo(); - /** - * Gets the supplemental information. - * - * @return The supplemental information. - */ - public List getSupplementProfiles(); - /** - * Gets parameters for Security Layer signature verification. - * - * @return Parameters for Security Layer signature verification. - */ - public SignatureManifestCheckParams getSignatureManifestCheckParams(); - /** - * Checks, whether actually signed data shall be returned. - * - * @return true, if signed data will be returned, - * otherwise false. - */ - public boolean getReturnHashInputData(); - /** - * Gets the profile id of the set of trusted certificates to be used for - * signature verification. - * - * @return The id of the trusted certificates. - */ - public String getTrustProfileId(); -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java deleted file mode 100644 index d107dc931..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.api.xmlverify; - -import java.util.List; - -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; - -/** - * Object that encapsulates the response on a request to verify an XML - * signature. - * - * @author Patrick Peck - * @author Stephan Grill - * @version $Id$ - */ -public interface VerifyXMLSignatureResponse { - /** - * Gets a SignerInfo element according to XMLDSig. - * - * @return A SignerInfo element according to XMLDSig. - */ - public SignerInfo getSignerInfo(); - /** - * Gets datas signed by the signatory. - * - * @return The signed datas. - */ - public List getHashInputDatas(); - /** - * Gets source datas elements. - * - * @return The source datas elements. - */ - public List getReferenceInputDatas(); - /** - * Gets the result of the signature verification. - * - * @return The result of the signature verification. - */ - public ReferencesCheckResult getSignatureCheck(); - /** - * Gets the result of the signature manifest verification. - * - * @return The result of the signature manifest verification. - */ - public ReferencesCheckResult getSignatureManifestCheck(); - /** - * Gets XMLDSigManifestCheck elements. - * - * @return The XMLDSigManifestCheck elements. - */ - public List getXMLDsigManifestChecks(); - /** - * Gets the result of the certification verification. - * - * @return The result of the certificate verification. - */ - public CheckResult getCertificateCheck(); - - - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/CRLDistributionPoint.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/CRLDistributionPoint.java deleted file mode 100644 index 3d06b4d0a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/CRLDistributionPoint.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import iaik.pki.revocation.RevocationSourceTypes; - -import java.util.HashMap; -import java.util.Map; -import java.util.StringTokenizer; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; - -import at.gv.egovernment.moa.spss.util.MessageProvider; - -/** - * A class representing a CRL distribution point. - * - * @author Sven Aigner - * @author Patrick Peck - * @version $Id$ - */ -public class CRLDistributionPoint - extends DistributionPoint - implements iaik.pki.revocation.CRLDistributionPoint -{ - - private static Map RC_MAPPING = new HashMap(); - - static { - - // create the mapping between reason code strings and their integer values - RC_MAPPING.put( - "unused", - new Integer(iaik.asn1.structures.DistributionPoint.unused)); - RC_MAPPING.put( - "keyCompromise", - new Integer(iaik.asn1.structures.DistributionPoint.keyCompromise)); - RC_MAPPING.put( - "cACompromise", - new Integer(iaik.asn1.structures.DistributionPoint.cACompromise)); - RC_MAPPING.put( - "affiliationChanged", - new Integer(iaik.asn1.structures.DistributionPoint.affiliationChanged)); - RC_MAPPING.put( - "superseded", - new Integer(iaik.asn1.structures.DistributionPoint.superseded)); - RC_MAPPING.put( - "cessationOfOperation", - new Integer(iaik.asn1.structures.DistributionPoint.cessationOfOperation)); - RC_MAPPING.put( - "certificateHold", - new Integer(iaik.asn1.structures.DistributionPoint.certificateHold)); - RC_MAPPING.put( - "privilegeWithdrawn", - new Integer(iaik.asn1.structures.DistributionPoint.privilegeWithdrawn)); - RC_MAPPING.put( - "aACompromise", - new Integer(iaik.asn1.structures.DistributionPoint.aACompromise)); - } - - /** - * The name of the CA issuing the CRL referred to by this DP. - */ - private String issuerName_; - - /** - * The reason codes applicable for the distribution point. - */ - private int reasonCodes; - - /** - * Create a CRLDistributionPoint. - * - * @param issuerName The name of the CA issuing the CRL referred to by this DP. - * - * @param uri The URI of the distribution point. - * - * @param reasonCodeStr A list of reason codes (a space-separated enumeration). - */ - public CRLDistributionPoint(String issuerName, String uri, String reasonCodeStr) - { - super(uri); - issuerName_ = issuerName; - this.reasonCodes = extractReasonCodes(reasonCodeStr); - } - - /** - * @see DistributionPoint#getType() - */ - public String getType() - { - return RevocationSourceTypes.CRL; - } - - /** - * Convert a list of reason codes provided as a String to a - * binary representation. - * - * @param reasonCodeStr A String containing a blank-separated, - * textual representation of reason codes. - * @return int A binary representation of reason codes. - * @see iaik.asn1.structures.DistributionPoint - */ - private int extractReasonCodes(String reasonCodeStr) { - int codes = 0; - StringTokenizer tokenizer = new StringTokenizer(reasonCodeStr); - String token; - Integer reasonCode; - - while (tokenizer.hasMoreTokens()) { - token = tokenizer.nextToken(); - reasonCode = (Integer) RC_MAPPING.get(token); - if (reasonCode != null) { - codes |= reasonCode.intValue(); - } else { - MessageProvider msg = MessageProvider.getInstance(); - Logger.warn( - new LogMsg(msg.getMessage("config.07", new Object[] { token }))); - } - } - - // If reasonCodeStr is empty, set all possible reason codes - if (codes == 0) codes = - iaik.asn1.structures.DistributionPoint.unused | - iaik.asn1.structures.DistributionPoint.keyCompromise | - iaik.asn1.structures.DistributionPoint.cACompromise | - iaik.asn1.structures.DistributionPoint.affiliationChanged | - iaik.asn1.structures.DistributionPoint.superseded | - iaik.asn1.structures.DistributionPoint.cessationOfOperation | - iaik.asn1.structures.DistributionPoint.certificateHold | - iaik.asn1.structures.DistributionPoint.privilegeWithdrawn | - iaik.asn1.structures.DistributionPoint.aACompromise; - - return codes; - } - - /** - * Return a binary representation of the reason codes of this distribution - * point. - * - * @return The binary representation of the reason codes. - */ - public int getReasonCodes() { - return reasonCodes; - } - - /** - * Return a String representation of this distribution point. - * - * @return The String representation of this distribution point. - * @see java.lang.Object#toString() - */ - public String toString() { - return "(DistributionPoint - " - + ("URI<" + getUri()) - + ("> REASONCODES<" + getReasonCodes() + ">)"); - } - - /** - * @see iaik.pki.revocation.CRLDistributionPoint#getIssuerName() - */ - public String getIssuerName() - { - return issuerName_; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java deleted file mode 100644 index 6546e88f1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import at.gv.egovernment.moa.spss.MOASystemException; - -/** - * Exception signalling an error in the configuration. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ConfigurationException extends MOASystemException { - - /** - * - */ - private static final long serialVersionUID = -1934466124930228755L; - -/** - * Create a ConfigurationException. - * - * @see at.gv.egovernment.moa.spss.MOAException#MOAException(String, Object[]) - */ - public ConfigurationException(String messageId, Object[] parameters) { - super(messageId, parameters); - } - - /** - * Create a ConfigurationException. - * @see at.gv.egovernment.moa.spss.MOAException#MOAException(String, Object[], Throwable) - */ - public ConfigurationException( - String messageId, - Object[] parameters, - Throwable wrapped) { - - super(messageId, parameters, wrapped); - } - -} 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 deleted file mode 100644 index 3c67ca3ca..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java +++ /dev/null @@ -1,1807 +0,0 @@ -/* - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.math.BigInteger; -import java.net.MalformedURLException; -import java.security.Principal; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.xml.bind.DatatypeConverter; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Attr; -import org.w3c.dom.Element; -import org.w3c.dom.traversal.NodeIterator; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.api.common.TSLConfiguration; -import at.gv.egovernment.moa.spss.api.impl.TSLConfigurationImpl; -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.FileUtils; -import at.gv.egovernment.moa.util.StringUtils; -import at.gv.egovernment.moa.util.XPathUtils; -import iaik.asn1.structures.Name; -import iaik.ixsil.exceptions.URIException; -import iaik.ixsil.util.URI; -import iaik.pki.pathvalidation.ChainingModes; -import iaik.pki.revocation.RevocationSourceTypes; -import iaik.server.modules.xml.BlackListEntry; -import iaik.server.modules.xml.ExternalReferenceChecker; -import iaik.server.modules.xml.WhiteListEntry; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; - -/** - * A class that builds configuration data from a DOM based representation. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ConfigurationPartsBuilder { - - // - // XPath namespace prefix shortcuts - // - - private static final String CONF = Constants.MOA_CONFIG_PREFIX + ":"; - private static final String DSIG = Constants.DSIG_PREFIX + ":"; - - // - // chaining mode constants appearing in the configuration file - // - - private static final String CM_CHAINING = "chaining"; - private static final String CM_PKIX = "pkix"; - - // - // XPath expressions to select certain parts of the configuration - // - - private static final String ROOT = "/" + CONF + "MOAConfiguration/"; - - private static final String DIGEST_METHOD_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "XMLDSig/" - + CONF + "DigestMethodAlgorithm"; - private static final String XADES_VERSION_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "XAdES/" - + CONF + "Version"; - private static final String C14N_ALGORITHM_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "XMLDSig/" - + CONF + "CanonicalizationAlgorithm"; - private static final String HARDWARE_CRYPTO_MODULE_XPATH = - ROOT + CONF + "Common/" - + CONF + "HardwareCryptoModule"; - private static final String PERMIT_EXTERNAL_URIS_XPATH = - ROOT + CONF + "Common/" - + CONF + "PermitExternalUris"; - private static final String BLACK_LIST_URIS_XPATH = - ROOT + CONF + "Common/" - + CONF + "PermitExternalUris/" - + CONF + "BlackListUri"; - private static final String FORBID_EXTERNAL_URIS_XPATH = - ROOT + CONF + "Common/" - + CONF + "ForbidExternalUris"; - private static final String WHITE_LIST_URIS_XPATH = - ROOT + CONF + "Common/" - + CONF + "ForbidExternalUris/" - + CONF + "WhiteListUri"; - - private static final String HARDWARE_KEY_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "KeyModules/" - + CONF + "HardwareKeyModule"; - private static final String SOFTWARE_KEY_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "KeyModules/" - + CONF + "SoftwareKeyModule"; - private static final String KEYGROUP_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "KeyGroup"; - private static final String KEYGROUP_MAPPING_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "KeyGroupMapping"; - private static final String ISSUER_XPATH = - DSIG + "X509IssuerName"; - private static final String SERIAL_XPATH = - DSIG + "X509SerialNumber"; - private static final String CERTSTORE_LOCATION_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "PathConstruction/" - + CONF + "CertificateStore/" - + CONF + "DirectoryStore/" - + CONF + "Location"; - private static final String AUTO_ADD_CERTIFICATES_XPATH_ = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "PathConstruction/" - + CONF + "AutoAddCertificates"; - private static final String USE_AUTHORITY_INFO_ACCESS_XPATH_ = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "PathConstruction/" - + CONF + "UseAuthorityInformationAccess"; - private static final String CHAINING_MODES_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "PathValidation/" - + CONF + "ChainingMode"; - private static final String CHAINING_MODES_DEFAULT_XPATH = - CHAINING_MODES_XPATH + "/" - + CONF + "DefaultMode"; - private static final String TRUST_ANCHOR_XPATH = - CHAINING_MODES_XPATH + "/" - + CONF + "TrustAnchor"; - private static final String TRUST_PROFILE_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "PathValidation/" - + CONF + "TrustProfile"; - private static final String DISTRIBUTION_POINTS_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "DistributionPoint"; - private static final String CRL_RETENTION_INTERVALS_CA_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "CrlRetentionIntervals/" - + CONF + "CA"; - private static final String ENABLE_REVOCATION_CHECKING_XPATH_ = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "EnableChecking"; - private static final String MAX_REVOCATION_AGE_XPATH_ = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "MaxRevocationAge"; - private static final String REVOCATION_SERVICEORDER_XPATH_ = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "ServiceOrder/" - + CONF + "Service"; - private static final String ENABLE_ARCHIVING_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "Archiving/" - + CONF + "EnableArchiving"; - private static final String CRL_ARCHIVE_DURATION_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "Archiving/" - + CONF + "ArchiveDuration"; - private static final String ACHIVE_JDBC_URL_ = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "Archiving/" - + CONF + "Archive/" - + CONF + "DatabaseArchive/" - + CONF + "JDBCURL"; - private static final String ACHIVE_JDBC_DRIVER_CLASS_ = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "RevocationChecking/" - + CONF + "Archiving/" - + CONF + "Archive/" - + CONF + "DatabaseArchive/" - + CONF + "JDBCDriverClassName"; - private static final String CREATE_TRANSFORMS_INFO_PROFILE_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "CreateTransformsInfoProfile"; - private static final String CREATE_SIGNATURE_ENVIRONMENT_PROFILE_XPATH = - ROOT + CONF + "SignatureCreation/" - + CONF + "CreateSignatureEnvironmentProfile"; - private static final String VERIFY_TRANSFORMS_INFO_PROFILE_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "VerifyTransformsInfoProfile"; - private static final String SUPPLEMENT_PROFILE_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "SupplementProfile"; - private static final String PERMIT_FILE_URIS_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "PermitFileURIs"; - - private static final String TSL_CONFIGURATION_XPATH = - ROOT + CONF + "SignatureVerification/" - + CONF + "CertificateValidation/" - + CONF + "TSLConfiguration/"; - // - // default values for configuration parameters - // - - /** The accepted canonicalization algorithm URIs, as an array */ - private static final String[] ACCEPTED_C14N_ALGORITHMS_ARRAY = - { - Constants.C14N_URI, - Constants.C14N_WITH_COMMENTS_URI, - Constants.EXC_C14N_URI, - Constants.EXC_C14N_WITH_COMMENTS_URI }; - - /** The accepted canonicalization algorithm URIs, as a Set */ - private static final Set ACCEPTED_C14N_ALGORITHMS = - new HashSet(Arrays.asList(ACCEPTED_C14N_ALGORITHMS_ARRAY)); - - /** Default canonicalization algorithm, if none/illegal has been configured */ - private static final String C14N_ALGORITHM_DEFAULT = Constants.C14N_URI; - - /** The accepted digest method algorithm URIs, as an array */ - private static final String[] ACCEPTED_DIGEST_ALGORITHMS_ARRAY = - { Constants.SHA1_URI, - Constants.SHA256_URI, - Constants.SHA384_URI, - Constants.SHA512_URI}; - - /** The accepted digest method algorithm URIs, as a Set */ - private static final Set ACCEPTED_DIGEST_ALGORITHMS = - new HashSet(Arrays.asList(ACCEPTED_DIGEST_ALGORITHMS_ARRAY)); - - - /** Default digest algorithm URI, if none/illegal has been configured (for XAdES 1.1.1) */ - private static final String DIGEST_ALGORITHM_DEFAULT_XADES_1_1_1 = Constants.SHA1_URI; - - /** Default digest algorithm URI, if none/illegal has been configured (for XAdES 1.4.2) */ - private static final String DIGEST_ALGORITHM_DEFAULT_XADES_1_4_2 = Constants.SHA256_URI; - - /** The root element of the MOA configuration */ - private Element configElem; - - /** - * The directory containing the underlying configuration file. - */ - private File configRoot_; - - /** Whether any warnings were encountered building the configuration. */ - private List warnings = new ArrayList(); - - /** - * Create a new ConfigurationPartsBuilder. - * - * @param configElem The root element of the MOA configuration. - * - * @param configRoot The directory containing the underlying configuration file. - */ - public ConfigurationPartsBuilder(Element configElem, File configRoot) - { - this.configElem = configElem; - configRoot_ = configRoot; - } - - /** - * Returns the root element of the MOA configuration. - * - * @return The root element of the MOA configuration. - */ - public Element getConfigElem() { - return configElem; - } - - /** - * Returns the directory containing the underlying configuration file. - * - * @return the directory containing the underlying configuration file. - */ - public File getConfigRoot() - { - return configRoot_; - } - - /** - * Returns the warnings encountered during building the configuration. - * - * @return A List of Strings, containing the - * warning messages. - */ - public List getWarnings() { - return warnings; - } - - /** - * Returns the digest method algorithm name. - * - * @return The digest method algorithm name from the configuration. - */ - public String getDigestMethodAlgorithmName() - { - String digestMethod = getElementValue(getConfigElem(), DIGEST_METHOD_XPATH, null); - - if (digestMethod == null || !ACCEPTED_DIGEST_ALGORITHMS.contains(digestMethod)) - { - String xadesVersion = this.getXAdESVersion(); - if (xadesVersion == null) { - info( - "config.23", - new Object[] { "DigestMethodAlgorithm", DIGEST_ALGORITHM_DEFAULT_XADES_1_1_1 }); - digestMethod = DIGEST_ALGORITHM_DEFAULT_XADES_1_1_1; - } - else { - info( - "config.23", - new Object[] { "DigestMethodAlgorithm", DIGEST_ALGORITHM_DEFAULT_XADES_1_4_2 }); - digestMethod = DIGEST_ALGORITHM_DEFAULT_XADES_1_4_2; - } - - - } - - return digestMethod; - } - - /** - * Returns the digest method algorithm name. - * - * @return The digest method algorithm name from the configuration. - */ - public String getXAdESVersion() - { - String xadesVersion = getElementValue(getConfigElem(), XADES_VERSION_XPATH, null); - - return xadesVersion; - } - - - /** - * Returns the canonicalization algorithm name. - * - * @return The canonicalization algorithm name from the configuration. - */ - public String getCanonicalizationAlgorithmName() - { - String c14nAlgorithm = getElementValue(getConfigElem(), C14N_ALGORITHM_XPATH, null); - - if (c14nAlgorithm == null || !ACCEPTED_C14N_ALGORITHMS.contains(c14nAlgorithm)) - { - info( - "config.23", - new Object[] { "CanonicalizationAlgorithm", C14N_ALGORITHM_DEFAULT }); - c14nAlgorithm = C14N_ALGORITHM_DEFAULT; - } - - return c14nAlgorithm; - } - - /** - * Build the configured hardware crypto modules. - * - * @return The hardware crypto modules from the configuration. - */ - public List buildHardwareCryptoModules() - { - List modules = new ArrayList(); - NodeIterator modIter = XPathUtils.selectNodeIterator( - getConfigElem(), - HARDWARE_CRYPTO_MODULE_XPATH); - - Element modElem; - while ((modElem = (Element) modIter.nextNode()) != null) { - String name = getElementValue(modElem, CONF + "Name", null); - String slotId = getElementValue(modElem, CONF + "SlotId", null); - String userPIN = getElementValue(modElem, CONF + "UserPIN", null); - HardwareCryptoModule module = new HardwareCryptoModule(name, slotId, userPIN); - modules.add(module); - } - - return modules; - } - - /** - * - * @return - */ - public boolean allowExternalUris() { - Element permitExtUris = (Element)XPathUtils.selectSingleNode(getConfigElem(), PERMIT_EXTERNAL_URIS_XPATH); - - // if PermitExternalUris element does not exist - don't allow external uris - if (permitExtUris == null) { - // set permitExtUris for iaik-moa - ExternalReferenceChecker.setPermitExternalURLs(false); - return false; - } - else { - // set permitExtUris for iaik-moa - ExternalReferenceChecker.setPermitExternalURLs(true); - return true; - } - } - - - /** - * - * @return - */ - public List buildPermitExternalUris() { - - info("config.33", null); - - List blacklist = new ArrayList(); - List blackListIaikMoa = new ArrayList(); - - NodeIterator permitExtIter = XPathUtils.selectNodeIterator( - getConfigElem(), - BLACK_LIST_URIS_XPATH); - - Element permitExtElem = null; - while ((permitExtElem = (Element) permitExtIter.nextNode()) != null) { - String host = getElementValue(permitExtElem, CONF + "IP", null); - String port = getElementValue(permitExtElem, CONF + "Port", null); - - BlackListEntry entry =null; - if (port == null) { - entry = new BlackListEntry(host, -1); - info("config.34", new Object[]{host}); - } - else { - entry = new BlackListEntry(host, new Integer(port).intValue()); - info("config.34", new Object[]{host + ":" + port}); - } - - // add entry to iaik-moa blacklist - blackListIaikMoa.add(entry); - - - String array[] = new String[2]; - array[0] = host; - array[1] = port; - blacklist.add(array); - - } - - - // set blacklist for iaik-moa - ExternalReferenceChecker.setBlacklist(blackListIaikMoa); - - - if(blacklist.isEmpty()) // no blacklisted uris given - info("config.36", null); - - - return blacklist; - } - - /** - * - * @return - */ - public List buildForbidExternalUris() { - - //info("config.47", null); - - List whitelist = new ArrayList(); - List whiteListIaikMoa = new ArrayList(); - - NodeIterator forbidExtIter = XPathUtils.selectNodeIterator( - getConfigElem(), - WHITE_LIST_URIS_XPATH); - - Element permitExtElem = null; - while ((permitExtElem = (Element) forbidExtIter.nextNode()) != null) { - String host = getElementValue(permitExtElem, CONF + "IP", null); - String port = getElementValue(permitExtElem, CONF + "Port", null); - - // WhiteListeEntry - WhiteListEntry entry =null; - if (port == null) { - entry = new WhiteListEntry(host, -1); - info("config.49", new Object[]{host}); - } - else { - entry = new WhiteListEntry(host, new Integer(port).intValue()); - info("config.49", new Object[]{host + ":" + port}); - } - - // add entry to iaik-moa whitelist - whiteListIaikMoa.add(entry); - - - String array[] = new String[2]; - array[0] = host; - array[1] = port; - whitelist.add(array); - - } - - - // set whitelist for iaik-moa - ExternalReferenceChecker.setWhitelist(whiteListIaikMoa); - - - if(whitelist.isEmpty()) // no whitelisted uris given - info("config.48", null); - - - return whitelist; - } - - - - /** - * Build the configured hardware keys. - * - * @param keyModules The keyModules that the configuration already knows about. To - * prevent multiple key modules with the same ID. - * @return The hardware keys contained in the configuration. - */ - public List buildHardwareKeyModules(List keyModules) - { - Set existingIds = toIdSet(keyModules); - List hardwareKeys = new ArrayList(); - NodeIterator hkIter = - XPathUtils.selectNodeIterator(getConfigElem(), HARDWARE_KEY_XPATH); - Element keyElem; - - while ((keyElem = (Element) hkIter.nextNode()) != null) - { - String id = getElementValue(keyElem, CONF + "Id", null); - String name = getElementValue(keyElem, CONF + "Name", null); - String slotId = getElementValue(keyElem, CONF + "SlotId", null); - String userPIN = getElementValue(keyElem, CONF + "UserPIN", null); - - if (existingIds.contains(id)) - { - warn( - "config.04", - new Object[] { "Hardware- oder SoftwareKeyModule", id }); - } - else - { - KeyModule key = new HardwareKeyModule(id, name, slotId, userPIN); - hardwareKeys.add(key); - existingIds.add(id); - } - - } - - return hardwareKeys; - } - - /** - * Build the configured software keys. - * - * @param keyModules The keyModules that the configuration already knows about. To - * prevent multiple key modules with the same ID. - * - * @return The software keys contained in the configuration. - */ - public List buildSoftwareKeyModules(List keyModules) - { - Set existingIds = toIdSet(keyModules); - List softwareKeys = new ArrayList(); - NodeIterator skIter = - XPathUtils.selectNodeIterator(getConfigElem(), SOFTWARE_KEY_XPATH); - - Element keyElem; - while ((keyElem = (Element) skIter.nextNode()) != null) - { - String id = getElementValue(keyElem, CONF + "Id", null); - String fileName = getElementValue(keyElem, CONF + "FileName", null); - String passWord = getElementValue(keyElem, CONF + "Password", null); - - if (existingIds.contains(id)) - { - warn( - "config.04", - new Object[] { "Hardware- oder SoftwareKeyModule", id }); - } - else - { - File keyFile; - KeyModule key; - - // make keyFile absolute - keyFile = new File(fileName); - if (!keyFile.isAbsolute()) { - keyFile = new File(configRoot_, fileName); - } - - // check for existence - if (!keyFile.exists() || keyFile.isDirectory()) { - warn("config.25", new Object[] { id, keyFile.getAbsolutePath()}); - } else { - // create a new key module - key = new SoftwareKeyModule(id, keyFile.getAbsolutePath(), passWord); - softwareKeys.add(key); - existingIds.add(id); - } - } - } - - return softwareKeys; - } - - /** - * Build the key group configuration. - * - * @param keyModules The KeyModules that the configuration - * knows about. Used to check for errors in the configuration. - * @return The mapping between key group IDs and key groups. - */ - public Map buildKeyGroups(List keyModules) - { - Set keyModuleIds = toIdSet(keyModules); - Map keyGroups = new HashMap(); - NodeIterator kgIter; - Element keyGroupElem; - - // select all KeyGroup elements and build the KeyGroup objects from them - kgIter = XPathUtils.selectNodeIterator(getConfigElem(), KEYGROUP_XPATH); - while ((keyGroupElem = (Element) kgIter.nextNode()) != null) - { - String keyGroupId = getElementValue(keyGroupElem, CONF + "Id", null); - String keyGroupDigestMethodAlgorithm = getElementValue(keyGroupElem, CONF + "DigestMethodAlgorithm", null); - Set keyGroupEntries = - buildKeyGroupEntries(keyGroupId, keyModuleIds, keyGroupElem); - KeyGroup keyGroup = new KeyGroup(keyGroupId, keyGroupEntries, keyGroupDigestMethodAlgorithm); - - if (keyGroups.containsKey(keyGroupId)) - { - warn("config.04", new Object[] { "KeyGroup", keyGroupId }); - } - else - { - keyGroups.put(keyGroup.getId(), keyGroup); - } - } - - return keyGroups; - } - - /** - * Return the set of IDs contained in the given KeyModules. - * - * @param keyModules The KeyModules from which to extract the - * IDs. - * @return The IDs from the given KeyModules. - */ - private Set toIdSet(List keyModules) { - Set ids = new HashSet(); - Iterator iter; - - for (iter = keyModules.iterator(); iter.hasNext();) { - KeyModule keyModule = (KeyModule) iter.next(); - ids.add(keyModule.getId()); - } - - return ids; - } - - /** - * Build the key entries belonging to a key group. - * - * @param keyGroupId The ID of the key group we are building here. Passed - * for logging purposes. - * @param keyModuleIds The IDs of the HardwareKeyModules and - * SoftwareKeyModules that exist in the configuration. - * @param keyGroupElem The KeyGroup DOM element to parse. - * @return A Set of KeyGroupEntry objects. - */ - private Set buildKeyGroupEntries( - String keyGroupId, - Set keyModuleIds, - Element keyGroupElem) { - - Set entries = new HashSet(); - NodeIterator keyEntryIter; - Element keyEntryElem; - - // select all Key elements and put them into the Map - keyEntryIter = XPathUtils.selectNodeIterator(keyGroupElem, CONF + "Key"); - while ((keyEntryElem = (Element) keyEntryIter.nextNode()) != null) - { - String keyModuleId = getElementValue(keyEntryElem, CONF + "KeyModuleId", ""); - Element keyCertElem = (Element) XPathUtils.selectSingleNode(keyEntryElem, CONF + "KeyCertIssuerSerial"); - IssuerAndSerial issuerSerial = buildIssuerAndSerial(keyCertElem); - - if (!keyModuleIds.contains(keyModuleId)) { - warn("config.26", new Object[] { keyGroupId, keyModuleId }); - } else if (issuerSerial != null) { - KeyGroupEntry entry = new KeyGroupEntry(keyModuleId, issuerSerial); - entries.add(entry); - } - } - return entries; - } - - /** - * Build the key group mapping. - * - * @param keyGroups The available key groups. - * @param anonymous The IssuerAndSerial to be used for key group - * mappings not protected by a certificate. - * @return The key group mapping. - */ - public Map buildKeyGroupMappings(Map keyGroups, IssuerAndSerial anonymous) { - Map mappings = new HashMap(); - NodeIterator mappingIter; - Element mappingElem; - - // select all KeyGroupMapping elements - mappingIter = - XPathUtils.selectNodeIterator(getConfigElem(), KEYGROUP_MAPPING_XPATH); - - // build the mapping for each KeyGroupMapping element - while ((mappingElem = (Element) mappingIter.nextNode()) != null) - { - Element issuerSerialElem = (Element) XPathUtils.selectSingleNode(mappingElem, CONF + "CustomerId"); - - // build the IssuerAndSerial who has access to the key groups - IssuerAndSerial issuerAndSerial; - if (issuerSerialElem != null) - { - issuerAndSerial = buildIssuerAndSerial(issuerSerialElem); - } - else - { - // IssuerSerial element: the keygroup is generally available - issuerAndSerial = anonymous; - } - - // add the key groups to the mappings - if (issuerAndSerial != null) { - Map groups = (Map) mappings.get(issuerAndSerial); - NodeIterator keyGroupIter; - Element keyGroupElem; - - if (groups == null) - { - // no mapping exist -> build one - groups = new HashMap(); - mappings.put(issuerAndSerial, groups); - } - - // select the available key groups and add them to the mapping - keyGroupIter = XPathUtils.selectNodeIterator(mappingElem, CONF + "KeyGroupId"); - while ((keyGroupElem = (Element) keyGroupIter.nextNode()) != null) - { - String keyGroupId = getElementValue(keyGroupElem, ".", null); - KeyGroup keyGroup = (KeyGroup) keyGroups.get(keyGroupId); - - if (keyGroup != null) - { - groups.put(keyGroupId, keyGroup); - } else - { - warn("config.00", new Object[] { keyGroupId }); - } - } - } - } - - return mappings; - } - - /** - * Returns the default chaining mode from the configuration. - * - * @return The default chaining mode. - */ - public String getDefaultChainingMode() - { - String defaultChaining = getElementValue( - getConfigElem(), - CHAINING_MODES_DEFAULT_XPATH, - CM_PKIX); - - return translateChainingMode(defaultChaining); - - } - - /** - * Build the chaining modes for all configured trust anchors. - * - * @return The mapping from trust anchors to chaining modes. - */ - public Map buildChainingModes() - { - Map chainingModes = new HashMap(); - NodeIterator trustIter = XPathUtils.selectNodeIterator(getConfigElem(), TRUST_ANCHOR_XPATH); - - Element trustAnchorElem; - while ((trustAnchorElem = (Element) trustIter.nextNode()) != null) - { - IssuerAndSerial issuerAndSerial = buildIssuerAndSerial( - (Element)XPathUtils.selectSingleNode(trustAnchorElem, CONF + "Identification")); - String mode = getElementValue(trustAnchorElem, CONF + "Mode", null); - - if (issuerAndSerial != null) - { - chainingModes.put(issuerAndSerial, translateChainingMode(mode)); - } - } - - return chainingModes; - } - - /** - * Build an IssuerAndSerial from the DOM representation. - * - * @param root The root element (being of type dsig: - * X509IssuerSerialType. - * @return The issuer and serial number contained in the root - * element or null if could not be built for any reason. - */ - private IssuerAndSerial buildIssuerAndSerial(Element root) { - String issuer = getElementValue(root, ISSUER_XPATH, null); - String serial = getElementValue(root, SERIAL_XPATH, null); - - if (issuer != null && serial != null) { - try { - RFC2253NameParser nameParser = new RFC2253NameParser(issuer); - Principal issuerDN = nameParser.parse(); - - return new IssuerAndSerial(issuerDN, new BigInteger(serial)); - } catch (RFC2253NameParserException e) { - warn("config.16", new Object[] { issuer, serial }, e); - return null; - } catch (NumberFormatException e) { - warn("config.16", new Object[] { issuer, serial }, e); - return null; - } - } - return null; - } - - /** - * Translate the chaining mode from the configuration file to one used in the - * IAIK MOA API. - * - * @param chainingMode The chaining mode from the configuration. - * @return The chaining mode as provided by the ChainingModes - * interface. - * @see iaik.pki.pathvalidation.ChainingModes - */ - private String translateChainingMode(String chainingMode) { - if (chainingMode.equals(CM_CHAINING)) { - return ChainingModes.CHAIN_MODE; - } else if (chainingMode.equals(CM_PKIX)) { - return ChainingModes.PKIX_MODE; - } else { - return ChainingModes.PKIX_MODE; - } - } - - /** - * Build the distribution points mapping. - * - * @return The mapping from certificate authorities to distribution points. - */ - public Map buildDistributionPoints() - { - Map dPs = new HashMap(); - NodeIterator dPIter; - Element dPElem; - - // select all DistributionPoint elements - dPIter = XPathUtils.selectNodeIterator(getConfigElem(), DISTRIBUTION_POINTS_XPATH); - - // build the mapping of CA name to distribution points - while ((dPElem = (Element) dPIter.nextNode()) != null) { - String caIssuerDNText = getElementValue(dPElem, CONF + "CAIssuerDN", ""); - RFC2253NameParser nameParser = new RFC2253NameParser(caIssuerDNText); - NodeIterator cRLDPIter = XPathUtils.selectNodeIterator(dPElem, CONF + "CRLDP"); - NodeIterator oCSPDPPIter = XPathUtils.selectNodeIterator(dPElem, CONF + "OCSPDP"); - - try - { - String caIssuerDN = nameParser.parse().getName(); - - // check, if a mapping exists or make a new mapping - Set dPsForCA = (Set) dPs.get(caIssuerDN); - if (dPsForCA == null) - { - dPsForCA = new HashSet(); - dPs.put(caIssuerDN, dPsForCA); - } - - // add the CRL distribution points of this CA to the set - Element cRLDPElem; - while ((cRLDPElem = (Element) cRLDPIter.nextNode()) != null) - { - CRLDistributionPoint cRLDP = (CRLDistributionPoint) buildDistributionPoint(cRLDPElem, caIssuerDN); - dPsForCA.add(cRLDP); - } - - // add the OCSP distribution points of this CA to the set - Element oCSPPElem; - while ((oCSPPElem = (Element) oCSPDPPIter.nextNode()) != null) - { - OCSPDistributionPoint oCSPDP = (OCSPDistributionPoint) buildDistributionPoint(oCSPPElem, null); - dPsForCA.add(oCSPDP); - } -} - catch (RFC2253NameParserException e) - { - warn("config.13", new Object[] { caIssuerDNText }, e); - } - - } - - return dPs; - } - - /** - * Build a distribution point from the DOM representation. - * - * @param dpElem The root element of the distribution point. - * - * @param issuerName The name of the CA issuing the CRL referred to by this DP, or null - * if this DP refers to an OCSP responder. - * - * @return The distribution point. - */ - private DistributionPoint buildDistributionPoint(Element dpElem, String issuerName) - { - String uri = getElementValue(dpElem, CONF + "Location", null); - - if ("CRLDP".equals(dpElem.getLocalName())) - { - NodeIterator reasonCodesIter = XPathUtils.selectNodeIterator(dpElem, CONF + "ReasonCode"); - Element reasonCodeElem; - StringBuffer reasonCodesSB = new StringBuffer(); - while ((reasonCodeElem = (Element)reasonCodesIter.nextNode()) != null) - { - if (reasonCodesSB.length() > 0) reasonCodesSB.append(" "); - reasonCodesSB.append(getElementValue(reasonCodeElem, ".", "").trim()); - } - return new CRLDistributionPoint(issuerName, uri, reasonCodesSB.toString()); - } - else - { - return new OCSPDistributionPoint(uri); - } - } - - /** - * Return the CRL archive duration. - * - * @return The value of the CRL archive duration setting from the configuration, or 0 if - * no value is set in the configuration. - */ - public int getRevocationArchiveDuration() - { - String archiveDuration = getElementValue(getConfigElem(), CRL_ARCHIVE_DURATION_XPATH, null); - try - { - return Integer.parseInt(archiveDuration); - } - catch (NumberFormatException e) - { - warn("config.01", null); - return 365; - } - } - - /** - * Build the CreateTransformsInfoProfiles. - * - * @return The mapping from profile ID to profile. - */ - public Map buildCreateTransformsInfoProfiles() - { - return loadProfiles(CREATE_TRANSFORMS_INFO_PROFILE_XPATH, "CreateTransformsInfoProfile"); - } - - /** - * Build the CreateSignatureEnvironmentProfiles. - * - * @return The mapping from profile ID to profile. - */ - public Map buildCreateSignatureEnvironmentProfiles() - { - return loadProfiles(CREATE_SIGNATURE_ENVIRONMENT_PROFILE_XPATH, "CreateSignatureEnvironmentProfile"); - } - - /** - * Build the VerifyTransformsInfoProfiles. - * - * @return The mapping from profile ID to profile. - */ - public Map buildVerifyTransformsInfoProfiles() - { - return loadProfiles(VERIFY_TRANSFORMS_INFO_PROFILE_XPATH, "VerifyTransformsInfoProfile"); - } - - /** - * Build the SupplementProfiles. - * - * @return The mapping from profile ID to profile. - */ - public Map buildSupplementProfiles() - { - return loadProfiles(SUPPLEMENT_PROFILE_XPATH, "SupplementProfile"); - } - - /** - * Load a profile mapping. - * - * @param xpath The XPath to select the profiles from the configuration. - * - * @param profileRoot The name of the profile root element. - * - * @return Map The profile ID to profile mapping. - */ - private Map loadProfiles(String xpath, String profileRoot) - { - Map profiles = new HashMap(); - NodeIterator profileIter = XPathUtils.selectNodeIterator(getConfigElem(), xpath); - Element profileElem; - - while ((profileElem = (Element) profileIter.nextNode()) != null) - { - String id = getElementValue(profileElem, CONF + "Id", null); - String fileName = getElementValue(profileElem, CONF + "Location", null); - - if (profiles.containsKey(id)) - { - warn("config.04", new Object[] { profileRoot, id }); - } - else - { - try - { - File profileFile = new File(fileName); - - // make profileFile absolute - if (!profileFile.isAbsolute()) profileFile = new File(configRoot_, fileName); - - // load the profile - info("config.22", new Object[] { profileRoot, id, profileFile.getAbsoluteFile()}); - Element profile = loadProfile(profileFile); - - if (Constants.MOA_NS_URI.equals(profile.getNamespaceURI()) && - profile.getLocalName().equals(profileRoot)) - { - profiles.put(id, profile); - } - else - { - warn("config.02", new Object[] { profileRoot, id, fileName }); - } - } catch (ConfigurationException e) { - warn("config.03", new Object[] { profileRoot, id }); - } - } - } - - return profiles; - } - - /** - * Load a profile from a file. - * - * @param root The absolute directory path of the main configuration file. - * @param profileFile The file containing the profile. - * @return The profile in its DOM representation. - * @throws ConfigurationException An error occurred loading the profile. - */ - private Element loadProfile(File profileFile) throws ConfigurationException { - - Element profile; - - try { - profile = parseXml(new FileInputStream(profileFile)); - } catch (Exception e) { - throw new ConfigurationException("config.12", null, e); - } - - return profile; - } - - /** - * Build the trust profile mapping. - * - * @return The profile ID to profile mapping. - */ - public Map buildTrustProfiles(String tslWorkingDir) - { - Map trustProfiles = new HashMap(); - NodeIterator profileIter = XPathUtils.selectNodeIterator(getConfigElem(), TRUST_PROFILE_XPATH); - Element profileElem; - - while ((profileElem = (Element) profileIter.nextNode()) != null) - { - String id = getElementValue(profileElem, CONF + "Id", null); - String trustAnchorsLocStr = getElementValue(profileElem, CONF + "TrustAnchorsLocation", null); - String signerCertsLocStr = getElementValue(profileElem, CONF + "SignerCertsLocation", null); - Element eutslElem = (Element) XPathUtils.selectSingleNode(profileElem, CONF + "EUTSL"); - boolean tslEnabled = false; - if (eutslElem != null) //EUTSL element found --> TSL enabled - tslEnabled = true; - - String countries = getElementValue(profileElem, CONF + "EUTSL" + "/" + CONF + "CountrySelection", null); - - URI trustAnchorsLocURI = null; - try - { - trustAnchorsLocURI = new URI(trustAnchorsLocStr); - if (!trustAnchorsLocURI.isAbsolute()) { // make it absolute to the config file - trustAnchorsLocURI = new URI(configRoot_.toURL() + trustAnchorsLocStr); - } - } - catch (URIException e) { - warn("config.14", new Object[] { "uri", id, trustAnchorsLocStr }, e); - continue; - } - catch (MalformedURLException e) - { - warn("config.15", new Object[] {id}, e); - continue; - } - - File profileDir = new File(trustAnchorsLocURI.getPath()); - if (!profileDir.exists() || !profileDir.isDirectory()) { - warn("config.27", new Object[] { "uri", id }); - continue; - } - - - - if (trustProfiles.containsKey(id)) { - warn("config.04", new Object[] { "TrustProfile", id }); - continue; - } - - URI signerCertsLocURI = null; - if (signerCertsLocStr != null && !"".equals(signerCertsLocStr)) - { - try - { - signerCertsLocURI = new URI(signerCertsLocStr); - if (!signerCertsLocURI.isAbsolute()) signerCertsLocURI = new URI(configRoot_.toURL() + signerCertsLocStr); - - File signerCertsDir = new File(signerCertsLocURI.getPath()); - if (!signerCertsDir.exists() || !signerCertsDir.isDirectory()) { - warn("config.27", new Object[] { "signerCertsUri", id }); - continue; - } - } - catch (URIException e) { - warn("config.14", new Object[] { "signerCertsUri", id, trustAnchorsLocStr }, e); - continue; - } - catch (MalformedURLException e) { - warn("config.15", new Object[] {id}, e); - continue; - } - } - - signerCertsLocStr = (signerCertsLocURI != null) ? signerCertsLocURI.toString() : null; - - TrustProfile profile = null; - - if (tslEnabled) { - // create new trust anchor location (=tslworking trust profile) - File fTslWorkingDir = new File(tslWorkingDir); - File tp = new File(fTslWorkingDir, "trustprofiles"); - if (!tp.exists()) - tp.mkdir(); - if (!tp.isDirectory()) { - error("config.50", new Object[] { tp.getPath() }); - } - - File tpid = new File(tp, id); - if (!tpid.exists()) - tpid.mkdir(); - if (!tpid.isDirectory()) { - error("config.50", new Object[] { tpid.getPath() }); - } - - - // create profile - profile = new TrustProfile(id, tpid.getAbsolutePath(), signerCertsLocStr, tslEnabled, countries); - - // set original uri (save original trust anchor location) - profile.setUriOrig(trustAnchorsLocURI.getPath()); - - // delete files in tslworking trust profile - File[] files = tpid.listFiles(); - for (File file : files) - file.delete(); - - // copy files from trustAnchorsLocURI into tslworking trust profile kopieren - File src = new File(trustAnchorsLocURI.getPath()); - files = src.listFiles(); - for (File file : files) { - FileUtils.copyFile(file, new File(tpid, file.getName())); - } - - - } else { - - profile = new TrustProfile(id, trustAnchorsLocURI.toString(), signerCertsLocStr, tslEnabled, countries); - - } - - trustProfiles.put(id, profile); - - } - - return trustProfiles; - } - - /** - * Build the trust profile mapping. - * - * @return The profile ID to profile mapping. - */ - public Map buildTrustProfiles() - { - Map trustProfiles = new HashMap(); - NodeIterator profileIter = XPathUtils.selectNodeIterator(getConfigElem(), TRUST_PROFILE_XPATH); - Element profileElem; - - while ((profileElem = (Element) profileIter.nextNode()) != null) - { - String id = getElementValue(profileElem, CONF + "Id", null); - String trustAnchorsLocStr = getElementValue(profileElem, CONF + "TrustAnchorsLocation", null); - String signerCertsLocStr = getElementValue(profileElem, CONF + "SignerCertsLocation", null); - - URI trustAnchorsLocURI = null; - try - { - trustAnchorsLocURI = new URI(trustAnchorsLocStr); - if (!trustAnchorsLocURI.isAbsolute()) { // make it absolute to the config file - trustAnchorsLocURI = new URI(configRoot_.toURL() + trustAnchorsLocStr); - } - } - catch (URIException e) { - warn("config.14", new Object[] { "uri", id, trustAnchorsLocStr }, e); - continue; - } - catch (MalformedURLException e) - { - warn("config.15", new Object[] {id}, e); - continue; - } - - File profileDir = new File(trustAnchorsLocURI.getPath()); - if (!profileDir.exists() || !profileDir.isDirectory()) { - warn("config.27", new Object[] { "uri", id }); - continue; - } - - - - if (trustProfiles.containsKey(id)) { - warn("config.04", new Object[] { "TrustProfile", id }); - continue; - } - - URI signerCertsLocURI = null; - if (signerCertsLocStr != null && !"".equals(signerCertsLocStr)) - { - try - { - signerCertsLocURI = new URI(signerCertsLocStr); - if (!signerCertsLocURI.isAbsolute()) signerCertsLocURI = new URI(configRoot_.toURL() + signerCertsLocStr); - - File signerCertsDir = new File(signerCertsLocURI.getPath()); - if (!signerCertsDir.exists() || !signerCertsDir.isDirectory()) { - warn("config.27", new Object[] { "signerCertsUri", id }); - continue; - } - } - catch (URIException e) { - warn("config.14", new Object[] { "signerCertsUri", id, trustAnchorsLocStr }, e); - continue; - } - catch (MalformedURLException e) { - warn("config.15", new Object[] {id}, e); - continue; - } - } - - signerCertsLocStr = (signerCertsLocURI != null) ? signerCertsLocURI.toString() : null; - - TrustProfile profile = null; - - profile = new TrustProfile(id, trustAnchorsLocURI.toString(), signerCertsLocStr, false, null); - - trustProfiles.put(id, profile); - - } - - return trustProfiles; - } - - /** - * checks if a trustprofile with TSL support is enabled - * - * @return true if TSL support is enabled in at least one trustprofile, else false - */ - public boolean checkTrustProfilesTSLenabled() - { - NodeIterator profileIter = XPathUtils.selectNodeIterator(getConfigElem(), TRUST_PROFILE_XPATH); - Element profileElem; - - boolean tslSupportEnabled = false; - while ((profileElem = (Element) profileIter.nextNode()) != null) { - Element eutslElem = (Element) XPathUtils.selectSingleNode(profileElem, CONF + "EUTSL"); - if (eutslElem != null) //EUTSL element found --> TSL enabled - tslSupportEnabled = true; - } - - return tslSupportEnabled; - } - - /** - * Returns the location of the certificate store. - * - * @return the location of the certificate store. - */ - public String getCertStoreLocation() - { - String certStoreLocStr = getElementValue(getConfigElem(), CERTSTORE_LOCATION_XPATH, null); - File certStoreLocFile; - - // No value specified in configuration file: Set it to a reasonable (absolute) default - if (certStoreLocStr == null) - return new File(configRoot_, "certstore").getAbsolutePath(); - - // Make cert store location an absolute value - certStoreLocFile = new File(certStoreLocStr); - if (!certStoreLocFile.isAbsolute()) - { - certStoreLocFile = new File(configRoot_, certStoreLocStr); - } - - // Check if cert store location exists, eventually try to create it - if (!certStoreLocFile.isDirectory()) - { - boolean created = false; - try - { - created = certStoreLocFile.mkdirs(); - } - finally - { - if (!created) - { - warn("config.32", new Object[] { certStoreLocFile.getAbsolutePath() }); - } - } - } - - return certStoreLocFile.getAbsolutePath(); - } - - // - // various utility methods - // - - /** - * Parse a configuration XML file. - * - * @param inputStream The stream from which to read the XML data. - * @return The DOM representation of the XML data. - * @throws ParserConfigurationException XML parser not configured properly. - * @throws SAXException An error parsing the XML file. - * @throws IOException An error reading the stream. - */ - private static Element parseXml(InputStream inputStream) - throws ParserConfigurationException, SAXException, IOException { - return DOMUtils - .parseDocument(inputStream, true, Constants.ALL_SCHEMA_LOCATIONS, null, null) - .getDocumentElement(); - } - - /** - * Return the value of an element located by an XPath. - * - * @param root The root element from which to evaluate the xpath. - * @param xpath The XPath pointing to the element. - * @param def The default value, if no element can be found with the given - * xpath. - * @return The element value or def, if the element cannot be - * found. - */ - private String getElementValue(Element root, String xpath, String def) { - - Element elem = (Element) XPathUtils.selectSingleNode(root, xpath); - return elem != null ? DOMUtils.getText(elem) : def; - } - - /** - * Return the value of an attribute located by an XPath. - * - * @param root The root element from which to evaluate the xpath. - * @param xpath The XPath pointing to the attribute. - * @param def The default value, if no attribute can be found with the given - * xpath. - * @return The element value or def, if the attribute cannot be - * found. - */ - private String getAttributeValue(Element root, String xpath, String def) { - Attr attr = (Attr) XPathUtils.selectSingleNode(root, xpath); - return attr != null ? attr.getValue() : def; - } - - /** - * Log an info message. - * - * @param messageId The message ID. - * @param parameters Additional parameters for the message. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private static void info(String messageId, Object[] parameters) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.info(new LogMsg(msg.getMessage(messageId, parameters))); - } - - /** - * Log a warning. - * - * @param messageId The message ID. - * @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); - - Logger.warn(new LogMsg(txt)); - warnings.add(txt); - } - - /** - * Log a warning. - * - * @param messageId The message ID. - * @param args Additional parameters for the message. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private void debug(String messageId, Object[] args) { - MessageProvider msg = MessageProvider.getInstance(); - String txt = msg.getMessage(messageId, args); - - Logger.debug(new LogMsg(txt)); - - } - - - /** - * Log a debug message. - * - * @param messageId The message ID. - * @param args Additional parameters for the message. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private void debug(String message) { - Logger.debug(new LogMsg(message)); - - } - - /** - * Log a warning. - * - * @param messageId The message ID. - * @param args Additional parameters for the message. - * @param t An exception being the cause of the warning. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private void warn(String messageId, Object[] args, Throwable t) { - MessageProvider msg = MessageProvider.getInstance(); - String txt = msg.getMessage(messageId, args); - - Logger.warn(new LogMsg(txt), t); - warnings.add(txt); - } - - /** - * Log an error. - * - * @param messageId The message ID. - * @param args Additional parameters for the message. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private void error(String messageId, Object[] args) { - MessageProvider msg = MessageProvider.getInstance(); - String txt = msg.getMessage(messageId, args); - - Logger.error(new LogMsg(txt)); - warnings.add(txt); - } - - /** - * Log an error. - * - * @param messageId The message ID. - * @param args Additional parameters for the message. - * @param t An exception being the cause of the warning. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private void error(String messageId, Object[] args, Throwable t) { - MessageProvider msg = MessageProvider.getInstance(); - String txt = msg.getMessage(messageId, args); - - Logger.error(new LogMsg(txt), t); - warnings.add(txt); - } - - /** - * Returns whether revocation information should be archived. - * - * @return whether revocation information should be archived. - */ - public boolean getEnableRevocationArchiving() - { - String enableArchiving = getElementValue(getConfigElem(), ENABLE_ARCHIVING_XPATH, null); - return Boolean.valueOf(enableArchiving).booleanValue(); - } - - /** - * Returns the JDBC URL for the revocation archive database. - * - * @return the JDBC URL for the revocation archive database, or nullnullConfiguration data is read from an XML file, whose location is given by - * the moa.spss.server.configuration system property.

- *

This class implements the Singleton pattern. The reload() - * method can be used to update the configuration data. Therefore, it is not - * guaranteed that consecutive calls to getInstance() will return - * the same ConfigurationProvider all the time. During the - * processing of a web service request, the current - * TransactionContext should be used to obtain the - * ConfigurationProvider local to that request.

- * - * @author Patrick Peck - * @author Sven Aigner - * @version $Id$ - */ -public class ConfigurationProvider -{ - /** - * The name of the system property which contains the file name of the - * configuration file. - */ - public static final String CONFIG_PROPERTY_NAME = - "moa.spss.server.configuration"; - - /** - * A fake IssuerAndSerial object for storing KeyGroup information - * accessible by all clients. - */ - private static final IssuerAndSerial ANONYMOUS_ISSUER_SERIAL = - new IssuerAndSerial(new Name(), new BigInteger("0")); - - /** Singleton instance. null, if none has been created. */ - private static ConfigurationProvider instance; - - // - // configuration data - // - - /** The warnings generated when building the configuration. */ - private List warnings = new ArrayList(); - - /** The default digest method algorithm name */ - private String digestMethodAlgorithmName; - - /** The default canonicalization algorithm name */ - private String canonicalizationAlgorithmName; - - /** The XAdES version used for signature creation */ - private String xadesVersion; - - /** - * A List of HardwareCryptoModule objects for - * configuring hardware modules. - */ - private List hardwareCryptoModules; - - /** - * A List of HardwareKey objects containing the - * configuration data for hardware keys. - */ - private List hardwareKeyModules; - - /** - * A List of SoftwareKey objects containing the - * configuration data for software keys. - */ - private List softwareKeyModules; - - /** - * A Map which contains a KeyGroupId (a String) to - * KeyGroup mapping. - */ - private Map keyGroups; - - /** - * A Map which contains the IssuerAndSerial to - * KeyGroup mapping. - */ - private Map keyGroupMappings; - - /** The default chaining mode. */ - private String defaultChainingMode; - - /** - * A Map which contains the IssuerAndSerial to - * chaining mode (a String) mapping. - */ - private Map chainingModes; - - /** - * A Map which contains the CAIssuerDN (a String) - * to distribution points (a Set of - * DistributionPoints) mapping. - */ - - private Map distributionPoints; - /** - * The CRL archive duration. - */ - private int cRLArchiveDuration; - - /** - * Indicates whether revocation information should be archived. - */ - private boolean enableRevocationArchiving_; - - /** - * The location of the certificate store. - */ - private String certStoreLocation_; - - /** - * A Map which contains a mapping from - * CreateSignatureEnvironmentProfile Ids (String) to - * CreateSignatureEnvironmentProfile elements (an Element). - */ - private Map createSignatureEnvironmentProfiles; - - /** - * A Map which contains a mapping from - * CreateTransformsInfoProfile Ids (String) to - * CreateTransformsInfoProfile elements (an Element). - */ - private Map createTransformsInfoProfiles; - - /** - * A Map which contains a mapping from - * VerifyTransformsInfoProfile Ids (String) to - * VerifyTransformsInfoProfile elements (an Element). - */ - private Map verifyTransformsInfoProfiles; - - /** - * A Map which contains a mapping from - * SupplementProfile Ids (String) to SupplementProfile elements - * (an Element). - */ - private Map supplementProfiles; - - /** - * A Map which contains a TrustProfile Id (a String - * to trust profile (a TrustProfile) mapping. - */ - private Map trustProfiles; - - /** - * The JDBC URL for the revocation archive database. - */ - private String revocationArchiveJDBCURL_; - - /** - * The JDBC driver class name for the revocation archive database. - */ - private String revocationArchiveJDBCDriverClass_; - - /** - * Indicates whether revocation checking should be done. - */ - private boolean enableRevocationChecking_; - - /** - * The maximum age of a revocation information for considering it still as valid. - */ - private long maxRevocationAge_; - - /** - * The service order for revocation checking. - */ - private String[] serviceOrder_; - - /** - * Indicates whether certificates found during certificate path construction - * should be added to the certificate store. - */ - private boolean autoAddCertificates_; - - /** - * Indicates whether the certificate extension Authority Info Access should - * be used during certificate path construction. - */ - private boolean useAuthorityInfoAccess_; - /** - * Indicates whether file URIs are allowed or not - */ - private boolean permitFileURIs; - - /** - * Indicates the CRL retention intervals - */ - private Map crlRetentionIntervals; - - /** - * Indicates wether external URIs are allowed or not - */ - private boolean allowExternalUris_; - - /** - * A List of black listed URIs (host and port) - */ - private List blackListedUris_; - - /** - * A List of white listed URIs (host and port) - */ - private List whiteListedUris_; - - /** - * A TSLConfiguration that represents the global TSL configuration - */ - private TSLConfiguration tslconfiguration_; - - - /** - * Return the single instance of configuration data. - * - * @return MOAConfigurationProvider The current configuration data. - * @throws ConfigurationException Failure to load the configuration data. - */ - public static synchronized ConfigurationProvider getInstance() - throws ConfigurationException { - - if (instance == null) { - reload(); - } - return instance; - } - - /** - * Reload the configuration data and set it if successful. - * - * @return MOAConfigurationProvider The loaded configuration data. - * @throws ConfigurationException Failure to load the configuration data. - */ - public static synchronized ConfigurationProvider reload() - throws ConfigurationException { - String fileName = System.getProperty(CONFIG_PROPERTY_NAME); - - if (fileName == null) { - // find out where we are running and use the configuration provided - // under WEB-INF/conf/moa-spss/MOA-SPSSConfiguration - URL url = ConfigurationProvider.class.getResource("/"); - fileName = - new File(url.getPath()).getParent() - + "/conf/moa-spss/MOA-SPSSConfiguration.xml"; - info("config.05", new Object[] { CONFIG_PROPERTY_NAME }); - } - - instance = new ConfigurationProvider(fileName); - return instance; - } - - /** - * Constructor for ConfigurationProvider. - * - * @param fileName The name of the configuration file. - * @throws ConfigurationException An error occurred loading the configuration. - */ - public ConfigurationProvider(String fileName) throws ConfigurationException { - load(fileName); - } - - /** - * Load the configuration data from XML file with the given name and build - * the internal data structures representing the MOA configuration. - * - * @param fileName The name of the XML file to load. - * @throws ConfigurationException The MOA configuration could not be - * read/built. - */ - private void load(String fileName) throws ConfigurationException { - FileInputStream stream = null; - File configFile; - File configRoot; - Element configElem; - ConfigurationPartsBuilder builder; - List allKeyModules; - - - // load the main config file - try { - configFile = new File(fileName); - configRoot = new File(configFile.getParent()); - info("config.21", new Object[] { configFile.getAbsoluteFile()}); - stream = new FileInputStream(fileName); - configElem = DOMUtils.parseXmlValidating(new FileInputStream(fileName)); - } catch (Throwable t) { - throw new ConfigurationException("config.10", null, t); - } - - // build the internal datastructures - try { - builder = new ConfigurationPartsBuilder(configElem, configRoot); - - if (builder.checkTrustProfilesTSLenabled()) { - debug("TSL support enabled for at least one trustprofile."); - tslconfiguration_ = builder.getTSLConfiguration(); - trustProfiles = builder.buildTrustProfiles(tslconfiguration_.getWorkingDirectory()); - } - else { - tslconfiguration_ = null; - trustProfiles = builder.buildTrustProfiles(); - } - - digestMethodAlgorithmName = builder.getDigestMethodAlgorithmName(); - canonicalizationAlgorithmName = - builder.getCanonicalizationAlgorithmName(); - hardwareCryptoModules = builder.buildHardwareCryptoModules(); - hardwareKeyModules = - builder.buildHardwareKeyModules(Collections.EMPTY_LIST); - softwareKeyModules = - builder.buildSoftwareKeyModules(hardwareKeyModules); - allKeyModules = new ArrayList(hardwareKeyModules); - allKeyModules.addAll(softwareKeyModules); - keyGroups = builder.buildKeyGroups(allKeyModules); - keyGroupMappings = - builder.buildKeyGroupMappings(keyGroups, ANONYMOUS_ISSUER_SERIAL); - - xadesVersion = builder.getXAdESVersion(); - defaultChainingMode = builder.getDefaultChainingMode(); - chainingModes = builder.buildChainingModes(); - useAuthorityInfoAccess_ = builder.getUseAuthorityInfoAccess(); - autoAddCertificates_ = builder.getAutoAddCertificates(); - //trustProfiles = builder.buildTrustProfiles(tslconfiguration_.getWorkingDirectory()); - - - distributionPoints = builder.buildDistributionPoints(); - enableRevocationChecking_ = builder.getEnableRevocationChecking(); - maxRevocationAge_ = builder.getMaxRevocationAge(); - serviceOrder_ = builder.getServiceOrder(); - enableRevocationArchiving_ = builder.getEnableRevocationArchiving(); - cRLArchiveDuration = builder.getRevocationArchiveDuration(); - revocationArchiveJDBCURL_ = builder.getRevocationArchiveJDBCURL(); - revocationArchiveJDBCDriverClass_ = builder.getRevocationArchiveJDBCDriverClass(); - - - - //check TSL configuration - checkTSLConfiguration(); - - - - certStoreLocation_ = builder.getCertStoreLocation(); - createTransformsInfoProfiles = builder.buildCreateTransformsInfoProfiles(); - createSignatureEnvironmentProfiles = builder.buildCreateSignatureEnvironmentProfiles(); - verifyTransformsInfoProfiles = builder.buildVerifyTransformsInfoProfiles(); - supplementProfiles = builder.buildSupplementProfiles(); - warnings = new ArrayList(builder.getWarnings()); - permitFileURIs = builder.getPermitFileURIs(); - crlRetentionIntervals = builder.getCrlRetentionIntervals(); - - allowExternalUris_= builder.allowExternalUris(); - - if (allowExternalUris_) { - blackListedUris_ = builder.buildPermitExternalUris(); - whiteListedUris_ = null; - } - else { - info("config.35", null); - blackListedUris_ = null; - whiteListedUris_ = builder.buildForbidExternalUris(); - } - - - -// Set set = crlRetentionIntervals.entrySet(); -// Iterator i = set.iterator(); -// while(i.hasNext()){ -// Map.Entry me = (Map.Entry)i.next(); -// System.out.println("Key: " + me.getKey() + " - Value: " + me.getValue() ); -// } - - - } catch (Throwable t) { - throw new ConfigurationException("config.11", null, t); - } finally { - try { - if (stream != null) { - stream.close(); - } - } catch (IOException e) { - // don't complain about this - } - } - } - - private boolean checkTSLenableTrustprofilesExist()throws ConfigurationException { - boolean bTSLEnabledTPExist = false; - Iterator it = trustProfiles.entrySet().iterator(); - while (it.hasNext()) { - Map.Entry pairs = (Map.Entry)it.next(); - TrustProfile tp = (TrustProfile) pairs.getValue(); - if (tp.isTSLEnabled()) - bTSLEnabledTPExist = bTSLEnabledTPExist || true; - } - - return bTSLEnabledTPExist; - - } - - private void checkTSLConfiguration() throws ConfigurationException { - boolean bTSLEnabledTPExist = false; - Iterator it = trustProfiles.entrySet().iterator(); - while (it.hasNext()) { - Map.Entry pairs = (Map.Entry)it.next(); - TrustProfile tp = (TrustProfile) pairs.getValue(); - if (tp.isTSLEnabled()) - bTSLEnabledTPExist = bTSLEnabledTPExist || true; - } - - if (!bTSLEnabledTPExist) { - // if no trustprofile has TSL support enabled, delete TSL configuration - tslconfiguration_ = null; - return; - } - - if (bTSLEnabledTPExist && (tslconfiguration_ == null)) { - error("config.40", null); - throw new ConfigurationException("config.40", null); - } - - File workingDir = new File(tslconfiguration_.getWorkingDirectory()); - File eu_trust = new File(workingDir.getAbsolutePath() + "/trust/eu"); - if (!eu_trust.exists()) { - error("config.51", new Object[] {"Verzeichnis \"trust/eu\" existiert nicht"}); - throw new ConfigurationException("config.51", new Object[] {"Verzeichnis \"trust/eu\" existiert nicht"}); - } - else { - File[] eutrustFiles = eu_trust.listFiles(); - if (eutrustFiles == null) { - error("config.51", new Object[] {"Verzeichnis \"trust/eu\" ist leer"}); - throw new ConfigurationException("config.51", new Object[] {"Verzeichnis \"trust/eu\" ist leer"}); - } - else { - if (eutrustFiles.length == 0) { - error("config.51", new Object[] {"Verzeichnis \"trust/eu\" ist leer"}); - throw new ConfigurationException("config.51", new Object[] {"Verzeichnis \"trust/eu\" ist leer"}); - } - } - - } - - File hashcache = new File(tslconfiguration_.getWorkingDirectory(), "hashcache"); - if (!hashcache.exists()) { - hashcache.mkdir(); - } - if (!hashcache.isDirectory()) { - error("config.38", new Object[] { hashcache.getAbsolutePath() }); - return; - } - - System.setProperty("iaik.xml.crypto.tsl.BinaryHashCache.DIR", hashcache.getAbsolutePath()); -// String hashcachedir = System.getProperty("iaik.xml.crypto.tsl.BinaryHashCache.DIR"); -// System.out.println("Hashcache: " + hashcachedir); - - - Logger.debug("TSL Konfiguration - Hashcache: " + hashcache.getAbsolutePath()); - - - } - - - /** - * Returns the warnings encountered during building the configuration. - * - * @return A List of Strings, containing the - * warning messages. - */ - public List getWarnings() { - return warnings; - } - - /** - * Return the name of the digest algorithm used during signature creation. - * - * @return The digest method algorithm name, or an empty String, - * if none has been configured. - */ - public String getDigestMethodAlgorithmName() { - return digestMethodAlgorithmName; - } - - /** - * Return the XAdES version used for signature creation. - * - * @return The XAdES version used for signature creation, or an empty String, - * if none has been configured. - */ - public String getXAdESVersion() { - return xadesVersion; - } - - public boolean getAllowExternalUris() { - return this.allowExternalUris_; - } - - public List getBlackListedUris() { - return this.blackListedUris_; - } - public List getWhiteListedUris() { - return this.whiteListedUris_; - } - - /** - * Return the name of the canonicalization algorithm used during signature - * creation. - * - * @return The canonicalization algorithm name, or an empty - * String if none has been configured. - */ - public String getCanonicalizationAlgorithmName() { - return canonicalizationAlgorithmName; - } - - /** - * Return the configured hardware crypto modules. - * - * @return A List of HardwareCryptoModule objects - * containing the hardware crypto module configurations. - */ - public List getHardwareCryptoModules() { - return hardwareCryptoModules; - } - - /** - * Return the hardware key modules configuration. - * - * @return A List of HardwareKeyModule objects - * containing the configuration of the hardware key modules. - */ - public List getHardwareKeyModules() { - return hardwareKeyModules; - } - - /** - * Return the software key module configuration. - * - * @return A List of SoftwareKeyModule objects - * containing the configuration of the software key modules. - */ - public List getSoftwareKeyModules() { - return softwareKeyModules; - } - - /** - * Return the key group mapping. - * - * @return A mapping from key group ID (a String) to - * KeyGroup mapping. - */ - public Map getKeyGroups() { - return keyGroups; - } - - public KeyGroup getKeyGroup(String keyGroupId) { - KeyGroup keyGroup = (KeyGroup) keyGroups.get(keyGroupId); - return keyGroup; - } - - /** - * Return the set of KeyGroupEntrys of a given key group, which a - * client (identified by an issuer/serial pair) may access. - * - * @param issuer The issuer of the client certificate. - * @param serial The serial number of the client certificate. - * @param keyGroupId The ID of the key group. - * @return A Set of all the KeyGroupEntrys in the - * given key group, if the user may access them. Returns null, if - * the user may not access the given key group or if the key group does not - * exist. - */ - public Set getKeyGroupEntries( - Principal issuer, - BigInteger serial, - String keyGroupId) { - - IssuerAndSerial issuerAndSerial; - Map mapping; - - if (issuer == null && serial == null) { - issuerAndSerial = ANONYMOUS_ISSUER_SERIAL; - } else { - issuerAndSerial = new IssuerAndSerial(issuer, serial); - } - -// System.out.println("Issuer: " + issuer); -// System.out.println("serial: " + serial); -// -// Iterator entries = keyGroupMappings.entrySet().iterator(); -// while (entries.hasNext()) { -// Entry thisEntry = (Entry) entries.next(); -// System.out.println("Entry: " + thisEntry.getKey()); -// System.out.println("Value: " + thisEntry.getValue()); -// } - - mapping = (Map) keyGroupMappings.get(issuerAndSerial); - if (mapping != null) { - KeyGroup keyGroup = (KeyGroup) mapping.get(keyGroupId); - - if (keyGroup != null) { - return keyGroup.getKeyGroupEntries(); - } - } - - // If no key group is available for a client identified by a certificate, - // try to find a key group in the anonymous key group mapping - if (issuer != null || serial != null) - { - mapping = (Map) keyGroupMappings.get(ANONYMOUS_ISSUER_SERIAL); - if (mapping != null) - { - KeyGroup keyGroup = (KeyGroup) mapping.get(keyGroupId); - if (keyGroup != null) return keyGroup.getKeyGroupEntries(); - } - } - - return null; - } - - /** - * Return the chaining mode for a given trust anchor. - * - * @param trustAnchor The trust anchor for which the chaining mode should be - * returned. - * @return The chaining mode for the given trust anchor. If the trust anchor - * has not been configured separately, the system default will be returned. - */ - public String getChainingMode(X509Certificate trustAnchor) { - Principal issuer = trustAnchor.getIssuerDN(); - BigInteger serial = trustAnchor.getSerialNumber(); - IssuerAndSerial issuerAndSerial = new IssuerAndSerial(issuer, serial); - - String mode = (String) chainingModes.get(issuerAndSerial); - return mode != null ? mode : defaultChainingMode; - } - - /** - * Return the distribution points for a given CA. - * - * @param cert The certificate for which the distribution points should be - * looked up. The issuer information is used to perform the lookup. - * - * @return A Set of DistributionPoint objects. The - * set will be empty, if no distribution points have been configured - * for this certificate. - */ - public Set getDistributionPoints(X509Certificate cert) - { - try { - RFC2253NameParser nameParser = - new RFC2253NameParser(cert.getIssuerDN().toString()); - String caIssuerDN = nameParser.parse().getName(); - Set dps = (Set) distributionPoints.get(caIssuerDN); - - if (dps == null) { - return Collections.EMPTY_SET; - } - return dps; - } catch (RFC2253NameParserException e) { - return Collections.EMPTY_SET; - } - } - - /** - * Return the CRL archive duration. - * - * @return The duration of how long to keep CRL archive entries (measured in - * days). - */ - public int getCRLArchiveDuration() { - return cRLArchiveDuration; - } - - /** - * Returns whether revocation information should be archived. - * - * @return whether revocation information should be archived. - */ - public boolean getEnableRevocationArchiving() - { - return enableRevocationArchiving_; - } - - /** - * Returns the location of the certificate store. - * - * @return the location of the certificate store. - */ - public String getCertStoreLocation() - { - return certStoreLocation_; - } - - /** - * Return a CreateTransformsInfoProfile with the given ID. - * - * @param id The CreateTransformsInfoProfile ID. - * @return The CreateTransformsInfoProfile with the given - * ID or null, if none exists. - */ - public Element getCreateTransformsInfoProfile(String id) { - return (Element) createTransformsInfoProfiles.get(id); - } - - /** - * Return a CreateSignatureEnvironmentProfile with the given ID. - * - * @param id The CreateSignatureEnvironmentProfile ID. - * @return The CreateSignatureEnvironmentProfile with the given - * ID or null, if none exists. - */ - public Element getCreateSignatureEnvironmentProfile(String id) { - return (Element) createSignatureEnvironmentProfiles.get(id); - } - - /** - * Return a VerifyTransformsInfoProfile with the given ID. - * - * @param id The VerifyTransformsInfoProfile ID. - * @return The VerifyTransformsInfoProfile with the given ID or - * null, if none exists. - */ - public Element getVerifyTransformsInfoProfile(String id) { - return (Element) verifyTransformsInfoProfiles.get(id); - } - - /** - * Return a SupplementProfile with the given ID. - * - * @param id The SupplementProfile ID. - * @return The SupplementProfile with the given ID or - * null, if none exists. - */ - public Element getSupplementProfile(String id) { - return (Element) supplementProfiles.get(id); - } - - /** - * Return a TrustProfile with the given ID. - * - * @param id The TrustProfile ID. - * @return The TrustProfile with the given ID or - * null, if none exists. - */ - public TrustProfile getTrustProfile(String id) { - return (TrustProfile) trustProfiles.get(id); - } - - /** - * Returns a map of TrustProfiles - * @return - */ - public Map getTrustProfiles() { - return trustProfiles; - } - - /** - * Log a warning. - * - * @param messageId The message ID. - * @param parameters Additional parameters for the message. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private static void info(String messageId, Object[] parameters) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.info(new LogMsg(msg.getMessage(messageId, parameters))); - } - - /** - * Log a debug message. - * - * @param messageId The message ID. - * @param parameters Additional parameters for the message. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private static void debug(String message) { - Logger.debug(message); - } - - /** - * Log a warning. - * - * @param messageId The message ID. - * @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); - - Logger.warn(new LogMsg(txt)); - warnings.add(txt); - } - - /** - * Log an error. - * - * @param messageId The message ID. - * @param args Additional parameters for the message. - * @see at.gv.egovernment.moa.spss.server.util.MessageProvider - */ - private void error(String messageId, Object[] args) { - MessageProvider msg = MessageProvider.getInstance(); - String txt = msg.getMessage(messageId, args); - - Logger.warn(new LogMsg(txt)); -// warnings.add(txt); - } - - /** - * Returns the JDBC URL for the revocation archive database. - * - * @return the JDBC URL for the revocation archive database. - */ - public String getRevocationArchiveJDBCURL() - { - return revocationArchiveJDBCURL_; - } - - /** - * Returns the JDBC driver class name for the revocation archive database. - * - * @return the JDBC driver class name for the revocation archive database. - */ - public String getRevocationArchiveJDBCDriverClass() - { - return revocationArchiveJDBCDriverClass_; - } - - /** - * Returns whether revocation checking should be done. - * - * @return whether revocation checking should be done. - */ - public boolean getEnableRevocationChecking() - { - return enableRevocationChecking_; - } - - /** - * Returns the maximum age of a revocation information for considering it - * still as valid. - * - * @return the maximum age of a revocation information for considering it - * still as valid. - */ - public long getMaxRevocationAge() - { - return maxRevocationAge_; - } - - /** - * Returns the service order for revocation checking. - * - * @return the service order for revocation checking. Valid array entries are - * {@link RevocationSourceTypes#OCSP} and {@link RevocationSourceTypes#CRL}. - */ - public String[] getServiceOrder() - { - return serviceOrder_; - } - - /** - * Returns whether certificates found during certificate path construction - * should be added to the certificate store. - * - * @return whether certificates found during certificate path construction - * should be added to the certificate store. - */ - public boolean getAutoAddCertificates() - { - return autoAddCertificates_; - } - - /** - * Returns whether the certificate extension Authority Info Access should - * be used during certificate path construction. - * - * @return whether the certificate extension Authority Info Access should - * be used during certificate path construction. - */ - public boolean getUseAuthorityInfoAccess() - { - return useAuthorityInfoAccess_; - } - - /** - * Returns whether the file URIs are permitted or not - * @return whether the file URIs are permitted or not - */ - public boolean getPermitFileURIs() - { - return permitFileURIs; - } - - /** - * Returns the map of retention intervals - * @return The map of retention intervals - */ - public Map getCrlRetentionIntervals() { - return crlRetentionIntervals; - } - - /** - * Returns the global TSL configuration - * @return The global TSL configuration - */ - public TSLConfiguration getTSLConfiguration() { - return tslconfiguration_; - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java deleted file mode 100644 index a2e5b9385..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -/** - * Abstract base class for distribution points. - * - * @author Gregor Karlinger - * @version $Id$ - * */ -public abstract class DistributionPoint implements iaik.pki.revocation.DistributionPoint -{ - /** - * The distribution point URI. - */ - private String uri_; - - /** - * Create a DistributionPoint with a URI. - * - * @param uri The URI of the distribution point. - */ - public DistributionPoint(String uri) - { - uri_ = uri; - } - - /** - * @see iaik.pki.revocation.DistributionPoint#getType() - */ - public abstract String getType(); - - /** - * @see iaik.pki.revocation.DistributionPoint#getUri() - */ - public String getUri() - { - return uri_; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java deleted file mode 100644 index c0487f621..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -/** - * Contains configuration data for a hardware crypto module. - * - * @author Patrick Peck - * @version $Id$ - */ -public class HardwareCryptoModule { - /** The name of the module. */ - private String name; - /** The slod ID of the module. */ - private String slotID; - /** The user PIN of the module. */ - private String userPIN; - - /** - * Create a new HardwareCryptoModule. - * - * @param name The name of this HardwareCryptoModule. - * @param slotID The slot ID of this HardwareCryptoModule. - * @param userPIN The user PIN to access this - * HardwareCryptoModule. - */ - public HardwareCryptoModule(String name, String slotID, String userPIN) { - this.name = name; - this.slotID = slotID; - this.userPIN = userPIN; - } - - /** - * Returns the name of this HardwareCryptoModule. - * - * @return The name of this HardwareCryptoModule. - */ - public String getName() { - return name; - } - - /** - * Returns the slot ID of this HardwareCryptoModule. - * - * @return The slot ID. - */ - public String getSlotID() { - return slotID; - } - - - /** - * Returns the user PIN of this HardwareCryptoModule. - * - * @return The user PIN used to access the module. - */ - public String getUserPIN() { - return userPIN; - } - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java deleted file mode 100644 index 18fd08564..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -/** - * A class that contains information about a hardware key module. - * - * @author Patrick Peck - * @version $Id$ - */ -public class HardwareKeyModule extends KeyModule { - /** The name of the module. */ - private String name; - /** The slod ID of the module. */ - private String slotID; - /** The user PIN of the module. */ - private String userPIN; - - /** - * Create a new HardwareKey. - * - * @param id The key module ID. - * @param name The name of the key. - * @param slotID The slot ID of the key within the hardware module. May be - * null. - * @param userPIN The user PIN to access the key. - */ - public HardwareKeyModule(String id, String name, String slotID, String userPIN) { - super(id); - this.name = name; - this.slotID = slotID; - this.userPIN = userPIN; - } - - /** - * Return the name of this HardwareKey. - * - * @return The name of this HardwareKey. - */ - public String getName() { - return name; - } - - /** - * Return the slot ID of this HardwareKey. - * - * @return The slot ID of this HardwareKey. - */ - public String getSlotID() { - return slotID; - } - - /** - * Return the user PIN to access this HardwareKey. - * - * @return The user PIN to access this HardwareKey. - */ - public String getUserPIN() { - return userPIN; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java deleted file mode 100644 index 38a3ae9e1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import java.math.BigInteger; -import java.security.Principal; - -import iaik.asn1.structures.Name; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; - -/** - * A class containing the issuer and serial number of a certificate, which can - * be used to uniquely identify the certificate. - * - * The issuer is contained as an RFC2253 encoded String. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IssuerAndSerial { - - /** The issuer distinguished name. */ - private String issuerDN; - /** The certificate serial number. */ - private BigInteger serial; - - /** - * Create an IssuerAndSerial object. - * - * The name of the issuer is converted to RFC2253. If it cannot be parsed, the - * DN contained in the issuer is set. - * - * @param issuer The isser of a certificate. - * @param serial The serial number of the certificate. - */ - public IssuerAndSerial(Principal issuer, BigInteger serial) { - String issuerDN = null; - if (issuer instanceof Name) { - try { - issuerDN = ((Name)issuer).getRFC2253String(); - } catch (RFC2253NameParserException e) { - // do nothing - } - } - if (issuerDN == null) { - RFC2253NameParser parser = new RFC2253NameParser(issuer.getName()); - try { - issuerDN = ((Name)parser.parse()).getRFC2253String(); - } catch (RFC2253NameParserException e) { - issuerDN = issuer.getName(); - } - } - this.serial = serial; - this.issuerDN = issuerDN; - } - - /** - * Create an IssuerAndSerial object. - * - * @param issuerDN The issuer distinguished name. Should be an RFC2253 name. - * @param serial The serial number of the certificate. - */ - public IssuerAndSerial(String issuerDN, BigInteger serial) { - this.issuerDN = issuerDN; - this.serial = serial; - } - - /** - * Return the issuer DN in RFC2253 format. - * - * @return The issuer part of this object. - */ - public String getIssuerDN() { - return issuerDN; - } - - /** - * Return the serial number. - * - * @return The serial number of this object. - */ - public BigInteger getSerial() { - return serial; - } - - /** - * Compare this IssuerAndSerial to another object. - * - * @param other The object to compare this IssuerAndSerial to. - * @return true, if other is an - * IssuerAndSerial object and the issuer and - * serial fields are both equal. false otherwise. - * @see java.lang.Object#equals(java.lang.Object) - */ - public boolean equals(Object other) { - if (other instanceof IssuerAndSerial) { - IssuerAndSerial ias = (IssuerAndSerial) other; - return getIssuerDN().equals(ias.getIssuerDN()) - && getSerial().equals(ias.getSerial()); - } - return false; - } - - /** - * Return the hash code of this IssuerAndSerial. - * - * @return The hash code of this IssuerAndSerial. - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - return issuerDN.hashCode() ^ serial.hashCode(); - } - - /** - * Return a String representation of this - * IssuerAndSerial object. - * - * @return The String representation. - * @see java.lang.Object#toString() - */ - public String toString() { - return ("(IssuerAndSerial - Issuer<" + getIssuerDN()) - + ("> Serial<" + serial.toString() + ">)"); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroup.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroup.java deleted file mode 100644 index c2490f9a3..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroup.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import java.util.Iterator; -import java.util.Set; - -/** - * A collection of KeyGroupEntrys with its own ID. - * - * @author Sven Aigner - * @author Patrick Peck - * @version $Id$ - */ -public class KeyGroup { - - /** The keys belonging to this key group. */ - private Set keyGroupEntries; - /** The key group ID. */ - private String id; - /** The digest method algorithm for the key group */ - private String digestMethodAlgorithm; - - /** - * Create a KeyGroup. - * - * @param id The ID of this KeyGroup. - * @param keyGroupEntries The keys belonging to this KeyGroup. - * @param digestMethodAlgorithm The signature algorithm used for this key group - */ - public KeyGroup(String id, Set keyGroupEntries, String digestMethodAlgorithm) { - this.id = id; - this.keyGroupEntries = keyGroupEntries; - this.digestMethodAlgorithm = digestMethodAlgorithm; - } - - /** - * Return the KeyEntrys contained in this KeyGroup. - * - * @return The KeyEntrys contained in this KeyGroup. - */ - public Set getKeyGroupEntries() { - return keyGroupEntries; - } - - /** - * Returnd the digest method algorithm used for this key group - * @return The digest method signature algorithm used for this key group - */ - public String getDigestMethodAlgorithm() { - return digestMethodAlgorithm; - } - - /** - * Return the ID of this KeyGroup. - * - * @return The KeyGroup ID. - */ - public String getId() { - return id; - } - - /** - * Return a String representation of this KeyGroup. - * - * @return The String representation. - * @see java.lang.Object#toString() - */ - public String toString() { - StringBuffer sb = new StringBuffer(); - Iterator i; - - if (getKeyGroupEntries() != null) { - i = getKeyGroupEntries().iterator(); - - while (i.hasNext()) { - sb.append(" " + i.next()); - } - } - return "(KeyGroup - ID:" + id + " " + sb.toString() + ")" + "DigestMethodAlgorithm: " + digestMethodAlgorithm; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java deleted file mode 100644 index fcedfb04c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import java.math.BigInteger; - -/** - * A class containing information about an entry in a key group. - * - * @author Patrick Peck - * @version $Id$ - */ -public class KeyGroupEntry { - /** The module ID of the key. */ - private String moduleID; - /** The issuer DN of the certificate identifying the key. */ - private String issuerDN; - /** The serial number of the certificate identifying the key. */ - private BigInteger serialNumber; - - /** - * Create a new KeyGroupEntry. - * - * @param moduleID The key module ID to which this entry belongs to. - * @param issuerAndSerial The issuer and serial number which uniquely - * identifies a certificate within the key module. - */ - public KeyGroupEntry(String moduleID, IssuerAndSerial issuerAndSerial) { - this.moduleID = moduleID; - this.issuerDN = issuerAndSerial.getIssuerDN(); - this.serialNumber = issuerAndSerial.getSerial(); - } - - /** - * Create a new KeyGroupEntry. - * - * @param moduleID The key module ID to which this entry belongs to. - * @param issuerDN The isser DN of the certificate within the key module. - * @param serialNumber The serial number of the certificate within the key - * module. - */ - public KeyGroupEntry( - String moduleID, - String issuerDN, - BigInteger serialNumber) { - this.moduleID = moduleID; - this.issuerDN = issuerDN; - this.serialNumber = serialNumber; - } - - /** - * Return the key module ID to which this KeyGroupEntry belongs - * to. - * - * @return The key module ID. - */ - public String getModuleID() { - return moduleID; - } - - /** - * Return the issuer DN of this KeyGroupEntry for identifying the - * certificate within the key module. - * - * @return The issuer DN of the certificate. - */ - public String getIssuerDN() { - return issuerDN; - } - - /** - * Return the serial number of this KeyGroupEntry for identifying - * the certificate within the key module. - * - * @return The serial number of the certificate. - */ - public BigInteger getSerialNumber() { - return serialNumber; - } - - /** - * Compare this KeyGroupEntry to another. - * - * @param other The KeyGroupEntry to compare to. - * @return true, if module ID, isser DN and serial number of - * other match the ones contained in this object, otherwise - * false. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof KeyGroupEntry) { - KeyGroupEntry entry = (KeyGroupEntry) other; - return getModuleID().equals(entry.getModuleID()) - && getIssuerDN().equals(entry.getIssuerDN()) - && getSerialNumber().equals(entry.getSerialNumber()); - } - return false; - } - - /** - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - return getModuleID().hashCode() - ^ getIssuerDN().hashCode() - ^ getSerialNumber().hashCode(); - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyModule.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyModule.java deleted file mode 100644 index 45d8d7ebd..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/KeyModule.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -/** - * A class that contains information about a key module. - * - * @author Patrick Peck - * @version $Id$ - */ -public class KeyModule { - - /** The key module ID. */ - private String id; - - /** - * Create a Key object. - * - * @param id The key module ID. - */ - public KeyModule(String id) { - this.id = id; - } - - /** - * Return the key ID. - * - * @return The key ID. - */ - public String getId() { - return id; - } - - /** - * Return a String representation of this Key. - * - * @return The String representation. - * @see java.lang.Object#toString() - */ - public String toString() { - return "(Key - Id<" + id + ">)"; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/OCSPDistributionPoint.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/OCSPDistributionPoint.java deleted file mode 100644 index 2e91c6ba2..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/OCSPDistributionPoint.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import iaik.pki.revocation.RevocationSourceTypes; - -/** - * A class representing a CRL distribution point. - * - * @author Gregor Karlinger - * @version $Id$ - */ -public class OCSPDistributionPoint - extends DistributionPoint - implements iaik.pki.revocation.DistributionPoint -{ - /** - * Create a OCSPDistributionPoint with a URI. - * - * @param uri The URI of the ocsp distribution point. - */ - public OCSPDistributionPoint(String uri) - { - super(uri); - } - - /** - * @see iaik.pki.revocation.DistributionPoint#getType() - */ - public String getType() - { - return RevocationSourceTypes.OCSP; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java deleted file mode 100644 index 0ed83bb3d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -/** - * A class containing information about a software key, stored in PKCS12 format. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SoftwareKeyModule extends KeyModule { - /** The name of the file containing the keys. */ - private String fileName; - /** The password for accessing the file. */ - private String passWord; - - /** - * Create a new SoftwareKey. - * - * @param id The key ID. - * @param fileName The name of the PKCS12 keystore file containing the key. - * @param passWord The password to access the keystore file. - */ - public SoftwareKeyModule(String id, String fileName, String passWord) { - super(id); - this.fileName = fileName; - this.passWord = passWord; - } - - /** - * Return the name of the PKCS12 keystore file containing this - * SoftwareKey. - * - * @return The name of the PKCS12 keystore file. - */ - public String getFileName() { - return fileName; - } - - /** - * Return the password to access the keystore file. - * - * @return The password to access the keystore file. - */ - public String getPassWord() { - return passWord; - } - - -} 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 deleted file mode 100644 index 21063c77f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.config; - -import iaik.x509.X509Certificate; - -/** - * Information about a trust profile. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TrustProfile { - /** The ID of the trust profile. */ - private String id; - /** The URI giving the location of the trust profile. */ - 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 original URI (out of the configuration) giving the location of the trust profile (used when TSL is enabled) */ - private String uriOrig; - /** The countries given */ - private String countries; - /** */ - private X509Certificate[] certificatesToBeRemoved; - - /** - * Create a TrustProfile. - * - * @param id The ID of the TrustProfile to create. - * @param uri The URI of the TrustProfile to create. - * @param signerCertsUri The URI of the location of the allowed signer - * certificates of the TrustProfile to create. - */ - 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; - this.certificatesToBeRemoved = new X509Certificate[0]; - } - - /** - * Return the ID of this TrustProfile. - * - * @return The TrustProfile ID. - */ - public String getId() { - return id; - } - - /** - * Return the URI of this TrustProfile. - * - * @return The URI of TrustProfile. - */ - public String getUri() { - return uri; - } - - /** - * Return the original URI of this TrustProfile. - * - * @return The original URI of TrustProfile. - */ - public String getUriOrig() { - return uriOrig; - } - - /** - * Return the URI giving the location of the allowed signer certificates - * of this TrustProfile. - * - * @return The URI of 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; - } - - - /** - * Sets the original URI of this TrustProfile. - * - * @return The original URI of TrustProfile. - */ - public void setUriOrig(String uriOrig) { - this.uriOrig = uriOrig; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmssign/CMSSignatureCreationProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmssign/CMSSignatureCreationProfileImpl.java deleted file mode 100644 index 49e5ecc10..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmssign/CMSSignatureCreationProfileImpl.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.cmssign; - -import iaik.server.modules.algorithms.SignatureAlgorithms; -import iaik.server.modules.cmssign.CMSSignatureCreationProfile; -import iaik.server.modules.keys.AlgorithmUnavailableException; -import iaik.server.modules.keys.KeyEntryID; -import iaik.server.modules.keys.KeyModule; -import iaik.server.modules.keys.KeyModuleFactory; -import iaik.server.modules.keys.UnknownKeyException; - -import java.util.List; -import java.util.Set; - -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * An object providing auxiliary information for creating a CMS signature. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CMSSignatureCreationProfileImpl - implements CMSSignatureCreationProfile { - - /** The set of keys available to the signing process. */ - private Set keySet; - /** The MIME type of the data to be signed*/ - private String mimeType; - /** Whether the created signature is to be Security Layer conform. */ - private boolean securityLayerConform; - /** Properties to be signed during signature creation. */ - private List signedProperties; - /** Specifies whether the content data shall be included in the CMS SignedData or shall be not included. */ - private boolean includeData; - /** Digest Method algorithm */ - private String digestMethod; - - - /** - * Create a new XMLSignatureCreationProfileImpl. - * - * @param createProfileCount Provides external information about the - * number of calls to the signature creation module, using the same request. - * @param reservedIDs The set of IDs that must not be used while generating - * new IDs. - */ - public CMSSignatureCreationProfileImpl( - Set keySet, - String digestMethod, - List signedProperties, - boolean securityLayerConform, - boolean includeData, - String mimeType) { - this.keySet = keySet; - this.signedProperties = signedProperties; - this.securityLayerConform = securityLayerConform; - this.includeData = includeData; - this.mimeType = mimeType; - this.digestMethod = digestMethod; - - } - - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getKeySet() - */ - public Set getKeySet() { - return keySet; - } - - /** - * Set the set of KeyEntryIDs which may be used for signature - * creation. - * - * @param keySet The set of KeyEntryIDs to set. - */ - public void setKeySet(Set keySet) { - this.keySet = keySet; - } - - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignatureAlgorithmName(KeyEntryID) - */ - public String getSignatureAlgorithmName(KeyEntryID selectedKeyID) - throws AlgorithmUnavailableException { - - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - TransactionId tid = new TransactionId(context.getTransactionID()); - KeyModule module = KeyModuleFactory.getInstance(tid); - Set algorithms; - - try { - algorithms = module.getSupportedSignatureAlgorithms(selectedKeyID); - } catch (UnknownKeyException e) { - throw new AlgorithmUnavailableException( - "Unknown key entry: " + selectedKeyID, - e, - null); - } - - if (digestMethod.compareTo("SHA-1") == 0) { - Logger.warn("SHA-1 is configured as digest algorithm. Please revise a use of a more secure digest algorithm out of the SHA-2 family (e.g. SHA-256, SHA-384, SHA-512)"); - - if (algorithms.contains(SignatureAlgorithms.SHA1_WITH_RSA)) { - return SignatureAlgorithms.SHA1_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.ECDSA)) { - return SignatureAlgorithms.ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - - } else if (digestMethod.compareTo("SHA-256") == 0) { - if (algorithms.contains(SignatureAlgorithms.SHA256_WITH_RSA)) { - return SignatureAlgorithms.SHA256_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.SHA256_WITH_ECDSA)) { - return SignatureAlgorithms.SHA256_WITH_ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - } else if (digestMethod.compareTo("SHA-384") == 0) { - if (algorithms.contains(SignatureAlgorithms.SHA384_WITH_RSA)) { - return SignatureAlgorithms.SHA384_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.SHA384_WITH_ECDSA)) { - return SignatureAlgorithms.SHA384_WITH_ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - } else if (digestMethod.compareTo("SHA-512") == 0) { - if (algorithms.contains(SignatureAlgorithms.SHA512_WITH_RSA)) { - return SignatureAlgorithms.SHA512_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.SHA512_WITH_ECDSA)) { - return SignatureAlgorithms.SHA512_WITH_ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - } - else { - throw new AlgorithmUnavailableException( - "No signature algorithm found for digest algorithm '" + digestMethod, - null, - null); - } - - - } - - - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignedProperties() - */ - public List getSignedProperties() { - return signedProperties; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#isSecurityLayerConform() - */ - public boolean isSecurityLayerConform() { - return securityLayerConform; - } - - /** - * Sets the security layer conformity. - * - * @param securityLayerConform true, if the created signature - * is to be conform to the Security Layer specification. - */ - public void setSecurityLayerConform(boolean securityLayerConform) { - this.securityLayerConform = securityLayerConform; - } - - - public void setDigestMethod(String digestMethod) { - this.digestMethod = digestMethod; - } - - - public String getMimeType() { - return mimeType; - } - - public boolean includeData() { - return this.includeData; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java deleted file mode 100644 index 972b54067..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.cmsverify; - -import iaik.pki.PKIProfile; -import iaik.server.modules.cmsverify.CMSSignatureVerificationProfile; - -/** - * An implementation of the CMSSignatureVerificationProfile - * interface. - * - * @see iaik.server.modules.cmsverify.CMSSignatureVerificationProfile - * @author Patrick Peck - * @version $Id$ - */ -public class CMSSignatureVerificationProfileImpl - implements CMSSignatureVerificationProfile { - - /** The profile for validating the certificate. */ - private PKIProfile certificateValidationProfile; - - /** - * @see iaik.server.modules.cmsverify.CMSSignatureVerificationProfile#getCertificateValidationProfile() - */ - public PKIProfile getCertificateValidationProfile() { - return certificateValidationProfile; - } - - /** - * Sets the profile for validating the signer certificate. - * - * @param certificateValidationProfile The certificate validation profile to - * set. - */ - public void setCertificateValidationProfile(PKIProfile certificateValidationProfile) { - this.certificateValidationProfile = certificateValidationProfile; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java deleted file mode 100644 index 90e6793e3..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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; - -/** - * Base implementation class for the KeyModuleConfiguration - * interface and the interfaces derived from it. - * - * @see iaik.server.modules.keys.KeyModuleConfiguration - * @author Patrick Peck - * @version $Id$ - */ -public abstract class AbstractKeyModuleConfigurationImpl - implements KeyModuleConfiguration { - - /** The module ID. */ - private String moduleID; - - /** - * Creata new AbstractKeyModuleConfigurationImpl. - * - * @param moduleID The key module ID of this - * KeyModuleConfiguration. - */ - public AbstractKeyModuleConfigurationImpl(String moduleID) { - this.moduleID = moduleID; - } - - /** - * @see iaik.server.modules.keys.KeyModuleConfiguration#getModuleID() - */ - public String getModuleID() { - return moduleID; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java deleted file mode 100644 index e2d828b33..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.pki.store.observer.NotificationData; -import iaik.pki.store.observer.Observable; -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 Observable. */ - private List observers = new ArrayList(); - - /** - * @see iaik.pki.store.observer.Observable#addObserver(iaik.pki.store.observer.Observer) - */ - public void addObserver(Observer observer) { - observers.add(observer); - } - - /** - * @see iaik.pki.store.observer.Observable#removeObserver(iaik.pki.store.observer.Observer) - */ - public boolean removeObserver(Observer observer) { - return observers.remove(observer); - } - - /** - * @see iaik.pki.store.observer.Observable#notify(iaik.pki.store.observer.NotificationData) - */ - public void notify(NotificationData data) { - Iterator iter = observers.iterator(); - - for (iter = observers.iterator(); iter.hasNext();) { - Observer observer = (Observer) iter.next(); - observer.notify(data); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java deleted file mode 100644 index 2cfd775f1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.ArchiveParameter; -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; - -/** - * An implementation of the ArchiveConfiguration 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 { - - /** The configuration parameters of the archive. */ - private ArchiveParameter archiveParameters; - - /** - * Create a new ArchiveConfigurationImpl. - * - * @param config The MOA configuration from which the configuration data is being read. - */ - public ArchiveConfigurationImpl(ConfigurationProvider config) - { - String jdbcUrl = config.getRevocationArchiveJDBCURL(); - this.archiveParameters = new DataBaseArchiveParameterImpl(jdbcUrl); - - // Register JDBC driver class - if (jdbcUrl != null) - { - String jdbcDriverClass = config.getRevocationArchiveJDBCDriverClass(); - try - { - Class.forName(jdbcDriverClass); - } - catch (ClassNotFoundException e) - { - // TODO 20030709 GK Improve exception handling - throw new RuntimeException("JDBC driver class \"" + jdbcDriverClass + " could not be found."); - } - - 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()); - } - catch (Exception e) - { - // TODO 20030709 GK Improve exception handling - throw new RuntimeException("Registering JDBC driver \"" + jdbcDriverClass + " failed."); - } - } - } - } - - /** - * Return the type of archive. - * - * This will always return ArchiveTypes.DATABASE. - * @return ArchiveTypes.DATABASE. - * @see iaik.pki.store.revocation.archive.ArchiveConfiguration#getType() - */ - public String getType() { - return ArchiveTypes.DATABASE; - } - - /** - * Return the ArchiveParameters describing this - * ArchiveConfiguration. - * - * @return The archive parameters. - * @see iaik.pki.store.revocation.archive.ArchiveConfiguration#getArchiveParameters() - */ - public ArchiveParameter getArchiveParameters() { - return archiveParameters; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java deleted file mode 100644 index 55d2962c0..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CRLRetriever.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -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; -import java.net.URLStreamHandler; -import java.util.Collection; -import java.util.Date; - -import at.gv.egovernment.moa.logging.Logger; - -/** - * A customized implementation of {@link iaik.pki.store.revocation.RevocationInfoRetriever}. Will be used - * instead of the default implementation {@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 -{ - 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); - } - - InputStream crlInputStream = crlUrl.openStream(); - 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"); - } - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java deleted file mode 100644 index 3694a1dcf..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.certstore.CertStoreConfiguration; -import iaik.pki.store.certstore.CertStoreParameters; -import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters; - -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; - -/** - * An implementation of the CertStoreConfiguration interface based - * on MOA configuration data. - * - * @see iaik.pki.store.certstore.CertStoreConfiguration - * @author Patrick Peck - * @version $Id$ - */ -public class CertStoreConfigurationImpl - extends AbstractObservableConfiguration - implements CertStoreConfiguration { - - /** The configuration parameters of the CertStore. */ - private CertStoreParameters[] parameters; - - /** - * Create a new CertStoreConfigurationImpl. - * - * @param config The MOA configuration from which the configuration data is - * being read. - */ - public CertStoreConfigurationImpl(ConfigurationProvider config) - { - String certStoreRoot = config.getCertStoreLocation(); - - DirectoryCertStoreParameters dirParameters = new DirectoryCertStoreParametersImpl( - "MOA Directory CertStore", - certStoreRoot, - true, - false); - - parameters = new CertStoreParameters[] { dirParameters }; - } - - /** - * @see iaik.pki.store.certstore.CertStoreConfiguration#getParameters() - */ - public CertStoreParameters[] getParameters() { - return parameters; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java deleted file mode 100644 index dff78d656..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.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; - -/** - * An implementation of the ConfigurationData 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; - /** Crypto modules configuration data. */ - private List cryptoModuleConfigurations; - /** Key modules configuration data. */ - private List keyModuleConfigurations; - /** Logging configuration data. */ - private LoggerConfig loggerConfig; - - /** - * Create a new ConfigurationDataImpl. - * - * @param config The underlying MOA configuration data. - */ - public ConfigurationDataImpl(ConfigurationProvider config) { - this.pkiConfiguration = new PKIConfigurationImpl(config); - this.cryptoModuleConfigurations = buildCryptoModuleConfigurations(config); - this.keyModuleConfigurations = buildKeyModuleConfigurations(config); - this.loggerConfig = new LoggerConfigImpl(); - } - - /** - * Build the list of CryptoModuleConfigurations. - * - * @param config The underlying MOA configuration data. - * @return The list of CryptoModuleConfigurations configured in - * the MOA configuration. - */ - private List buildCryptoModuleConfigurations(ConfigurationProvider config) { - List modules = new ArrayList(); - Iterator iter = config.getHardwareCryptoModules().iterator(); - - while (iter.hasNext()) { - HardwareCryptoModule module = (HardwareCryptoModule) iter.next(); - modules.add(new HardwareCryptoModuleConfigurationImpl(module)); - } - - return modules; - } - - /** - * Build the list of KeyModuleConfigurations. - * - * @param config The underlying MOA configuration data. - * @return The list of KeyModuleConfigurations configured in the - * MOA configuration. - */ - private List buildKeyModuleConfigurations(ConfigurationProvider config) { - List keys = new ArrayList(); - Iterator iter; - - // add the hardware keys - iter = config.getHardwareKeyModules().iterator(); - while (iter.hasNext()) { - 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(); - keys.add(new SoftwareKeyModuleConfigurationImpl(key)); - } - - return keys; - } - - /** - * @see iaik.server.ConfigurationData#getPKIConfiguration() - */ - public PKIConfiguration getPKIConfiguration() { - return pkiConfiguration; - } - - /** - * @see iaik.server.ConfigurationData#getCryptoModuleConfigurations() - */ - public List getCryptoModuleConfigurations() { - return cryptoModuleConfigurations; - } - - /** - * @see iaik.server.ConfigurationData#getKeyModuleConfigurations() - */ - public List getKeyModuleConfigurations() { - return keyModuleConfigurations; - } - - /** - * @see iaik.server.ConfigurationData#getLoggerConfig() - */ - public LoggerConfig getLoggerConfig() { - return loggerConfig; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java deleted file mode 100644 index 249d05d57..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.db.DataBaseArchiveParameter; - -/** - * An implementation of the DataBaseArchiveParameter interface. - * - * @see iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter - * @author Patrick Peck - * @version $Id$ - */ -public class DataBaseArchiveParameterImpl implements DataBaseArchiveParameter { - - /** The JDBC URL for accessing the archive. */ - private String jDBCUrl; - - /** - * Create a new DataBaseArchiveParameterImpl. - * - * @param jDBCUrl The JDBC URL of the archive. - */ - public DataBaseArchiveParameterImpl(String jDBCUrl) { - this.jDBCUrl = jDBCUrl; - } - - /** - * @see iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter#getJDBCUrl() - */ - public String getJDBCUrl() { - return jDBCUrl; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java deleted file mode 100644 index 675465218..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.certstore.CertStoreTypes; -import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters; - -/** - * An implementation of the DirectoryCertStoreParameters interface. - * - * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters - * @author Patrick Peck - * @version $Id$ - */ -public class DirectoryCertStoreParametersImpl - implements DirectoryCertStoreParameters { - - /** The root directory of the CertStore. */ - private String rootDirectory; - /** Whether a new directory may be created. */ - private boolean createNew; - /** The CertStore ID. */ - private String id; - /** Whether the CertStore is read-only. */ - private boolean readOnly; - - /** - * Create a new DirectoryCertStoreParameterImpl. - * - * @param id The CertStore ID. - * @param rootDirectory The root directory of the CertStore. - * @param createNew Whether a new directory may be created. - * @param readOnly Whether the CertStore is read-only. - */ - public DirectoryCertStoreParametersImpl( - String id, - String rootDirectory, - boolean createNew, - boolean readOnly) { - - this.id = id; - this.rootDirectory = rootDirectory; - this.createNew = createNew; - this.readOnly = readOnly; - } - - /** - * @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 createNew; - } - - /** - * @see iaik.pki.store.certstore.CertStoreParameters#getId() - */ - public String getId() { - return id; - } - - /** - * @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly() - */ - public boolean isReadOnly() { - return readOnly; - } - - /** - * @return CertStoreTypes.DIRECTORY - * @see iaik.pki.store.certstore.CertStoreParameters#getType() - */ - public String getType() { - return CertStoreTypes.DIRECTORY; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java deleted file mode 100644 index c9904c540..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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; - -/** - * An implementation of the HardwareCryptoModuleConfiguration - * wrapping a HardwareCryptoModule from the MOA configuration. - * - * @author Patrick Peck - * @version $Id$ - */ -public class HardwareCryptoModuleConfigurationImpl - implements HardwareCryptoModuleConfiguration { - - /** The wrapped HardwareCryptoModule. */ - private HardwareCryptoModule module; - - /** - * Create a new HardwareCryptoModuleConfigurationImpl. - * - * @param module The HardwareCryptoModule from the underlying MOA - * configuration. - */ - public HardwareCryptoModuleConfigurationImpl(HardwareCryptoModule module) { - this.module = module; - } - - /** - * @see iaik.server.modules.crypto.HardwareCryptoModuleConfiguration#getModuleName() - */ - public String getModuleName() { - return module.getName(); - } - - /** - * @see iaik.server.modules.crypto.HardwareCryptoModuleConfiguration#getSlotID() - */ - public String getSlotID() { - return module.getSlotID(); - } - - /** - * @see iaik.server.modules.crypto.HardwareCryptoModuleConfiguration#getUserPIN() - */ - public char[] getUserPIN() { - return module.getUserPIN().toCharArray(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java deleted file mode 100644 index 05f5633d0..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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; - -/** - * An implementation of the HardwareKeyModuleConfiguration - * interface wrapping a HardwareKeyModule from the MOA - * configuration. - * - * @see iaik.server.modules.keys.HardwareKeyModuleConfiguration - * @author Patrick Peck - * @version $Id$ - */ -public class HardwareKeyModuleConfigurationImpl - extends AbstractKeyModuleConfigurationImpl - implements HardwareKeyModuleConfiguration { - - /** The wrapped HardwareKeyModule. */ - private HardwareKeyModule keyModule; - - /** - * Create a new HardwareKeyModuleConfigurationImpl. - * - * @param keyModule The HardwareKeyModule from the underlying - * MOA configuration. - */ - public HardwareKeyModuleConfigurationImpl(HardwareKeyModule keyModule) { - super(keyModule.getId()); - this.keyModule = keyModule; - } - - /** - * @see iaik.server.modules.keys.HardwareKeyModuleConfiguration#getModuleName() - */ - public String getModuleName() { - return keyModule.getName(); - } - - /** - * @see iaik.server.modules.keys.HardwareKeyModuleConfiguration#getSlotID() - */ - public String getSlotID() { - return keyModule.getSlotID(); - } - - /** - * @see iaik.server.modules.keys.HardwareKeyModuleConfiguration#getUserPIN() - */ - public char[] getUserPIN() { - return keyModule.getUserPIN().toCharArray(); - } - -} 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 deleted file mode 100644 index c6de3abae..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.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; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -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; -import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.util.MessageProvider; - -/** - * A class responsible for configuring the IAIK MOA modules. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IaikConfigurator { - - /** 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. - */ - public ConfigurationData configure(ConfigurationProvider moaConfig) - throws ConfigurationException { - ConfigurationData configData = new ConfigurationDataImpl(moaConfig); - - warnings = new ArrayList(); - - try { - TransactionId transId = new TransactionId("IaikConfigurator"); - Configurator.init(configData, transId); - - // 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)) { - dumpKeyEntryIDs(); - } - checkKeyGroupConfig(moaConfig); - TrustStoreFactory.reset(); - - return configData; - } catch (iaik.server.ConfigurationException e) { - throw new ConfigurationException("config.08", null, e); - } catch (Throwable t) { - throw new ConfigurationException("config.08", null, t); - } - } - - /** - * Return the warnings encountered during configuration. - * - * @return The warnings. - */ - public List getWarnings() { - return warnings; - } - - /** - * Dump all KeyEntryIDs contained in the configured - * KeyModules to the log file. - */ - private void dumpKeyEntryIDs() { - MessageProvider msg = MessageProvider.getInstance(); - KeyModule module = KeyModuleFactory.getInstance(new TransactionId("dump")); - Set keyEntryIds = module.getPrivateKeyEntryIDs(); - Iterator iter; - - for (iter = keyEntryIds.iterator(); iter.hasNext();) { - KeyEntryID keyEntryId = (KeyEntryID) iter.next(); - Logger.info( - new LogMsg(msg.getMessage("config.19", new Object[] { keyEntryId }))); - } - } - - /** - * 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(); - Iterator iter; - - for (iter = keyGroups.values().iterator(); iter.hasNext();) { - KeyGroup keyGroup = (KeyGroup) iter.next(); - Set keyGroupEntries = keyGroup.getKeyGroupEntries(); - Iterator kgIter; - - for (kgIter = keyGroupEntries.iterator(); kgIter.hasNext();) { - KeyGroupEntry entry = (KeyGroupEntry) kgIter.next(); - - if (!findKeyEntryID(entry)) { - warn( - "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. - * - * @param keyGroupEntry The key group entry to find. - * @return true, if the keyGroupEntry could be - * resolved to a KeyEntryID; otherwise false. - */ - private boolean findKeyEntryID(KeyGroupEntry keyGroupEntry) { - KeyModule module = KeyModuleFactory.getInstance(new TransactionId("check")); - Set keyEntryIDs = module.getPrivateKeyEntryIDs(); - Iterator iter; - - for (iter = keyEntryIDs.iterator(); iter.hasNext();) { - KeyEntryID entry = (KeyEntryID) iter.next(); - - if (entry.getCertificateIssuer().equals(keyGroupEntry.getIssuerDN()) - && entry.getCertificateSerialNumber().equals( - keyGroupEntry.getSerialNumber()) - && entry.getModuleID().equals(keyGroupEntry.getModuleID())) { - return true; - } - } - - return false; - } - - /** - * Log a warning. - * - * @param messageId The message ID. - * @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); - - Logger.warn(new LogMsg(txt)); - warnings.add(txt); - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java deleted file mode 100644 index 3fb842f15..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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; - -import iaik.logging.LogConfigurationException; -import iaik.logging.LoggerConfig; - -import at.gv.egovernment.moa.logging.LoggingContextManager; - -/** - * Default implementation of the LoggerConfig 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"; - - public String getFactory() { - return DEFAULT_IMPLEMENTATION; - } - - public Properties getProperties() throws LogConfigurationException { - return new Properties(); - } - - public String getNodeId() { - return LoggingContextManager.getInstance().getLoggingContext().getNodeID(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java deleted file mode 100644 index 4ca8f49d7..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.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 PKIConfiguration interface using data - * from the MOA configuration. - * - * @see iaik.pki.PKIConfiguration - * @author Patrick Peck - * @version $Id$ - */ -public class PKIConfigurationImpl implements PKIConfiguration { - /** The CertStore 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; - - /** - * Create a new PKIConfigurationImpl. - * - * @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); - - boolean archiveInfo = config.getEnableRevocationArchiving(); - if (archiveInfo) - { - this.archiveConfiguration = new ArchiveConfigurationImpl(config); - } - else - { - this.archiveConfiguration = null; - } - - this.validationConfiguration = new ValidationConfigurationImpl(config); - } - - /** - * @see iaik.pki.PKIConfiguration#getCertStoreConfiguration() - */ - public CertStoreConfiguration getCertStoreConfiguration() { - return certStoreConfiguration; - } - - /** - * @see iaik.pki.PKIConfiguration#getRevocationConfiguration() - */ - public RevocationConfiguration getRevocationConfiguration() { - return revocationConfiguration; - } - - /** - * @see iaik.pki.PKIConfiguration#getArchiveConfiguration() - */ - public ArchiveConfiguration getArchiveConfiguration() { - return archiveConfiguration; - } - - /** - * @see iaik.pki.PKIConfiguration#getValidationConfiguration() - */ - public ValidationConfiguration getValidationConfiguration() { - return validationConfiguration; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java deleted file mode 100644 index 7a7a6824f..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.revocation.RevocationConfiguration; - -import java.security.cert.X509Certificate; -import java.util.Date; -import java.util.Map; -import java.util.Set; - -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; - -/** - * An implementation of the RevocationConfiguration interface using - * MOA configuration data. - * - * @see iaik.pki.revocation.RevocationConfiguration - * @author Patrick Peck - * @version $Id$ - */ -public class RevocationConfigurationImpl - extends AbstractObservableConfiguration - implements RevocationConfiguration { - - /** The ConfigurationProvider to read the configuration data - * from. */ - private ConfigurationProvider config; - - /** - * Create a new RevocationConfigurationImpl. - * - * @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; -} - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java deleted file mode 100644 index 937f32ff8..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; - -import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule; -import at.gv.egovernment.moa.spss.util.MessageProvider; - -/** - * An implementation of the SoftwareKeyModuleConfiguration wrapping - * a SoftwareKeyModule from the MOA configuration. - * - * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration - * @author Patrick Peck - * @version $Id$ - */ -public class SoftwareKeyModuleConfigurationImpl - extends AbstractKeyModuleConfigurationImpl - implements SoftwareKeyModuleConfiguration { - - /** The wrapped SoftwareKeyModule. */ - private SoftwareKeyModule keyModule; - - /** - * Create a new SoftwareKeyModuleConfigurationImpl. - * - * @param keyModule The SoftwareKeyModule from the underlying MOA - * configuration. - */ - public SoftwareKeyModuleConfigurationImpl(SoftwareKeyModule keyModule) { - super(keyModule.getId()); - this.keyModule = keyModule; - } - - /** - * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreTypeName() - */ - public String getKeyStoreTypeName() { - return KEY_STORE_TYPE_NAME_PKCS12; - } - - /** - * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreAsStream() - */ - public InputStream getKeyStoreAsStream() { - MessageProvider msg = MessageProvider.getInstance(); - - try { - 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()}); - - throw new ConfigurationException(message, e, null); - } - } - - /** - * @see iaik.server.modules.keys.SoftwareKeyModuleConfiguration#getKeyStoreAuthenticationData() - */ - public char[] getKeyStoreAuthenticationData() { - return keyModule.getPassWord().toCharArray(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java deleted file mode 100644 index 9e26fb89c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * 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; - -/** - * An implementation of the ValidationConfiguration interface using - * MOA configuration data. - * - * @see iaik.pki.pathvalidation.ValidationConfiguration - * @author Patrick Peck - * @version $Id$ - */ -public class ValidationConfigurationImpl - extends AbstractObservableConfiguration - implements ValidationConfiguration { - - /** The ConfigurationProvider to read the configuration data - * from. */ - private ConfigurationProvider config; - - /** - * Create a new ValidationConfigurationImpl. - * - * @param config The underlying MOA configuration data. - */ - public ValidationConfigurationImpl(ConfigurationProvider config) { - this.config = config; - } - - /** - * @see iaik.pki.pathvalidation.ValidationConfiguration#getChainingMode(java.security.cert.X509Certificate) - */ - public String getChainingMode(X509Certificate cert) { - return config.getChainingMode(cert); - } - - /** - * @see iaik.pki.pathvalidation.ValidationConfiguration#getPublicKeyParamsAsSpec(java.security.cert.X509Certificate) - */ - public AlgorithmParameterSpec getPublicKeyParamsAsSpec(X509Certificate cert) { - return null; - } - - /** - * @see iaik.pki.pathvalidation.ValidationConfiguration#getPublicKeyParamsAsCert(java.security.cert.X509Certificate) - */ - public X509Certificate getPublicKeyParamsAsCert(X509Certificate cert) { - return null; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java deleted file mode 100644 index 5a5901cc6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.pki; - -import iaik.pki.PKIProfile; -import iaik.pki.pathvalidation.ValidationProfile; -import iaik.pki.revocation.RevocationProfile; -import iaik.pki.store.truststore.TrustStoreProfile; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl; -import at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl; -import at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl; - -/** - * Implementation of the PKIProfile interface containing - * information needed for certificate path validation. It uses configuration - * data from the MOA configuration. - * - * @author Patrick Peck - * @version $Id$ - */ -public class PKIProfileImpl implements PKIProfile { - - /** Profile information for revocation checking. */ - private RevocationProfile revocationProfile; - /** Profile information about the trust profile to use. */ - private TrustStoreProfile trustStoreProfile; - /** Profile information about the certificate validation. */ - private ValidationProfile validationProfile; - /** The ConfigurationProvider to read the MOA configuration data - * from. */ - private ConfigurationProvider config; - - /** - * Create a new PKIProfileImpl. - * - * @param config The MOA configuration providing configuration data about - * certificate path validation. - * @param trustProfileID The trust profile ID denoting the location of the - * trust store. - * @throws MOAApplicationException An error occurred building the profile. - */ - public PKIProfileImpl(ConfigurationProvider config, String trustProfileID) - throws MOAApplicationException { - - this.config = config; - setRevocationProfile(new RevocationProfileImpl(config)); - setTrustStoreProfile(new TrustStoreProfileImpl(config, trustProfileID)); - setValidationProfile(new ValidationProfileImpl(config)); - } - - /** - * @see iaik.pki.PKIProfile#autoAddCertificates() - */ - public boolean autoAddCertificates() - { - return useAuthorityInfoAccess() ? true : config.getAutoAddCertificates(); - } - - /** - * @see iaik.pki.PKIProfile#getRevocationProfile() - */ - public RevocationProfile getRevocationProfile() { - return revocationProfile; - } - - /** - * Sets the RevocationProfile. - * - * @param revocationProfile The RevocationProfile used for - * revocation checking. - */ - protected void setRevocationProfile(RevocationProfile revocationProfile) { - this.revocationProfile = revocationProfile; - } - - /** - * @see iaik.pki.PKIProfile#getTrustStoreProfile() - */ - public TrustStoreProfile getTrustStoreProfile() { - return trustStoreProfile; - } - - /** - * Sets the TrustStoreProfile. - * - * @param trustStoreProfile The TrustStoreProfile. - */ - protected void setTrustStoreProfile(TrustStoreProfile trustStoreProfile) { - this.trustStoreProfile = trustStoreProfile; - } - - /** - * @see iaik.pki.PKIProfile#getValidationProfile() - */ - public ValidationProfile getValidationProfile() { - return validationProfile; - } - - /** - * Sets the ValidationProfile. - * - * @param validationProfile The ValidationProfile to set. - */ - protected void setValidationProfile(ValidationProfile validationProfile) { - this.validationProfile = validationProfile; - } - - /** - * @see iaik.pki.PKIProfile#useAuthorityInfoAccess() - */ - public boolean useAuthorityInfoAccess() - { - return config.getUseAuthorityInfoAccess(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java deleted file mode 100644 index 7e62d6033..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java +++ /dev/null @@ -1,131 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation; - -import iaik.pki.pathvalidation.ValidationProfile; - -import java.util.Collections; -import java.util.Set; - -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; - -/** - * An implementation of the ValidationProfile interface providing - * information about certificat path validation. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ValidationProfileImpl implements ValidationProfile { - - /** The ConfigurationProvider to read the configuration data - * from. */ - private ConfigurationProvider config; - private boolean initialAnyPolicyInhibit; - private boolean initialExplicitPolicy; - private boolean initialPolicyMappingInhibit; - private Set initialPolicySet; - private boolean nameConstraintsProcessing; - private boolean policyProcessing; - - /** - * Create a new ValidationProfileImpl object. - * - * This objects's fields are preset to the following values: - * - *
    - *
  • initialAnyPolicyInhibit = true
  • - *
  • initialExplicitPoliy = true
  • - *
  • initialPolicyMappingInhibit = true
  • - *
  • initialPolicySet = empty
  • - *
  • policyProcessing = false
  • - *
  • nameConstraintsProcessing = false
  • - *
  • revocationChecking = false
  • - *
- * - * @param config MOA configuration data for additional configuration - * information (currently unused). - */ - public ValidationProfileImpl(ConfigurationProvider config) { - this.config = config; - initialAnyPolicyInhibit = true; - initialExplicitPolicy = true; - initialPolicyMappingInhibit = true; - initialPolicySet = Collections.EMPTY_SET; - policyProcessing = false; - nameConstraintsProcessing = false; - } - - /** - * @see iaik.pki.pathvalidation.ValidationProfile#getInitialAnyPolicyInhibit() - */ - public boolean getInitialAnyPolicyInhibit() { - return initialAnyPolicyInhibit; - } - - /** - * @see iaik.pki.pathvalidation.ValidationProfile#getInitialExplicitPolicy() - */ - public boolean getInitialExplicitPolicy() { - return initialExplicitPolicy; - } - - /** - * @see iaik.pki.pathvalidation.ValidationProfile#getInitialPolicyMappingInhibit() - */ - public boolean getInitialPolicyMappingInhibit() { - return initialPolicyMappingInhibit; - } - - /** - * @see iaik.pki.pathvalidation.ValidationProfile#getInitialPolicySet() - */ - public Set getInitialPolicySet() { - return initialPolicySet; - } - - /** - * @see iaik.pki.pathvalidation.ValidationProfile#getPolicyProcessing() - */ - public boolean getPolicyProcessing() { - return policyProcessing; - } - - /** - * @see iaik.pki.pathvalidation.ValidationProfile#getNameConstraintsProcessing() - */ - public boolean getNameConstraintsProcessing() { - return nameConstraintsProcessing; - } - - /** - * @see iaik.pki.pathvalidation.ValidationProfile#getRevocationChecking() - */ - public boolean getRevocationChecking() - { - return config.getEnableRevocationChecking(); - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java deleted file mode 100644 index 14627b2ee..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -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, RevocationSourceTypes.OCSP }; - /** The ConfigurationProvider to read the MOA configuration data - * from. */ - private ConfigurationProvider config; - /** The OCSP request hash algorithm. Currently only "SHA" is supported. */ - private static final String oCSPRequestHashAlgorithm = "SHA"; - - /** - * Create a new RevocationProfileImpl. - * - * @param config The MOA configuration data. - */ - public RevocationProfileImpl(ConfigurationProvider config) { - this.config = config; - // currently only "SHA" is supported -// this.oCSPRequestHashAlgorithm = ""; - } - - /** - * @see iaik.pki.revocation.RevocationProfile#getMaxRevocationAge(String) - */ - public long getMaxRevocationAge(String distributionPointUri) - { - return config.getMaxRevocationAge(); - } - - /** - * @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) - { - String[] serviceOrder = config.getServiceOrder(); - if (serviceOrder == null || serviceOrder.length == 0) return DEFAULT_SERVICE_ORDER; - return serviceOrder; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java deleted file mode 100644 index 50f237ab2..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import iaik.pki.store.truststore.TrustStoreProfile; -import iaik.pki.store.truststore.TrustStoreTypes; -import iaik.pki.store.observer.NotificationData; -import iaik.pki.store.observer.Observer; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; - -/** - * An implementation of the TrustStoreProfile interface, using data - * from the MOA configuration. - * - * @see iaik.pki.store.truststore.TrustStoreProfile - * @author Patrick Peck - * @version $Id$ - */ -public class TrustStoreProfileImpl implements TrustStoreProfile { - - /** The observers of this profile. */ - private List observers = new ArrayList(); - - /** - * The trust profile identifier. - */ - private String id_; - - /** The type of the trust profile. */ - private String type; - /** The URI of the trust profile.*/ - private String URI; - - /** - * Create a new TrustStoreProfileImpl. - * - * @param config The MOA configuration data, from which trust store - * configuration data is read. - * @param trustProfileId The trust profile id on which this - * TrustStoreProfile is based. - * @throws MOAApplicationException The trustProfileId could not - * be found in the MOA configuration. - */ - public TrustStoreProfileImpl( - ConfigurationProvider config, - String trustProfileId) - throws MOAApplicationException { - - TrustProfile tp = (TrustProfile) config.getTrustProfile(trustProfileId); - if (tp != null) - { - id_ = trustProfileId; - setURI(tp.getUri()); - setType(TrustStoreTypes.DIRECTORY); - } - else - { - throw new MOAApplicationException("2203", new Object[] { trustProfileId }); - } - } - - /** - * @see iaik.pki.store.truststore.TrustStoreProfile#getType() - */ - public String getType() { - return type; - } - - /** - * Sets the the trust store type. - * - * @param type The trust store type to set. - */ - protected void setType(String type) { - this.type = type; - } - - /** - * @see iaik.pki.store.truststore.TrustStoreProfile#getURI() - */ - public String getURI() { - return URI; - } - - /** - * Sets the trust store URI. - * - * @param URI The trust store URI to set. - */ - protected void setURI(String URI) { - this.URI = URI; - } - - // - // Methods of iaik.pki.store.observer.Observable interface - // - - /** - * @see iaik.pki.store.observer.Observable#addObserver(iaik.pki.store.observer.Observer) - */ - public void addObserver(Observer observer) { - observers.add(observer); - } - - /** - * @see iaik.pki.store.observer.Observable#removeObserver(iaik.pki.store.observer.Observer) - */ - public boolean removeObserver(Observer observer) { - return observers.remove(observer); - } - - /** - * @see iaik.pki.store.observer.Observable#notify(iaik.pki.store.observer.NotificationData) - */ - public void notify(NotificationData notificationData) { - for (Iterator iter = observers.iterator(); iter.hasNext();) { - Observer observer = (Observer) iter.next(); - observer.notify(notificationData); - } - } - - /** - * @see iaik.pki.store.truststore.TrustStoreProfile#getId() - */ - public String getId() - { - return id_; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java deleted file mode 100644 index cc1286118..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import iaik.server.modules.xml.Base64Transformation; - -/** - * An implementation of the Base64Transformation - * Transformation type. - * - * @author Patrick Peck - * @version $Id$ - */ -public class Base64TransformationImpl - extends TransformationImpl - implements Base64Transformation { - - /** - * Create a new Base64TransformationImpl. - * - * @see java.lang.Object#Object() - */ - public Base64TransformationImpl() { - setAlgorithmURI(Base64Transformation.BASE64_DECODING); - } - - /** - * Compare this Base64Transformation to another. - * - * @param other The object to compare thisBase64Transformation - * to. - * @return true, if other is a - * Base64Transformation and the algorithm URIs match, otherwise - * false. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof Base64Transformation) { - Base64Transformation transform = (Base64Transformation) other; - return getAlgorithmURI().equals(transform.getAlgorithmURI()); - } - return false; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java deleted file mode 100644 index 4d627d736..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; - -import iaik.server.modules.xml.BinaryDataObject; - -/** - * A BinaryDataObject encapsulating Base64 data. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ByteArrayDataObjectImpl - extends DataObjectImpl - implements BinaryDataObject { - - /** The binary data contained in this BinaryDataObject. */ - private byte[] bytes; - - /** - * Create a new ByteArrayDataObjectImpl. - * - * @param bytes The binary data contained in this - * BinaryDataObject. - */ - public ByteArrayDataObjectImpl(byte[] bytes) { - setBytes(bytes); - } - - /** - * Set the Base64 data. - * - * @param bytes The binary data contained in this - * BinaryDataObject. - */ - public void setBytes(byte[] bytes) { - this.bytes = bytes; - } - - /** - * Return the binary data encoded in the Base64 String as a - * stream. - * - * @return The binary data contained in this object, as a - * InputStream. Repeated calls to this function will return a - * new stream to the Base64 data. - * @see iaik.server.modules.xml.BinaryDataObject#getInputStream() - */ - public InputStream getInputStream() { - return new ByteArrayInputStream(bytes); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java deleted file mode 100644 index b982c8e80..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.io.InputStream; - -import iaik.server.modules.xml.BinaryDataObject; - -/** - * A BinaryDataObject encapsulating binary data from a stream. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ByteStreamDataObjectImpl - extends DataObjectImpl - implements BinaryDataObject { - - /** The InputStream containing the binary data. */ - private InputStream inputStream; - - /** - * Create a new ByteStreamDataObjectImpl. - * - * @param inputStream The stream from which to read the binary data. - */ - public ByteStreamDataObjectImpl(InputStream inputStream) { - setInputStream(inputStream); - } - - /** - * Set the input stream from which to read the binary data. - * - * @param inputStream The input stream from which to read the binary data. - */ - public void setInputStream(InputStream inputStream) { - this.inputStream = inputStream; - } - - /** - * Return the binary data from this object as a stream. - * - * @return The stream containing the binary data. Calling this function - * repeatedly will always return the same InputStream. - * @see iaik.server.modules.xml.BinaryDataObject#getInputStream() - */ - public InputStream getInputStream() { - return inputStream; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java deleted file mode 100644 index 0c3a8da83..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import iaik.server.modules.xml.Canonicalization; - -/** - * An implementation of the CanonicalizationTransform - * Transformation type. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CanonicalizationImpl - extends TransformationImpl - implements Canonicalization { - - /** - * Create a new CanonicalizationTransformImpl object. - * - * @param algorithmURI The canonicalization algorithm URI. - */ - public CanonicalizationImpl(String algorithmURI) { - setAlgorithmURI(algorithmURI); - } - - /** - * Compare this object to another Canonicalization. - * - * @param other The object to compare this - * Canonicalization to. - * @return true, if other is a - * Canonicalization and the algorithm URIs match, otherwise - * false. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof Canonicalization) { - Canonicalization c14n = (Canonicalization) other; - return getAlgorithmURI().equals(c14n.getAlgorithmURI()); - } - return false; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java deleted file mode 100644 index 702caaf3b..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import iaik.server.modules.xml.DataObject; - -/** - * Abstract base implementation for the classes derived from - * DataObject. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class DataObjectImpl implements DataObject { - - /** The MIME type of the data object. */ - private String mimeType; - /** The refernce ID. */ - private String referenceID; - /** The URI of the type. */ - private String typeURI; - /** The URI identifying the data. */ - private String URI; - - /** - * @see iaik.server.modules.xml.DataObject#getMimeType() - */ - public String getMimeType() { - return mimeType; - } - - /** - * Set the mime type. - * - * @param mimeType The mime type to set. - */ - public void setMimeType(String mimeType) { - this.mimeType = mimeType; - } - - /** - * @see iaik.server.modules.xml.DataObject#getReferenceID() - */ - public String getReferenceID() { - return referenceID; - } - - /** - * Set the reference ID. - * - * @param referenceID The reference ID. - */ - public void setReferenceID(String referenceID) { - this.referenceID = referenceID; - } - - /** - * @see iaik.server.modules.xml.DataObject#getTypeURI() - */ - public String getTypeURI() { - return typeURI; - } - - /** - * Set the type URI. - * - * @param typeURI The type URI. - */ - public void setTypeURI(String typeURI) { - this.typeURI = typeURI; - } - - /** - * @see iaik.server.modules.xml.DataObject#getURI() - */ - public String getURI() { - return URI; - } - - /** - * Set the URI. - * - * @param URI The URI. - */ - public void setURI(String URI) { - this.URI = URI; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java deleted file mode 100644 index d58259484..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import iaik.server.modules.xml.EnvelopedSignatureTransformation; - -/** - * An implementation of the EnvelopedSignatureTransformation - * Transformation type. - * - * @author Patrick Peck - * @version $Id$ - */ -public class EnvelopedSignatureTransformationImpl - extends TransformationImpl - implements EnvelopedSignatureTransformation { - - /** - * Create a new EnvelopedSignatureTransformationImpl. - */ - public EnvelopedSignatureTransformationImpl() { - setAlgorithmURI(EnvelopedSignatureTransformation.ENVELOPED_SIGNATURE); - } - - /** - * Compare this object to another EnvelopedSignatureTransformation. - * - * @param other The object to compare this - * EnvelopedSignatureTransformation to. - * @return true, if other is a - * EnvelopedSignatureTransformation, otherwise - * false. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof EnvelopedSignatureTransformation) { - EnvelopedSignatureTransformation transform = - (EnvelopedSignatureTransformation) other; - return getAlgorithmURI().equals(transform.getAlgorithmURI()); - } - return false; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java deleted file mode 100644 index dfadf0cdd..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.util.List; - -import iaik.server.modules.xml.ExclusiveCanonicalization; - -/** - * An implementation of the ExclusiveCanonicalization type - * of Transformation. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ExclusiveCanonicalizationImpl - extends TransformationImpl - implements ExclusiveCanonicalization { - - /** The prefixes of the namespaces to treat according to canonical XML. */ - private List inclusiveNamespacePrefixes; - - /** - * Create a new ExclusiveCanonicalizationImpl object. - * - * @param algorithmURI The exclusive canonicalization algorithm URI. - * @param inclusiveNamespacePrefixes The namespace prefixes to be processed - * according to canonical XML. - */ - public ExclusiveCanonicalizationImpl( - String algorithmURI, - List inclusiveNamespacePrefixes) { - setAlgorithmURI(algorithmURI); - setInclusiveNamespacePrefixes(inclusiveNamespacePrefixes); - } - - /** - * Sets the namespace prefixes to be processed according to canonical XML. - * - * @param inclusiveNamespacePrefixes The prefixes of the namespaces to treat - * according to canonical XML. - */ - protected void setInclusiveNamespacePrefixes(List inclusiveNamespacePrefixes) { - this.inclusiveNamespacePrefixes = inclusiveNamespacePrefixes; - } - - /** - * @see iaik.server.modules.xml.ExclusiveCanonicalization#getInclusiveNamespacePrefixes() - */ - public List getInclusiveNamespacePrefixes() { - return inclusiveNamespacePrefixes; - } - - /** - * Compare this object to another CanonicalizationTransform. - * - * @param other The object to compare this - * ExclusiveCanonicalization to. - * @return true, if other is a - * ExclusiveCanonicalization and the algorithm URIs match, - * otherwise false. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof ExclusiveCanonicalization) { - ExclusiveCanonicalization eC14n = - (ExclusiveCanonicalization) other; - boolean algURIEquals = getAlgorithmURI().equals(eC14n.getAlgorithmURI()); - boolean inclNSPrefs = - (getInclusiveNamespacePrefixes() == null || getInclusiveNamespacePrefixes().isEmpty()) - ? eC14n.getInclusiveNamespacePrefixes() == null || eC14n.getInclusiveNamespacePrefixes().isEmpty() - : getInclusiveNamespacePrefixes().equals(eC14n.getInclusiveNamespacePrefixes()); - return algURIEquals && inclNSPrefs; - } - return false; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java deleted file mode 100644 index 9026d3319..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.util.Date; - -import iaik.server.modules.xml.SigningTime; - -/** - * An implementation of the SigningTime Property. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SigningTimeImpl implements SigningTime { - - /** The signing time. */ - private Date signingTime; - - /** - * Create a new SigningTimeImpl. - * - * @param signingTime The signing time. - */ - public SigningTimeImpl(Date signingTime) { - this.signingTime = signingTime; - } - - /** - * @see iaik.server.modules.xml.SigningTime#getSigningTime() - */ - public Date getSigningTime() { - return signingTime; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java deleted file mode 100644 index 159544654..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import iaik.server.modules.xml.Transformation; - -/** - * Base implementation class for Transformation derived classes. - * - * @author Patrick Peck - * @version $Id$ - */ -public abstract class TransformationImpl implements Transformation { - - /** The algorithm URI identifying the transformation algorithm. */ - private String algorithmURI; - - /** - * @see iaik.server.modules.xml.Transformation#getAlgorithmURI() - */ - public String getAlgorithmURI() { - return algorithmURI; - } - - /** - * Sets the algorithm URI. - * - * @param algorithmURI The algorithm URI to set. - */ - protected void setAlgorithmURI(String algorithmURI) { - this.algorithmURI = algorithmURI; - } - - /** - * Returns the hash code of the algorithm URI. Should be overridden if a - * transformation distinguishes itself from others by more than just the - * algorithm URI. - * - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - return getAlgorithmURI().hashCode(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java deleted file mode 100644 index e8444b953..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import org.w3c.dom.Element; - -import iaik.server.modules.xml.XMLDataObject; - -/** - * A DataObject containing a single DOM element. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLDataObjectImpl - extends DataObjectImpl - implements XMLDataObject { - - /** The XML data contained in this XMLDataObject. */ - private Element element; - - /** - * Create a new XMLDataObjectImpl. - * - * @param element The DOM element contained in this - * XMLDataObject. - */ - public XMLDataObjectImpl(Element element) { - setElement(element); - } - - /** - * @see iaik.server.modules.xml.XMLDataObject#getElement() - */ - public Element getElement() { - return element; - } - - /** - * Set the DOM element contained in this XMLDataObject. - * - * @param element The DOM element to set. - */ - public void setElement(Element element) { - this.element = element; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java deleted file mode 100644 index 2fb9df93c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import org.w3c.dom.NodeList; - -import iaik.server.modules.xml.XMLNodeListDataObject; - -/** - * A DataObject containing a list of DOM nodes. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLNodeListDataObjectImpl - extends DataObjectImpl - implements XMLNodeListDataObject { - - /** The nodes contained in this XMLNodeListDataObject. */ - private NodeList nodeList; - - /** - * Create a new XMLNodeListDataObjectImpl. - * - * @param nodeList The list of DOM nodes contained in this - * XMLNodeListDataObject. - */ - public XMLNodeListDataObjectImpl(NodeList nodeList) { - setNodeList(nodeList); - } - - /** - * Set the list of DOM nodes contained in this - * XMLNodeListDataObject. - * - * @param nodeList The list of DOM nodes to set. - */ - public void setNodeList(NodeList nodeList) { - this.nodeList = nodeList; - } - - /** - * @see iaik.server.modules.xml.XMLNodeListDataObject#getNodeList() - */ - public NodeList getNodeList() { - return nodeList; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java deleted file mode 100644 index 0774726cc..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import org.w3c.dom.Element; - -import iaik.server.modules.xml.XMLSignature; - -/** - * An object containing an XMLDsig signature in the form of a - * dsig:Signature DOM element. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureImpl implements XMLSignature { - /** The signature DOM element. */ - private Element element; - - /** - * Create a new XMLSignatureImpl. - * - * @param element The dsig:Signature DOM element. - */ - public XMLSignatureImpl(Element element) { - setElement(element); - } - - /** - * Set the dsig:Signature DOM element. - * - * @param element The dsig:Signature element to set. - */ - public void setElement(Element element) { - this.element = element; - } - - /** - * @see iaik.server.modules.xml.XMLSignature#getElement() - */ - public Element getElement() { - return element; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java deleted file mode 100644 index d309302e1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.util.Map; - -import iaik.server.modules.xml.XPath2Transformation; -import iaik.server.modules.xml.XPath2Transformation.XPath2Filter; - -/** - * An object encapsulating an XPath-Filter2 expression. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XPath2FilterImpl implements XPath2Filter { - - /** The type of this filter. */ - private String filterType; - /** The XPath expression of this filter. */ - private String xPathExpression; - /** The namespace prefix to URI mapping to use for evaluating the XPath. */ - private Map namespaceDeclarations; - - /** - * Create a new XPath2FilterImpl object. - * - * @param filterType The type of filter. Must be one of the filter type - * constants declared in iaik.server.modules.xml.XPath2Transformation.XPath2Filter - * @param xPathExpression The XPath expression belonging to this filter. - * @param namespaceDeclarations The namespace declarations visible for this - * XPath2Filter. - */ - public XPath2FilterImpl( - String filterType, - String xPathExpression, - Map namespaceDeclarations) { - - setFilterType(filterType); - setXPathExpression(xPathExpression); - setNamespaceDeclarations(namespaceDeclarations); - } - - /** - * @see iaik.server.modules.xml.XPath2Transformation.XPath2Filter#getFilterType() - */ - public String getFilterType() { - return filterType; - } - - /** - * Set the filter type. - * - * @param filterType The filter type to set. - */ - protected void setFilterType(String filterType) { - this.filterType = filterType; - } - - /** - * @see iaik.server.modules.xml.XPath2Transformation.XPath2Filter#getXPathExpression() - */ - public String getXPathExpression() { - return xPathExpression; - } - - /** - * Set the XPath expression. - * - * @param xPathExpression The XPath expression to set. - */ - protected void setXPathExpression(String xPathExpression) { - this.xPathExpression = xPathExpression; - } - - /** - * @see iaik.server.modules.xml.XPath2Transformation.XPath2Filter#getNamespaceDeclarations() - */ - public Map getNamespaceDeclarations() { - return namespaceDeclarations; - } - - /** - * Set the namespace declarations. - * - * @param namespaceDeclarations The mapping between namespace prefixes and - * their associated URI. - */ - protected void setNamespaceDeclarations(Map namespaceDeclarations) { - this.namespaceDeclarations = namespaceDeclarations; - } - - /** - * Compare this object to another. - * - * @param other The object to compare this XPath2Filter to. - * @return true, if other is a - * XPath2Filter and the filter types match and the XPath - * expressions match. Otherwise false is returned. - * @see java.lang.Object#equals(java.lang.Object) - */ - public boolean equals(Object other) { - if (other instanceof XPath2Transformation.XPath2Filter) { - XPath2Filter filter = (XPath2Transformation.XPath2Filter) other; - return getFilterType().equals(filter.getFilterType()) - && getXPathExpression().equals(filter.getXPathExpression()); - } - return false; - } - - /** - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - return getXPathExpression().hashCode() * 31 + getFilterType().hashCode(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java deleted file mode 100644 index f483b1831..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import iaik.server.modules.xml.XPath2Transformation; - -/** - * An object encapsulating a Transformation containing several - * XPath-Filter2 expressions. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XPath2TransformationImpl - extends TransformationImpl - implements XPath2Transformation { - - /** The filters contained in this XPath2Transformation */ - private List xPathFilters = new ArrayList(); - - /** - * Create a new XPath2TransformationImpl. - * - * The list of XPath-Filter2 expression is initially empty. - */ - public XPath2TransformationImpl() { - setAlgorithmURI(XPath2Transformation.XPATH2); - } - - /** - * @see iaik.server.modules.xml.XPath2Transformation#getXPathFilters() - */ - public List getXPathFilters() { - return xPathFilters; - } - - /** - * Add an XPath-Filter2 expression to the list of filters. - * - * @param filter The filter to add. - */ - public void addXPathFilter(XPath2Filter filter) { - xPathFilters.add(filter); - } - - /** - * Compare this XPath2Transformation to another. - * - * @param other The object to compare this - * XPath2Transformation to. - * @return true, if other is an - * XPath2Transformation and getXPathFilters() equals - * other.getXPathFilters(). Otherwise false is - * returned. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof XPath2Transformation) { - XPath2Transformation transform = (XPath2Transformation) other; - - return getXPathFilters().equals(transform.getXPathFilters()); - } - return false; - } - - /** - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - Iterator iter = getXPathFilters().iterator(); - int hashCode = 0; - - while (iter.hasNext()) { - hashCode ^= iter.next().hashCode(); - } - - return hashCode; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java deleted file mode 100644 index 06cc319ba..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.util.Map; - -import iaik.server.modules.xml.XPathTransformation; - -/** - * A Transformation containing an XPath expression. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XPathTransformationImpl - extends TransformationImpl - implements XPathTransformation { - - /** The XPath expression. */ - private String xPathExpression; - /** The namespace prefix to URI mapping to use for XPath evaluation. */ - private Map namespaceDeclarations; - - /** - * Create a new XPathTransformationImpl. - * - * The namespace declarations are initialized empty. - * - * @param xPathExpression The XPath expression this object will contain. - * @param namespaceDeclarations The namespace declarations visible for this - * XPath. - */ - public XPathTransformationImpl( - String xPathExpression, - Map namespaceDeclarations) { - - setAlgorithmURI(XPathTransformation.XPATH); - setXPathExpression(xPathExpression); - setNamespaceDeclarations(namespaceDeclarations); - } - - /** - * Set the XPath expression. - * - * @param xPathExpression The XPath expression. - */ - protected void setXPathExpression(String xPathExpression) { - this.xPathExpression = xPathExpression; - } - - /** - * @see iaik.server.modules.xml.XPathTransformation#getXPathExpression() - */ - public String getXPathExpression() { - return xPathExpression; - } - - /** - * @see iaik.server.modules.xml.XPathTransformation#getNamespaceDeclarations() - */ - public Map getNamespaceDeclarations() { - return namespaceDeclarations; - } - - /** - * Set the namespace declarations. - * - * @param namespaceDeclarations The mapping between namespace prefixes and - * their associated URI. - */ - protected void setNamespaceDeclarations(Map namespaceDeclarations) { - this.namespaceDeclarations = namespaceDeclarations; - } - - /** - * Compare this XPathTransformation to another. - * - * @param other The object to compare this - * XPathTransformation to. - * @return true, if other is an - * XPathTransformation and if this object contains the same XPath - * expression as other. Otherwise false is returned. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof XPathTransformation) { - XPathTransformation transform = (XPathTransformation) other; - return getXPathExpression().equals(transform.getXPathExpression()); - } - return false; - } - - /** - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - return getXPathExpression().hashCode(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java deleted file mode 100644 index f973952c2..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xml; - -import java.io.IOException; -import java.io.InputStream; -import java.util.Collections; - -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import iaik.ixsil.algorithms.CanonicalizationAlgorithm; -import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXML; -import iaik.ixsil.exceptions.AlgorithmException; -import iaik.server.modules.xml.XSLTTransformation; - -import at.gv.egovernment.moa.util.NodeListAdapter; -import at.gv.egovernment.moa.util.StreamUtils; -import at.gv.egovernment.moa.util.XPathException; -import at.gv.egovernment.moa.util.XPathUtils; - - -/** - * A Transformation containing an XSLT transformation. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XSLTTransformationImpl - extends TransformationImpl - implements XSLTTransformation { - - /** The XSLT stylesheet. */ - private Element styleSheetElement; - /** The hash code of the canonicalized stylesheet. If calculated, this value - * should be != 0. */ - private int hashCode; - - /** - * Create a new XSLTTransformationImpl object. - * - * @param styleSheetElement The XSLT stylesheet element. - */ - public XSLTTransformationImpl(Element styleSheetElement) { - setAlgorithmURI(XSLTTransformation.XSLT); - setStyleSheetElement(styleSheetElement); - } - - /** - * Set the XSLT stylesheet element. - * - * @param styleSheetElement The XSLT stylesheet element to set. - */ - protected void setStyleSheetElement(Element styleSheetElement) { - this.styleSheetElement = styleSheetElement; - this.hashCode = 0; - } - - /** - * @see iaik.server.modules.xml.XSLTTransformation#getStylesheetElement() - */ - public Element getStylesheetElement() { - return styleSheetElement; - } - - /** - * Compare this XSLTTransformation to another. - * - * @param other The object to compare this - * XSLTTransformation to. - * @return true, if other is an - * XSLTTransformation and if the canonicalized representations of - * the stylesheets contained in this and other - * match. Otherwise, false is returned. - * @see java.lang.Object#equals(Object) - */ - public boolean equals(Object other) { - if (other instanceof XSLTTransformation) { - XSLTTransformation xslt = (XSLTTransformation) other; - - return compareElements( - getStylesheetElement(), - xslt.getStylesheetElement()); - } - return false; - } - - /** - * @see java.lang.Object#hashCode() - */ - public int hashCode() { - if (hashCode == 0) { - hashCode = calculateHashCode(getStylesheetElement()); - } - return hashCode; - } - - /** - * Calculate the hash code for a DOM element by canonicalizing it. - * - * @param element The DOM element for which the hash code is to be calculated. - * @return int The hash code, or 0, if it could not be - * calculated. - */ - private static int calculateHashCode(Element element) { - try { - InputStream is = canonicalize(element); - byte[] buf = new byte[256]; - int hashCode = 1; - int length; - int i; - - while ((length = is.read(buf)) > 0) { - for (i = 0; i < length; i++) { - hashCode += buf[i] * 31 + i; - } - } - is.close(); - return hashCode; - } catch (AlgorithmException e) { - return 0; - } catch (IOException e) { - return 0; - } - } - - /** - * Compare two DOM elements by canonicalizing their contents and comparing the - * resulting byte stream. - * - * @param elem1 The 1st element to compare. - * @param elem2 The 2nd element to compare. - * @return boolean true, if the elements are considered equal - * after canonicalization. Otherwise false is returned. - */ - private static boolean compareElements(Element elem1, Element elem2) { - try { - InputStream is1 = canonicalize(elem1); - InputStream is2 = canonicalize(elem2); - return StreamUtils.compareStreams(is1, is2); - } catch (AlgorithmException e) { - return false; - } catch (IOException e) { - return false; - } - } - - /** - * Canonicalize a DOM element. - * - * @param element The element to canonicalize. - * @return InputStream A stream with the canonicalized data. - * @throws AlgorithmException An error occurred canonicalizing the element. - */ - private static InputStream canonicalize(Element element) - throws AlgorithmException { - CanonicalizationAlgorithm c14n = - new CanonicalizationAlgorithmImplExclusiveCanonicalXML(); - NodeList nodeList; - - try { - nodeList = XPathUtils.selectNodeList(element, XPathUtils.ALL_NODES_XPATH); - } catch (XPathException e) { - nodeList = new NodeListAdapter(Collections.EMPTY_LIST); - } - c14n.setInput(nodeList); - return c14n.canonicalize(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java deleted file mode 100644 index 310f2dd2b..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java +++ /dev/null @@ -1,174 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xmlsign; - -import java.util.List; - -import iaik.server.modules.xmlsign.DataObjectTreatment; - -import at.gv.egovernment.moa.spss.server.util.IdGenerator; - -/** - * An object encapsulating how to treat an associated DataObject - * when creating a signature. - * - * @author Patrick Peck - * @version $Id$ - */ -public class DataObjectTreatmentImpl implements DataObjectTreatment { - /** The final content MIME type. */ - private String finalContentType; - /** The name of the hash algorithm. */ - private String hashAlgorithmName; - /** This transformations to apply to the associated data object. */ - private List transformationList; - /** Supplemental information for the transformations. */ - private List transformationSupplements; - /** Whether to include the associated data object in the signature. */ - private boolean includedInSignature; - /** Whether to include the associated data object in the manifest. */ - private boolean referenceInManifest; - /** The object ID generator. */ - private IdGenerator objIdGen; - - /** - * Create a new DataObjectTreatmentImpl. - * - * @param objIdGen The IdGenerator for unique object IDs. - */ - public DataObjectTreatmentImpl(IdGenerator objIdGen) { - this.objIdGen = objIdGen; - } - - /** - * @see iaik.server.modules.xmlsign.DataObjectTreatment#getFinalContentType() - */ - public String getFinalContentType() { - return finalContentType; - } - - /** - * Sets the final content type. - * - * @param finalContentType The final content type to set (a MIME-type type of - * String). - */ - public void setFinalContentType(String finalContentType) { - this.finalContentType = finalContentType; - } - - /** - * @see iaik.server.modules.xmlsign.DataObjectTreatment#getHashAlgorithmName() - */ - public String getHashAlgorithmName() { - return hashAlgorithmName; - } - - /** - * Sets the hash algorithm name. - * - * @param hashAlgorithmName The hash algorithm name to set. - */ - public void setHashAlgorithmName(String hashAlgorithmName) { - this.hashAlgorithmName = hashAlgorithmName; - } - - /** - * @see iaik.server.modules.xmlsign.DataObjectTreatment#isIncludedInSignature() - */ - public boolean isIncludedInSignature() { - return includedInSignature; - } - - /** - * Sets whether the associated DataObject is to be included in - * the signature. - * - * @param includedInSignature If true, the associated - * DataObject will be included in the signature, otherwise not. - */ - public void setIncludedInSignature(boolean includedInSignature) { - this.includedInSignature = includedInSignature; - } - - /** - * @see iaik.server.modules.xmlsign.DataObjectTreatment#isReferenceInManifest() - */ - public boolean isReferenceInManifest() { - return referenceInManifest; - } - - /** - * Sets whether the associated DataObject is - * to be included in the dsig:Manifest. - * - * @param referenceInManifest If true, the associated - * DataObject will be included in the manifest, otherwise not. - */ - public void setReferenceInManifest(boolean referenceInManifest) { - this.referenceInManifest = referenceInManifest; - } - - /** - * @see iaik.server.modules.xmlsign.DataObjectTreatment#getTransformationList() - */ - public List getTransformationList() { - return transformationList; - } - - /** - * Set the list of transformations for the associated DataObject. - * - * @param transformationList The transformations to set. - */ - public void setTransformationList(List transformationList) { - this.transformationList = transformationList; - } - - /** - * @see iaik.server.modules.xmlsign.DataObjectTreatment#getTransformationSupplements() - */ - public List getTransformationSupplements() { - return transformationSupplements; - } - - /** - * Sets the transformation supplements for the associated - * DataObject. - * - * @param transformationSupplements The transformation supplements to set. - */ - public void setTransformationSupplements(List transformationSupplements) { - this.transformationSupplements = transformationSupplements; - } - - /** - * @see iaik.server.modules.xmlsign.DataObjectTreatment#getDsigDataObjectID() - */ - public String getDsigDataObjectID() { - return objIdGen.uniqueId(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java deleted file mode 100644 index 7d0c5a062..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java +++ /dev/null @@ -1,399 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xmlsign; - -import iaik.server.modules.algorithms.SignatureAlgorithms; -import iaik.server.modules.keys.AlgorithmUnavailableException; -import iaik.server.modules.keys.KeyEntryID; -import iaik.server.modules.keys.KeyModule; -import iaik.server.modules.keys.KeyModuleFactory; -import iaik.server.modules.keys.UnknownKeyException; -import iaik.server.modules.xml.Canonicalization; -import iaik.server.modules.xmlsign.XMLSignatureCreationProfile; -import iaik.server.modules.xmlsign.XMLSignatureInsertionLocation; - -import java.util.List; -import java.util.Set; - -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.server.util.IdGenerator; - -/** - * An object providing auxiliary information for creating an XML signature. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureCreationProfileImpl - implements XMLSignatureCreationProfile { - - /** The transformations to apply to a data object. */ - private List dataObjectTreatmentList; - /** The set of keys available to the signing process. */ - private Set keySet; - /** The type URI of the signature manifest. */ - private String securityLayerManifestTypeURI; - /** Whether the created signature is to be Security Layer conform. */ - private boolean securityLayerConform; - /** Where to insert the signature into the signature environment. */ - private XMLSignatureInsertionLocation signatureInsertionLocation; - /** The signature structur type. */ - private String signatureStructureType; - /** The type of Canonicalization to use for the signed info. */ - private Canonicalization signedInfoCanonicalization; - /** Properties to be signed during signature creation. */ - private List signedProperties; - /** The ID generator for signature IDs. */ - private IdGenerator signatureIDGenerator; - /** The ID generator for manifst IDs. */ - private IdGenerator manifestIDGenerator; - /** The ID generator for XMLDsig manifest IDs. */ - private IdGenerator dsigManifestIDGenerator; - /** The ID generator for signed property IDs. */ - private IdGenerator propertyIDGenerator; - /** The selected digest method algorithm if XAdES 1.4.2 is used */ - private String digestMethodXAdES142; - - - /** - * Create a new XMLSignatureCreationProfileImpl. - * - * @param createProfileCount Provides external information about the - * number of calls to the signature creation module, using the same request. - * @param reservedIDs The set of IDs that must not be used while generating - * new IDs. - */ - public XMLSignatureCreationProfileImpl( - int createProfileCount, - Set reservedIDs, - String digestMethodXAdES142) { - signatureIDGenerator = - new IdGenerator("signature-" + createProfileCount, reservedIDs); - manifestIDGenerator = - new IdGenerator("manifest-" + createProfileCount, reservedIDs); - dsigManifestIDGenerator = - new IdGenerator("dsig-manifest-" + createProfileCount, reservedIDs); - propertyIDGenerator = - new IdGenerator("etsi-signed-" + createProfileCount, reservedIDs); - this.digestMethodXAdES142 = digestMethodXAdES142; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getDataObjectTreatmentList() - */ - public List getDataObjectTreatmentList() { - return dataObjectTreatmentList; - } - - /** - * Sets the list of DataObjectTreatments. - * - * @param dataObjectTreatmentList The DataObjectTreatments to - * set. - */ - public void setDataObjectTreatmentList(List dataObjectTreatmentList) { - this.dataObjectTreatmentList = dataObjectTreatmentList; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getKeySet() - */ - public Set getKeySet() { - return keySet; - } - - /** - * Set the set of KeyEntryIDs which may be used for signature - * creation. - * - * @param keySet The set of KeyEntryIDs to set. - */ - public void setKeySet(Set keySet) { - this.keySet = keySet; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSecurityLayerManifestTypeURI() - */ - public String getSecurityLayerManifestTypeURI() { - return securityLayerManifestTypeURI; - } - - /** - * Set the SecurityLayerManifestTypeURI. - * - * @param securityLayerManifestTypeURI The SecurityLayerManifestTypeURI to - * set. - */ - public void setSecurityLayerManifestTypeURI(String securityLayerManifestTypeURI) { - this.securityLayerManifestTypeURI = securityLayerManifestTypeURI; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignatureAlgorithmName(KeyEntryID) - */ - public String getSignatureAlgorithmName(KeyEntryID selectedKeyID) - throws AlgorithmUnavailableException { - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - TransactionId tid = new TransactionId(context.getTransactionID()); - KeyModule module = KeyModuleFactory.getInstance(tid); - Set algorithms; - - try { - algorithms = module.getSupportedSignatureAlgorithms(selectedKeyID); - } catch (UnknownKeyException e) { - throw new AlgorithmUnavailableException( - "Unknown key entry: " + selectedKeyID, - e, - null); - } - - if (digestMethodXAdES142 == null) { - // XAdES 1.4.2 not enabled - legacy MOA - if (algorithms.contains(SignatureAlgorithms.MD2_WITH_RSA) - || algorithms.contains(SignatureAlgorithms.MD5_WITH_RSA) - || algorithms.contains(SignatureAlgorithms.RIPEMD128_WITH_RSA) - || algorithms.contains(SignatureAlgorithms.RIPEMD160_WITH_RSA) - || algorithms.contains(SignatureAlgorithms.SHA1_WITH_RSA) - || algorithms.contains(SignatureAlgorithms.SHA256_WITH_RSA)) { - - return SignatureAlgorithms.SHA1_WITH_RSA; - } else if ( - algorithms.contains(SignatureAlgorithms.ECDSA)) { - return SignatureAlgorithms.ECDSA; - } else if ( - algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - } - else { - // XAdES 1.4.2 is enabled: select signature algorithm according to selected digest method - if (digestMethodXAdES142.compareTo("SHA-1") == 0) { - Logger.warn("XAdES version 1.4.2 is enabled, but SHA-1 is configured as digest algorithm. Please revise a use of a more secure digest algorithm out of the SHA-2 family (e.g. SHA-256, SHA-384, SHA-512)"); - - if (algorithms.contains(SignatureAlgorithms.SHA1_WITH_RSA)) { - return SignatureAlgorithms.SHA1_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.ECDSA)) { - return SignatureAlgorithms.ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - - } else if (digestMethodXAdES142.compareTo("SHA-256") == 0) { - if (algorithms.contains(SignatureAlgorithms.SHA256_WITH_RSA)) { - return SignatureAlgorithms.SHA256_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.SHA256_WITH_ECDSA)) { - return SignatureAlgorithms.SHA256_WITH_ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - } else if (digestMethodXAdES142.compareTo("SHA-384") == 0) { - if (algorithms.contains(SignatureAlgorithms.SHA384_WITH_RSA)) { - return SignatureAlgorithms.SHA384_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.SHA384_WITH_ECDSA)) { - return SignatureAlgorithms.SHA384_WITH_ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - } else if (digestMethodXAdES142.compareTo("SHA-512") == 0) { - if (algorithms.contains(SignatureAlgorithms.SHA512_WITH_RSA)) { - return SignatureAlgorithms.SHA512_WITH_RSA; - - } else if (algorithms.contains(SignatureAlgorithms.SHA512_WITH_ECDSA)) { - return SignatureAlgorithms.SHA512_WITH_ECDSA; - - } else if (algorithms.contains(SignatureAlgorithms.DSA)) { - return SignatureAlgorithms.DSA; - - } else { - throw new AlgorithmUnavailableException( - "No algorithm for key entry: " + selectedKeyID, - null, - null); - } - } - else { - throw new AlgorithmUnavailableException( - "No signature algorithm found for digest algorithm '" + digestMethodXAdES142, - null, - null); - } - - } - - - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignatureInsertionLocation() - */ - public XMLSignatureInsertionLocation getSignatureInsertionLocation() { - return signatureInsertionLocation; - } - - /** - * Set the location where the signature is to be inserted into the signature - * parent. - * - * @param signatureInsertionLocation The location to set. - */ - public void setSignatureInsertionLocation(XMLSignatureInsertionLocation signatureInsertionLocation) { - this.signatureInsertionLocation = signatureInsertionLocation; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignatureStructureType() - */ - public String getSignatureStructureType() { - return signatureStructureType; - } - - /** - * Set the signature structure type. - * @param signatureStructureType The signature structure type to set. - */ - public void setSignatureStructureType(String signatureStructureType) { - this.signatureStructureType = signatureStructureType; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignedInfoCanonicalization() - */ - public Canonicalization getSignedInfoCanonicalization() { - return signedInfoCanonicalization; - } - - /** - * Sets the canonicalization method to use for the SignedInfo object. - * - * @param signedInfoCanonicalization The canonicalization method to set. - */ - public void setSignedInfoCanonicalization(Canonicalization signedInfoCanonicalization) { - this.signedInfoCanonicalization = signedInfoCanonicalization; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignedProperties() - */ - public List getSignedProperties() { - return signedProperties; - } - - /** - * Set the signed properties. - * - * @param signedProperties The signed properties to set. - */ - public void setSignedProperties(List signedProperties) { - this.signedProperties = signedProperties; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#isSecurityLayerConform() - */ - public boolean isSecurityLayerConform() { - return securityLayerConform; - } - - /** - * Sets the security layer conformity. - * - * @param securityLayerConform true, if the created signature - * is to be conform to the Security Layer specification. - */ - public void setSecurityLayerConform(boolean securityLayerConform) { - this.securityLayerConform = securityLayerConform; - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignatureID() - */ - public String getSignatureID() { - return signatureIDGenerator.uniqueId(); - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSecurityLayerManifestID() - */ - public String getSecurityLayerManifestID() { - return manifestIDGenerator.uniqueId(); - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getDsigManifestID() - */ - public String getDsigManifestID() { - return dsigManifestIDGenerator.uniqueId(); - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getSignedPropertiesID() - */ - public String getSignedPropertiesID() { - return propertyIDGenerator.uniqueId(); - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureCreationProfile#getPermitFileURIs() - */ - public boolean getPermitFileURIs() { - return false; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java deleted file mode 100644 index 90c1f497a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xmlsign; - -import iaik.server.modules.xmlsign.XMLSignatureInsertionLocation; - -/** - * An object giving the location of where the signature will be - * inserted into the parent element. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureInsertionLocationImpl - implements XMLSignatureInsertionLocation { - - /** Where to put the signature into the signature parent element. */ - private int signatureChildIndex; - - /** - * Create a new XMLSignatureInsertLocationImpl. - * - * @param signatureChildIndex The position index at which to append the - * signature to the parent element. - */ - public XMLSignatureInsertionLocationImpl(int signatureChildIndex) { - setSignatureChildIndex(signatureChildIndex); - } - - /** - * @see iaik.server.modules.xmlsign.XMLSignatureInsertionLocation#getSignatureChildIndex() - */ - public int getSignatureChildIndex() { - return signatureChildIndex; - } - - /** - * Sets the position index at which to append the signature to the parent - * element. - * - * @param signatureChildIndex The position index to set. - */ - public void setSignatureChildIndex(int signatureChildIndex) { - this.signatureChildIndex = signatureChildIndex; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java deleted file mode 100644 index a960b0016..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java +++ /dev/null @@ -1,172 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.iaik.xmlverify; - -import java.util.List; - -import iaik.pki.PKIProfile; -import iaik.server.modules.xmlverify.XMLSignatureVerificationProfile; - -/** - * An object providing auxiliary information for verifying an XML signature. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureVerificationProfileImpl - implements XMLSignatureVerificationProfile { - - /** Whether to check the Security Layer manifest. */ - private boolean checkSecurityLayerManifest; - /** Whether to check the XMLDsig manifest. */ - private boolean checkXMLDsigManifests; - /** The profile for validating the signer certificate. */ - private PKIProfile certificateValidationProfile; - /** Supplements for the transformations. */ - private List transformationSupplements; - /** Whether to include hash input data in the response. */ - private boolean includeHashInputData; - /** Whether to include reference input data in the response. */ - private boolean includeReferenceInputData; - /** Whether the file URIs are permitted */ - private boolean permitFileURIs; - /** - * @see iaik.server.modules.xmlverify.XMLSignatureVerificationProfile#checkSecurityLayerManifest() - */ - public boolean checkSecurityLayerManifest() { - return checkSecurityLayerManifest; - } - - /** - * Set whether to check the references in the Security Layer manifest. - * - * @param checkSecurityLayerManifest true, if the references - * in the Security Layer manifest must be checked. - */ - public void setCheckSecurityLayerManifest(boolean checkSecurityLayerManifest) { - this.checkSecurityLayerManifest = checkSecurityLayerManifest; - } - - /** - * @see iaik.server.modules.xmlverify.XMLSignatureVerificationProfile#checkXMLDsigManifests() - */ - public boolean checkXMLDsigManifests() { - return checkXMLDsigManifests; - } - - /** - * Sets whether to check the references of all XML Dsig manifests. - * - * @param checkXMLDSigManifests true, if the references in the - * XML Dsig manifest must be checked. - */ - public void setCheckXMLDsigManifests(boolean checkXMLDSigManifests) { - this.checkXMLDsigManifests = checkXMLDSigManifests; - } - - /** - * @see iaik.server.modules.xmlverify.XMLSignatureVerificationProfile#getCertificateValidationProfile() - */ - public PKIProfile getCertificateValidationProfile() { - return certificateValidationProfile; - } - - /** - * Sets the profile for validating the signer certificate. - * - * @param certificateValidationProfile The certificate validation profile to - * set. - */ - public void setCertificateValidationProfile(PKIProfile certificateValidationProfile) { - this.certificateValidationProfile = certificateValidationProfile; - } - - /** - * @see iaik.server.modules.xmlverify.XMLSignatureVerificationProfile#getTransformationSupplements() - */ - public List getTransformationSupplements() { - return transformationSupplements; - } - - /** - * Sets the transformation supplements. - * - * @param transformationSupplements The transformation supplements to set. - */ - public void setTransformationSupplements(List transformationSupplements) { - this.transformationSupplements = transformationSupplements; - } - - /** - * @see iaik.server.modules.xmlverify.XMLSignatureVerificationProfile#includeHashInputData() - */ - public boolean includeHashInputData() { - return includeHashInputData; - } - - /** - * Set whether to include the hash input data in the result. - * - * @param includeHashInputData If true, the hash input data - * will be returned in the result. - */ - public void setIncludeHashInputData(boolean includeHashInputData) { - this.includeHashInputData = includeHashInputData; - } - - /** - * @see iaik.server.modules.xmlverify.XMLSignatureVerificationProfile#includeReferenceInputData() - */ - public boolean includeReferenceInputData() { - return includeReferenceInputData; - } - - /** - * Set whether to include the reference input data in the result. - * - * @param includeReferenceInputData If true, the reference - * input data will be included in the result. - */ - public void setIncludeReferenceInputData(boolean includeReferenceInputData) { - this.includeReferenceInputData = includeReferenceInputData; - } - - /** - * @see iaik.server.modules.xmlverify.XMLSignatureVerificationProfile#getPermitFileURIs() - */ - public boolean getPermitFileURIs() { - return permitFileURIs; - } - - /** - * Set whether the file URIs are permitted or not - * - * @param permitFileURIs whether the file URIs are permitted or not - */ - public void setPermitFileURIs(boolean permitFileURIs) - { - this.permitFileURIs = permitFileURIs; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java deleted file mode 100644 index 8ab01d63d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.init; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.Configurator; -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.iaik.config.IaikConfigurator; - -/** - * Default implementation of Configurator. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ConfiguratorImpl extends Configurator { - /** whether the configuration has been initialized */ - private boolean initialized = false; - - public void init() throws MOAException { - if (!initialized) { - SystemInitializer.init(); - initialized = true; - } - } - - public void update() throws MOAException { - if (!initialized) { - return; - } - - try { - // reconfigure the system - ConfigurationProvider config = ConfigurationProvider.reload(); - new IaikConfigurator().configure(config); - } catch (MOAException e) { - throw e; - } catch (Throwable t) { - throw new ConfigurationException("", null, 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 deleted file mode 100644 index 12d8b0126..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.init; - -import iaik.ixsil.init.IXSILInit; -import iaik.pki.store.certstore.CertStoreException; -import iaik.pki.store.truststore.TrustStoreException; -import iaik.server.ConfigurationData; -import iaik.xml.crypto.tsl.ex.TSLEngineDiedException; -import iaik.xml.crypto.tsl.ex.TSLSearchException; - -import java.io.FileNotFoundException; -import java.io.IOException; -import java.security.cert.CertificateException; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.Timer; - -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.spss.MOAException; -import at.gv.egovernment.moa.spss.api.common.TSLConfiguration; -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.tsl.connector.TSLConnector; -import at.gv.egovernment.moa.spss.tsl.timer.TSLUpdaterTimerTask; -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. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SystemInitializer { - /** Interval between archive cleanups in seconds */ - private static final long ARCHIVE_CLEANUP_INTERVAL = 60 * 60; // 1h - /** The MOA SP/SS logging hierarchy. */ - private static final String LOGGING_HIERARCHY = "moa.spss.server"; - /** Whether XML schema grammars have been initialized. */ - private static boolean grammarsInitialized = false; - - /** - * Initialize the MOA SP/SS webservice. - */ - public static void init() { - MessageProvider msg = MessageProvider.getInstance(); - - Thread archiveCleaner; - - // set up the MOA SPSS logging hierarchy - Logger.setHierarchy(LOGGING_HIERARCHY); - - // set up a logging context for logging the startup - LoggingContextManager.getInstance().setLoggingContext( - new LoggingContext("startup")); - -// AxisProperties.setProperty("enableNamespacePrefixOptimization","false"); -// AxisProperties.setProperty("disablePrettyXML", "true"); -// AxisProperties.setProperty("axis.doAutoTypes", "true"); - - // initialize preparsed Xerces grammar pool for faster XML - // parsing/validating - try { - if (!grammarsInitialized) { - Class clazz = SystemInitializer.class; - // preparse XML schema - DOMUtils.addSchemaToPool( - clazz.getResourceAsStream(Constants.XML_SCHEMA_LOCATION), - Constants.XML_NS_URI); - // preparse XMLDsig Filter2 schema - DOMUtils.addSchemaToPool( - clazz.getResourceAsStream(Constants.DSIG_FILTER2_SCHEMA_LOCATION), - Constants.DSIG_FILTER2_NS_URI); - // preparse XMLDsig schema - DOMUtils.addSchemaToPool( - clazz.getResourceAsStream(Constants.DSIG_SCHEMA_LOCATION), - Constants.DSIG_NS_URI); - // preparse MOA schema - DOMUtils.addSchemaToPool( - clazz.getResourceAsStream(Constants.MOA_SCHEMA_LOCATION), - Constants.MOA_NS_URI); - grammarsInitialized = true; - } - } catch (IOException e) { - Logger.warn(new LogMsg(msg.getMessage("init.04", null)), e); - } - - // initialize configuration - try { - ConfigurationProvider config = ConfigurationProvider.getInstance(); - ConfigurationData configData = new IaikConfigurator().configure(config); - - //initialize TSL module - TSLConfiguration tslconfig = config.getTSLConfiguration(); - - TSLConnector tslconnector = new TSLConnector(); - if (tslconfig != null) { - //Logger.info(new LogMsg(msg.getMessage("init.01", null))); - Logger.info(new LogMsg(msg.getMessage("config.41", null))); - tslconnector.initialize(tslconfig.getEuTSLUrl(), tslconfig.getWorkingDirectory(), null, null); - - } - - - //start TSL Update - TSLUpdaterTimerTask.tslconnector_ = tslconnector; - TSLUpdaterTimerTask.update(); - - - //initialize TSL Update Task - initTSLUpdateTask(tslconfig); - - Logger.info(new LogMsg(msg.getMessage("init.01", null))); - } catch (MOAException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } - catch (TSLEngineDiedException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } - catch (TSLSearchException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } - catch (CertStoreException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } catch (TrustStoreException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } catch (FileNotFoundException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } catch (IOException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } catch (CertificateException e) { - Logger.fatal(new LogMsg(msg.getMessage("init.00", null)), e); - } - - // set IXSIL debug output - IXSILInit.setPrintDebugLog( - Logger.isDebugEnabled(IaikLog.IAIK_LOG_HIERARCHY)); - - // start the archive cleanup thread - archiveCleaner = - new Thread(new RevocationArchiveCleaner(ARCHIVE_CLEANUP_INTERVAL)); - archiveCleaner.setName("RevocationArchiveCleaner"); - archiveCleaner.setDaemon(true); - archiveCleaner.setPriority(Thread.MIN_PRIORITY); - archiveCleaner.start(); - - // unset the startup logging context - LoggingContextManager.getInstance().setLoggingContext(null); - } - - private static void initTSLUpdateTask(TSLConfiguration tslconfig) { - MessageProvider msg = MessageProvider.getInstance(); - if (tslconfig != null) { - // get start time and period from config - long period = tslconfig.getUpdateSchedulePeriod(); - Date startConfig = tslconfig.getUpdateScheduleStartTime(); - - // get hh:mm:ss from config date - Calendar calendar = GregorianCalendar.getInstance(); // creates a new calendar instance - calendar.setTime(startConfig); // assigns calendar to given date - int hour = calendar.get(Calendar.HOUR_OF_DAY); - int min = calendar.get(Calendar.MINUTE); - int sec = calendar.get(Calendar.SECOND); - - // create date with today and time from config - Calendar cal = Calendar.getInstance(); - Date now = cal.getTime(); - cal.set(Calendar.HOUR_OF_DAY, hour); - cal.set(Calendar.MINUTE, min); - cal.set(Calendar.SECOND, sec); - - // proposed start time - Date start = cal.getTime(); - - // if start time has already passed today - add one day (86400000 milliseconds = 1 day) - if (start.before(now)) - start = new Date(start.getTime() + 86400000); - - Logger.debug(new LogMsg(msg.getMessage("config.46", new String[]{start.toString(), "" + period}))); - - // start TSL updater task - Timer timer = new Timer(); - timer.schedule(new TSLUpdaterTimerTask(), start, period); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureCreationInvoker.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureCreationInvoker.java deleted file mode 100644 index 718673a93..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureCreationInvoker.java +++ /dev/null @@ -1,437 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.server.modules.algorithms.HashAlgorithms; -import iaik.server.modules.cmssign.CMSSignature; -import iaik.server.modules.cmssign.CMSSignatureCreationException; -import iaik.server.modules.cmssign.CMSSignatureCreationModule; -import iaik.server.modules.cmssign.CMSSignatureCreationModuleFactory; -import iaik.server.modules.cmssign.CMSSignatureCreationProfile; -import iaik.server.modules.keys.KeyEntryID; -import iaik.server.modules.keys.KeyModule; -import iaik.server.modules.keys.KeyModuleFactory; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.security.Principal; -import java.security.cert.X509Certificate; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentReference; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.impl.CreateCMSSignatureResponseImpl; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; -import at.gv.egovernment.moa.spss.server.iaik.cmssign.CMSSignatureCreationProfileImpl; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.Constants; - -/** - * A class providing an API based interface to the - * CMSSignatureCreationModule. - * - * This class performs the invocation of the - * iaik.server.modules.cmssign.CMSSignatureCreationModule from a - * CreateCMSSignatureRequest given as an API object. The result of - * the invocation is integrated into a CreateCMSSignatureResponse - * and returned. - * - * @version $Id$ - */ -public class CMSSignatureCreationInvoker { - - private static Map HASH_ALGORITHM_MAPPING; - - static { - HASH_ALGORITHM_MAPPING = new HashMap(); - HASH_ALGORITHM_MAPPING.put(Constants.SHA1_URI, HashAlgorithms.SHA1); - HASH_ALGORITHM_MAPPING.put(Constants.SHA256_URI, HashAlgorithms.SHA256); - HASH_ALGORITHM_MAPPING.put(Constants.SHA384_URI, HashAlgorithms.SHA384); - HASH_ALGORITHM_MAPPING.put(Constants.SHA512_URI, HashAlgorithms.SHA512); - } - - - /** The single instance of this class. */ - private static CMSSignatureCreationInvoker instance = null; - - /** - * Get the only instance of this class. - * - * @return The only instance of this class. - */ - public static synchronized CMSSignatureCreationInvoker getInstance() { - if (instance == null) { - instance = new CMSSignatureCreationInvoker(); - } - return instance; - } - - /** - * Create a new CMSSignatureCreationInvoker. - * - * Protected to disallow multiple instances. - */ - protected CMSSignatureCreationInvoker() { - } - - - - /** - * Process the CreateCMSSignatureRequest message and invoke the - * XMLSignatureCreationModule for every - * SingleSignatureInfo contained in the request. - * - * @param request A CreateCMSSignatureRequest API object - * containing the information for creating the signature(s). - * @param reserved A Set of reserved object IDs. - * - * @return A CreateCMSSignatureResponse API object containing - * the created signature(s). The response contains either a - * SignatureEnvironment or a ErrorResponse - * for each SingleSignatureInfo in the request. - * @throws MOAException An error occurred during signature creation. - */ - public CreateCMSSignatureResponse createCMSSignature( - CreateCMSSignatureRequest request, - Set reserved) - throws MOAException { - - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - //LoggingContext loggingCtx = LoggingContextManager.getInstance().getLoggingContext(); - - CreateCMSSignatureResponseBuilder responseBuilder = new CreateCMSSignatureResponseBuilder(); - CreateCMSSignatureResponse response = new CreateCMSSignatureResponseImpl(); - - boolean isSecurityLayerConform = false; - String structure = null; - String mimetype = null; - - // select the SingleSignatureInfo elements - Iterator singleSignatureInfoIter = request.getSingleSignatureInfos().iterator(); - - // iterate over all the SingleSignatureInfo elements in the request - while (singleSignatureInfoIter.hasNext()) { - SingleSignatureInfo singleSignatureInfo = (SingleSignatureInfo) singleSignatureInfoIter.next(); - isSecurityLayerConform = singleSignatureInfo.isSecurityLayerConform(); - - - DataObjectInfo dataObjectInfo = singleSignatureInfo.getDataObjectInfo(); - structure = dataObjectInfo.getStructure(); - - CMSDataObject dataobject = dataObjectInfo.getDataObject(); - MetaInfo metainfo = dataobject.getMetaInfo(); - mimetype = metainfo.getMimeType(); - - CMSContent content = dataobject.getContent(); - InputStream contentIs = null; - // build the content data - switch (content.getContentType()) { - case CMSContent.EXPLICIT_CONTENT : - contentIs = ((CMSContentExcplicit) content).getBinaryContent(); - break; - case CMSContent.REFERENCE_CONTENT : - String reference = ((CMSContentReference) content).getReference(); - if (!"".equals(reference)) { - ExternalURIResolver resolver = new ExternalURIResolver(); - contentIs = resolver.resolve(reference); - } else { - throw new MOAApplicationException("2301", null); - } - break; - default : { - throw new MOAApplicationException("2301", null); - } - } - - // create CMSSignatureCreationModuleFactory - CMSSignatureCreationModule module = CMSSignatureCreationModuleFactory.getInstance(); - - List signedProperties = null; - boolean includeData = true; - if (structure.compareTo("enveloping") == 0) - includeData = true; - if (structure.compareTo("detached") == 0) - includeData = false; - - ConfigurationProvider config = context.getConfiguration(); - - // get the key group id - String keyGroupID = request.getKeyIdentifier(); - // set the key set - Set keySet = buildKeySet(keyGroupID); - if (keySet == null) { - throw new MOAApplicationException("2231", null); - } else if (keySet.size() == 0) { - throw new MOAApplicationException("2232", null); - } - - // get digest algorithm - String digestAlgorithm = getDigestAlgorithm(config, keyGroupID); - - // create CMSSignatureCreation profile: - CMSSignatureCreationProfile profile = new CMSSignatureCreationProfileImpl( - keySet, - digestAlgorithm, - signedProperties, - isSecurityLayerConform, - includeData, - mimetype); - - // create CMSSignature from the CMSSignatureCreationModule - // build the additionalSignedProperties - List additionalSignedProperties = buildAdditionalSignedProperties(); - TransactionId tid = new TransactionId(context.getTransactionID()); - try { - CMSSignature signature = module.createSignature(profile, additionalSignedProperties, tid); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - // get CMS SignedData output stream from the CMSSignature and wrap it around out - boolean base64 = true; - OutputStream signedDataStream = signature.getSignature(out, base64); - - // now write the data to be signed to the signedDataStream - - int byteRead; - BigDecimal counter = new BigDecimal("0"); - BigDecimal one = new BigDecimal("1"); - - while ((byteRead=contentIs.read()) >= 0) { - //System.out.println("counterXX: " + counter); - - if (inRange(counter, dataobject)) { - //System.out.println("Lösche..."); - // set byte to 0x00 - signedDataStream.write(0); - } - else - signedDataStream.write(byteRead); - - counter = counter.add(one); - } - - -// byte[] buf = new byte[4096]; -// int bytesRead; -// while ((bytesRead = contentIs.read(buf)) >= 0) { -// signedDataStream.write(buf, 0, bytesRead); -// } -// - // finish SignedData processing by closing signedDataStream - signedDataStream.close(); - String base64value = out.toString(); - - responseBuilder.addCMSSignature(base64value); - - - } catch (CMSSignatureCreationException e) { - MOAException moaException = IaikExceptionMapper.getInstance().map(e); - - responseBuilder.addError( - moaException.getMessageId(), - moaException.getMessage()); - Logger.warn(moaException.getMessage(), e); - - } - catch (IOException e) { - throw new MOAApplicationException("2301", null, e); - } - - } - - - return responseBuilder.getResponse(); - } - - private boolean inRange(BigDecimal counter, CMSDataObject dataobject) { - BigDecimal from = dataobject.getExcludeByteRangeFrom(); - BigDecimal to = dataobject.getExcludeByteRangeTo(); - - if ( (from == null) || (to == null)) - return false; - - int compare = counter.compareTo(from); - if (compare == -1) - return false; - else { - compare = counter.compareTo(to); - if (compare == 1) - return false; - else - return true; - } - - - - } - - - private String getDigestAlgorithm(ConfigurationProvider config, String keyGroupID) throws MOASystemException { - // get digest method on key group level (if configured) - String configDigestMethodKG = config.getKeyGroup(keyGroupID).getDigestMethodAlgorithm(); - // get default digest method (if configured) - String configDigestMethod = config.getDigestMethodAlgorithmName(); - - - String digestMethod = null; - if (configDigestMethodKG != null) { - // if KG specific digest method is configured - digestMethod = (String) HASH_ALGORITHM_MAPPING.get(configDigestMethodKG); - if (digestMethod == null) { - error( - "config.17", - new Object[] { configDigestMethodKG}); - throw new MOASystemException("2900", null); - } - Logger.debug("Digest algorithm: " + digestMethod + "(configured in KeyGroup)"); - } - else { - // else get default configured digest method - digestMethod = (String) HASH_ALGORITHM_MAPPING.get(configDigestMethod); - if (digestMethod == null) { - error( - "config.17", - new Object[] { configDigestMethod}); - throw new MOASystemException("2900", null); - } - Logger.debug("Digest algorithm: " + digestMethod + "(default)"); - - } - return digestMethod; - } - - /** - * Utility function to issue an error message to the log. - * - * @param messageId The ID of the message to log. - * @param parameters Additional message parameters. - */ - private static void error(String messageId, Object[] parameters) { - MessageProvider msg = MessageProvider.getInstance(); - - Logger.error(new LogMsg(msg.getMessage(messageId, parameters))); - } - - /** - * Build the set of KeyEntryIDs available to the given - * keyGroupID. - * - * @param keyGroupID The keygroup ID for which the available keys should be - * returned. - * @return The Set of KeyEntryIDs - * identifying the available keys. - */ - private Set buildKeySet(String keyGroupID) { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - Set keyGroupEntries; - - // get the KeyGroup entries from the configuration - if (context.getClientCertificate() != null) { - X509Certificate cert = context.getClientCertificate()[0]; - Principal issuer = cert.getIssuerDN(); - BigInteger serialNumber = cert.getSerialNumber(); - - keyGroupEntries = - config.getKeyGroupEntries(issuer, serialNumber, keyGroupID); - } else { - keyGroupEntries = config.getKeyGroupEntries(null, null, keyGroupID); - } - - // map the KeyGroup entries to a set of KeyEntryIDs - if (keyGroupEntries == null) { - return null; - } else if (keyGroupEntries.size() == 0) { - return Collections.EMPTY_SET; - } else { - KeyModule module = - KeyModuleFactory.getInstance( - new TransactionId(context.getTransactionID())); - Set keyEntryIDs = module.getPrivateKeyEntryIDs(); - Set keySet = new HashSet(); - Iterator iter; - - // filter out the keys that do not exist in the IAIK configuration - // by walking through the key entries and checking if the exist in the - // keyGroupEntries - for (iter = keyEntryIDs.iterator(); iter.hasNext();) { - KeyEntryID entryID = (KeyEntryID) iter.next(); - KeyGroupEntry entry = - new KeyGroupEntry( - entryID.getModuleID(), - entryID.getCertificateIssuer(), - entryID.getCertificateSerialNumber()); - if (keyGroupEntries.contains(entry)) { - keySet.add(entryID); - } - } - return keySet; - } - } - - /** - * Build the list of additional signed properties. - * - * Based on the generic configuration setting - * ConfigurationProvider.TEST_SIGNING_TIME_PROPERTY, a - * constant SigningTime will be added to the properties. - * - * @return The List of additional signed properties. - */ - private List buildAdditionalSignedProperties() { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - List additionalSignedProperties = Collections.EMPTY_LIST; - - return additionalSignedProperties; - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java deleted file mode 100644 index aca6f5895..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java +++ /dev/null @@ -1,371 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.server.modules.IAIKException; -import iaik.server.modules.IAIKRuntimeException; -import iaik.server.modules.cmsverify.CMSSignatureVerificationModule; -import iaik.server.modules.cmsverify.CMSSignatureVerificationModuleFactory; -import iaik.server.modules.cmsverify.CMSSignatureVerificationProfile; -import iaik.server.modules.cmsverify.CMSSignatureVerificationResult; -import iaik.x509.X509Certificate; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.math.BigDecimal; -import java.util.Date; -import java.util.Iterator; -import java.util.List; - -import at.gv.egovernment.moa.logging.LoggingContext; -import at.gv.egovernment.moa.logging.LoggingContextManager; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContent; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentReference; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; -import at.gv.egovernment.moa.spss.server.logging.IaikLog; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.util.CertificateUtils; -import at.gv.egovernment.moa.spss.util.QCSSCDResult; - -/** - * A class providing an interface to the - * CMSSignatureVerificationModule. - * - * This class performs the invocation of the - * iaik.server.modules.cmsverify.CMSSignatureVerificationModule - * from a VerifyCMSSignatureRequest. The result of the invocation - * is integrated into a VerifyCMSSignatureResponse returned. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CMSSignatureVerificationInvoker { - - /** The single instance of this class. */ - private static CMSSignatureVerificationInvoker instance = null; - - /** - * Return the only instance of this class. - * - * @return The only instance of this class. - */ - public static synchronized CMSSignatureVerificationInvoker getInstance() { - if (instance == null) { - instance = new CMSSignatureVerificationInvoker(); - } - return instance; - } - - /** - * Create a new CMSSignatureVerificationInvoker. - * - * Protected to disallow multiple instances. - */ - protected CMSSignatureVerificationInvoker() { - } - - /** - * Verify a CMS signature. - * - * @param request The VerifyCMSSignatureRequest containing the - * CMS signature, as well as additional data needed for verification. - * @return Element A VerifyCMSSignatureResponse containing the - * answer to the VerifyCMSSignatureRequest. - * @throws MOAException An error occurred while processing the request. - */ - public VerifyCMSSignatureResponse verifyCMSSignature(VerifyCMSSignatureRequest request) - throws MOAException { - - CMSSignatureVerificationProfileFactory profileFactory = - new CMSSignatureVerificationProfileFactory(request); - VerifyCMSSignatureResponseBuilder responseBuilder = - new VerifyCMSSignatureResponseBuilder(); - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - LoggingContext loggingCtx = - LoggingContextManager.getInstance().getLoggingContext(); - InputStream signature; - InputStream signedContent = null; - CMSSignatureVerificationProfile profile; - Date signingTime; - List results; - CMSSignatureVerificationResult result; - int[] signatories; - InputStream input; - byte[] buf = new byte[256]; - - // get the signature - signature = request.getCMSSignature(); - - // get the actual trustprofile - TrustProfile trustProfile = context.getConfiguration().getTrustProfile(request.getTrustProfileId()); - - try { - // get the signed content - signedContent = getSignedContent(request); - - // build the profile - profile = profileFactory.createProfile(); - - // get the signing time - signingTime = request.getDateTime(); - - // verify the signature - CMSSignatureVerificationModule module = - CMSSignatureVerificationModuleFactory.getInstance(); - - module.setLog(new IaikLog(loggingCtx.getNodeID())); - - module.init( - signature, - signedContent, - profile, - new TransactionId(context.getTransactionID())); - input = module.getInputStream(); - - while (input.read(buf) > 0); - results = module.verifySignature(signingTime); - - - } catch (IAIKException e) { - MOAException moaException = IaikExceptionMapper.getInstance().map(e); - throw moaException; - } catch (IAIKRuntimeException e) { - MOAException moaException = IaikExceptionMapper.getInstance().map(e); - throw moaException; - } catch (IOException e) { - throw new MOAApplicationException("2244", null, e); - } catch (MOAException e) - { - throw e; - } - finally - { - try - { - if (signedContent != null) signedContent.close(); - } - catch (Throwable t) - { - // Intentionally do nothing here - } - } - - QCSSCDResult qcsscdresult = new QCSSCDResult(); - - // build the response: for each signatory add the result to the response - signatories = request.getSignatories(); - if (signatories == VerifyCMSSignatureRequest.ALL_SIGNATORIES) { - Iterator resultIter; - - for (resultIter = results.iterator(); resultIter.hasNext();) { - result = (CMSSignatureVerificationResult) resultIter.next(); - String issuerCountryCode = null; - // QC/SSCD check - List list = result.getCertificateValidationResult().getCertificateChain(); - if (list != null) { - X509Certificate[] chain = new X509Certificate[list.size()]; - - Iterator it = list.iterator(); - int i = 0; - while(it.hasNext()) { - chain[i] = (X509Certificate)it.next(); - i++; - } - - - qcsscdresult = CertificateUtils.checkQCSSCD(chain, trustProfile.isTSLEnabled()); - - // get signer certificate issuer country code - issuerCountryCode = CertificateUtils.getIssuerCountry((X509Certificate)list.get(0)); - - } - - responseBuilder.addResult(result, trustProfile, qcsscdresult.isQC(), qcsscdresult.isQCSourceTSL(), qcsscdresult.isSSCD(), qcsscdresult.isSSCDSourceTSL(), issuerCountryCode); - } - } else { - int i; - - for (i = 0; i < signatories.length; i++) { - int sigIndex = signatories[i] - 1; - - try { - result = - (CMSSignatureVerificationResult) results.get(signatories[i] - 1); - - String issuerCountryCode = null; - // QC/SSCD check - List list = result.getCertificateValidationResult().getCertificateChain(); - if (list != null) { - X509Certificate[] chain = new X509Certificate[list.size()]; - - Iterator it = list.iterator(); - int j = 0; - while(it.hasNext()) { - chain[j] = (X509Certificate)it.next(); - j++; - } - - - qcsscdresult = CertificateUtils.checkQCSSCD(chain, trustProfile.isTSLEnabled()); - - issuerCountryCode = CertificateUtils.getIssuerCountry((X509Certificate)list.get(0)); - } - - responseBuilder.addResult(result, trustProfile, qcsscdresult.isQC(), qcsscdresult.isQCSourceTSL(), qcsscdresult.isSSCD(), qcsscdresult.isSSCDSourceTSL(), issuerCountryCode); - } catch (IndexOutOfBoundsException e) { - throw new MOAApplicationException( - "2249", - new Object[] { new Integer(sigIndex)}); - } - } - } - - return responseBuilder.getResponse(); - } - - - /** - * Get the signed content contained either in the request itself or given as a - * reference to external data. - * - * @param request The VerifyCMSSignatureRequest containing the - * signed content (or the reference to the signed content). - * @return InputStream A stream providing the signed content data, or - * null if no signed content was provided with the request. - * @throws MOAApplicationException An error occurred building the stream. - */ - private InputStream getSignedContent(VerifyCMSSignatureRequest request) - throws MOAApplicationException { - - InputStream is = null; - CMSDataObject dataObj; - CMSContent content; - - // select the Content element - dataObj = request.getDataObject(); - if (dataObj == null) { - return null; - } - content = dataObj.getContent(); - - // build the content data - switch (content.getContentType()) { - case CMSContent.EXPLICIT_CONTENT : - is = ((CMSContentExcplicit) content).getBinaryContent(); - is = excludeByteRange(is, request); - return is; - case CMSContent.REFERENCE_CONTENT : - String reference = ((CMSContentReference) content).getReference(); - if (!"".equals(reference)) { - ExternalURIResolver resolver = new ExternalURIResolver(); - is = resolver.resolve(reference); - is = excludeByteRange(is, request); - return is; - } else { - return null; - } - default : - return null; - } - - - - } - - private InputStream excludeByteRange(InputStream contentIs, VerifyCMSSignatureRequest request) throws MOAApplicationException { - - int byteRead; - - ByteArrayOutputStream contentOs = new ByteArrayOutputStream(); - - CMSDataObject dataobject = request.getDataObject(); - BigDecimal from = dataobject.getExcludeByteRangeFrom(); - BigDecimal to = dataobject.getExcludeByteRangeTo(); - - if ( (from == null) || (to == null)) - return contentIs; - - BigDecimal counter = new BigDecimal("0"); - BigDecimal one = new BigDecimal("1"); - - try { - while ((byteRead=contentIs.read()) >= 0) { - - if (inRange(counter, dataobject)) { - // if byte is in byte range, set byte to 0x00 - contentOs.write(0); - } - else - contentOs.write(byteRead); - - counter = counter.add(one); - } - - InputStream is = new ByteArrayInputStream(contentOs.toByteArray()); - - return is; - - - } catch (IOException e) { - throw new MOAApplicationException("2301", null, e); - } - - } - - - private boolean inRange(BigDecimal counter, CMSDataObject dataobject) { - BigDecimal from = dataobject.getExcludeByteRangeFrom(); - BigDecimal to = dataobject.getExcludeByteRangeTo(); - - if ( (from == null) || (to == null)) - return false; - - int compare = counter.compareTo(from); - if (compare == -1) - return false; - else { - compare = counter.compareTo(to); - if (compare == 1) - return false; - else - return true; - } - - - - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java deleted file mode 100644 index 5f459ac8d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.server.modules.cmsverify.CMSSignatureVerificationProfile; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl; -import at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * A factory to create a CMSSignatureVerificationProfile from a - * VerifyCMSSignatureRequest and the current MOA configuration - * data. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CMSSignatureVerificationProfileFactory { - - /** The VerifyCMSSignatureRequest to draw profile data from. */ - private VerifyCMSSignatureRequest request; - - /** - * Create a new CMSSignatureVerificationProfileFactory. - * - * @param request The VerifyCMSSignatureRequest to draw profile - * data from. - */ - public CMSSignatureVerificationProfileFactory(VerifyCMSSignatureRequest request) { - this.request = request; - } - - /** - * Create a CMSSignatureVerificationProfile from the given - * request and the current MOA configuration. - * - * @return The CMSSignatureVerificationProfile for the - * request, based on the current configuration. - * @throws MOAException An error occurred creating the profile. - */ - public CMSSignatureVerificationProfile createProfile() - throws MOAException { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - CMSSignatureVerificationProfileImpl profile = - new CMSSignatureVerificationProfileImpl(); - String trustProfileID; - - // set the certificate validation profile - trustProfileID = request.getTrustProfileId(); - profile.setCertificateValidationProfile( - new PKIProfileImpl(config, trustProfileID)); - - return profile; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateCMSSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateCMSSignatureResponseBuilder.java deleted file mode 100644 index aa52fe09a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateCMSSignatureResponseBuilder.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import java.util.ArrayList; -import java.util.List; - -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; - -/** - * A class to build a CreateCMSSignatureResponse. - * - *

The methods addSignature() and addError() may be - * called in any combination to add CMSignature and - * ErrorResponse elements to the response. One of these functions - * must be called at least once to produce a - * CreateCMSSignatureResponse.

- * - *

The getResponseElement() method then returns the - * CreateXMLSignatureResponse built so far.

- * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateCMSSignatureResponseBuilder { - - /** The SPSSFactory for creating API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - /** The elements to add to the response. */ - private List responseElements = new ArrayList(); - - /** - * Get the CreateCMSSignatureResponse built so far. - * - * @return The CreateCMSSignatureResponse built so far. - */ - public CreateCMSSignatureResponse getResponse() { - return factory.createCreateCMSSignatureResponse(responseElements); - } - - /** - * Add a SignatureEnvironment element to the response. - * - * @param signatureEnvironment The content to put under the - * SignatureEnvironment element. This should either be a - * dsig:Signature element (in case of a detached signature) or - * the signature environment containing the signature (in case of - * an enveloping signature). - */ - public void addCMSSignature(String base64value) { - CMSSignatureResponse responseElement = - factory.createCMSSignatureResponse(base64value); - responseElements.add(responseElement); - } - - /** - * Add a ErrorResponse element to the response. - * - * @param errorCode The error code. - * @param info Additional information about the error. - */ - public void addError(String errorCode, String info) { - ErrorResponse errorResponse = - factory.createErrorResponse(Integer.parseInt(errorCode), info); - responseElements.add(errorResponse); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java deleted file mode 100644 index 7a7161d34..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import java.util.ArrayList; -import java.util.List; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; - -/** - * A class to build a CreateXMLSignatureResponse. - * - *

The methods addSignature() and addError() may be - * called in any combination to add SignatureEnvironment and - * ErrorResponse elements to the response. One of these functions - * must be called at least once to produce a - * CreateXMLSignatureResponse.

- * - *

The getResponseElement() method then returns the - * CreateXMLSignatureResponse built so far.

- * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateXMLSignatureResponseBuilder { - - /** The SPSSFactory for creating API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - /** The elements to add to the response. */ - private List responseElements = new ArrayList(); - - /** - * Get the CreateXMLSignatureResponse built so far. - * - * @return The CreateXMLSignatureResponse built so far. - */ - public CreateXMLSignatureResponse getResponse() { - return factory.createCreateXMLSignatureResponse(responseElements); - } - - /** - * Add a SignatureEnvironment element to the response. - * - * @param signatureEnvironment The content to put under the - * SignatureEnvironment element. This should either be a - * dsig:Signature element (in case of a detached signature) or - * the signature environment containing the signature (in case of - * an enveloping signature). - */ - public void addSignatureEnvironment(Element signatureEnvironment) { - SignatureEnvironmentResponse responseElement = - factory.createSignatureEnvironmentResponse(signatureEnvironment); - responseElements.add(responseElement); - } - - /** - * Add a ErrorResponse element to the response. - * - * @param errorCode The error code. - * @param info Additional information about the error. - */ - public void addError(String errorCode, String info) { - ErrorResponse errorResponse = - factory.createErrorResponse(Integer.parseInt(errorCode), info); - responseElements.add(errorResponse); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java deleted file mode 100644 index fd7ef8cb2..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java +++ /dev/null @@ -1,1009 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.xml.parsers.ParserConfigurationException; - -import org.apache.xerces.dom.CoreDocumentImpl; -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.EntityResolver; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.ContentBinary; -import at.gv.egovernment.moa.spss.api.common.ContentLocRef; -import at.gv.egovernment.moa.spss.api.common.ContentXML; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterBinary; -import at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.util.MOASPSSEntityResolver; -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.EntityResolverChain; -import at.gv.egovernment.moa.util.MOAErrorHandler; -import at.gv.egovernment.moa.util.StreamEntityResolver; -import at.gv.egovernment.moa.util.StreamUtils; -import at.gv.egovernment.moa.util.XPathUtils; -import iaik.ixsil.util.URI; -import iaik.ixsil.util.XPointerReferenceResolver; -import iaik.server.modules.xml.DataObject; -import iaik.server.modules.xml.XMLDataObject; - -/** - * A class to create DataObjects contained in different - * locations of the MOA XML request format. - * - * @author Patrick Peck - * @author Gregor Karlinger - * @version $Id$ - */ -public class DataObjectFactory { - - /** - * XPATH for registering ID attributes of known schemas if - * validating parsing fails. - */ - private static final String XPATH = - "descendant-or-self::node()[" + - "namespace-uri()='http://www.w3.org/2000/09/xmldsig#' " + - "or namespace-uri()='http://reference.e-government.gv.at/namespace/persondata/20020228#' " + - "or starts-with(namespace-uri(), 'http://uri.etsi.org/01903/')" + - "]/attribute::Id"; - - /** The single instance of this class. */ - private static DataObjectFactory instance = null; - - /** - * Return the only instance of this class. - * - * @return The only instance of this class. - */ - public static synchronized DataObjectFactory getInstance() { - if (instance == null) { - instance = new DataObjectFactory(); - } - return instance; - } - - /** - * Create a new DataObjectFactory. - * - * Protected to disallow multiple instances. - */ - protected DataObjectFactory() { - } - - /** - * Return the signature environment, i.e., the root element of the - * document, into which the signature will be inserted (if created) or which - * contains the signature (if verified). - * - * @param content The Content object containing the signature - * environment. - * @param supplements Additional schema or DTD information. - * @return The signature environment or null, if no - * signature environment exists. - * @throws MOASystemException A system error occurred building the signature - * environment (see message for details). - * @throws MOAApplicationException An error occurred building the signature - * environment (see message for details). - */ - public XMLDataObject createSignatureEnvironment( - Content content, - List supplements) - throws MOASystemException, MOAApplicationException { - - String reference = content.getReference(); - EntityResolver entityResolver; - byte[] contentBytes; - - // check for content and reference not being set at the same time - checkAllowContentAndReference(content, false); - - // build the EntityResolver for validating parsing - if ((supplements == null) || supplements.isEmpty()) { - entityResolver = new MOASPSSEntityResolver(); - } else { - EntityResolverChain chain = new EntityResolverChain(); - - chain.addEntityResolver(buildSupplementEntityResolver(supplements)); - chain.addEntityResolver(new MOASPSSEntityResolver()); - entityResolver = chain; - } - - // convert the content into a byte array - try { - switch (content.getContentType()) { - case Content.BINARY_CONTENT : - { - InputStream is = ((ContentBinary) content).getBinaryContent(); - contentBytes = StreamUtils.readStream(is); - break; - } - case Content.LOCREF_CONTENT: - { - String locRefURI = ((ContentLocRef) content).getLocationReferenceURI(); - InputStream is = null; - try - { - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - is = context.ResolveURI(locRefURI); - if (is == null) { - ExternalURIResolver uriResolver = new ExternalURIResolver(); - is = uriResolver.resolve(locRefURI); - } - contentBytes = StreamUtils.readStream(is); - } - catch (MOAApplicationException e) - { - throw new MOAApplicationException("3203", new Object[]{reference, locRefURI}, e); - } - finally - { - closeInputStream(is); - } - break; - } - case Content.REFERENCE_CONTENT : - { - ExternalURIResolver uriResolver = new ExternalURIResolver(); - InputStream is = null; - try - { - is = uriResolver.resolve(reference); - contentBytes = StreamUtils.readStream(is); - } - catch (Exception e) - { - throw e; - } - finally - { - closeInputStream(is); - } - break; - } - case Content.XML_CONTENT : - { - Element element = - checkForSingleElement(((ContentXML) content).getXMLContent()); - contentBytes = DOMUtils.serializeNode(element, "UTF-8"); - - break; - } - default : { - contentBytes = null; // this will not happen - } - } - } catch (MOAApplicationException e) { - throw e; - } catch (Exception e) { - throw new MOAApplicationException("2219", null); - } - - if (Logger.isTraceEnabled()) { - // For logging in Debug-Mode: Mask baseid with xxx - String logString = new String(contentBytes); - // TODO use RegExp - String startS = ""; - String endS = "urn:publicid:gv.at:baseid"; - String logWithMaskedBaseid = logString; - int start = logString.indexOf(startS); - if (start > -1) { - int end = logString.indexOf(endS); - if (end > -1) { - logWithMaskedBaseid = logString.substring(0, start); - logWithMaskedBaseid += startS; - logWithMaskedBaseid += "xxxxxxxxxxxxxxxxxxxxxxxx"; - logWithMaskedBaseid += logString.substring(end, logString.length()); - } - } - - // try to parse validating - Logger.trace(">>> parsing the following content: \n" + logWithMaskedBaseid); - } - try { - ByteArrayInputStream is = new ByteArrayInputStream(contentBytes); - Document doc = - DOMUtils.parseDocument( - is, - true, - Constants.ALL_SCHEMA_LOCATIONS, - null, - entityResolver, - new MOAErrorHandler(), - null); - Logger.trace("<<< parsed"); - - return new XMLDataObjectImpl(doc.getDocumentElement()); - } catch (Exception e) { - // never mind, we'll try non-validating - MessageProvider msg = MessageProvider.getInstance(); - Logger.info(new LogMsg(msg.getMessage("invoker.00", null))); - } - - // try to parse non-validating - try { - ByteArrayInputStream is = new ByteArrayInputStream(contentBytes); - Document doc = DOMUtils.parseDocument(is, false, null, null, null); - // Since the parse tree will not contain any post schema validation information, - // we need to register any attributes known to be of type xsd:Id manually. - NodeList idAttributes = XPathUtils.selectNodeList(doc.getDocumentElement(), XPATH); - for (int i = 0; i < idAttributes.getLength(); i++) { - Node item = idAttributes.item(i); - if (item instanceof Attr) { - Attr attr = (Attr) item; - Element owner = attr.getOwnerElement(); - // Only available in DOM-Level 3 (Java 1.5): - // owner.setIdAttributeNode(attr, true); - if (doc instanceof CoreDocumentImpl) { - ((CoreDocumentImpl) doc).putIdentifier(attr.getValue(), owner); - } - } - } - return new XMLDataObjectImpl(doc.getDocumentElement()); - } catch (Exception e) { - throw new MOAApplicationException("2218", null); - } - } - - /** - * Create an XMLDataObject from the given signature environment. - * - * @param signatureEnvironment The signature environment contained in the - * result. - * @param uri The URI identifying the data. This must be either the empty - * URI, an URI starting with "#xpointer", "#xmlns" - * or "#element"; or an URI starting with "#" and - * followed by an element ID. - * @param referenceID The reference ID to set for the data object. - * @return A data object containing the signature environment. - */ - public DataObject createFromSignatureEnvironment( - Element signatureEnvironment, - String uri, - String referenceID) - throws MOAApplicationException { - - DataObjectImpl dataObject = null; - - if ("".equals(uri)) { - dataObject = new XMLDataObjectImpl(signatureEnvironment); - } else if ( - uri.startsWith("#xpointer") - || uri.startsWith("#xmlns") - || uri.startsWith("#element")) { - try { - XPointerReferenceResolver resolver = new XPointerReferenceResolver(); - URI uriObj = new URI(uri); - NodeList nodes = - resolver.resolveForest( - uriObj, - signatureEnvironment.getOwnerDocument(), - null); - dataObject = new XMLNodeListDataObjectImpl(nodes); - } catch (Exception e) { - throw new MOAApplicationException("2237", new Object[] { uri }); - } - } else if (uri.startsWith("#")) { - String id = uri.substring(1); - Element refElem = - signatureEnvironment.getOwnerDocument().getElementById(id); - - if (refElem == null) { - throw new MOAApplicationException("2237", new Object[] { id }); - } - dataObject = new XMLDataObjectImpl(refElem); - } - - dataObject.setReferenceID(referenceID); - dataObject.setURI(uri); - - return dataObject; - } - - /** - * Build a StreamEntityResolver from a List of - * supplements. - * - * @param supplements The supplements, given as - * XMLDataObjectAssociations. - * @return A StreamEntityResolver mapping the supplements by - * their reference URI to an InputStream of their respective - * content. - */ - private static StreamEntityResolver buildSupplementEntityResolver(List supplements) - throws MOAApplicationException - { - Map entities = new HashMap(); - Iterator iter; - - for (iter = supplements.iterator(); iter.hasNext();) { - XMLDataObjectAssociation supplement = - (XMLDataObjectAssociation) iter.next(); - Content content = supplement.getContent(); - String reference = content.getReference(); - - switch (content.getContentType()) { - case Content.BINARY_CONTENT : - { - entities.put(reference, ((ContentBinary) content).getBinaryContent()); - break; - } - case Content.LOCREF_CONTENT: - { - String locRefURI = ((ContentLocRef) content).getLocationReferenceURI(); - - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - if (context.FindResolvedEntity(locRefURI)==null) { - - ExternalURIResolver uriResolver = new ExternalURIResolver(); - InputStream uriStream = null; - byte[] contentBytes; - String contentType = null; - try - { - uriStream = uriResolver.resolve(locRefURI); - contentBytes = StreamUtils.readStream(uriStream); - contentType = uriResolver.getContentType(); - } - catch (Exception e) - { - throw new MOAApplicationException("3202", new Object[]{reference, locRefURI}, e); - } - finally - { - closeInputStream(uriStream); - } - context.PutResolvedEntity(locRefURI, contentBytes, contentType); - } - InputStream contentIS = context.ResolveURI(locRefURI); - entities.put(reference, contentIS); - break; - } - case Content.XML_CONTENT : - { - // serialize the first element node that is found in the supplement - // and make it available as a stream - NodeList nodes = ((ContentXML) content).getXMLContent(); - int i = 0; - - // find the first element node - while ((i < nodes.getLength()) - && (nodes.item(i).getNodeType() != Node.ELEMENT_NODE)) { - i++; - } - - // serialize the node - if (i < nodes.getLength()) { - try - { - byte[] serialized = DOMUtils.serializeNode(nodes.item(i), "UTF-8"); - entities.put(reference, new ByteArrayInputStream(serialized)); - } - catch (Exception e) - { - throw new MOAApplicationException("2281", new Object[]{reference}, e); - } - } - break; - } - } - } - - return new StreamEntityResolver(entities); - } - - /** - * Create a DataObject from a Content object. - * - * @param content The Content object containing the data. - * @param finalDataMetaInfo The meta information corresponding with content. - * @param referenceID The reference ID to set in the resulting - * DataObject. May be null. - * @param allowContentAndReference If true, then - * content is allowed to contain both a Reference - * attribute and content. Otherwise, either a Reference - * attribute or content must be set. - * @param binaryAsXml If true, a content child given as - * Base64Content must contain XML data. - * @param xmlAsNodeList If true, the children of a - * XMLContent child element are returned as a - * XMLNodeListDataObject. Otherwise, XMLContent may - * only contain a single child node, which must be an element and which is - * returned as an XMLDataObject. - * @param referenceAsXml If true, then content loaded from the - * URI given as the Reference attribute must be XML data. - * If false, an attempt is made to parse the data as XML and - * return an XMLDataObject but if this fails, a - * BinaryDataObject is returned containing a byte stream to the - * data. - * @return A DataObject representing the data in - * content. If base64AsXml==true and - * xmlAsNodeList==false and referenceAsXml==true, - * then the result can safely be cast to an XMLDataObject. - * @throws MOASystemException An error indicating an internal problem. See the - * wrapped exception for details. - * @throws MOAApplicationException An error occurred handling the content - * (probably while opening a reference or parsing the data). See the wrapped - * exception for details. - */ - public DataObject createFromContentOptionalRefType( - Content content, - MetaInfo finalDataMetaInfo, - String referenceID, - boolean allowContentAndReference, - boolean binaryAsXml, - boolean xmlAsNodeList, - boolean referenceAsXml) - throws MOASystemException, MOAApplicationException { - - String reference = content.getReference(); - DataObjectImpl dataObject = null; - - checkAllowContentAndReference(content, allowContentAndReference); - - // ok, build the data object; use content first, if available - switch (content.getContentType()) - { - case Content.XML_CONTENT : - { - ContentXML contentXml = (ContentXML) content; - dataObject = createFromXmlContent(contentXml, xmlAsNodeList); - break; - } - case Content.BINARY_CONTENT : - { - ContentBinary contentBinary = (ContentBinary) content; - dataObject = createFromBinaryContent(contentBinary, binaryAsXml, false); - break; - } - case Content.LOCREF_CONTENT : - { - String locRefURI = ((ContentLocRef) content).getLocationReferenceURI(); - try - { - dataObject = createFromURIImpl(locRefURI, referenceAsXml); - } - catch (MOAApplicationException e) - { - throw new MOAApplicationException("3201", new Object[]{reference, locRefURI}, e); - } - break; - } - case Content.REFERENCE_CONTENT : - { - dataObject = createFromURIImpl(reference, referenceAsXml); - break; - } - } - - // set URI and reference ID - dataObject.setURI(reference); - dataObject.setReferenceID(referenceID); - - // set Type gathered from corresponding meta information - dataObject.setTypeURI(finalDataMetaInfo.getType()); - - return dataObject; - } - - /** - * Check, if content and reference URIs are allowed in the content an throw - * an exception if an illegal combination of the two occurs. - * - * @param content The Content to check. - * @param allowContentAndReference Whether explicit content and a reference - * are allowed at the same time. - * @throws MOAApplicationException If allowContentAndRefernece - * is false and both explicit content and reference are set, - * an exception is thrown. - */ - private static void checkAllowContentAndReference( - Content content, - boolean allowContentAndReference) - throws MOAApplicationException { - String reference = content.getReference(); - - // check for content and reference not being set - if ((content.getContentType() == Content.REFERENCE_CONTENT) - && (reference == null)) { - String errorCode = allowContentAndReference ? "1111" : "1110"; - throw new MOAApplicationException(errorCode, null); - } - - // if we only allow either content or reference being set at once, check - if (!allowContentAndReference - && (content.getContentType() != Content.REFERENCE_CONTENT) - && (reference != null)) { - throw new MOAApplicationException("1110", null); - } - } - - /** - * Create a DataObject from a - * XMLDataObjectAssociation object. - * - * @param xmlDataObjAssoc The XMLDataObjectAssociation object. - * @param xmlContentAllowed Whether the content contained in the - * xmlDataObjAssoc is allowed to be of type - * XML_CONTENT. - * @param binaryContentRepeatable If binary content must be provided as a - * DataObject that can be read multiple times. - * @return A DataObject representing the data in - * xmlDataObjAssoc. - * @throws MOASystemException An error indicating an internal problem. See the - * wrapped exception for details. - * @throws MOAApplicationException An error occurred handling the content - * (probably while parsing the data). See the wrapped exception for details. - */ - public DataObject createFromXmlDataObjectAssociation( - XMLDataObjectAssociation xmlDataObjAssoc, - boolean xmlContentAllowed, - boolean binaryContentRepeatable) - throws MOASystemException, MOAApplicationException { - - Content content = xmlDataObjAssoc.getContent(); - MetaInfo metaInfo = xmlDataObjAssoc.getMetaInfo(); - String mimeType = metaInfo != null ? metaInfo.getMimeType() : null; - DataObjectImpl dataObject = null; - - switch (content.getContentType()) - { - case Content.XML_CONTENT : - { - if (xmlContentAllowed) - { - dataObject = createFromXmlContent((ContentXML) content, true); - } - else - { - throw new MOAApplicationException("2280", null); - } - break; - } - case Content.BINARY_CONTENT : - { - dataObject = createFromBinaryContent( - (ContentBinary) content, - false, - binaryContentRepeatable); - break; - } - case Content.LOCREF_CONTENT : - { - String locRefURI = ((ContentLocRef) content).getLocationReferenceURI(); - try - { - dataObject = createFromURIImpl(locRefURI, false); - } - catch (MOAApplicationException e) - { - throw new MOAApplicationException("3201", new Object[]{content.getReference(), locRefURI}, e); - } - break; - } - } - - dataObject.setURI(content.getReference()); - dataObject.setMimeType(mimeType); - return dataObject; - } - - /** - * Create a DataObject from a TransformParameter - * object. - * - * @param transformParameter The TransformParameter object - * containing the data. - * @return A DataObject representing the data in - * root. - * @throws MOASystemException An error indicating an internal problem. See the - * wrapped exception for details. - * @throws MOAApplicationException An error occurred handling the content - * (probably while opening a reference or parsing the data). See the wrapped - * exception for details. - */ - public DataObject createFromTransformParameter(TransformParameter transformParameter) - throws MOASystemException, MOAApplicationException { - - DataObjectImpl dataObject; - - switch (transformParameter.getTransformParameterType()) { - case TransformParameter.BINARY_TRANSFORMPARAMETER : - TransformParameterBinary tpBinary = - (TransformParameterBinary) transformParameter; - - try { - //dataObject = new ByteArrayDataObjectImpl(Base64Utils.encode(tpBinary.getBinaryContent())); - dataObject = - new ByteArrayDataObjectImpl( - StreamUtils.readStream(tpBinary.getBinaryContent())); - } catch (Exception e) { - return null; - } - //dataObject = new ByteStreamDataObjectImpl(tpBinary.getBinaryContent()); - break; - default : - // resolve uri and build the content - ExternalURIResolver resolver = new ExternalURIResolver(); - InputStream is = resolver.resolve(transformParameter.getURI()); - ByteArrayInputStream bis; - try - { - bis = new ByteArrayInputStream(StreamUtils.readStream(is)); - } - catch (IOException e) - { - throw new MOAApplicationException("2238", new Object[] {transformParameter.getURI()}, e); - } - finally - { - closeInputStream(is); - } - String contentType = resolver.getContentType(); - dataObject = new ByteStreamDataObjectImpl(bis); - dataObject.setMimeType(contentType); - break; - } - - dataObject.setURI(transformParameter.getURI()); - - return dataObject; - } - - /** - * Create a DataObject from data located at the given URI. - * - * @param uri The URI where the data is located. This method uses - * an ExternalURIResolver to resolve URIs. - * @param asXml If true, a DataObject is only - * returned, if the content consists of XML data. If it does not consist of - * XML data, an MOAApplicationException will be thrown. If this - * parameter is false and the content consists of XML data, this - * method will still attempt to parse it. - * @return The DataObject contained at the URI. - * @throws MOASystemException A system error parsing the XML content. - * @throws MOAApplicationException An error occurred on opening, reading or - * parsing the data behind the URI. - */ - public DataObject createFromURI(String uri, boolean asXml) - throws MOASystemException, MOAApplicationException { - return createFromURIImpl(uri, asXml); - } - - /** - * Create a DataObject from data located at the given URI. - * - * @param uri The URI where the data is located. This method uses - * an ExternalURIResolver to resolve URIs. - * @param asXml If true, a DataObject is only - * returned, if the content consists of XML data. If it does not consist of - * XML data, an MOAApplicationException will be thrown. If this - * parameter is false and the content type is detected as being - * XML data, this method will still attemt to parse it. - * @return The DataObject contained at the URI. - * @throws MOASystemException A system error parsing the XML content. - * @throws MOAApplicationException An error occurred on opening, reading or - * parsing the data behind the URI. - */ - private DataObjectImpl createFromURIImpl(String uri, boolean asXml) - throws MOASystemException, MOAApplicationException { - - Logger.trace(">>> resolving uri \"" + uri + "\""); - - ExternalURIResolver resolver = new ExternalURIResolver(); - - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - InputStream is = context.ResolveURI(uri); - String contentType = null; - boolean foundURI = false; - if (is == null) { - is = resolver.resolve(uri); - contentType = resolver.getContentType(); - } else { - foundURI = true; - contentType = (String) context.FindResolvedEntity(uri).get(1); - Logger.trace("found \"" + uri + "\" InputStream in preread Supplements!, do not read any more. Content=" + contentType); - } - - DataObjectImpl dataObject; - - // read the content - if ((contentType != null) && contentTypeIsXml(contentType)) { - Document doc; - - if (asXml) { - try { - // try parsing non-validating: this has to succeed or we - // bail out by throwing an exception - is = resolver.resolve(uri); - doc = DOMUtils.parseDocument(is, false, null, null, null); - dataObject = new XMLDataObjectImpl(doc.getDocumentElement()); - } catch (ParserConfigurationException e) { - throw new MOASystemException("1106", null, e); - } catch (SAXException e) { - throw new MOAApplicationException("2209", null, e); - } catch (IOException e) { - throw new MOAApplicationException("2210", null, e); - } - finally - { - closeInputStream(is); - } - } else { - try { - // try parsing non-validating: need not succeed - is = resolver.resolve(uri); - doc = DOMUtils.parseDocument(is, false, null, null, null); - closeInputStream(is); - dataObject = new XMLDataObjectImpl(doc.getDocumentElement()); - } catch (Exception e) { - // this is the last chance: return the data as a byte stream - Logger.trace(">>> reading stream for \"" + uri + "\""); - is = resolver.resolve(uri); - ByteArrayInputStream bis; - try - { - bis = new ByteArrayInputStream(StreamUtils.readStream(is)); - dataObject = new ByteStreamDataObjectImpl(bis); - } - catch (IOException e1) - { - throw new MOAApplicationException("2210", new Object[] { uri }, e1); - } - finally - { - closeInputStream(is); - } - Logger.trace(">>> read stream for \"" + uri + "\""); - } - } - } - - else if (asXml) - { - // if we need XML data, we're in the wrong place here - closeInputStream(is); - throw new MOAApplicationException("2211", new Object[] { uri }); - } - else - { - // content is binary: make it available as a binary input stream - Logger.trace(">>> getting binary input for \"" + uri + "\""); - byte[] contentBytes; - ByteArrayInputStream bis; - try - { - contentBytes = StreamUtils.readStream(is); - bis = new ByteArrayInputStream(contentBytes); - } - catch (IOException e) - { - throw new MOAApplicationException("2210", null, e); - } - finally - { - closeInputStream(is); - } - if (!foundURI) { - context.PutResolvedEntity(uri, contentBytes, contentType); - } - dataObject = new ByteStreamDataObjectImpl(bis); - Logger.trace("<<< got binary input for \"" + uri + "\""); - } - - dataObject.setMimeType(contentType); - dataObject.setURI(uri); - - Logger.trace("<<< resolved uri \"" + uri + "\""); - - return dataObject; - } - - /** - * Savely closes the specified input stream. - * - * @param is The input stream to be closed. - */ - private static void closeInputStream(InputStream is) - { - try - { - if (is != null) { - is.close(); - } - } - catch (Throwable t) - { - // Intentionally do nothing here - } - } - - /** - * Determine whether the content type is XML. - * - * Content types recognized as XML start with text/xml and - * application/xml. - * - * @param contentType The content MIME type. - * @return boolean If true, the content type is XML, otherwise - * not. - */ - private static boolean contentTypeIsXml(String contentType) { - return contentType.startsWith("text/xml") - || (contentType.startsWith("application/xml")); - } - - /** - * Create a DataObject from a ContentXML object. - * - * @param xmlContent The ContentXML object from - * which the DataObject is to be built. - * @param xmlAsNodeList If true, the children of - * xmlContent are returned as a - * XMLNodeListDataObject. Otherwise, - * xmlContent may only contain a single child node, which must be - * an element and which is returned as an XMLDataObject. - * @return A DataObject representing the XML content in - * xmlContent. - * @throws MOAApplicationException If xmlAsNodeList is - * false and xmlContent does not have a single child - * element. - */ - private DataObjectImpl createFromXmlContent( - ContentXML xmlContent, - boolean xmlAsNodeList) - throws MOAApplicationException { - - DataObjectImpl dataObject; - - if (xmlAsNodeList) { - dataObject = new XMLNodeListDataObjectImpl(xmlContent.getXMLContent()); - } else { - NodeList nodes = xmlContent.getXMLContent(); - Element element = checkForSingleElement(nodes); - - // build the XMLDataObject - dataObject = new XMLDataObjectImpl(element); - } - return dataObject; - } - - /** - * Check, that the given NodeList contains a single DOM element - * node and return it, otherwise throw an exception. - * - * @param nodes The NodeList to check for a single element. - * @return The single element contained in nodes. - * @throws MOAApplicationException Thrown, if nodes does not - * contain exactly 1 element node. - */ - private Element checkForSingleElement(NodeList nodes) - throws MOAApplicationException { - - Element element = null; - int i; - - // check for a single element node - for (i = 0; i < nodes.getLength(); i++) { - if (nodes.item(i).getNodeType() == Node.ELEMENT_NODE) { - if (element == null) { - element = (Element) nodes.item(i); - } else { - throw new MOAApplicationException("1109", null); - } - } - } - - // return the element node - if (element == null) { - throw new MOAApplicationException("1107", null); - } else { - return element; - } - } - - /** - * Create a DataObject from a ContentBinary object. - * - * @param binaryContent The ContentBinary object containing the - * data. - * @param asXml If true, binaryContent must - * contain XML data. Otherwise, a BinaryDataObject will be - * returned containing a byte stream to the decoded Base64 data. - * @param repeatable If multiple calls to getInputStream() must - * repeatedly return the content of the data object. - * @return A DataObject representing the content contained in - * binaryContent. - * @throws MOASystemException An error indicating an internal problem. See the - * wrapped exception for details. - * @throws MOAApplicationException An error occurred handling the content - * (probably while parsing the data). See the wrapped exception for details. - */ - private DataObjectImpl createFromBinaryContent( - ContentBinary binaryContent, - boolean asXml, - boolean repeatable) - throws MOASystemException, MOAApplicationException { - - InputStream byteStream = binaryContent.getBinaryContent(); - DataObjectImpl dataObject; - - if (asXml) { - Document doc; - - try { - doc = DOMUtils.parseDocument(byteStream, false, null, null, null); - dataObject = new XMLDataObjectImpl(doc.getDocumentElement()); - } catch (ParserConfigurationException e) { - throw new MOASystemException("1106", null, e); - } catch (SAXException e) { - throw new MOAApplicationException("2209", null, e); - } catch (IOException e) { - throw new MOAApplicationException("2210", null, e); - } - } else { - if (repeatable) { - try { - dataObject = - new ByteArrayDataObjectImpl(StreamUtils.readStream(byteStream)); - } catch (IOException e) { - throw new MOAApplicationException("2210", null); - } - } else { - dataObject = new ByteStreamDataObjectImpl(byteStream); - } - } - - return dataObject; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java deleted file mode 100644 index 84172a4d5..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.ixsil.exceptions.URIException; -import iaik.ixsil.util.URI; - -import java.io.IOException; -import java.io.InputStream; -import java.net.HttpURLConnection; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.util.ExternalURIVerifier; - -/** - * Resolve external URIs and provide them as a stream. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ExternalURIResolver { - - /** The MIME type of the content currently resolved. */ - private String contentType; - - /** - * Return a stream to data at the given URI. - * - * This method will try to open an URLConnection to the given - * URI. Access to the file system is disallowed. - * - * @param uriStr The URI to resolve. - * @return InputStream The data contained at the URI. - * @throws MOAApplicationException An error occurred resolving the URI (e.g., - * the URI is syntactically incorrect or the stream could not be opened). - */ - public InputStream resolve(String uriStr) throws MOAApplicationException { - URI uri; - URL url; - URLConnection connection; - InputStream is; - - // build the URI - try { - uri = new URI(uriStr); - } catch (URIException e) { - throw new MOAApplicationException("2207", new Object[] { uriStr }); - } - - // disallow access to local file system - if ("".equals(uri.getScheme()) || "file".equals(uri.getScheme())) { - throw new MOAApplicationException("2213", new Object[] { uriStr }); - } - - // if we have local content (SOAP with attachments) - if ("formdata".equals(uri.getScheme())) { - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - if (context==null) { - //no transaction - throw new MOAApplicationException("2282", new Object[] { uri }); - } else { - InputStream attachmentIs = context.getAttachmentInputStream(uri); - if (attachmentIs != null) { - setContentType(context.getAttachmentContentType(uri.getPath())); - return attachmentIs; - } else { - //maybe attachments provided but no suiting attachment found - throw new MOAApplicationException("2282", new Object[] { uri }); - } - } - } - - // convert URI to URL - try { - // create the URL - url = new URL(uriStr); - //System.out.println("ExternalURIResolver: " + url); - ExternalURIVerifier.verify(url.getHost(), url.getPort()); - - } catch (MalformedURLException e) { - throw new MOAApplicationException("2214", new Object[] { uriStr }); - } - - // build the URLConnection - try { - connection = url.openConnection(); - if ("http".equals(url.getProtocol())) { - HttpURLConnection httpConnection = (HttpURLConnection) connection; - // disallow redirects - httpConnection.setInstanceFollowRedirects(false); - - httpConnection.connect(); - if (httpConnection.getResponseCode() != HttpURLConnection.HTTP_OK) { - throw new MOAApplicationException("2208", new Object[] { uri }); - } - } else if ("https".equals(url.getProtocol())) { - /* - * this doesn't work because of some interaction between the IAIK - * JCE and Sun JSSE that results in an "Invalid AVA format" exception - */ - - /* - HttpsURLConnection httpsConnection = (HttpsURLConnection) connection; - InputStream trustStore = - getClass().getResourceAsStream(DEFAULT_TRUST_STORE); - SSLSocketFactory factory = - SSLUtils.getSSLSocketFactory("jks", trustStore, "changeit"); - httpsConnection.setSSLSocketFactory(factory); - httpsConnection.connect(); - if (httpConnection.getResponseCode() != HttpURLConnection.HTTP_OK) { - throw new MOAApplicationException("2208", new Object[] { uri }); - } - */ - connection.connect(); - } else { - connection.connect(); - } - is = connection.getInputStream(); - } catch (IOException e) { - throw new MOAApplicationException("2208", new Object[] { uri }, e); - } /*catch (GeneralSecurityException e) { - throw new MOAApplicationException("2208", new Object[] { uri }, e); - }*/ - - // set the content type - setContentType(connection.getContentType()); - - return is; - } - - /** - * Set the content type of the data at the URI. - * - * @param contentType The content type to set. - */ - protected void setContentType(String contentType) { - this.contentType = contentType; - } - - /** - * Return the content type of the data detected at the URI from the previous - * call of resolve(). - * - * @return String The content type. - */ - public String getContentType() { - return contentType; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java deleted file mode 100644 index 1136ff2f8..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.server.modules.IAIKException; -import iaik.server.modules.IAIKRuntimeException; - -import java.lang.reflect.Constructor; -import java.util.HashMap; -import java.util.Map; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.MOASystemException; - - -/** - * Map an exception from the iaik namespace to a - * MOAException. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IaikExceptionMapper { - - /** The argument classes for MOAExceptions. */ - private static final Class[] CONSTRUCTOR_ARGS = - new Class[] { String.class, Object[].class, Throwable.class }; - /** The exception mapping, as an array. */ - private static final Object[][] MESSAGES = - { - { iaik.server.modules.IAIKException.class, "9900", MOASystemException.class }, - { iaik.server.modules.IAIKRuntimeException.class, "9901", MOASystemException.class }, - { iaik.server.modules.xmlsign.XMLSignatureCreationException.class, "2220", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.XMLSignatureCreationRuntimeException.class, "2220", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.InvalidKeyException.class, "2221", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.ManifestException.class, "2222", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.ReferenceException.class, "2223", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.HashUnavailableException.class, "2224", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.SignatureAlgorithmException.class, "2225", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.SignatureEmbeddingException.class, "2226", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.SignatureValueException.class, "2227", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.SignedPropertyException.class, "2228", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.SignerCertificateUnavailableException.class, "2229", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.SupplementException.class, "2230", MOAApplicationException.class }, - { iaik.server.modules.xmlsign.TransformationException.class, "2233", MOAApplicationException.class }, - { iaik.server.modules.cmsverify.CMSSignatureVerificationException.class, "2240", MOAApplicationException.class }, - { iaik.server.modules.cmsverify.CMSSignatureVerificationRuntimeException.class, "2240", MOAApplicationException.class }, - { iaik.server.modules.cmsverify.AlgorithmNotSupportedException.class, "2241", MOAApplicationException.class }, - { iaik.server.modules.cmsverify.CMSSignatureParsingException.class, "2242", MOAApplicationException.class }, - { iaik.server.modules.cmsverify.SignerCertificateUnavailableException.class, "2243", MOAApplicationException.class }, - { iaik.server.modules.cmsverify.CMSSignatureVerificationRuntimeException.class, "2247", MOAApplicationException.class }, - { iaik.server.modules.cmsverify.InitException.class, "2248", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.XMLSignatureVerificationException.class, "2240", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.XMLSignatureVerificationRuntimeException.class, "2240", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.AlgorithmNotSupportedException.class, "2241", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.ManifestException.class, "2262", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.PropertiesException.class, "2263", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.ReferenceException.class, "2264", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.HashUnavailableException.class, "2224", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.SignerCertificateUnavailableException.class, "2243", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.SupplementException.class, "2230", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.TransformationException.class, "2265", MOAApplicationException.class }, - { iaik.server.modules.xmlverify.TransformationParsingException.class, "2269", MOAApplicationException.class }, - { iaik.xml.crypto.tsl.ex.TSLEngineDiedException.class, "2290", MOAApplicationException.class }, - { iaik.xml.crypto.tsl.ex.TSLSearchException.class, "2290", MOAApplicationException.class } , - { iaik.server.modules.cmssign.CMSSignatureCreationException.class, "2300", MOAApplicationException.class } , - - - }; - - /** The single instance of this class. */ - private static IaikExceptionMapper instance; - /** The exception mapping, as a Map for fast lookup. */ - private Map messages = new HashMap(); - - /** - * Get the single instance of this class. - * - * @return The single instance of this class. - */ - public static synchronized IaikExceptionMapper getInstance() { - if (instance == null) { - instance = new IaikExceptionMapper(); - } - return instance; - } - - /** - * Create a new IaikExceptionMapper. - * - * Protected to disallow multple instances. - */ - protected IaikExceptionMapper() { - registerMessages(); - } - - /** - * Build the complete IAIKException to message code mapping. - */ - protected void registerMessages() { - int i; - - for (i = 0; i < MESSAGES.length; i++) { - registerMessage( - (Class) MESSAGES[i][0], - (String) MESSAGES[i][1], - (Class) MESSAGES[i][2]); - } - } - - /** - * Register a single IAIKException to message mapping. - * - * @param iaikExceptionClass An exception from the iaik package. - * @param messageId The corresponding error message id. - * @param moaExceptionClass The type of MOAException that the - * IAIKException is mapped to (usually - * MOAApplicationException or MOASystemException). - */ - protected void registerMessage( - Class iaikExceptionClass, - String messageId, - Class moaExceptionClass) { - - messages.put( - iaikExceptionClass, - new ExceptionMappingInfo(messageId, moaExceptionClass)); - } - - /** - * Map an iaik.xml.crypto.tsl.ex.TSLSearchException to a MOAException. - * - * @param tslSearchException The iaik.xml.crypto.tsl.ex.TSLSearchException to map. - * @return A MOAException containing the message for the - * given IAIKException. - */ - public MOAException map(iaik.xml.crypto.tsl.ex.TSLSearchException tslSearchException) { - return mapImpl(tslSearchException); - } - - /** - * Map an iaik.xml.crypto.tsl.ex.TSLEngineDiedException to a MOAException. - * - * @param tslEngineDiedException The iaik.xml.crypto.tsl.ex.TSLEngineDiedException to map. - * @return A MOAException containing the message for the - * given IAIKException. - */ - public MOAException map(iaik.xml.crypto.tsl.ex.TSLEngineDiedException tslEngineDiedException) { - return mapImpl(tslEngineDiedException); - } - - /** - * Map an IAIKException to a MOAException. - * - * @param iaikException The IAIKException to map. - * @return A MOAException containing the message for the - * given IAIKException. - */ - public MOAException map(IAIKException iaikException) { - return mapImpl(iaikException); - } - - /** - * Map an IAIKRuntimeException to a MOAException. - * - * @param iaikException The IAIKException to map. - * @return A MOAException containing the message for the - * given IAIKRuntimeException. - */ - public MOAException map(IAIKRuntimeException iaikException) { - return mapImpl(iaikException); - } - - /** - * Map an IAIKException or IAIKRuntimeException to a - * MOAException. - * - * @param iaikException The IAIKException or - * IAIKRuntimeException to map. - * @return A MOAException containing the message for the - * given IAIKRuntimeException. - */ - private MOAException mapImpl(Exception iaikException) { - MOAException moaException = createMoaException(iaikException); - - if (moaException == null) { - return new MOASystemException("9999", null, iaikException); - } - return moaException; - } - - /** - * Create a MOAException from a given IAIKException - * by looking it up in the mapping. - * - * @param iaikException The IAIKException to map. - * @return A MOAException with an error code corresponding to - * the given IAIKException. Returns null, if no - * mapping could be found. - */ - protected MOAException createMoaException(Exception iaikException) { - ExceptionMappingInfo info = lookupMessage(iaikException.getClass()); - Constructor constructor; - - if (info == null) { - return null; - } - - // instantiate the proper MOAException and return it - try { - constructor = - info.getMoaExceptionClass().getConstructor(CONSTRUCTOR_ARGS); - return (MOAException) constructor.newInstance( - new Object[] { - info.getMessageId(), - new Object[] { iaikException.getMessage()}, - iaikException }); - } catch (Exception e) { - return null; - } - } - - /** - * Recursively look up the message associated with an - * IAIKException. - * - * This method walks up the exception inheritance hierarchy until it finds a - * mapping. - * - * @param iaikExceptionClass The IAIKException to look up. - * @return Information about the message id and - * MOAException class that the iaikExceptionClass - * maps to. If no mapping could be found, null is returned. - */ - protected ExceptionMappingInfo lookupMessage(Class iaikExceptionClass) { - ExceptionMappingInfo info; - - // break if - if (iaikExceptionClass.equals(Exception.class)) { - return null; - } - - // look up the exception class - info = (ExceptionMappingInfo) messages.get(iaikExceptionClass); - if (info == null) { - return lookupMessage(iaikExceptionClass.getSuperclass()); - } - return info; - } - -} - -/** - * A class containing a mapping from an error message ID to a - * MOAException class. - * - * @author Patrick Peck - * @version $Id$ - */ -class ExceptionMappingInfo { - /** The message ID. */ - private String messageId; - /** The MOAException class. */ - private Class moaExceptionClass; - - /** - * Create a new ExceptionMappingInfo. - * - * @param messageId The message ID. - * @param moaExceptionClass The MOAException class. - */ - public ExceptionMappingInfo(String messageId, Class moaExceptionClass) { - this.messageId = messageId; - this.moaExceptionClass = moaExceptionClass; - } - - /** - * Return the message ID. - * - * @return The message ID. - */ - public String getMessageId() { - return messageId; - } - - /** - * Returns the MOAException class that the message ID maps to. - * - * @return The MOAException class. - */ - public Class getMoaExceptionClass() { - return moaExceptionClass; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java deleted file mode 100644 index 0bca8aeb4..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.util.XPathException; -import at.gv.egovernment.moa.util.XPathUtils; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.common.ElementSelector; - -/** - * Utility methods for invoking the IAIK MOA modules. - * - * @author Patrick Peck - * @version $Id$ - */ -public class InvokerUtils { - - /** - * Select the signature parent element. - * - * @param root The root DOM element which contains the signature parent - * element somewhere in its subtree. - * @param location The ElementSelector containing the XPath - * expression to select the signature parent element from the document. - * It is also contains the namespace prefix to URI mapping. - * @return Element The signature parent element. - * @throws MOAApplicationException An error occurred evaluating the - * location. - */ - public static Element evaluateSignatureLocation( - Element root, - ElementSelector location) - throws MOAApplicationException { - - NodeList nodes; - - try { - nodes = - XPathUtils.selectNodeList( - root, - location.getNamespaceDeclarations(), - location.getXPathExpression()); - } catch (XPathException e) { - throw new MOAApplicationException( - "2212", - new Object[] { location.getXPathExpression()}, - e); - } - - if (nodes.getLength() != 1 - || !(nodes.item(0).getNodeType() == Node.ELEMENT_NODE)) { - throw new MOAApplicationException( - "2212", - new Object[] { location.getXPathExpression()}); - } - return (Element) nodes.item(0); - } - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java deleted file mode 100644 index c6eaa4f62..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java +++ /dev/null @@ -1,273 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.xmlbind.ProfileParser; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileID; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileID; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileID; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileID; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; - -/** - * Map ProfileID objects to their explicit represantation. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ProfileMapper { - - /** The parser to parse the profiles. */ - private static ProfileParser profileParser = new ProfileParser(); - - /** - * Map a CreateTransformsInfoProfile to a - * CreateTransformsInfoProfileExplicit. - * - * @param profile The profile object to map. - * @param config The MOA configuration to use for looking up the profile. - * @return profile, if the given profile is of type - * EXPLICIT_CREATETRANSFORMSINFOPROFILE, otherwise the profile - * that is looked up and parsed from the configuration. - * @throws MOAApplicationException An error occurred parsing the profile. - */ - public static CreateTransformsInfoProfileExplicit mapCreateTransformsInfoProfile( - CreateTransformsInfoProfile profile, - ConfigurationProvider config) - throws MOAApplicationException { - - switch (profile.getCreateTransformsInfoProfileType()) { - case CreateTransformsInfoProfile.EXPLICIT_CREATETRANSFORMSINFOPROFILE : - return (CreateTransformsInfoProfileExplicit) profile; - - case CreateTransformsInfoProfile.ID_CREATETRANSFORMSINFOPROFILE : - CreateTransformsInfoProfileID profileIdObj = - (CreateTransformsInfoProfileID) profile; - String profileID = profileIdObj.getCreateTransformsInfoProfileID(); - Element profileElem = config.getCreateTransformsInfoProfile(profileID); - - if (profileElem == null) { - throw new MOAApplicationException("2234", new Object[] { profileID }); - } - - return ( - CreateTransformsInfoProfileExplicit) profileParser - .parseCreateTransformsInfoProfile( - profileElem); - } - return null; // this will not happen - } - - /** - * Map a CreateSignatureEnvironmentProfile to a - * CreateSignatureEnvironmentProfileExplicit. - * - * @param profile The profile object to map. - * @param config The MOA configuration to use for looking up the profile. - * @return profile, if the given profile is of type - * EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE, otherwise the - * profile that is looked up and parsed from the configuration. - * @throws MOAApplicationException An error occurred parsing the profile. - */ - public static CreateSignatureEnvironmentProfileExplicit mapCreateSignatureEnvironmentProfile( - CreateSignatureEnvironmentProfile profile, - ConfigurationProvider config) - throws MOAApplicationException { - - switch (profile.getCreateSignatureEnvironmentProfileType()) { - case CreateSignatureEnvironmentProfile - .EXPLICIT_CREATESIGNATUREENVIRONMENTPROFILE : - - return (CreateSignatureEnvironmentProfileExplicit) profile; - - case CreateSignatureEnvironmentProfile - .ID_CREATESIGNATUREENVIRONMENTPROFILE : - - CreateSignatureEnvironmentProfileID profileIdObj = - (CreateSignatureEnvironmentProfileID) profile; - String profileID = - profileIdObj.getCreateSignatureEnvironmentProfileID(); - Element profileElem = - config.getCreateSignatureEnvironmentProfile(profileID); - - if (profileElem == null) { - throw new MOAApplicationException("2236", new Object[] { profileID }); - } - - return ( - CreateSignatureEnvironmentProfileExplicit) profileParser - .parseCreateSignatureEnvironmentProfile( - profileElem); - - } - return null; - - } - - /** - * Map a List of SupplementProfiles to their - * explicit representation. - * - * @param profiles The profiles to map. - * @param config The MOA configuration to use for looking up profiles. - * @return The mapped profiles. - * @throws MOAApplicationException An error occurred mapping one of the - * profiles. - */ - public static List mapSupplementProfiles( - List profiles, - ConfigurationProvider config) - throws MOAApplicationException { - - List mappedProfiles = new ArrayList(); - Iterator iter; - - for (iter = profiles.iterator(); iter.hasNext();) { - SupplementProfile profile = (SupplementProfile) iter.next(); - mappedProfiles.add(mapSupplementProfile(profile, config)); - } - - return mappedProfiles; - } - - /** - * Map a SupplementProfile to a - * SupplementProfileExplicit. - * - * @param profile The profile object to map. - * @param config The MOA configuration to use for looking up the profile. - * @return profile, if the given profile is of type - * EXPLICIT_SUPPLEMENTPROFILE, otherwise the - * profile that is looked up and parsed from the configuration. - * @throws MOAApplicationException An error occurred parsing the profile. - */ - public static SupplementProfileExplicit mapSupplementProfile( - SupplementProfile profile, - ConfigurationProvider config) - throws MOAApplicationException { - - switch (profile.getSupplementProfileType()) { - case SupplementProfile.EXPLICIT_SUPPLEMENTPROFILE : - return (SupplementProfileExplicit) profile; - - case SupplementProfile.ID_SUPPLEMENTPROFILE : - SupplementProfileID profileIdObj = (SupplementProfileID) profile; - String profileID = profileIdObj.getSupplementProfileID(); - Element profileElem = config.getSupplementProfile(profileID); - - if (profileElem == null) { - throw new MOAApplicationException("2267", new Object[] { profileID }); - } - - return ( - SupplementProfileExplicit) profileParser.parseSupplementProfile( - profileElem); - } - - return null; - } - - /** - * Map a List of VerifyTransformsInfoProfiles to - * their explicit representation. - * - * @param profiles The profiles to map. - * @param config The MOA configuration to use for looking up profiles. - * @return The mapped profiles. - * @throws MOAApplicationException An error occurred mapping one of the - * profiles. - */ - public static List mapVerifyTransformsInfoProfiles( - List profiles, - ConfigurationProvider config) - throws MOAApplicationException { - - List mappedProfiles = new ArrayList(); - Iterator iter; - - for (iter = profiles.iterator(); iter.hasNext();) { - VerifyTransformsInfoProfile profile = - (VerifyTransformsInfoProfile) iter.next(); - mappedProfiles.add(mapVerifyTransformsInfoProfile(profile, config)); - } - - return mappedProfiles; - } - - /** - * Map a VerifyTransformsInfoProfile to a - * VerifyTransformsInfoProfileExplicit. - * - * @param profile The profile object to map. - * @param config The MOA configuration to use for looking up the profile. - * @return profile, if the given profile is of type - * EXPLICIT_VERIFYTRANSFORMSINFOPROFILE, otherwise the - * profile that is looked up and parsed from the configuration. - * @throws MOAApplicationException An error occurred parsing the profile. - */ - public static VerifyTransformsInfoProfileExplicit mapVerifyTransformsInfoProfile( - VerifyTransformsInfoProfile profile, - ConfigurationProvider config) - throws MOAApplicationException { - - switch (profile.getVerifyTransformsInfoProfileType()) { - case VerifyTransformsInfoProfile.EXPLICIT_VERIFYTRANSFORMSINFOPROFILE : - return (VerifyTransformsInfoProfileExplicit) profile; - - case VerifyTransformsInfoProfile.ID_VERIFYTRANSFORMSINFOPROFILE : - VerifyTransformsInfoProfileID profileIdObj = - (VerifyTransformsInfoProfileID) profile; - String profileID = profileIdObj.getVerifyTransformsInfoProfileID(); - Element profileElem = - config.getVerifyTransformsInfoProfile(profileID); - - if (profileElem == null) { - throw new MOAApplicationException("2268", new Object[] { profileID }); - } - - return ( - VerifyTransformsInfoProfileExplicit) profileParser - .parseVerifyTransformsInfoProfile( - profileElem); - } - - return null; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java deleted file mode 100644 index 8f3c0750b..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import at.gv.egovernment.moa.logging.LoggingContext; -import at.gv.egovernment.moa.logging.LoggingContextManager; - -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.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * A utility class for setting up and tearing down thread-local context - * information needed for calling the Invoker classes. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ServiceContextUtils { - - /** - * Set up the thread-local context information needed for calling the various - * Invoker classes. - * - * @throws ConfigurationException An error occurred setting up the - * configuration in the TransactionContext. - */ - public static void setUpContexts() throws ConfigurationException { - TransactionContextManager txMgr = TransactionContextManager.getInstance(); - LoggingContextManager logMgr = LoggingContextManager.getInstance(); - String transactionID = Thread.currentThread().getName(); - - if (txMgr.getTransactionContext() == null) { - TransactionContext ctx = new TransactionContext(transactionID, null, ConfigurationProvider.getInstance()); - txMgr.setTransactionContext(ctx); - } - - if (logMgr.getLoggingContext() == null) { - LoggingContext ctx = new LoggingContext(transactionID); - logMgr.setLoggingContext(ctx); - } - } - - /** - * Tear down thread-local context information. - */ - public static void tearDownContexts() { - TransactionContextManager.getInstance().setTransactionContext(null); - LoggingContextManager.getInstance().setLoggingContext(null); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java deleted file mode 100644 index b746333e6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import java.util.Collections; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.Configurator; -import at.gv.egovernment.moa.spss.api.SignatureCreationService; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; - -/** - * An implementation of the SignatureCreationService, using - * the XMLSignatureCreationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SignatureCreationServiceImpl extends SignatureCreationService { - - /** - * Create an XML signature. - * - * @param request The CreateXMLSignatureRequest containing - * information about the signature(s) to create. - * @return The created signature(s). - * @throws MOAException An error occurred creating the signature(s). - */ - public CreateXMLSignatureResponse createXMLSignature(CreateXMLSignatureRequest request) - throws MOAException { - - XMLSignatureCreationInvoker invoker = - XMLSignatureCreationInvoker.getInstance(); - CreateXMLSignatureResponse response; - - try { - - Configurator.getInstance().init(); - ServiceContextUtils.setUpContexts(); - response = invoker.createXMLSignature(request, Collections.EMPTY_SET); - - return response; - } finally { - ServiceContextUtils.tearDownContexts(); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java deleted file mode 100644 index 5b6033ce1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.Configurator; -import at.gv.egovernment.moa.spss.api.SignatureVerificationService; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; - -/** - * An implementation of the SignatureVerificationService using - * the XMLSignatureVerificationInvoker and the - * CMSSignatureVerificationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SignatureVerificationServiceImpl - extends SignatureVerificationService { - - /** - * Verify a CMS signature. - * - * @param request The VerifyCMSSignatureRequest containing - * information about the signature verification. - * @return The result of the signature verification. - * @throws MOAException An error occurred during signature verification. - */ - public VerifyCMSSignatureResponse verifyCMSSignature(VerifyCMSSignatureRequest request) - throws MOAException { - - CMSSignatureVerificationInvoker invoker = - CMSSignatureVerificationInvoker.getInstance(); - VerifyCMSSignatureResponse response; - - try { - Configurator.getInstance().init(); - ServiceContextUtils.setUpContexts(); - response = invoker.verifyCMSSignature(request); - - return response; - } finally { - ServiceContextUtils.tearDownContexts(); - } - } - - /** - * Verify an XML signature. - * - * @param request The VerifyXMLSignatureRequest containinig - * information about the signature verification. - * @return The result of the signature verification. - * @throws MOAException An error occurred during signature verification. - */ - public VerifyXMLSignatureResponse verifyXMLSignature(VerifyXMLSignatureRequest request) - throws MOAException { - - XMLSignatureVerificationInvoker invoker = - XMLSignatureVerificationInvoker.getInstance(); - VerifyXMLSignatureResponse response; - - try { - - - Configurator.getInstance().init(); - ServiceContextUtils.setUpContexts(); - response = invoker.verifyXMLSignature(request); - - return response; - } finally { - ServiceContextUtils.tearDownContexts(); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java deleted file mode 100644 index 7842f14f6..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java +++ /dev/null @@ -1,282 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import iaik.server.modules.xml.Base64Transformation; -import iaik.server.modules.xml.Canonicalization; -import iaik.server.modules.xml.EnvelopedSignatureTransformation; -import iaik.server.modules.xml.Transformation; -import iaik.server.modules.xml.XPath2Transformation; -import iaik.server.modules.xml.XPathTransformation; -import iaik.server.modules.xml.XSLTTransformation; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.Transform; -import at.gv.egovernment.moa.spss.api.common.XPathFilter; -import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; -import at.gv.egovernment.moa.spss.api.common.XPathTransform; -import at.gv.egovernment.moa.spss.api.common.XSLTTransform; -import at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl; - -/** - * A factory to create Transformation objects from - * Transform objects. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransformationFactory { - - - /** The single instance of this class. */ - private static TransformationFactory instance = null; - - /** Maps XPathFilter filter types to - * XPath2Transformation filter types. */ - private static Map FILTER_TYPE_MAPPING; - - static { - FILTER_TYPE_MAPPING = new HashMap(); - - FILTER_TYPE_MAPPING.put( - XPathFilter.INTERSECT_TYPE, - XPath2Transformation.XPath2Filter.INTERSECTION); - FILTER_TYPE_MAPPING.put( - XPathFilter.SUBTRACT_TYPE, - XPath2Transformation.XPath2Filter.SUBTRACTION); - FILTER_TYPE_MAPPING.put( - XPathFilter.UNION_TYPE, - XPath2Transformation.XPath2Filter.UNION); - } - - /** - * Get the single instance of the factory. - * - * @return TransformationFactory The single instance. - */ - public static synchronized TransformationFactory getInstance() { - if (instance == null) { - instance = new TransformationFactory(); - } - return instance; - } - - /** - * Create a new TransformationFactory. - * - * Protected to disallow multiple instances. - */ - protected TransformationFactory() { - } - - /** - * Create a Transformation based on a - * Transform object. - * - * @param transform The Transform object to extract - * transformation data from. - * @return The transformation contained in the transform - * object. - * @throws MOAApplicationException An error occured creating the - * Transformation. See exception message for details. - */ - public Transformation createTransformation(Transform transform) - throws MOAApplicationException { - String algorithmUri = transform.getAlgorithmURI(); - - if (Canonicalization.CANONICAL_XML.equals(algorithmUri) - || Canonicalization.CANONICAL_XML_WITH_COMMENTS.equals(algorithmUri)) { - return createC14nTransformation(algorithmUri); - } else if ( - Canonicalization.EXCLUSIVE_CANONICAL_XML.equals(algorithmUri) - || Canonicalization.EXCLUSIVE_CANONICAL_XML_WITH_COMMENTS.equals( - algorithmUri)) { - - return createExclusiveC14nTransformation( - (ExclusiveCanonicalizationTransform) transform); - - } else if (Base64Transformation.ALL.contains(algorithmUri)) { - return createBase64Transformation(); - } else if (EnvelopedSignatureTransformation.ALL.contains(algorithmUri)) { - return createEnvelopedSignatureTransformation(); - } else if (XPathTransformation.ALL.contains(algorithmUri)) { - return createXPathTransformation((XPathTransform) transform); - } else if (XPath2Transformation.ALL.contains(algorithmUri)) { - return createXPath2Transformation((XPathFilter2Transform) transform); - } else if (XSLTTransformation.ALL.contains(algorithmUri)) { - return createXSLTTransformation((XSLTTransform) transform); - } else { - throw new MOAApplicationException("1108", new Object[] { algorithmUri }); - } - } - - /** - * Create a List of Transformations from a - * List of Transforms. - * - * @param transforms The List containing the - * Transforms. - * @return The List of Transformations corresponding - * to the transforms. - * @throws MOAApplicationException An error occurred building one of the - * transformations. See exception message for details. - */ - public List createTransformationList(List transforms) - throws MOAApplicationException { - List transformationList = new ArrayList(); - Iterator trIter; - - for (trIter = transforms.iterator(); trIter.hasNext();) { - Transform transform = (Transform) trIter.next(); - transformationList.add(createTransformation(transform)); - } - - return transformationList; - } - - /** - * Create a Canonicalization. - * - * @param algorithmUri The algorithm URI of the canonicalization. - * @return The Canonicalization. - */ - private Transformation createC14nTransformation(String algorithmUri) { - return new CanonicalizationImpl(algorithmUri); - } - - /** - * Create a ExclusiveCanonicalization. - * - * @param transform The ExclusiveCanonicalizationTransform - * containing the transformation data. - * @return The ExclusiveCanonicalization. - */ - private Transformation createExclusiveC14nTransformation(ExclusiveCanonicalizationTransform transform) { - return new ExclusiveCanonicalizationImpl( - transform.getAlgorithmURI(), - transform.getInclusiveNamespacePrefixes()); - } - - /** - * Create a Base64Transformation. - * - * @return The - */ - private Transformation createBase64Transformation() { - return new Base64TransformationImpl(); - } - - /** - * Create an EnvelopedSignatureTransformation. - * - * @return An EnvelopedSignatureTransformation. - */ - private Transformation createEnvelopedSignatureTransformation() { - return new EnvelopedSignatureTransformationImpl(); - } - - /** - * Create an XPathTransformation. - * - * @param transform The Transform object containing the - * XPath transformation. - * @return An XPathTransformation corresponding the - * transformation given in transform. - * @throws MOAApplicationException An error occurred creating the - * Transformation. - */ - private Transformation createXPathTransformation(XPathTransform transform) - throws MOAApplicationException { - - return new XPathTransformationImpl( - transform.getXPathExpression(), - transform.getNamespaceDeclarations()); - } - - /** - * Create an XPath2Transformation. - * - * @param transform The Transform object containing the - * XPath filter transformation. - * @return An XPath2Transformation corresponding the - * transformation given in transform. - * @throws MOAApplicationException An error occurred creating the - * Transformation. - */ - private Transformation createXPath2Transformation(XPathFilter2Transform transform) - throws MOAApplicationException { - - XPath2TransformationImpl xpath2 = new XPath2TransformationImpl(); - Iterator iter; - - for (iter = transform.getFilters().iterator(); iter.hasNext();) { - XPathFilter filter = (XPathFilter) iter.next(); - String mappedFilterType = - (String) FILTER_TYPE_MAPPING.get(filter.getFilterType()); - XPath2FilterImpl mappedFilter = - new XPath2FilterImpl( - mappedFilterType, - filter.getXPathExpression(), - filter.getNamespaceDeclarations()); - xpath2.addXPathFilter(mappedFilter); - } - - if (xpath2.getXPathFilters().size() == 0) { - throw new MOAApplicationException("2216", null); - } - - return xpath2; - } - - /** - * Create an XSLTTransformation. - * - * @param transform The Transform containing the XSLT stylesheet. - * @return An XSLTTransformation corresponding the transformation - * given in transform. - * @throws MOAApplicationException An error occurred creating the - * Transformation. - */ - private Transformation createXSLTTransformation(XSLTTransform transform) - throws MOAApplicationException { - - return new XSLTTransformationImpl(transform.getStylesheet()); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java deleted file mode 100644 index 1ea10cb4e..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.server.modules.cmsverify.CMSSignatureVerificationResult; -import iaik.server.modules.cmsverify.CertificateValidationResult; - -import java.security.cert.X509Certificate; -import java.util.ArrayList; -import java.util.List; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; - -/** - * A class to build a VerifyCMSSignatureResponse object. - * - *

Via subsequent calls to addResult() a number of results from - * a CMS signature verification can be added to the response.

- * - *

The getResponseElement() method then returns the - * VerifyCMSSignatureResponse built so far.

- * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyCMSSignatureResponseBuilder { - /** The SPSSFactory for creating API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - /** The elements making up the response. */ - private List responseElements = new ArrayList(); - - /** - * Get the VerifyCMSSignatureResponse built so far. - * - * @return The VerifyCMSSignatureResponse built so far. - */ - public VerifyCMSSignatureResponse getResponse() { - return factory.createVerifyCMSSignatureResponse(responseElements); - } - - /** - * Add a verification result to the response. - * - * @param result The result to add. - * @param trustprofile The actual trustprofile - * @param checkQCFromTSL true, if the TSL check verifies the - * certificate as qualified, otherwise false. - * @param checkSSCD true, if the TSL check verifies the - * signature based on a SSDC, otherwise false. - * @param sscdSourceTSL true, if the SSCD information comes from the TSL, - * otherwise false. - * @throws MOAException - */ - public void addResult(CMSSignatureVerificationResult result, TrustProfile trustProfile, boolean checkQC, boolean qcSourceTSL, boolean checkSSCD, boolean sscdSourceTSL, String issuerCountryCode) - throws MOAException { - - CertificateValidationResult certResult = - result.getCertificateValidationResult(); - int signatureCheckCode = - result.getSignatureValueVerificationCode().intValue(); - int certificateCheckCode = certResult.getValidationResultCode().intValue(); - - VerifyCMSSignatureResponseElement responseElement; - SignerInfo signerInfo; - CheckResult signatureCheck; - CheckResult certificateCheck; - - boolean qualifiedCertificate = checkQC; - - // add SignerInfo element - signerInfo = - factory.createSignerInfo( - (X509Certificate) certResult.getCertificateChain().get(0), - qualifiedCertificate, - qcSourceTSL, - certResult.isPublicAuthorityCertificate(), - certResult.getPublicAuthorityID(), - checkSSCD, - sscdSourceTSL, - issuerCountryCode); - - // add SignatureCheck element - signatureCheck = factory.createCheckResult(signatureCheckCode, null); - - // add CertificateCheck element - certificateCheck = factory.createCheckResult(certificateCheckCode, null); - - // build the response element - responseElement = - factory.createVerifyCMSSignatureResponseElement( - signerInfo, - signatureCheck, - certificateCheck); - responseElements.add(responseElement); - } - - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java deleted file mode 100644 index 193495171..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java +++ /dev/null @@ -1,486 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.ixsil.algorithms.CanonicalizationAlgorithm; -import iaik.ixsil.algorithms.CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments; -import iaik.server.modules.xml.BinaryDataObject; -import iaik.server.modules.xml.DataObject; -import iaik.server.modules.xml.XMLDataObject; -import iaik.server.modules.xml.XMLNodeListDataObject; -import iaik.server.modules.xmlverify.CertificateValidationResult; -import iaik.server.modules.xmlverify.DsigManifest; -import iaik.server.modules.xmlverify.HashUnavailableException; -import iaik.server.modules.xmlverify.ReferenceData; -import iaik.server.modules.xmlverify.ReferenceInfo; -import iaik.server.modules.xmlverify.SecurityLayerManifest; -import iaik.server.modules.xmlverify.XMLSignatureVerificationProfile; -import iaik.server.modules.xmlverify.XMLSignatureVerificationResult; -import iaik.x509.X509Certificate; - -import java.io.InputStream; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.w3c.dom.DocumentFragment; -import org.w3c.dom.NodeList; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.InputData; -import at.gv.egovernment.moa.spss.api.common.SignerInfo; -import at.gv.egovernment.moa.spss.api.impl.InputDataBinaryImpl; -import at.gv.egovernment.moa.spss.api.impl.InputDataXMLImpl; -import at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResultInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; -import at.gv.egovernment.moa.util.CollectionUtils; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.NodeListAdapter; - -/** - * A class to build a VerifyXMLSignatureResponse object. - * - *

Via a call to addResult() the only result of the - * signature verification must be added.

- * - *

The getResponseElement() method then returns the - * VerifyXMLSignatureResponse built so far.

- * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyXMLSignatureResponseBuilder { - - /** The SPSSFactory for creating API objects. */ - private SPSSFactory factory = SPSSFactory.getInstance(); - - /** Information about the signer certificate. */ - private SignerInfo signerInfo; - /** The hash input data. */ - private List hashInputDatas; - /** The reference input data. */ - private List referenceInputDatas; - /** The result of the signature check. */ - private ReferencesCheckResult signatureCheck; - /** The result of the signature manifest check. */ - private ReferencesCheckResult signatureManifestCheck; - /** The result of the XMLDsig manifest check. */ - private List xmlDsigManifestChecks; - /** The result of the certificate check. */ - private CheckResult certificateCheck; - - /** - * Get the VerifyMLSignatureResponse built so far. - * - * @return The VerifyXMLSignatureResponse built so far. - */ - public VerifyXMLSignatureResponse getResponse() { - return factory.createVerifyXMLSignatureResponse( - signerInfo, - hashInputDatas, - referenceInputDatas, - signatureCheck, - signatureManifestCheck, - xmlDsigManifestChecks, - certificateCheck); - } - - /** - * Sets the verification result to the response. - * - * This method must be called exactly once to ensure a valid - * VerifyXMLSignatureResponse. - * - * @param result The result to set for the response. - * @param profile The profile used for verifying the signature. - * @param transformsSignatureManifestCheck The overall result for the signature - * manifest check. - * @param certificateCheck The overall result for the certificate check. - * @param checkQC true, if the certificate is QC, otherwise false. - * @param qcSourceTSL true, if the QC information comes from the TSL, - * otherwise false. - * @param checkSSCD true, if the signature is created by an SSCD, otherwise false. - * @param sscdSourceTSL true, if the SSCD information comes from the TSL, - * otherwise false. - * @throws MOAApplicationException An error occurred adding the result. - */ - public void setResult( - XMLSignatureVerificationResult result, - XMLSignatureVerificationProfile profile, - ReferencesCheckResult transformsSignatureManifestCheck, - CheckResult certificateCheck, - boolean checkQC, - boolean qcSourceTSL, - boolean checkSSCD, - boolean sscdSourceTSL, - boolean isTSLEnabledTrustprofile, - String issuerCountryCode) - throws MOAApplicationException { - - CertificateValidationResult certResult = - result.getCertificateValidationResult(); - List referenceDataList; - ReferenceData referenceData; - List dsigManifestList; - ReferencesCheckResultInfo checkResultInfo; - int[] failedReferences; - Iterator iter; - - boolean qualifiedCertificate = false; - - qualifiedCertificate = checkQC; - - // create the SignerInfo; - signerInfo = - factory.createSignerInfo( - (X509Certificate) certResult.getCertificateChain().get(0), - qualifiedCertificate, - qcSourceTSL, - certResult.isPublicAuthorityCertificate(), - certResult.getPublicAuthorityID(), - checkSSCD, - sscdSourceTSL, - issuerCountryCode); - - // Create HashInputData Content objects - referenceDataList = result.getReferenceDataList(); - if (profile.includeHashInputData()) { - hashInputDatas = new ArrayList(); - - // Include SignedInfo references - addHashInputDatas( - hashInputDatas, - referenceDataList, - InputData.CONTAINER_SIGNEDINFO_, - InputData.REFERER_NONE_); - - // Include XMLDSIGManifest references - List xMLDSIGManifests = result.getDsigManifestList(); - for (iter = xMLDSIGManifests.iterator(); iter.hasNext();) - { - DsigManifest currentMF = (DsigManifest) iter.next(); - List xMLDSIGMFReferenceDataList = currentMF.getReferenceDataList(); - addHashInputDatas( - hashInputDatas, - xMLDSIGMFReferenceDataList, - InputData.CONTAINER_XMLDSIGMANIFEST_, - currentMF.getReferringReferenceInfo().getReferenceIndex()); - } - } - - // Create the ReferenceInputData Content objects - if (profile.includeReferenceInputData()) { - referenceInputDatas = new ArrayList(); - - // Include SignedInfo references - addReferenceInputDatas( - referenceInputDatas, - referenceDataList, - InputData.CONTAINER_SIGNEDINFO_, - InputData.REFERER_NONE_); - - // Include XMLDSIGManifest references - List xMLDSIGManifests = result.getDsigManifestList(); - for (iter = xMLDSIGManifests.iterator(); iter.hasNext();) - { - DsigManifest currentMF = (DsigManifest) iter.next(); - List xMLDSIGMFReferenceDataList = currentMF.getReferenceDataList(); - addReferenceInputDatas( - referenceInputDatas, - xMLDSIGMFReferenceDataList, - InputData.CONTAINER_XMLDSIGMANIFEST_, - currentMF.getReferringReferenceInfo().getReferenceIndex()); - } - } - - // create the signature check - failedReferences = buildFailedReferences(result.getReferenceDataList()); - checkResultInfo = - failedReferences != null - ? factory.createReferencesCheckResultInfo(null, failedReferences) - : null; - signatureCheck = - factory.createReferencesCheckResult( - result.getSignatureValueVerificationCode().intValue(), - checkResultInfo); - - // create the signature manifest check - if (profile.checkSecurityLayerManifest()) - { - if (transformsSignatureManifestCheck.getCode() == 1) - { - // checking the transforms failed - signatureManifestCheck = transformsSignatureManifestCheck; - } - else if (result.isSecurityLayerManifestRequired()) - { - if (!result.containsSecurityLayerManifest()) - { - // required security layer manifest is missing in signature - signatureManifestCheck = factory.createReferencesCheckResult(2, null); - } - else - { - // security layer manifest exists, so we have to check its validity - SecurityLayerManifest slManifest = result.getSecurityLayerManifest(); - int verificationResult = slManifest.getManifestVerificationResult().intValue(); - - if (SecurityLayerManifest.CODE_MANIFEST_VALID.intValue() == verificationResult) - { - // security layer manifest exists and is free of errors - signatureManifestCheck = factory.createReferencesCheckResult(0, null); - } - else - { - // security layer manifest exists, but has errors - failedReferences = buildFailedReferences(slManifest.getReferenceDataList()); - checkResultInfo = (failedReferences != null) - ? factory.createReferencesCheckResultInfo(null, failedReferences) - : null; - if (SecurityLayerManifest.CODE_MANIFEST_INCOMPLETE.intValue() == verificationResult) - { - signatureManifestCheck = factory.createReferencesCheckResult(3, checkResultInfo); - } - else if (SecurityLayerManifest.CODE_REFERENCE_HASH_INVALID.intValue() == verificationResult) - { - signatureManifestCheck = factory.createReferencesCheckResult(4, checkResultInfo); - } - else - { - // Should not happen - throw new RuntimeException("Unexpected result from security layer manifest verification."); - } - } - } - } - else - { - // no security layer manifest is required, so the signature manifest check is ok - signatureManifestCheck = factory.createReferencesCheckResult(0, null); - } - } - - // create the xmlDsigManifestCheck - if (profile.checkXMLDsigManifests()) { - xmlDsigManifestChecks = new ArrayList(); - dsigManifestList = result.getDsigManifestList(); - for (iter = dsigManifestList.iterator(); iter.hasNext();) { - DsigManifest dsigManifest = (DsigManifest) iter.next(); - int refIndex = - dsigManifest.getReferringReferenceInfo().getReferenceIndex(); - ManifestRefsCheckResultInfo manifestCheckResultInfo; - - failedReferences = - buildFailedReferences(dsigManifest.getReferenceDataList()); - manifestCheckResultInfo = - factory.createManifestRefsCheckResultInfo( - null, - failedReferences, - refIndex); - xmlDsigManifestChecks.add( - factory.createManifestRefsCheckResult( - dsigManifest.getManifestVerificationResult().intValue(), - manifestCheckResultInfo)); - } - } - - // create the certificate check - this.certificateCheck = certificateCheck; - - - - } - - /** - * Adds {@link InputData} entries to the specified inputDatas list. The content of the entry will - * be created from {@link ReferenceData#getHashInputData()}. - * - * @param inputDatas The list to be amended. - * - * @param referenceDataList The list of {@link ReferenceData} objects to be investigated. - * - * @param containerType The type of container of the {@link InputData} objects to be created. - * - * @param refererNumber The number of the referring reference for the {@link InputData} objects to be created. - * - * @throws MOAApplicationException if creating an {@link InputData} fails. - */ - private void addHashInputDatas(List inputDatas, List referenceDataList, String containerType, int refererNumber) - throws MOAApplicationException - { - for (Iterator iter = referenceDataList.iterator(); iter.hasNext();) - { - ReferenceData referenceData = (ReferenceData) iter.next(); - inputDatas.add(buildInputData( - referenceData.getHashInputData(), - containerType, - refererNumber)); - } - } - - /** - * Adds {@link InputData} entries to the specified inputDatas list. The content of the entry will - * be created from {@link ReferenceData#getReferenceInputData()}. - * - * @param inputDatas The list to be amended. - * - * @param referenceDataList The list of {@link ReferenceData} objects to be investigated. - * - * @param containerType The type of container of the {@link InputData} objects to be created. - * - * @param refererNumber The number of the referring reference for the {@link InputData} objects to be created. - * - * @throws MOAApplicationException if creating an {@link InputData} fails. - */ - private void addReferenceInputDatas(List inputDatas, List referenceDataList, String containerType, int refererNumber) - throws MOAApplicationException - { - for (Iterator iter = referenceDataList.iterator(); iter.hasNext();) - { - ReferenceData referenceData = (ReferenceData) iter.next(); - inputDatas.add(buildInputData( - referenceData.getReferenceInputData(), - containerType, - refererNumber)); - } - } - - /** - * Build a InputDataBinaryImpl or an InputDataXMLImpl - * object from the given DataObject and the given attributes. - * - * @param dataObject The DataObject from which to build the result. - * Based on the type of this parameter, the type of the result will either be - * InputDataBinaryImpl or InputDataXMLImpl. - * - * @param partof see {@link InputData} - * - * @param referringReferenceNumber see {@link InputData} - * - * @return The corresponinding input data implementation. - * - * @throws MOAApplicationException An error occurred creating the result. - */ - private Content buildInputData(DataObject dataObject, String partOf, int referringReferenceNumber) - throws MOAApplicationException { - - if (dataObject instanceof BinaryDataObject) { - BinaryDataObject binaryData = (BinaryDataObject) dataObject; - return new InputDataBinaryImpl( - factory.createContent(binaryData.getInputStream(), null), - partOf, - referringReferenceNumber); - } else if (dataObject instanceof XMLDataObject) { - XMLDataObject xmlData = (XMLDataObject) dataObject; - List nodes = new ArrayList(); - - nodes.add(xmlData.getElement()); - return new InputDataXMLImpl( - factory.createContent(new NodeListAdapter(nodes), null), - partOf, - referringReferenceNumber); - } else { // dataObject instanceof XMLNodeListDataObject - // if the data in the NodeList can be converted back to valid XML, - // write it as XMLContent; otherwise, write it as Base64Content - XMLNodeListDataObject nodeData = (XMLNodeListDataObject) dataObject; - NodeList nodes = nodeData.getNodeList(); - - if (DOMUtils.checkAttributeParentsInNodeList(nodes)) { - // insert as XMLContent - try { - DocumentFragment fragment = DOMUtils.nodeList2DocumentFragment(nodes); - - return new InputDataXMLImpl( - factory.createContent(fragment.getChildNodes(), null), - partOf, - referringReferenceNumber); - } catch (Exception e) { - // not successful -> fall through to the Base64Content - } - } - - // insert canonicalized NodeList as binary content - try { - CanonicalizationAlgorithm c14n = - new CanonicalizationAlgorithmImplExclusiveCanonicalXMLWithComments(); - InputStream is; - - c14n.setInput(nodes); - is = c14n.canonicalize(); - return new InputDataBinaryImpl( - factory.createContent(is, null), - partOf, - referringReferenceNumber); - } catch (Exception e) { - throw new MOAApplicationException("2200", null); - } - } - } - - /** - * Build the failed references. - * - * Failed references are references for which the isHashValid() - * method returns false. - * - * @param refInfos A List containing the - * ReferenceInfo objects to be checked. - * @return The indexes of the failed references. - */ - private int[] buildFailedReferences(List refInfos) { - List failedReferencesList = new ArrayList(); - int i; - - // find out the failed references - for (i = 0; i < refInfos.size(); i++) { - ReferenceInfo refInfo = (ReferenceInfo) refInfos.get(i); - - try { - if (refInfo.isHashCalculated() && !refInfo.isHashValid()) { - failedReferencesList.add(new Integer(i + 1)); - } - } catch (HashUnavailableException e) { - // nothing to do here because we called refInfo.isHashCalculated first - } - } - - // convert to an int array - if (failedReferencesList.isEmpty()) { - return null; - } else { - int[] failedReferences = CollectionUtils.toIntArray(failedReferencesList); - - return failedReferences; - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java deleted file mode 100644 index 7debb7b3a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java +++ /dev/null @@ -1,586 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.server.modules.IAIKException; -import iaik.server.modules.IAIKRuntimeException; -import iaik.server.modules.xml.DataObject; -import iaik.server.modules.xml.XMLDataObject; -import iaik.server.modules.xml.XMLSignature; -import iaik.server.modules.xmlsign.XMLSignatureCreationModule; -import iaik.server.modules.xmlsign.XMLSignatureCreationModuleFactory; -import iaik.server.modules.xmlsign.XMLSignatureCreationProfile; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -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.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl; -import at.gv.egovernment.moa.spss.server.logging.IaikLog; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.server.util.IdGenerator; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.XPathUtils; - -/** - * A class providing an API based interface to the - * XMLSignatureCreationModule. - * - * This class performs the invocation of the - * iaik.server.modules.xmlsign.XMLSignatureCreationModule from a - * CreateXMLSignatureRequest given as an API object. The result of - * the invocation is integrated into a CreateXMLSignatureResponse - * and returned. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureCreationInvoker { - - /** The single instance of this class. */ - private static XMLSignatureCreationInvoker instance = null; - - /** - * Get the only instance of this class. - * - * @return The only instance of this class. - */ - public static synchronized XMLSignatureCreationInvoker getInstance() { - if (instance == null) { - instance = new XMLSignatureCreationInvoker(); - } - return instance; - } - - /** - * Create a new XMLSignatureCreationInvoker. - * - * Protected to disallow multiple instances. - */ - protected XMLSignatureCreationInvoker() { - } - - /** - * Process the CreateXMLSignatureRequest message and invoke the - * XMLSignatureCreationModule for every - * SingleSignatureInfo contained in the request. - * - * @param request A CreateXMLSignatureRequest API object - * containing the information for creating the signature(s). - * @param reserved A Set of reserved object IDs. - * - * @return A CreateXMLSignatureResponse API object containing - * the created signature(s). The response contains either a - * SignatureEnvironment or a ErrorResponse - * for each SingleSignatureInfo in the request. - * @throws MOAException An error occurred during signature creation. - */ - public CreateXMLSignatureResponse createXMLSignature( - CreateXMLSignatureRequest request, - Set reserved) - throws MOAException { - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - LoggingContext loggingCtx = - LoggingContextManager.getInstance().getLoggingContext(); - reserved = new HashSet(reserved); - XMLSignatureCreationProfileFactory profileFactory = - new XMLSignatureCreationProfileFactory(request, reserved); - CreateXMLSignatureResponseBuilder responseBuilder = - new CreateXMLSignatureResponseBuilder(); - int createCount = 1; - IdGenerator refIdGen; - XMLSignatureCreationModule module; - Iterator singleSignatureInfoIter; - - // create the XMLSignatureCreationModule and configure it - module = XMLSignatureCreationModuleFactory.getInstance(); - module.setLog(new IaikLog(loggingCtx.getNodeID())); - - // select the SingleSignatureInfo elements - singleSignatureInfoIter = request.getSingleSignatureInfos().iterator(); - - // iterate over all the SingleSignatureInfo elements in the request - while (singleSignatureInfoIter.hasNext()) { - SingleSignatureInfo singleSignatureInfo = - (SingleSignatureInfo) singleSignatureInfoIter.next(); - CreateSignatureInfo createSignatureInfo; - List dataObjectList; - XMLSignatureCreationProfile profile; - XMLDataObject signatureEnvironment; - XMLDataObject signatureParent; - XMLSignature signature; - List additionalSignedProperties; - Node signatureEnvironmentParent = null; - Element requestElement = null; - - try { - - // build the signature environment - createSignatureInfo = singleSignatureInfo.getCreateSignatureInfo(); - if (createSignatureInfo != null) { - DataObjectFactory dataObjFactory = DataObjectFactory.getInstance(); - - signatureEnvironment = - dataObjFactory.createSignatureEnvironment( - createSignatureInfo.getCreateSignatureEnvironment(), - getCreateSignatureEnvironmentProfileSupplements(singleSignatureInfo)); - } else { - signatureEnvironment = null; - } - - HashSet sigInfoReservedIDs = new HashSet(); - if (signatureEnvironment != null) - { - // Find Id attributes of existing XML signatures in signature environment - HashMap nSMap = new HashMap(); - String dsp = Constants.DSIG_PREFIX; - nSMap.put(dsp, Constants.DSIG_NS_URI); - String xPathExpr = "//" + dsp + ":Signature/@Id | //" + dsp + ":Reference/@Id | //" - + dsp + ":Object/@Id | //" + dsp + ":Manifest/@Id"; - NodeList idAttrs = XPathUtils.selectNodeList(signatureEnvironment.getElement(), nSMap, xPathExpr); - - // Add found Id attributes to set of reserved IDs - for (int i = 0; i < idAttrs.getLength(); i++) sigInfoReservedIDs.add(idAttrs.item(i).getNodeValue()); - } - - // create the reference id generator - HashSet allReservedIDs = new HashSet(reserved); - allReservedIDs.addAll(sigInfoReservedIDs); - refIdGen = new IdGenerator("reference-" + createCount++, allReservedIDs); - - // build the list of DataObjects - List createTransformsProfiles = profileFactory.getCreateTransformsInfoProfiles(singleSignatureInfo); - dataObjectList = - buildDataObjectList( - singleSignatureInfo, - createTransformsProfiles, - signatureEnvironment, - refIdGen); - - // build the XMLSignatureCreationProfile - profile = profileFactory.createProfile(singleSignatureInfo, sigInfoReservedIDs); - - // build the additionalSignedProperties - additionalSignedProperties = buildAdditionalSignedProperties(); - - // build the signatureParentElement - if (signatureEnvironment != null) { - signatureParent = - buildSignatureParentElement( - signatureEnvironment.getElement(), - singleSignatureInfo); - } else { - signatureParent = null; - } - - // make the signature environment the root of the document, if it is - // not a separate document anyway; this is done to assure that - // canonicalization of the signature environment contains the correct - // namespace declarations - if (signatureEnvironment != null) { - Document requestDoc = - signatureEnvironment.getElement().getOwnerDocument(); - requestElement = requestDoc.getDocumentElement(); - if (requestElement != signatureEnvironment.getElement()) { - signatureEnvironmentParent = - signatureEnvironment.getElement().getParentNode(); - requestElement.getOwnerDocument().replaceChild( - signatureEnvironment.getElement(), - requestElement); - } - } - - try { - ConfigurationProvider config = context.getConfiguration(); - String xadesVersion = config.getXAdESVersion(); - - if (xadesVersion!= null && xadesVersion.compareTo(XMLSignatureCreationModule.XADES_VERSION_1_4_2) == 0) { - // create the signature (XAdES 1.4.2) - signature = - module.createSignature( - dataObjectList, - profile, - additionalSignedProperties, - signatureParent, - XMLSignatureCreationModule.XADES_VERSION_1_4_2, - new TransactionId(context.getTransactionID())); - } - else { - // create the signature (XAdES 1.1.1 = default) - signature = - module.createSignature( - dataObjectList, - profile, - additionalSignedProperties, - signatureParent, - XMLSignatureCreationModule.XADES_VERSION_1_1_1, - new TransactionId(context.getTransactionID())); - } - - // insert the result into the response - if (signatureParent != null) { - responseBuilder.addSignatureEnvironment( - signatureEnvironment.getElement()); - } else { - responseBuilder.addSignatureEnvironment(signature.getElement()); - } - - } catch (IAIKException e) { - MOAException moaException = IaikExceptionMapper.getInstance().map(e); - - responseBuilder.addError( - moaException.getMessageId(), - moaException.getMessage()); - Logger.warn(moaException.getMessage(), e); - } catch (IAIKRuntimeException e) { - MOAException moaException = IaikExceptionMapper.getInstance().map(e); - - responseBuilder.addError( - moaException.getMessageId(), - moaException.getMessage()); - Logger.warn(moaException.getMessage(), e); - } - - // swap back in the request as root document - if (signatureEnvironment != null) { - if (requestElement != signatureEnvironment.getElement()) { - requestElement.getOwnerDocument().replaceChild( - requestElement, - signatureEnvironment.getElement()); - signatureEnvironmentParent.appendChild( - signatureEnvironment.getElement()); - } - } - - } catch (MOAException e) { - responseBuilder.addError(e.getMessageId(), e.getMessage()); - Logger.warn(e.getMessage(), e); - } - - } - - return responseBuilder.getResponse(); - } - - /** - * Build the list of DataObjects from the given - * SingleSignatureInfo object. - * - *

- * Only the following cases of DataObjects are - * valid in case of an enveloping signature: - * - *

    - *
  • Reference == null && Content != null: The - * Content will be used in the DataObject.
  • - *
  • Reference != null && Content == null: Resolve the - * Reference and use it as DataObject. - * Set the Reference in the DataObject as well.
  • - *
- *

- * - *

- * Only the following cases of DataObjects are valid in case - * of a detached signature: - * - *

    - *
  • Reference != null && Content == null: Resolve the - * Reference and use it as DataObject. - * Set the Reference in the DataObject as well.
  • - *
  • Reference != null && Content != null: The - * Content will be used in the DataObject. - * Set the Reference in the DataObject as well.
  • - *
- *

- * - *

- * All other cases will lead to an error. - *

- * - * @param singleSignatureInfo The SingleSignatureInfo object - * containing the DataObjectInfo objects. - * @param createTransformsProfiles A list of objects of type {@link CreateTransformsInfoProfileExplicit}, - * each representing the transforms info profile information for the corresponding DataObject. - * @param signatureEnvironment The - * @param idGen The ID generator for DataObject references. - * @return The List of DataObjects contained in the - * given singleSignatureInfo. - * @throws MOASystemException A system error occurred building the data - * objects. - * @throws MOAApplicationException An error occurred building the data - * objects. - */ - private List buildDataObjectList( - SingleSignatureInfo singleSignatureInfo, - List createTransformsProfiles, - XMLDataObject signatureEnvironment, - IdGenerator idGen) - throws MOASystemException, MOAApplicationException { - - List dataObjInfos = singleSignatureInfo.getDataObjectInfos(); - List dataObjects = new ArrayList(); - Iterator dtIter; - Iterator ctpIter = createTransformsProfiles.iterator(); - - for (dtIter = dataObjInfos.iterator(); dtIter.hasNext();) - { - DataObjectInfo dataObjInfo = (DataObjectInfo) dtIter.next(); - String structure = dataObjInfo.getStructure(); - - CreateTransformsInfoProfileExplicit transformsProfile = - (CreateTransformsInfoProfileExplicit) ctpIter.next(); - MetaInfo finalDataMetaInfo = transformsProfile.getCreateTransformsInfo().getFinalDataMetaInfo(); - - if (DataObjectInfo.STRUCTURE_ENVELOPING.equals(structure)) { - dataObjects.add( - buildEnvelopingDataObject( - dataObjInfo.getDataObject(), - finalDataMetaInfo, - idGen.uniqueId())); - } else if (DataObjectInfo.STRUCTURE_DETACHED.equals(structure)) { - dataObjects.add( - buildDetachedDataObject( - dataObjInfo.getDataObject(), - finalDataMetaInfo, - signatureEnvironment, - idGen.uniqueId())); - } else { - throw new MOAApplicationException("1103", new Object[] { structure }); - } - } - - return dataObjects; - - } - - /** - * Build a DataObject to be used in an enveloping - * signature. - * - * @param content The Content object containing the data object. - * ContentOptionalRefType. - * @param finalDataMetaInfo The meta information corresponding with content. - * @param referenceID The reference ID to use in the signature for the - * DataObject created. - * @return The DataObject representing the data contained in - * dataObjectElem. - * @throws MOAApplicationException An error occurred during the creation of - * the DataObject. - * @throws MOASystemException A system error occurred during the creation of - * the DataObject. - */ - private DataObject buildEnvelopingDataObject( - Content content, - MetaInfo finalDataMetaInfo, - String referenceID) - throws MOASystemException, MOAApplicationException { - - DataObjectFactory factory = DataObjectFactory.getInstance(); - DataObject dataObject; - - dataObject = - factory.createFromContentOptionalRefType( - content, - finalDataMetaInfo, - referenceID, - false, - false, - true, - false); - - return dataObject; - } - - /** - * Build a DataObject to be used in a detached signature. - * - * @param content The Content object containing an the data. - * @param finalDataMetaInfo The meta information corresponding with content. - * @param signatureEnvironment The signature environment where the signature - * will be inserted. - * @param referenceID The reference ID to use in the signature for the - * DataObject created. - * @return The DataObject representing the data contained in - * dataObjectElem. - * @throws MOAApplicationException An error occurred during the creation of - * the DataObject. - * @throws MOASystemException A system error occurred during the creation of - * the DataObject. - */ - private DataObject buildDetachedDataObject( - Content content, - MetaInfo finalDataMetaInfo, - XMLDataObject signatureEnvironment, - String referenceID) - throws MOASystemException, MOAApplicationException { - - String reference = content.getReference(); - DataObjectFactory factory = DataObjectFactory.getInstance(); - DataObject dataObject; - - if (reference == null) { - throw new MOAApplicationException("1102", null); - } else if ("".equals(reference) || reference.startsWith("#")) { - dataObject = - factory.createFromSignatureEnvironment( - signatureEnvironment.getElement(), - reference, - referenceID); - } else { - dataObject = - factory.createFromContentOptionalRefType( - content, - finalDataMetaInfo, - referenceID, - true, - false, - true, - false); - } - return dataObject; - } - - /** - * Build the signature parent element. - * - * @param signatureEnvironment The signature environment containing the - * document in which to insert the signature. - * @param singleSignatureInfo The SingleSignatureInfo - * containing the signature parent element. - * @return An XMLDataObject containing the signature parent - * element or null, if the CreateSignatureInfo is - * null. - * @throws MOAApplicationException An error occurred during the creation of - * the signature parent. - */ - private XMLDataObject buildSignatureParentElement( - Element signatureEnvironment, - SingleSignatureInfo singleSignatureInfo) - throws MOAApplicationException { - - CreateSignatureInfo createInfo = - singleSignatureInfo.getCreateSignatureInfo(); - - // evaluate the CreateSignatureLocation - if (createInfo != null) { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - CreateSignatureEnvironmentProfileExplicit createProfile = - ProfileMapper.mapCreateSignatureEnvironmentProfile( - createInfo.getCreateSignatureEnvironmentProfile(), - config); - CreateSignatureLocation location = - createProfile.getCreateSignatureLocation(); - Element signatureParent = - InvokerUtils.evaluateSignatureLocation(signatureEnvironment, location); - - return new XMLDataObjectImpl(signatureParent); - } else { - return null; - } - } - - /** - * Get the supplements contained in the - * CreateSignatureEnvironmentProfile of the given - * SingleSignatureInfo. - * - * @param singleSigInfo The SingleSignatureInfo from which - * to extract the supplements. - * @return A List of XMLDataObjectAssociations - * or null, if the singleSigInfo does not contain - * supplements. - * @throws MOAApplicationException An error occurred parsing the - * CreateSignatureEnvironmentProfile. - */ - private List getCreateSignatureEnvironmentProfileSupplements(SingleSignatureInfo singleSigInfo) - throws MOAApplicationException { - CreateSignatureInfo sigInfo = singleSigInfo.getCreateSignatureInfo(); - - if (sigInfo != null) { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - CreateSignatureEnvironmentProfileExplicit profile = - ProfileMapper.mapCreateSignatureEnvironmentProfile( - sigInfo.getCreateSignatureEnvironmentProfile(), - config); - List supplements = profile.getSupplements(); - - return supplements; - } - return null; - } - - /** - * Build the list of additional signed properties. - * - * Based on the generic configuration setting - * ConfigurationProvider.TEST_SIGNING_TIME_PROPERTY, a - * constant SigningTime will be added to the properties. - * - * @return The List of additional signed properties. - */ - private List buildAdditionalSignedProperties() { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - List additionalSignedProperties = Collections.EMPTY_LIST; - - return additionalSignedProperties; - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java deleted file mode 100644 index 6a85415f8..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java +++ /dev/null @@ -1,543 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.server.modules.algorithms.HashAlgorithms; -import iaik.server.modules.keys.KeyEntryID; -import iaik.server.modules.keys.KeyModule; -import iaik.server.modules.keys.KeyModuleFactory; -import iaik.server.modules.xmlsign.SignatureStructureTypes; -import iaik.server.modules.xmlsign.XMLSignatureCreationProfile; -import iaik.server.modules.xmlsign.XMLSignatureInsertionLocation; - -import java.math.BigInteger; -import java.security.Principal; -import java.security.cert.X509Certificate; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.config.KeyGroup; -import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; -import at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl; -import at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl; -import at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl; -import at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.server.util.IdGenerator; -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.Constants; - -/** - * A factory to create XMLSignatureCreationProfiles from a - * CreateXMLSignatureRequest, based on the current MOA - * configuration. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureCreationProfileFactory { - - private static Map HASH_ALGORITHM_MAPPING; - - static { - HASH_ALGORITHM_MAPPING = new HashMap(); - HASH_ALGORITHM_MAPPING.put(Constants.SHA1_URI, HashAlgorithms.SHA1); - HASH_ALGORITHM_MAPPING.put(Constants.SHA256_URI, HashAlgorithms.SHA256); - HASH_ALGORITHM_MAPPING.put(Constants.SHA384_URI, HashAlgorithms.SHA384); - HASH_ALGORITHM_MAPPING.put(Constants.SHA512_URI, HashAlgorithms.SHA512); - } - - /** The CreateXMLSignatureRequest for which to create the - * profile.*/ - private CreateXMLSignatureRequest request; - /** How many profiles have been created based on the same request. */ - private int createProfileCount; - /** The Set of reserved object IDs.*/ - private Set reserved; - - /** - * Create a new XMLSignatureCreationProfileFactory. - * - * @param request The request for which to create profiles. - * @param reserved The Set of reserved object IDs. IDs will - * be added during signature creation. - */ - public XMLSignatureCreationProfileFactory( - CreateXMLSignatureRequest request, - Set reserved) { - this.request = request; - this.reserved = reserved; - createProfileCount = 1; - } - - /** - * Create a XMLSignatureCreationProfile for the given - * SingleSignatureInfo object.. - * - * @param singleSignatureInfo The SingleSignatureInfo object - * containing information about the creation of a signature. - * @param sigInfoReservedIDs The Set of reserved ID attribue values - * for the particular singleSignatureInfo. - * @return The XMLSignatureCreationProfile containing additional - * information for creating an XML signature. - * @throws MOASystemException A system error occurred during creation of the - * profile. See message for details - * @throws MOAApplicationException An application error occurred during - * creation of the profile. See message for details. - */ - public XMLSignatureCreationProfile createProfile(SingleSignatureInfo singleSignatureInfo, - Set sigInfoReservedIDs) throws MOASystemException, MOAApplicationException { - - HashSet allReservedIDs = new HashSet(reserved); - allReservedIDs.addAll(sigInfoReservedIDs); - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - CanonicalizationImpl canonicalization; - List dataObjectTreatmentList; - Set keySet; - List transformationSupplements; - List createTransformsProfiles; - - // get the key group id - String keyGroupID = request.getKeyIdentifier(); - // get digest method on key group level (if configured) - KeyGroup keygroup = config.getKeyGroup(keyGroupID); - if(null == keygroup) { - Logger.error("Could not find key group '" + keyGroupID + "'"); - throw new MOAApplicationException("2231", null); - } - String configDigestMethodKG = keygroup.getDigestMethodAlgorithm(); - // get default digest method (if configured) - String configDigestMethod = config.getDigestMethodAlgorithmName(); - - String xadesVersion = config.getXAdESVersion(); - - String digestMethodXAdES142 = null; - boolean isXAdES142 = false; - // if XAdES Version 1.4.2 is configured - if (xadesVersion != null && xadesVersion.compareTo("1.4.2") == 0) { - isXAdES142 = true; - Logger.debug("XAdES version '" + xadesVersion + "' used"); - } - - if (isXAdES142) { - if (configDigestMethodKG != null) { - // if KG specific digest method is configured - digestMethodXAdES142 = (String) HASH_ALGORITHM_MAPPING.get(configDigestMethodKG); - if (digestMethodXAdES142 == null) { - error( - "config.17", - new Object[] { configDigestMethodKG}); - throw new MOASystemException("2900", null); - } - Logger.debug("Digest algorithm: " + digestMethodXAdES142 + "(configured in KeyGroup)"); - } - else { - // else get default configured digest method - digestMethodXAdES142 = (String) HASH_ALGORITHM_MAPPING.get(configDigestMethod); - if (digestMethodXAdES142 == null) { - error( - "config.17", - new Object[] { configDigestMethod}); - throw new MOASystemException("2900", null); - } - Logger.debug("Digest algorithm: " + digestMethodXAdES142 + "(default)"); - - } - } - - XMLSignatureCreationProfileImpl profile = - new XMLSignatureCreationProfileImpl(createProfileCount, allReservedIDs, digestMethodXAdES142); - - - // build the transformation supplements - createTransformsProfiles = - getCreateTransformsInfoProfiles(singleSignatureInfo); - transformationSupplements = - buildTransformationSupplements(createTransformsProfiles); - - // build and set the data object treatment list - dataObjectTreatmentList = - buildDataObjectTreatmentList( - singleSignatureInfo, - createTransformsProfiles, - transformationSupplements, - allReservedIDs, - digestMethodXAdES142); - profile.setDataObjectTreatmentList(dataObjectTreatmentList); - - // set the key set - keySet = buildKeySet(keyGroupID); - if (keySet == null) { - throw new MOAApplicationException("2231", null); - } else if (keySet.size() == 0) { - throw new MOAApplicationException("2232", null); - } - profile.setKeySet(keySet); - - // set the Security Layer manifest algorithm name - profile.setSecurityLayerManifestTypeURI(Constants.SL_MANIFEST_TYPE_URI); - - // set the structure type - if (singleSignatureInfo.getCreateSignatureInfo() != null) { - profile.setSignatureStructureType(SignatureStructureTypes.ENVELOPED); - } else { - profile.setSignatureStructureType(SignatureStructureTypes.DETACHED); - } - - // set insertion location - profile.setSignatureInsertionLocation( - getSignatureInsertionLocationIndex(singleSignatureInfo)); - - // set the canonicalization algorithm - canonicalization = - new CanonicalizationImpl(config.getCanonicalizationAlgorithmName()); - profile.setSignedInfoCanonicalization(canonicalization); - - // set the signed properties - profile.setSignedProperties(Collections.EMPTY_LIST); - - // set security layer conformity - profile.setSecurityLayerConform( - singleSignatureInfo.isSecurityLayerConform()); - - // update the createProfileCount - createProfileCount++; - - return profile; - } - - /** - * Get the List of all CreateTransformsInfoProfiles - * contained in all the DataObjectInfos of the given - * SingleSignatureInfo. - * - * @param singleSignatureInfo The SingleSignatureInfo object from - * which to extract the CreateTransformsInfoProfiles. - * @return All CreateTransformsInfoProfiles of all - * DataObjectInfos of singleSignatureInfo. - * @throws MOAApplicationException An error occurred creating one of the - * profiles. - */ - List getCreateTransformsInfoProfiles(SingleSignatureInfo singleSignatureInfo) - throws MOAApplicationException { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - List dataObjInfos = singleSignatureInfo.getDataObjectInfos(); - List profiles = new ArrayList(); - Iterator dtIter; - - for (dtIter = dataObjInfos.iterator(); dtIter.hasNext();) { - DataObjectInfo dataObjInfo = (DataObjectInfo) dtIter.next(); - CreateTransformsInfoProfileExplicit profile = - ProfileMapper.mapCreateTransformsInfoProfile( - dataObjInfo.getCreateTransformsInfoProfile(), - config); - profiles.add(profile); - } - - return profiles; - } - - /** - * Build the List of transformation supplements contained in a - * SingleSignatureInfo object. - * - * @param createTransformsInfoProfiles The - * CreateTransformsInfoProfile object from which to extract the - * transformation supplements. - * @return A List of DataObjects containing the - * transformation supplements. - * @throws MOASystemException A system error occurred creating one of the - * transformation supplements. - * @throws MOAApplicationException An error occurred creating one of the - * transformation supplements. - */ - private List buildTransformationSupplements(List createTransformsInfoProfiles) - throws MOASystemException, MOAApplicationException { - - List transformationSupplements = new ArrayList(); - DataObjectFactory factory = DataObjectFactory.getInstance(); - Iterator iter; - - for (iter = createTransformsInfoProfiles.iterator(); iter.hasNext();) { - CreateTransformsInfoProfileExplicit profile = - (CreateTransformsInfoProfileExplicit) iter.next(); - List supplements = profile.getSupplements(); - - if (supplements != null) { - Iterator supplIter; - - for (supplIter = supplements.iterator(); supplIter.hasNext();) { - XMLDataObjectAssociation supplement = - (XMLDataObjectAssociation) supplIter.next(); - - transformationSupplements.add( - factory.createFromXmlDataObjectAssociation( - supplement, - false, - true)); - } - } - } - - return transformationSupplements; - } - - /** - * Build the List of DataObjectTreatments for the - * given SingleSignatureInfo object.. - * - * @param singleSignatureInfo The SingleSignatureInfo object - * from which to exctract the CreateTransformsInfoProfiles - * containing the data for the DataObjectTreatments. - * @param createTransformsInfoProfiles The - * CreateTransformsInfoProfiles contained in the - * singleSignatureInfo. - * @param transformationSupplements Additional parameters for - * transformations contained in DataObjectTreatments. - * @param reservedIDs The Set of reserved object IDs. - * @return A List of DataObjectTreatment objects. - * @throws MOAApplicationException An error occurred building one of the - * DataObjectTreatments. - * @throws MOASystemException A system error occurred building one of the - * DataObjectTreatments. - */ - private List buildDataObjectTreatmentList( - SingleSignatureInfo singleSignatureInfo, - List createTransformsInfoProfiles, - List transformationSupplements, - Set reservedIDs, - String digestMethodXAdES142) - throws MOASystemException, MOAApplicationException { - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - List treatments = new ArrayList(); - List dataObjInfos = singleSignatureInfo.getDataObjectInfos(); - int dataObjectTreatmentCount = 1; - String hashAlgorithmName; - Iterator dtIter; - Iterator prIter; - - prIter = createTransformsInfoProfiles.iterator(); - for (dtIter = dataObjInfos.iterator(); dtIter.hasNext();) { - CreateTransformsInfoProfileExplicit profile = - (CreateTransformsInfoProfileExplicit) prIter.next(); - DataObjectInfo dataObjInfo = (DataObjectInfo) dtIter.next(); - IdGenerator objIdGen = - new IdGenerator( - ("signed-data-" + createProfileCount) - + ("-" + dataObjectTreatmentCount++), - reservedIDs); - DataObjectTreatmentImpl treatment = new DataObjectTreatmentImpl(objIdGen); - - treatment.setFinalContentType( - profile.getCreateTransformsInfo().getFinalDataMetaInfo().getMimeType()); - treatment.setTransformationList(buildTransformationList(profile)); - treatment.setReferenceInManifest(dataObjInfo.isChildOfManifest()); - - // if XAdES version is 1.4.2 - if (digestMethodXAdES142 != null) { - // use configured digest algorithm - hashAlgorithmName = digestMethodXAdES142; - } - else { - // stay as it is - hashAlgorithmName = (String) HASH_ALGORITHM_MAPPING.get( - config.getDigestMethodAlgorithmName()); - if (hashAlgorithmName == null) { - error( - "config.17", - new Object[] { config.getDigestMethodAlgorithmName()}); - throw new MOASystemException("2900", null); - } - } - - - - - treatment.setHashAlgorithmName(hashAlgorithmName); - treatment.setIncludedInSignature( - DataObjectInfo.STRUCTURE_ENVELOPING.equals(dataObjInfo.getStructure())); - treatment.setTransformationSupplements(transformationSupplements); - - treatments.add(treatment); - - } - - return treatments; - } - - /** - * Build the List of transformations contained in a - * CreateTransformsInfoProfile object. - * - * @param profile The CreateTransformsInfoProfile object - * from which to extract the Transforms. - * @return A List of Transformations contained in - * the given CreateTransformsInfoProfile. - * @throws MOAApplicationException An error occurred building one of the - * Transformations. - */ - private List buildTransformationList(CreateTransformsInfoProfileExplicit profile) - throws MOAApplicationException { - - TransformationFactory factory = TransformationFactory.getInstance(); - List transforms = profile.getCreateTransformsInfo().getTransforms(); - - return transforms != null - ? factory.createTransformationList(transforms) - : Collections.EMPTY_LIST; - } - - /** - * Build the set of KeyEntryIDs available to the given - * keyGroupID. - * - * @param keyGroupID The keygroup ID for which the available keys should be - * returned. - * @return The Set of KeyEntryIDs - * identifying the available keys. - */ - private Set buildKeySet(String keyGroupID) { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - Set keyGroupEntries; - - // get the KeyGroup entries from the configuration - if (context.getClientCertificate() != null) { - X509Certificate cert = context.getClientCertificate()[0]; - Principal issuer = cert.getIssuerDN(); - BigInteger serialNumber = cert.getSerialNumber(); - - keyGroupEntries = - config.getKeyGroupEntries(issuer, serialNumber, keyGroupID); - } else { - keyGroupEntries = config.getKeyGroupEntries(null, null, keyGroupID); - } - - // map the KeyGroup entries to a set of KeyEntryIDs - if (keyGroupEntries == null) { - return null; - } else if (keyGroupEntries.size() == 0) { - return Collections.EMPTY_SET; - } else { - KeyModule module = - KeyModuleFactory.getInstance( - new TransactionId(context.getTransactionID())); - Set keyEntryIDs = module.getPrivateKeyEntryIDs(); - Set keySet = new HashSet(); - Iterator iter; - - // filter out the keys that do not exist in the IAIK configuration - // by walking through the key entries and checking if the exist in the - // keyGroupEntries - for (iter = keyEntryIDs.iterator(); iter.hasNext();) { - KeyEntryID entryID = (KeyEntryID) iter.next(); - KeyGroupEntry entry = - new KeyGroupEntry( - entryID.getModuleID(), - entryID.getCertificateIssuer(), - entryID.getCertificateSerialNumber()); - if (keyGroupEntries.contains(entry)) { - keySet.add(entryID); - } - } - return keySet; - } - } - - /** - * Get the signature location index where the signature will be inserted into - * the signature parent element. - * - * @param singleSignatureInfo The SingleSignatureInfo object - * containing the CreateSignatureLocation. - * @return The index at which to insert the signature into the signature - * environment. - * @throws MOAApplicationException An error occurred parsing the - * CreateSignatureEnvironmentProfile. - */ - private XMLSignatureInsertionLocation getSignatureInsertionLocationIndex(SingleSignatureInfo singleSignatureInfo) - throws MOAApplicationException { - - CreateSignatureInfo createInfo = - singleSignatureInfo.getCreateSignatureInfo(); - - if (createInfo != null) { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - CreateSignatureEnvironmentProfileExplicit profile = - ProfileMapper.mapCreateSignatureEnvironmentProfile( - createInfo.getCreateSignatureEnvironmentProfile(), - config); - int index = profile.getCreateSignatureLocation().getIndex(); - - return new XMLSignatureInsertionLocationImpl(index); - } else { - return new XMLSignatureInsertionLocationImpl(0); - } - } - - /** - * Utility function to issue an error message to the log. - * - * @param messageId The ID of the message to log. - * @param parameters Additional message parameters. - */ - private static void error(String messageId, Object[] parameters) { - MessageProvider msg = MessageProvider.getInstance(); - - Logger.error(new LogMsg(msg.getMessage(messageId, parameters))); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java deleted file mode 100644 index c90bc534a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java +++ /dev/null @@ -1,727 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import iaik.ixsil.exceptions.URIException; -import iaik.ixsil.util.URI; -import iaik.server.modules.IAIKException; -import iaik.server.modules.IAIKRuntimeException; -import iaik.server.modules.xml.DataObject; -import iaik.server.modules.xml.XMLDataObject; -import iaik.server.modules.xml.XMLSignature; -import iaik.server.modules.xmlsign.XMLConstants; -import iaik.server.modules.xmlverify.DsigManifest; -import iaik.server.modules.xmlverify.ReferenceData; -import iaik.server.modules.xmlverify.SecurityLayerManifest; -import iaik.server.modules.xmlverify.XMLSignatureVerificationModule; -import iaik.server.modules.xmlverify.XMLSignatureVerificationModuleFactory; -import iaik.server.modules.xmlverify.XMLSignatureVerificationProfile; -import iaik.server.modules.xmlverify.XMLSignatureVerificationResult; -import iaik.x509.X509Certificate; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -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.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.CheckResult; -import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResultInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameterHash; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl; -import at.gv.egovernment.moa.spss.server.logging.IaikLog; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.util.CertificateUtils; -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.spss.util.QCSSCDResult; -import at.gv.egovernment.moa.util.CollectionUtils; -import at.gv.egovernment.moa.util.Constants; - -/** - * A class providing a DOM based interface to the - * XMLSignatureVerificationModule. - * - * This class performs the invocation of the - * iaik.server.modules.xmlverify.XMLSignatureVerificationModule - * from a VerifyXMLSignatureRequest given as a DOM element. The - * result of the invocation is integrated into a - * VerifyXMLSignatureResponse and returned. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureVerificationInvoker { - - /** The single instance of this class. */ - private static XMLSignatureVerificationInvoker instance = null; - - private static Set FILTERED_REF_TYPES; - - static { - FILTERED_REF_TYPES = new HashSet(); - FILTERED_REF_TYPES.add(DsigManifest.XML_DSIG_MANIFEST_TYPE); - FILTERED_REF_TYPES.add(SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE); - FILTERED_REF_TYPES.add(SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE_OLD); - FILTERED_REF_TYPES.add(XMLConstants.NAMESPACE_ETSI_STRING + "SignedProperties"); - FILTERED_REF_TYPES.add("http://uri.etsi.org/01903#SignedProperties"); - } - - /** - * Get the single instance of this class. - * - * @return The single instance of this class. - */ - public static synchronized XMLSignatureVerificationInvoker getInstance() { - if (instance == null) { - instance = new XMLSignatureVerificationInvoker(); - } - return instance; - } - - /** - * Create a new XMLSignatureCreationInvoker. - * - * Protected to disallow multiple instances. - */ - protected XMLSignatureVerificationInvoker() { - } - - /** - * Process the VerifyXMLSignatureRequest message and invoke the - * XMLSignatureVerificationModule. - * - * @param request A VerifyXMLSignatureRequest API object - * containing the data for verifying an XML signature. - * @return A VerifyXMLSignatureResponse containing the - * answert to the VerifyXMLSignatureRequest. - * MOA schema definition. - * @throws MOAException An error occurred during signature verification. - */ - public VerifyXMLSignatureResponse verifyXMLSignature(VerifyXMLSignatureRequest request) - throws MOAException { - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - LoggingContext loggingCtx = - LoggingContextManager.getInstance().getLoggingContext(); - XMLSignatureVerificationProfileFactory profileFactory = - new XMLSignatureVerificationProfileFactory(request); - VerifyXMLSignatureResponseBuilder responseBuilder = - new VerifyXMLSignatureResponseBuilder(); - XMLSignatureVerificationResult result; - XMLSignatureVerificationProfile profile; - ReferencesCheckResult signatureManifestCheck; - DataObjectFactory dataObjFactory; - XMLDataObject signatureEnvironment; - Node signatureEnvironmentParent = null; - Element requestElement = null; - XMLSignature xmlSignature; - Date signingTime; - List supplements; - List dataObjectList; - - // get the supplements - supplements = getSupplements(request); - - // build XMLSignature - dataObjFactory = DataObjectFactory.getInstance(); - signatureEnvironment = - dataObjFactory.createSignatureEnvironment( - request.getSignatureInfo().getVerifySignatureEnvironment(), - supplements); - xmlSignature = buildXMLSignature(signatureEnvironment, request); - - // build the list of DataObjects - dataObjectList = buildDataObjectList(supplements); - - // build profile - profile = profileFactory.createProfile(); - - // get the signingTime - signingTime = request.getDateTime(); - - // make the signature environment the root of the document, if it is not a - // separate document anyway; this is done to assure that canonicalization - // of the signature environment contains the correct namespace declarations - requestElement = - signatureEnvironment.getElement().getOwnerDocument().getDocumentElement(); - if (requestElement != signatureEnvironment.getElement()) { - signatureEnvironmentParent = - signatureEnvironment.getElement().getParentNode(); - requestElement.getOwnerDocument().replaceChild( - signatureEnvironment.getElement(), - requestElement); - } - - QCSSCDResult qcsscdresult = new QCSSCDResult(); - String tpID = profile.getCertificateValidationProfile().getTrustStoreProfile().getId(); - ConfigurationProvider config = ConfigurationProvider.getInstance(); - TrustProfile tp = config.getTrustProfile(tpID); - - // verify the signature - try { - XMLSignatureVerificationModule module = - XMLSignatureVerificationModuleFactory.getInstance(); - - module.setLog(new IaikLog(loggingCtx.getNodeID())); - - result = - module.verifySignature( - xmlSignature, - dataObjectList, - profile, - signingTime, - new TransactionId(context.getTransactionID())); - } catch (IAIKException e) { - MOAException moaException = IaikExceptionMapper.getInstance().map(e); - throw moaException; - } catch (IAIKRuntimeException e) { - MOAException moaException = IaikExceptionMapper.getInstance().map(e); - throw moaException; - } - - - // QC/SSCD check - List list = result.getCertificateValidationResult().getCertificateChain(); - if (list != null) { - X509Certificate[] chain = new X509Certificate[list.size()]; - - Iterator it = list.iterator(); - int i = 0; - while(it.hasNext()) { - chain[i] = (X509Certificate)it.next(); - i++; - } - - qcsscdresult = CertificateUtils.checkQCSSCD(chain, tp.isTSLEnabled()); - } - - - // get signer certificate issuer country code - String issuerCountryCode = CertificateUtils.getIssuerCountry((X509Certificate)list.get(0)); - - // swap back in the request as root document - if (requestElement != signatureEnvironment.getElement()) { - requestElement.getOwnerDocument().replaceChild( - requestElement, - signatureEnvironment.getElement()); - signatureEnvironmentParent.appendChild(signatureEnvironment.getElement()); - } - - // check the result - signatureManifestCheck = - validateSignatureManifest(request, result, profile); - - // Check if signer certificate is in trust profile's allowed signer certificates pool - TrustProfile trustProfile = context.getConfiguration().getTrustProfile(request.getTrustProfileId()); - CheckResult certificateCheck = validateSignerCertificate(result, trustProfile); - - - // build the response - responseBuilder.setResult(result, profile, signatureManifestCheck, certificateCheck, qcsscdresult.isQC(), qcsscdresult.isQCSourceTSL(), qcsscdresult.isSSCD(), qcsscdresult.isSSCDSourceTSL(), tp.isTSLEnabled(), issuerCountryCode); - return responseBuilder.getResponse(); - } - - /** - * Checks if the signer certificate matches one of the allowed signer certificates specified - * in the provided trustProfile. - * - * @param result The result produced by the XMLSignatureVerificationModule. - * - * @param trustProfile The trust profile the signer certificate is validated against. - * - * @return The overal result of the certificate validation for the signer certificate. - * - * @throws MOAException if one of the signer certificates specified in the trustProfile - * cannot be read from the file system. - */ - private CheckResult validateSignerCertificate(XMLSignatureVerificationResult result, TrustProfile trustProfile) - throws MOAException - { - MessageProvider msg = MessageProvider.getInstance(); - - int resultCode = result.getCertificateValidationResult().getValidationResultCode().intValue(); - if (resultCode == 0 && trustProfile.getSignerCertsUri() != null) - { - X509Certificate signerCertificate = (X509Certificate) result.getCertificateValidationResult().getCertificateChain().get(0); - - File signerCertsDir = null; - try - { - signerCertsDir = new File(new URI(trustProfile.getSignerCertsUri()).getPath()); - } - catch (URIException e) - { - throw new MOASystemException("2900", null, e); // Should not happen, already checked at loading the MOA configuration - } - - File[] files = signerCertsDir.listFiles(); - if (files == null) resultCode = 1; - int i; - for (i = 0; i < files.length; i++) - { - if (!files[i].isDirectory()) - { - FileInputStream currentFIS = null; - try - { - currentFIS = new FileInputStream(files[i]); - } - catch (FileNotFoundException e) { - throw new MOASystemException("2900", null, e); - } - - try - { - X509Certificate currentCert = new X509Certificate(currentFIS); - currentFIS.close(); - if (currentCert.equals(signerCertificate)) break; - } - catch (Exception e) - { - // Simply ignore file if it cannot be interpreted as certificate - String logMsg = msg.getMessage("invoker.03", new Object[]{trustProfile.getId(), files[i].getName()}); - Logger.warn(logMsg); - try - { - currentFIS.close(); - } - catch (IOException e1) { - // If clean-up fails, do nothing - } - } - } - } - if (i >= files.length) - { - resultCode = 1; // No signer certificate from the trustprofile pool matches the actual signer certificate - } - } - - SPSSFactory factory = SPSSFactory.getInstance(); - return factory.createCheckResult(resultCode, null); - } - - - - /** - * Select the dsig:Signature DOM element within the signature - * environment. - * - * @param signatureEnvironment The signature environment containing the - * dsig:Signature. - * @param request The VerifyXMLSignatureRequest containing the - * signature environment. - * @return The dsig:Signature element wrapped in a - * XMLSignature object. - * @throws MOAApplicationException An error occurred locating the - * dsig:Signature. - */ - private XMLSignature buildXMLSignature( - XMLDataObject signatureEnvironment, - VerifyXMLSignatureRequest request) - throws MOAApplicationException { - - VerifySignatureLocation signatureLocation = - request.getSignatureInfo().getVerifySignatureLocation(); - Element signatureParent; - - // evaluate the VerifySignatureLocation to get the signature parent - signatureParent = - InvokerUtils.evaluateSignatureLocation( - signatureEnvironment.getElement(), - signatureLocation); - - // check for signatureParent to be a dsig:Signature element - if (!"Signature".equals(signatureParent.getLocalName()) - || !Constants.DSIG_NS_URI.equals(signatureParent.getNamespaceURI())) { - throw new MOAApplicationException("2266", null); - } - - return new XMLSignatureImpl(signatureParent); - } - - /** - * Build the supplemental data objects contained in the - * VerifyXMLSignatureRequest. - * - * @param supplements A List of - * XMLDataObjectAssociations containing the supplement data. - * @return A List of DataObjects representing the - * supplemental data objects. - * @throws MOASystemException A system error occurred building one of the data - * objects. - * @throws MOAApplicationException An error occurred building one of the data - * objects. - */ - private List buildDataObjectList(List supplements) - throws MOASystemException, MOAApplicationException { - List dataObjectList = new ArrayList(); - - DataObjectFactory factory = DataObjectFactory.getInstance(); - DataObject dataObject; - Iterator iter; - - if (supplements != null) { - for (iter = supplements.iterator(); iter.hasNext();) { - XMLDataObjectAssociation supplement = - (XMLDataObjectAssociation) iter.next(); - dataObject = - factory.createFromXmlDataObjectAssociation(supplement, true, false); - dataObjectList.add(dataObject); - } - } - - return dataObjectList; - - } - - /** - * Get the supplemental data contained in the - * VerifyXMLSignatureRequest. - * - * @param request The VerifyXMLSignatureRequest containing the - * supplemental data. - * @return A List of XMLDataObjectAssociation - * objects containing the supplemental data. - * @throws MOAApplicationException An error occurred resolving one of the - * supplement profiles. - */ - private List getSupplements(VerifyXMLSignatureRequest request) - throws MOAApplicationException { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - List supplementProfiles = request.getSupplementProfiles(); - - List supplements = new ArrayList(); - - if (supplementProfiles != null) { - - List mappedProfiles = - ProfileMapper.mapSupplementProfiles(supplementProfiles, config); - Iterator iter; - - for (iter = mappedProfiles.iterator(); iter.hasNext();) { - SupplementProfileExplicit profile = - (SupplementProfileExplicit) iter.next(); - supplements.add(profile.getSupplementProfile()); - } - - } - return supplements; - } - - /** - * Perform additional validations of the - * XMLSignatureVerificationResult. - * - *

In particular, it is verified that: - *

    - *
  • Each ReferenceData object contains transformation - * chain that matches one of the Transforms given in the - * corresponding SignatureManifestCheckParams/ReferenceInfo
  • - *
  • The hash values of the TransformParameters are valid. - *
  • - *
- *

- * - * @param request The VerifyXMLSignatureRequest containing the - * signature to verify. - * @param result The result produced by - * XMLSignatureVerificationModule. - * @param profile The profile used for validating the request. - * @return The result of additional validations of the signature manifest. - * @throws MOAApplicationException Post-validation of the - * XMLSignatureVerificaitonResult failed. - */ - private ReferencesCheckResult validateSignatureManifest( - VerifyXMLSignatureRequest request, - XMLSignatureVerificationResult result, - XMLSignatureVerificationProfile profile) - throws MOAApplicationException { - - SPSSFactory factory = SPSSFactory.getInstance(); - MessageProvider msg = MessageProvider.getInstance(); - - // validate that each ReferenceData object contains transforms specified - // in the corresponding SignatureManifestCheckParams/ReferenceInfo - if (request.getSignatureManifestCheckParams() != null) { - List refInfos = - request.getSignatureManifestCheckParams().getReferenceInfos(); - List refDatas = filterReferenceInfos(result.getReferenceDataList()); - List failedReferencesList = new ArrayList(); - Iterator refInfoIter; - Iterator refDataIter; - - if (refInfos.size() != refDatas.size()) { - return factory.createReferencesCheckResult(1, null); - } - - refInfoIter = refInfos.iterator(); - refDataIter = - filterReferenceInfos(result.getReferenceDataList()).iterator(); - - while (refInfoIter.hasNext()) { - ReferenceInfo refInfo = (ReferenceInfo) refInfoIter.next(); - ReferenceData refData = (ReferenceData) refDataIter.next(); - List transforms = buildTransformsList(refInfo); - boolean found = false; - Iterator trIter; - - for (trIter = transforms.iterator(); trIter.hasNext() && !found;) { - found = trIter.next().equals(refData.getTransformationList()); - } - - if (!found) { - Integer refIndex = new Integer(refData.getReferenceIndex()); - String logMsg = - msg.getMessage("invoker.01", new Object[] { refIndex }); - - failedReferencesList.add(refIndex); - Logger.debug(new LogMsg(logMsg)); - } - } - - if (!failedReferencesList.isEmpty()) { - // at least one reference failed - return their indexes and check code 1 - int[] failedReferences = - CollectionUtils.toIntArray(failedReferencesList); - ReferencesCheckResultInfo checkInfo = - factory.createReferencesCheckResultInfo(null, failedReferences); - - return factory.createReferencesCheckResult(1, checkInfo); - } - } - - // validate the hashes contained in all the ReferenceInfo objects of the - // security layer manifest - if (request.getSignatureManifestCheckParams() != null - && result.containsSecurityLayerManifest()) { - Map hashValues = buildTransformParameterHashValues(request); - Set transformParameterURIs = - buildTransformParameterURIs(profile.getTransformationSupplements()); - List referenceInfoList = - result.getSecurityLayerManifest().getReferenceDataList(); - Iterator refIter; - - for (refIter = referenceInfoList.iterator(); refIter.hasNext();) { - iaik.server.modules.xmlverify.ReferenceInfo ref = - (iaik.server.modules.xmlverify.ReferenceInfo) refIter.next(); - byte[] hash = (byte[]) hashValues.get(ref.getURI()); - - if (!transformParameterURIs.contains(ref.getURI()) - || (hash != null && !Arrays.equals(hash, ref.getHashValue()))) { - - // the transform parameter doesn't exist or the hashs do not match - // return the index of the failed reference and check code 1 - int[] failedReferences = new int[] { ref.getReferenceIndex()}; - ReferencesCheckResultInfo checkInfo = - factory.createReferencesCheckResultInfo(null, failedReferences); - String logMsg = - msg.getMessage( - "invoker.02", - new Object[] { new Integer(ref.getReferenceIndex())}); - - Logger.debug(new LogMsg(logMsg)); - - return factory.createReferencesCheckResult(1, checkInfo); - } - } - } - - return factory.createReferencesCheckResult(0, null); - } - - /** - * Get all Transforms contained in all the - * VerifyTransformsInfoProfiles of the given - * ReferenceInfo. - * - * @param refInfo The ReferenceInfo object containing - * the transformations. - * @return A List of Lists. Each of the - * Lists contains Transformation objects. - * @throws MOAApplicationException An error occurred building one of the - * Transformations. - */ - private List buildTransformsList(ReferenceInfo refInfo) - throws MOAApplicationException { - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - List profiles = refInfo.getVerifyTransformsInfoProfiles(); - List mappedProfiles = - ProfileMapper.mapVerifyTransformsInfoProfiles(profiles, config); - List transformsList = new ArrayList(); - TransformationFactory factory = TransformationFactory.getInstance(); - Iterator iter; - - for (iter = mappedProfiles.iterator(); iter.hasNext();) { - VerifyTransformsInfoProfileExplicit profile = - (VerifyTransformsInfoProfileExplicit) iter.next(); - List transforms = profile.getTransforms(); - - if (transforms != null) { - transformsList.add(factory.createTransformationList(transforms)); - } - } - - return transformsList; - } - - /** - * Build the Set of all TransformParameter URIs. - * - * @param transformParameters The List of - * TransformParameters, as provided to the verification. - * @return The Set of all TransformParameter URIs. - */ - private Set buildTransformParameterURIs(List transformParameters) { - Set uris = new HashSet(); - Iterator iter; - - for (iter = transformParameters.iterator(); iter.hasNext();) { - DataObject transformParameter = (DataObject) iter.next(); - uris.add(transformParameter.getURI()); - } - - return uris; - } - - /** - * Build a mapping between TransformParameter URIs (a - * String and dsig:HashValue (a - * byte[]). - * - * @param request The VerifyXMLSignatureRequest. - * @return Map The resulting mapping. - * @throws MOAApplicationException An error occurred accessing one of - * the profiles. - */ - private Map buildTransformParameterHashValues(VerifyXMLSignatureRequest request) - throws MOAApplicationException { - - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - Map hashValues = new HashMap(); - List refInfos = - request.getSignatureManifestCheckParams().getReferenceInfos(); - Iterator refIter; - - for (refIter = refInfos.iterator(); refIter.hasNext();) { - ReferenceInfo refInfo = (ReferenceInfo) refIter.next(); - List profiles = refInfo.getVerifyTransformsInfoProfiles(); - List mappedProfiles = - ProfileMapper.mapVerifyTransformsInfoProfiles(profiles, config); - Iterator prIter; - - for (prIter = mappedProfiles.iterator(); prIter.hasNext();) { - VerifyTransformsInfoProfileExplicit profile = - (VerifyTransformsInfoProfileExplicit) prIter.next(); - List trParameters = profile.getTransformParameters(); - Iterator trIter; - - for (trIter = trParameters.iterator(); trIter.hasNext();) { - TransformParameter transformParameter = - (TransformParameter) trIter.next(); - String uri = transformParameter.getURI(); - - if (transformParameter.getTransformParameterType() - == TransformParameter.HASH_TRANSFORMPARAMETER) { - hashValues.put( - uri, - ((TransformParameterHash) transformParameter).getDigestValue()); - } - - } - } - } - return hashValues; - } - - /** - * Filter the ReferenceInfos returned by the - * VerifyXMLSignatureResult for comparison with the - * ReferenceInfo elements in the request. - * - * @param referenceInfos The ReferenceInfos from the - * VerifyXMLSignatureResult. - * @return A List of all ReferenceInfos whose type - * is not a XMLDsig manifest, Security Layer manifest, or ETSI signed - * property. - */ - private List filterReferenceInfos(List referenceInfos) { - List filtered = new ArrayList(); - Iterator iter; - - for (iter = referenceInfos.iterator(); iter.hasNext();) { - iaik.server.modules.xmlverify.ReferenceInfo refInfo = - (iaik.server.modules.xmlverify.ReferenceInfo) iter.next(); - String refType = refInfo.getReferenceType(); - - if (refType == null || !FILTERED_REF_TYPES.contains(refType)) { - filtered.add(refInfo); - } - } - - return filtered; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java deleted file mode 100644 index 3e4c712f7..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.invoke; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import iaik.server.modules.xmlverify.XMLSignatureVerificationProfile; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl; -import at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * A factory to create a XMLSignatureVerificationProfile from a - * VerifyXMLSignatureRequest, based on the current MOA - * configuration. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureVerificationProfileFactory { - - /** The VerifyXMLSignatureRequest for which to create profile - * information. */ - private VerifyXMLSignatureRequest request; - - /** - * Create a new XMLSignatureVerificationProfileFactory. - * - * @param request The VerifyXMLSignatureRequest to extract - * profile data from. - */ - public XMLSignatureVerificationProfileFactory(VerifyXMLSignatureRequest request) { - this.request = request; - } - - /** - * Create a XMLSignatureCreationProfile from the - * VerifyXMLSignaturesRequest and the current MOA configuration. - * - * @return The XMLSignatureVerificationProfile containing - * additional information for verifying an XML signature. - * @throws MOASystemException A system error occurred building the profile. - * @throws MOAApplicationException An error occurred building the profile. - */ - public XMLSignatureVerificationProfile createProfile() - throws MOASystemException, MOAApplicationException { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - XMLSignatureVerificationProfileImpl profile = - new XMLSignatureVerificationProfileImpl(); - SignatureManifestCheckParams checkParams; - String trustProfileID; - - // set whether to check XMLDsig manifests - profile.setCheckXMLDsigManifests(true); - - // set the certificate validation profile - trustProfileID = request.getTrustProfileId(); - profile.setCertificateValidationProfile( - new PKIProfileImpl(config, trustProfileID)); - - // set whether hash input data is to be included - profile.setIncludeHashInputData(request.getReturnHashInputData()); - - // set the security layer manifest check parameters - // and transformation supplements (if present) - checkParams = request.getSignatureManifestCheckParams(); - profile.setCheckSecurityLayerManifest(true); - profile.setIncludeReferenceInputData(checkParams != null ? checkParams.getReturnReferenceInputData() : false); - if (checkParams != null) { - List transformationSupplements; - transformationSupplements = buildTransformationSupplements(); - profile.setTransformationSupplements(transformationSupplements); - } else { - profile.setTransformationSupplements(Collections.EMPTY_LIST); - } - - profile.setPermitFileURIs(config.getPermitFileURIs()); - - return profile; - } - - /** - * Build supplemental data objects used in the transformations. - * - * @return A List of DataObjects providing - * supplemental data to the transformations. - * @throws MOASystemException A system error occurred building one of the - * transformations. - * @throws MOAApplicationException An error occurred building one of the - * transformations. - */ - public List buildTransformationSupplements() - throws MOASystemException, MOAApplicationException { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ConfigurationProvider config = context.getConfiguration(); - SignatureManifestCheckParams checkParams = - request.getSignatureManifestCheckParams(); - List transformsProfiles = new ArrayList(); - List transformationSupplements = new ArrayList(); - DataObjectFactory factory = DataObjectFactory.getInstance(); - List refInfos = checkParams.getReferenceInfos(); - Iterator refIter; - Iterator prIter; - Iterator trIter; - - // build the list of all VerifyTransformsInfoProfiles in all ReferenceInfos - refInfos = checkParams.getReferenceInfos(); - for (refIter = refInfos.iterator(); refIter.hasNext();) { - ReferenceInfo refInfo = (ReferenceInfo) refIter.next(); - List profiles = refInfo.getVerifyTransformsInfoProfiles(); - - transformsProfiles.addAll( - ProfileMapper.mapVerifyTransformsInfoProfiles(profiles, config)); - } - - // build the DataObjects - for (prIter = transformsProfiles.iterator(); prIter.hasNext();) { - VerifyTransformsInfoProfileExplicit profile = - (VerifyTransformsInfoProfileExplicit) prIter.next(); - List transformParameters = profile.getTransformParameters(); - - for (trIter = transformParameters.iterator(); trIter.hasNext();) { - TransformParameter trParam = (TransformParameter) trIter.next(); - transformationSupplements.add( - factory.createFromTransformParameter(trParam)); - } - } - - return transformationSupplements; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLog.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLog.java deleted file mode 100644 index 10dc79dc1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLog.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.logging; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import iaik.logging.TransactionId; - -/** - * An implementation of the iaik.logging.Log - * interface that is based on Jakarta Commons-Logging. - * - * @author Fatemeh Philippi - * @version $Id$ - */ -public class IaikLog implements iaik.logging.Log { - /** The hierarchy to log all IAIK output to. */ - public static final String IAIK_LOG_HIERARCHY = "iaik.server"; - /** The commons-loggin Log to use for logging the messages. */ - private static Log log = LogFactory.getLog(IAIK_LOG_HIERARCHY); - /** The node ID to use. */ - private String nodeId; - - /** - * Create a new IaikLog. - * - * @param nodeId The node ID for this Log object. - */ - public IaikLog(String nodeId) { - this.nodeId = nodeId; - } - - /** - * @see iaik.logging.Log#isDebugEnabled() - */ - public boolean isDebugEnabled() { - return log.isDebugEnabled(); - } - - /** - * @see iaik.logging.Log#debug(TransactionId, Object, Throwable) - */ - public void debug(TransactionId transactionId, Object message, Throwable t) { - IaikLogMsg msg = new IaikLogMsg(transactionId, nodeId, message); - - log.debug(msg, t); - } - - /** - * @see iaik.logging.Log#isInfoEnabled() - */ - public boolean isInfoEnabled() { - return log.isInfoEnabled(); - } - - /** - * @see iaik.logging.Log#info(TransactionId, Object, Throwable) - */ - public void info(TransactionId transactionId, Object message, Throwable t) { - IaikLogMsg msg = new IaikLogMsg(transactionId, nodeId, message); - - log.info(msg, t); - } - - /** - * @see iaik.logging.Log#isWarnEnabled() - */ - public boolean isWarnEnabled() { - return log.isWarnEnabled(); - } - - /** - * @see iaik.logging.Log#warn(TransactionId, Object, Throwable) - */ - public void warn(TransactionId transactionId, Object message, Throwable t) { - IaikLogMsg msg = new IaikLogMsg(transactionId, nodeId, message); - - log.warn(msg, t); - } - - /** - * @see iaik.logging.Log#isErrorEnabled() - */ - public boolean isErrorEnabled() { - return log.isErrorEnabled(); - } - - /** - * @see iaik.logging.Log#error(TransactionId, Object, Throwable) - */ - public void error(TransactionId transactionId, Object message, Throwable t) { - IaikLogMsg msg = new IaikLogMsg(transactionId, nodeId, message); - - log.error(msg, t); - } - - /** - * @see iaik.logging.Log#isFatalEnabled() - */ - public boolean isFatalEnabled() { - return log.isFatalEnabled(); - } - - /** - * @see iaik.logging.Log#fatal(TransactionId, Object, Throwable) - */ - public void fatal(TransactionId transactionId, Object message, Throwable t) { - IaikLogMsg msg = new IaikLogMsg(transactionId, nodeId, message); - - log.fatal(msg, t); - } - - /** - * @see iaik.logging.Log#setNodeId(String) - */ - public void setNodeId(String nodeId) { - this.nodeId = nodeId; - } - - /** - * @see iaik.logging.Log#getNodeId() - */ - public String getNodeId() { - return nodeId; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java deleted file mode 100644 index 64810a8ac..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.logging; - -import iaik.logging.Log; -import iaik.logging.LogConfigurationException; -import iaik.logging.LogFactory; - -import at.gv.egovernment.moa.logging.LoggingContextManager; - -/** - * An implementation of the iaik.logging.LogFactory abstract - * class to log messages to the MOA logging subsystem. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IaikLogFactory extends LogFactory { - - public Log getInstance(Class clazz) throws LogConfigurationException { - return getInstanceImpl(); - } - - public Log getInstance(String name) throws LogConfigurationException { - return getInstanceImpl(); - } - - /** - * Return an instance of iaik.logging.Log. - * - * @return The iaik.logging.Log object to log messages to. - */ - private Log getInstanceImpl() { - String nodeID = - LoggingContextManager.getInstance().getLoggingContext().getNodeID(); - - return new IaikLog(nodeID); - } - - public void release() { - // we do not hold any resources - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java deleted file mode 100644 index 7e4ff8427..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.logging; - -import iaik.logging.TransactionId; - -/** - * A unified message type to log messages from the IAIK subsystem. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IaikLogMsg { - - /** The transaction ID of this message. */ - private TransactionId transactionId; - /** The node ID of this message. */ - private String nodeId; - /** The message to log. */ - private Object message; - - /** - * Create a IaikLogMsg object. - * - * @param transactionId The transaction id of the transaction which - * generated this log message. May be null. - * @param nodeId The node id where this message was generated. May be - * null. - * @param message The actual message to log. May be null. - */ - public IaikLogMsg(TransactionId transactionId, String nodeId, Object message) { - this.transactionId = transactionId; - this.nodeId = nodeId; - this.message = message; - } - - - /** - * Convert this log message to a String. - * - * @return The String representation of this log message. - */ - public String toString() { - StringBuffer msg = new StringBuffer(); - - msg.append("TID="); - msg.append(transactionId != null ? transactionId.getLogID() : ""); - msg.append(" NID="); - msg.append(nodeId != null ? nodeId : ""); - msg.append(" MSG="); - msg.append(message != null ? message.toString() : ""); - - return msg.toString(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/TransactionId.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/TransactionId.java deleted file mode 100644 index ba76c0bc5..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/logging/TransactionId.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.logging; - -/** - * An implementation of the iaik.logging.TransactionId interface. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransactionId implements iaik.logging.TransactionId { - - /** The String representation for logging the transaction ID. */ - private String logID; - - /** - * Create a TransactionId object. - * - * @param logID The transaction id as it should be presented to the logging - * subsystem. - */ - public TransactionId(String logID) { - this.logID = logID; - } - - /** - * @see iaik.logging.TransactionId#getLogID() - */ - public String getLogID() { - return logID; - } - - /** - * @see java.lang.Object#toString() - */ - public String toString() { - return getLogID(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java deleted file mode 100644 index b7ce0fa7d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java +++ /dev/null @@ -1,482 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.service; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.security.cert.X509Certificate; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; - -import org.apache.axis.AxisFault; -import org.apache.axis.Message; -import org.apache.axis.MessageContext; -import org.apache.axis.attachments.AttachmentPart; -import org.apache.axis.handlers.BasicHandler; -import org.apache.axis.transport.http.HTTPConstants; -import org.apache.axis.utils.Messages; -import org.apache.axis.utils.XMLUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -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.spss.MOASystemException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator; -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.DOMUtils; - -/** - * An handler that is invoked on each web service request and performs some - * central message handling. - * - * Mainly sets up the TransactionContext for the current - * transaction (i.e. web service request). - * - * @author Patrick Peck - * @author Stefan Knirsch - * @version $Id$ - */ -public class AxisHandler extends BasicHandler { - - /** - * - */ - private static final long serialVersionUID = 2520698947819506866L; - -/** The resource names of the messages to load. */ - private static final String MOA_SPSS_WSDL_RESOURCE_ = "/resources/wsdl/MOA-SPSS-1.3.wsdl"; - - /** The property name for accessing the HTTP request. */ - private static final String REQUEST_PROPERTY = HTTPConstants.MC_HTTP_SERVLETREQUEST; - - /** The property name for accessing the X509 client certificate chain. */ - private static final String X509_CERTIFICATE_PROPERTY = "javax.servlet.request.X509Certificate"; - - /** The property name for accessing the SOAP action header. */ - private static final String SOAP_ACTION_HEADER = "soapaction"; - - /** URI of the SOAP XML namespace. */ - public static final String SOAP_NS_URI = "http://schemas.xmlsoap.org/soap/envelope/"; - - /** Prefix used for the SOAP XML namespace */ - public static final String SOAP_PREFIX = "soapenv"; - - /** Simple string contains the front part of the enveloping SOAP wrapping */ - private static final String SOAP_PART_PRE = ""; - - /** Simple string contains the post part of the enveloping SOAP wrapping */ - private static final String SOAP_PART_POST = ""; - - private static final Map parserFeatures = - Collections.unmodifiableMap(new HashMap() { - private static final long serialVersionUID = 1L; - { - put(DOMUtils.DISALLOW_DOCTYPE_FEATURE, true); - - } - }); - - /** - * Handle an invocation of this handler. - * - * @param msgContext Information about this request/response. - * @throws AxisFault An error occurred during processing of the request. - * @see org.apache.axis.Handler#invoke(MessageContext) - */ - public void invoke(MessageContext msgContext) throws AxisFault { - if (!msgContext.getPastPivot()) { - handleRequest(msgContext); - } else { - handleResponse(msgContext); - } - } - - /** - * This method is called by invoke to handle incoming requests. - * - * @param msgContext The context as provided to invoke. - * @throws AxisFault An error occurred during processing of the request. - */ - private void handleRequest(MessageContext msgContext) throws AxisFault { - try { - Logger.trace("---- Entering Axishandler"); - // generate a unique transaction id and build the TransactionContext - // for this request - HttpServletRequest request = - (HttpServletRequest) msgContext.getProperty(REQUEST_PROPERTY); - - X509Certificate[] clientCert = - (X509Certificate[]) request.getAttribute(X509_CERTIFICATE_PROPERTY); - - //Configure Axis -// AxisProperties.setProperty(AxisEngine.PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION,"false"); -// AxisProperties.setProperty(AxisEngine.PROP_DOMULTIREFS,"false"); -// AxisProperties.setProperty(AxisEngine.PROP_SEND_XSI,"true"); - //msgContext.setProperty(org.apache.axis.SOAPPart.ALLOW_FORM_OPTIMIZATION, Boolean.FALSE); - //msgContext.setProperty(org.apache.axis. AxisEngine.PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION,"false"); - - Message soapMessage = msgContext.getCurrentMessage(); - - ConfigurationProvider configuration = - ConfigurationProvider.getInstance(); - - Element xmlRequest = null; - //log.info(soapMessage.getSOAPPartAsString()); - Element soapPart = DOMUtils.parseDocument( - new ByteArrayInputStream(soapMessage.getSOAPPartAsBytes()), - false, - null, - null, - parserFeatures).getDocumentElement(); - if (soapPart!=null) { - //TODO: check if DOM Version is intolerant when white spaces are between tags (preceding normalization would be necessary) - NodeList soapBodies = soapPart.getElementsByTagNameNS(SOAP_NS_URI, "Body"); - if (soapBodies!=null && soapBodies.getLength()>0) { - xmlRequest = DOMUtils.getElementFromNodeList(soapBodies.item(0).getChildNodes()); - } - //oder TODO: Evaluierung ob XPATH schneller - /* - HashMap nSMap = new HashMap(); - nSMap.put((String)SOAP_PREFIX, SOAP_NS_URI); - Element soapBody = (Element) XPathUtils.selectSingleNode(soapPart, nSMap, "/"+SOAP_PREFIX+":Envelope/"+SOAP_PREFIX+":Body"); - if (soapBody!=null) { - xmlRequest = DOMUtils.getElementFromNodeList(soapBody.getChildNodes()); - } - */ - } - - TransactionContext context = - new TransactionContext( - TransactionIDGenerator.nextID(), - clientCert, - configuration, - xmlRequest, - null); - - String soapAction = (String) request.getHeader(SOAP_ACTION_HEADER); - if ("\"\"".equals(soapAction)) { - // if http soap action header is empty - soapAction = msgContext.getTargetService(); - } - context.setRequestName(soapAction); - - Logger.trace(">>> Get AttachmentCount"); - int attachmentCount = soapMessage.getAttachmentsImpl().getAttachmentCount(); - Logger.trace("<<< Finished Get AttachmentCount"); - if (attachmentCount>0) { - - // add SOAP attachments to transaction context - Iterator iterator = soapMessage.getAttachments(); - while (iterator.hasNext()) { - AttachmentPart attachment = (AttachmentPart)iterator.next(); - String id = attachment.getContentId(); - String type = attachment.getContentType(); - - //Now get the InputStream (note: we could also get the content with Object content = attachment.getContent();) - InputStream is = null; - javax.activation.DataHandler datahandler = attachment.getDataHandler(); - - int TYPE = 2; - switch (TYPE) { - case 1: - { - org.apache.axis.attachments.ManagedMemoryDataSource mmds = (org.apache.axis.attachments.ManagedMemoryDataSource)datahandler.getDataSource(); - context.addAttachment(id, type, mmds); - break; - } - case 2: - { - is = datahandler.getDataSource().getInputStream(); - context.addAttachment(id, type, is, datahandler.getDataSource().getName()); - break; - } - } - debug("handler.06", new Object[] {id, type}); - } - } - - setUpContexts(context); - - // log some information about the request - info( - "handler.00", - new Object[] { - context.getTransactionID(), - msgContext.getTargetService()}); - info("handler.01", new Object[] { request.getRemoteAddr()}); - if (clientCert != null) { - info( - "handler.02", - new Object[] { - clientCert[0].getSubjectDN(), - clientCert[0].getSerialNumber(), - clientCert[0].getIssuerDN()}); - - } else { - info("handler.03", null); - } - if (Logger.isTraceEnabled()) { -// OutputFormat format = new OutputFormat((Document) xmlRequest.getOwnerDocument()); -// format.setLineSeparator("\n"); -// format.setIndenting(false); -// format.setPreserveSpace(true); -// format.setOmitXMLDeclaration(false); -// format.setEncoding("UTF-8"); -// ByteArrayOutputStream baos = new ByteArrayOutputStream(); -// XMLSerializer conSerializer = new XMLSerializer(baos, format); -// conSerializer.serialize(xmlRequest); -// Logger.debug(new LogMsg("Request:" + baos.toString())); - - - String msg = soapMessage.getSOAPPartAsString(); - Logger.trace(new LogMsg(msg)); - } - } catch (MOASystemException e) { - MOASystemException se = new MOASystemException("2900", null, e); - AxisFault fault = AxisFault.makeFault(se); - fault.setFaultDetail(new Element[] { se.toErrorResponse()}); - throw fault; - } catch (Throwable t) { - t.printStackTrace(); - Logger.info(new LogMsg(t.getStackTrace())); - MOASystemException e = new MOASystemException("2900", null, t); - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - throw fault; - } - Logger.trace("---- Leaving Axishandler"); - } - - /** - * This method is called by invoke to handle outgoing - * responses. - * - * @param msgContext The context as provided to invoke. - * @throws AxisFault An error occurred during processing of the response. - */ - private void handleResponse(MessageContext msgContext) throws AxisFault { - String xmlResponseString = null; - String soapResponseString = null; - - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - Element xmlResponse = context.getResponse(); - - if (xmlResponse!=null) { - try { - xmlResponseString = DOMUtils.serializeNode(xmlResponse, true); - /* - Soll die Antwort nur \n enthalten, so gibt es 2 Möglichkeiten: - 1.) Xalan Version und - xmlResponseString = DOMUtils.serializeNode(xmlResponse, true, "\n"); - 2.) - OutputFormat serializerFormat = new OutputFormat((Document) xmlResponse.getOwnerDocument()); - serializerFormat.setLineSeparator("\n"); - serializerFormat.setIndenting(false); - serializerFormat.setPreserveSpace(true); - serializerFormat.setOmitXMLDeclaration(true); - serializerFormat.setEncoding("UTF-8"); - ByteArrayOutputStream serializedBytes = new ByteArrayOutputStream(); - XMLSerializer serializer = new XMLSerializer(serializedBytes, serializerFormat); - serializer.serialize(xmlResponse); - serializedBytes.close(); - xmlResponseString = serializedBytes.toString("UTF-8"); - */ - if (Logger.isTraceEnabled()) { - Logger.trace(new LogMsg(xmlResponseString)); - } - soapResponseString = SOAP_PART_PRE + xmlResponseString + SOAP_PART_POST; - //override axis response-message - msgContext.setResponseMessage(new Message(soapResponseString)); - } catch (Throwable t) { - t.printStackTrace(); - Logger.info(new LogMsg(t.getStackTrace())); - MOASystemException e = new MOASystemException("2900", null, t); - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - throw fault; - } - - } else { - //Fallback: if functions do not set the resulting response in the transaction, the original one from axis will be used - soapResponseString = msgContext.getCurrentMessage().getSOAPPartAsString(); - } - - info("handler.04", null); - if (Logger.isDebugEnabled()) { - Logger.debug(new LogMsg(soapResponseString)); - } - tearDownContexts(); - } - - /** - * Called, when the processing of the web service fails. - * - * @param msgContext Information about the current request. - * @see org.apache.axis.Handler#onFault(org.apache.axis.MessageContext) - */ - public void onFault(MessageContext msgContext) { - info("handler.05", null); - tearDownContexts(); - } - - /** - * Set up the thread-local contexts (TransactionContext and - * LoggingContext). - * - * @param context The TransactionContext to set for the current - * request. - */ - private void setUpContexts(TransactionContext context) { - // set the transaction context in the TransactionContextManager - TransactionContextManager tcm = TransactionContextManager.getInstance(); - tcm.setTransactionContext(context); - - // set the logging context in the LoggingContextManager - LoggingContextManager lcm = LoggingContextManager.getInstance(); - LoggingContext lc = new LoggingContext(context.getTransactionID()); - lcm.setLoggingContext(lc); - } - - /** - * Tear down the thread-local contexts. - */ - private void tearDownContexts() { - TransactionContextManager tcm = TransactionContextManager.getInstance(); - - //delete temporary files - TransactionContext context = tcm.getTransactionContext(); - context.cleanAttachmentCache(); - - // unset the transaction context - tcm.setTransactionContext(null); - - // unset the logging context - LoggingContextManager lcm = LoggingContextManager.getInstance(); - lcm.setLoggingContext(null); - } - - /** - * Generate the WSDL into the msgContext. - * - * The code of this method is more or less copied from the - * org.apache.axis.handlers.soap.SOAPService class contained in - * the 1.1 release of Axis to allow for a missing wsdlFile (so - * that a resource by the same name is searched for in the classpath). The - * implementation of this method should be obsolete if Axis 1.1 or higher is - * used. - * - * @param msgContext The MessageContext that will contain the - * WSDL description of the current web service. - * @throws AxisFault An error occurred producing the WSDL. - */ - public void generateWSDL(MessageContext msgContext) throws AxisFault { - InputStream instream = null; - - try { - String filename = MOA_SPSS_WSDL_RESOURCE_; - - File file = new File(filename); - if (file.exists()) { - //if this resolves to a file, load it - instream = new FileInputStream(filename); - } else { - //else load a named resource in our classloader. - instream = this.getClass().getResourceAsStream(filename); - if (instream == null) { - String errorText = Messages.getMessage("wsdlFileMissing", filename); - throw new AxisFault(errorText); - } - } - Document doc = XMLUtils.newDocument(instream); - msgContext.setProperty("WSDL", doc); - } catch (Exception e) { - throw AxisFault.makeFault(e); - } finally { - if (instream != null) { - try { - instream.close(); - } catch (IOException e) { - // ok to do nothing here - } - } - } - } - - /** - * Utility function to issue an info message to the log. - * - * @param messageId The ID of the message to log. - * @param parameters Additional message parameters. - */ - private static void info(String messageId, Object[] parameters) { - MessageProvider msg = MessageProvider.getInstance(); - - Logger.info(new LogMsg(msg.getMessage(messageId, parameters))); - } - - /** - * Utility function to issue an debug message to the log. - * - * @param messageId The ID of the message to log. - * @param parameters Additional message parameters. - */ - private static void debug(String messageId, Object[] parameters) { - MessageProvider msg = MessageProvider.getInstance(); - - Logger.debug(new LogMsg(msg.getMessage(messageId, parameters))); - } - - - -// private byte[] toByteArray(AttachmentPart attachment) throws SOAPException, IOException -// { -// ByteArrayOutputStream outputStream = new ByteArrayOutputStream(attachment.getSize()); -// InputStream inputStream = (InputStream) attachment.getContent(); -// int currentByte = -1; -// while ((currentByte = inputStream.read()) != -1) -// outputStream.write(currentByte); -// -// inputStream.close(); -// outputStream.close(); -// -// return outputStream.toByteArray(); -// -//} - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java deleted file mode 100644 index c8a0f68bf..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/CertificateProviderServlet.java +++ /dev/null @@ -1,178 +0,0 @@ -package at.gv.egovernment.moa.spss.server.service; - -import iaik.server.modules.keys.KeyEntryID; -import iaik.server.modules.keys.KeyModule; -import iaik.server.modules.keys.KeyModuleFactory; - -import java.io.IOException; -import java.math.BigInteger; -import java.security.Principal; -import java.security.cert.Certificate; -import java.security.cert.X509Certificate; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import at.gv.egovernment.moa.logging.Logger; -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.KeyGroupEntry; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator; - -/** - * - * @author Andreas Fitzek - * @version $Id$ - */ -public class CertificateProviderServlet extends HttpServlet { - - /** - * - */ - private static final long serialVersionUID = -6907582473072190122L; - - /** The property name for accessing the X509 client certificate chain. */ - private static final String X509_CERTIFICATE_PROPERTY = "javax.servlet.request.X509Certificate"; - - public static final String PARAM_KEYID = "id"; - - /** - * Build the set of KeyEntryIDs available to the given - * keyGroupID. - * - * @param keyGroupID - * The keygroup ID for which the available keys should be - * returned. - * @return The Set of KeyEntryIDs identifying the - * available keys. - * @throws ConfigurationException - */ - private Set buildKeySet(String keyGroupID, X509Certificate cert, KeyModule module) - throws ConfigurationException { - ConfigurationProvider config = ConfigurationProvider.getInstance(); - Set keyGroupEntries; - - // get the KeyGroup entries from the configuration - if (cert != null) { - Principal issuer = cert.getIssuerDN(); - BigInteger serialNumber = cert.getSerialNumber(); - - keyGroupEntries = config.getKeyGroupEntries(issuer, serialNumber, - keyGroupID); - } else { - keyGroupEntries = config.getKeyGroupEntries(null, null, keyGroupID); - } - - // map the KeyGroup entries to a set of KeyEntryIDs - if (keyGroupEntries == null) { - return null; - } else if (keyGroupEntries.size() == 0) { - return Collections.EMPTY_SET; - } else { - - Set keyEntryIDs = module.getPrivateKeyEntryIDs(); - Set keySet = new HashSet(); - Iterator iter; - - // filter out the keys that do not exist in the IAIK configuration - // by walking through the key entries and checking if the exist in - // the - // keyGroupEntries - for (iter = keyEntryIDs.iterator(); iter.hasNext();) { - KeyEntryID entryID = (KeyEntryID) iter.next(); - KeyGroupEntry entry = new KeyGroupEntry(entryID.getModuleID(), - entryID.getCertificateIssuer(), - entryID.getCertificateSerialNumber()); - if (keyGroupEntries.contains(entry)) { - keySet.add(entryID); - } - } - return keySet; - } - } - - private X509Certificate getClientCertificate(HttpServletRequest request) { - X509Certificate[] clientCert = (X509Certificate[]) request - .getAttribute(X509_CERTIFICATE_PROPERTY); - if(clientCert != null) { - return clientCert[0]; - } - return null; - } - - public void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - try { - X509Certificate cert = getClientCertificate(request); - String keyId = request.getParameter(PARAM_KEYID); - - if(keyId == null) { - Logger.warn(PARAM_KEYID + " not provided in Request. Returning: " + HttpServletResponse.SC_BAD_REQUEST); - response.sendError(HttpServletResponse.SC_BAD_REQUEST); - return; - } - - String transactionId = TransactionIDGenerator.nextID(); - - KeyModule module = KeyModuleFactory.getInstance(new TransactionId( - transactionId)); - - Set keySet = buildKeySet(keyId, cert, module); - - if(keySet == null || keySet.isEmpty()) { - Logger.warn("No keys available for Key Identifier " + keyId + " and given authentication."); - response.sendError(HttpServletResponse.SC_NOT_FOUND); - return; - } - - - if(keySet.size() != 1) { - Logger.warn("Too many keys available for Key Identifier " + keyId + " and given authentication."); - response.sendError(HttpServletResponse.SC_CONFLICT); - return; - } - - Iterator iter; - - // filter out the keys that do not exist in the IAIK configuration - // by walking through the key entries and checking if the exist in - // the - // keyGroupEntries - for (iter = keySet.iterator(); iter.hasNext();) { - KeyEntryID entryID = (KeyEntryID) iter.next(); - - List certChain = module.getPrivateKeyEntry(entryID).getCertificateChain(); - - if(certChain != null && !certChain.isEmpty()) { - Logger.trace("Returning Certificate!"); - Certificate keyCert = ((Certificate)certChain.get(0)); - byte[] certData = keyCert.getEncoded(); - response.setStatus(HttpServletResponse.SC_OK); - response.setContentType("application/pkix-cert"); - response.setHeader("Content-disposition","attachment; filename=\"" + keyId + ".cer\""); - response.getOutputStream().write(certData); - response.getOutputStream().close(); - return; - } - - break; - } - - // No Certificate could be found! - Logger.warn("Failed to find keys available for Key Identifier " + keyId + " and given authentication."); - response.sendError(HttpServletResponse.SC_NOT_FOUND); - return; - } catch(Throwable e) { - Logger.error("Unhandled Exception when providing certificate", e); - response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - } - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java deleted file mode 100644 index 8bdfb6578..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.service; - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -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.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; -import at.gv.egovernment.moa.spss.server.init.*; -import at.gv.egovernment.moa.spss.util.MessageProvider; - -/** - * A servlet to initialize and update the MOA configuration. - * - * @author Fatemeh Philippi - * @author Patrick Peck - * @version $Id$ - */ -public class ConfigurationServlet extends HttpServlet { - /** - * - */ - private static final long serialVersionUID = 8372961105222028696L; -/** The document type of the HTML to generate. */ - private static final String DOC_TYPE = - "\n"; - - /** - * Handle a HTTP GET request, used to indicated that the MOA - * configuration needs to be updated (reloaded). - * - * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest, HttpServletResponse) - */ - public void doGet(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - - MessageProvider msg = MessageProvider.getInstance(); - PrintWriter out; - - // set up a logging context for logging the reconfiguration - LoggingContextManager.getInstance().setLoggingContext( - new LoggingContext("configuration update")); - - response.setContentType("text/html"); - out = response.getWriter(); - out.println(DOC_TYPE); - out.println("MOA configuration update"); - out.println(""); - try { - // reconfigure the system - ConfigurationProvider config = ConfigurationProvider.reload(); - IaikConfigurator iaikConfigurator = new IaikConfigurator(); - - iaikConfigurator.configure(config); - - // print a status message - out.println("

" + msg.getMessage("config.06", null) + "

"); - Logger.info(new LogMsg(msg.getMessage("config.06", null))); - - if (!config.getWarnings().isEmpty()) { - // print the warnings - List allWarnings = new ArrayList(); - Iterator iter; - - allWarnings.addAll(config.getWarnings()); - allWarnings.addAll(iaikConfigurator.getWarnings()); - - out.println("

" + msg.getMessage("config.29", null) + "

"); - for (iter = allWarnings.iterator(); iter.hasNext();) { - out.println(iter.next() + "
"); - } - out.println("

" + msg.getMessage("config.28", null) + "

"); - } - - } catch (Throwable t) { - out.println("

" + msg.getMessage("config.20", null) + "

"); - out.println("

" + msg.getMessage("config.28", null) + "

"); - Logger.warn(new LogMsg(msg.getMessage("config.20", null)), t); - } - out.println(""); - - out.flush(); - out.close(); - - // tear down the logging context - LoggingContextManager.getInstance().setLoggingContext(null); - } - - /** - * Do the same as doGet. - * - * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest, HttpServletResponse) - */ - public void doPost(HttpServletRequest request, HttpServletResponse response) - throws ServletException, IOException { - doGet(request, response); - } - - /** - * Perform some initial initialization tasks for the MOA web services - * application. - * - * Does an initial load of the MOA configuration to test if a working web - * service can be provided. - * - * @see javax.servlet.GenericServlet#init() - */ - public void init() throws ServletException { - SystemInitializer.init(); - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java deleted file mode 100644 index f6d84c732..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.service; - -import iaik.pki.revocation.RevocationSourceTypes; -import iaik.pki.store.revocation.archive.Archive; -import iaik.pki.store.revocation.archive.ArchiveFactory; - -import java.util.Date; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.util.MessageProvider; - -/** - * A Runnable for periodically cleaning up the revocation archive. - * @author Patrick Peck - * @version $Id$ - */ -public class RevocationArchiveCleaner implements Runnable { - - /** The inverval between two clean-ups of the revocation archive. */ - private long archiveCleanupInterval; - - /** - * Create a new RevocationArchiveCleaner. - * - * @param archiveCleanupInterval The interval between two clean-ups of the - * revocation archive. - */ - public RevocationArchiveCleaner(long archiveCleanupInterval) { - this.archiveCleanupInterval = archiveCleanupInterval; - } - - /** - * Run the RevocationArchiveCleaner in its own - * Thread. - */ - public void run() { - while (true) { - try { - ConfigurationProvider config = ConfigurationProvider.getInstance(); - boolean enableArchiving = config.getEnableRevocationArchiving(); - - if (enableArchiving) - { - Archive archive = ArchiveFactory.getInstance().getArchive(); - long archiveDurationMillis = - (long) config.getCRLArchiveDuration() * 86400000; - - // delete old archive data - if (archiveDurationMillis > 0) { - Date olderThan = - new Date(System.currentTimeMillis() - archiveDurationMillis); - - archive.deleteOldArchiveEntries( - RevocationSourceTypes.CRL, - olderThan, - new TransactionId("RevocationArchiveCleaner")); - } - } - - } catch (Exception e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("init.02", null)), e); - } - - // sleep - try { - Thread.sleep(archiveCleanupInterval * 1000); - } catch (InterruptedException e) { - // ok to do nothing here - } - - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java deleted file mode 100644 index 1114cb7b0..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.service; - -import java.io.ByteArrayInputStream; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.util.MOASPSSEntityResolver; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.MOAErrorHandler; - -/** - * Helper methods for the Service classes. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ServiceUtils { - - /** - * Schema-validate a request. - * - * @param request The request to validate. - * @throws MOAApplicationException An error occurred validating the requst. - */ - public static void validateRequest(Element[] request) - throws MOAApplicationException { - - // validate the request - try { - DOMUtils.validateElement( - request[0], - Constants.ALL_SCHEMA_LOCATIONS, - null, - new MOASPSSEntityResolver()); - } catch (Exception e) { - throw new MOAApplicationException( - "1100", - new Object[] { e.getMessage()}, - e); - } - } - - /** - * Reparse the request with schema-validation turned on so that ID references - * are resolved. - * - * @param request The request to reparse. - * @return The reparsed request. - * @throws MOAApplicationException An error occurred parsing the request. - */ - public static Element reparseRequest(Element request) - throws MOAApplicationException { - - try { - byte[] requestBytes = DOMUtils.serializeNode(request, "UTF-8"); - Document validatedRequest = DOMUtils.parseDocument(new ByteArrayInputStream(requestBytes), - true, - Constants.ALL_SCHEMA_LOCATIONS, - null, - new MOASPSSEntityResolver(), - new MOAErrorHandler(), - null); - -// DOMUtils.parseDocument( -// new ByteArrayInputStream(requestBytes), -// true, -// Constants.ALL_SCHEMA_LOCATIONS, -// null); - return validatedRequest.getDocumentElement(); - } catch (Exception e) { - throw new MOAApplicationException( - "1100", - new Object[] { e.getMessage()}, - e); - } - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java deleted file mode 100644 index e5b12bd8c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.service; - -import java.util.Collections; - -import javax.xml.namespace.QName; - -import org.apache.axis.AxisFault; -import org.apache.axis.i18n.Messages; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmssign.CreateCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlbind.CreateCMSSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.CreateCMSSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureCreationInvoker; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.StreamUtils; - -/** - * The service endpoint for the SignatureCreation web service. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SignatureCreationService { - - /** - * Handle a CreateXMLSignatureRequest. - * - * @param request The CreateXMLSignatureRequest to work on - * (contained in the 0th element of the array). - * @return A CreateXMLSignatureResponse as the only element of - * the Element array. - * @throws AxisFault An error occurred during handling of the message. - */ - public Element[] CreateCMSSignatureRequest(Element[] request) - throws AxisFault { - Logger.trace("---- Entering SignatureCreationService"); - CMSSignatureCreationInvoker invoker = - CMSSignatureCreationInvoker.getInstance(); - Element[] response = new Element[1]; - - // check that we have a CreateXMLSignatureRequest; if not, create an - // AxisFault, just like the org.apache.axis.providers.java.MsgProvider - if (!Constants.MOA_SPSS_CREATE_CMS_REQUEST.equals(request[0].getLocalName()) || - !Constants.MOA_NS_URI.equals(request[0].getNamespaceURI())) - { - QName qname = - new QName(request[0].getNamespaceURI(), request[0].getLocalName()); - throw new AxisFault( - Messages.getMessage("noOperationForQName", qname.toString())); // TODO GK Operation name does not make it into the error repsonse - } - - // handle the request - try { - - // create a parser and builder for binding API objects to/from XML - CreateCMSSignatureRequestParser requestParser = - new CreateCMSSignatureRequestParser(); - CreateCMSSignatureResponseBuilder responseBuilder = - new CreateCMSSignatureResponseBuilder(); - Element reparsedReq; - CreateCMSSignatureRequest requestObj; - CreateCMSSignatureResponse responseObj; - - //since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler. - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - - // validate the request - reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest()); - - // convert to API objects - Logger.trace(">>> preparsing Request"); - requestObj = requestParser.parse(reparsedReq); - Logger.trace("<<< preparsed Request"); - - Logger.trace(">>> creating Signature"); - // invoke the core logic - responseObj = invoker.createCMSSignature(requestObj, Collections.EMPTY_SET); - Logger.trace("<<< created Signature"); - - Logger.trace(">>> building Response"); - // map back to XML - response[0] = responseBuilder.build(responseObj).getDocumentElement(); - Logger.trace("<<< built Response"); - - // save response in transaction - context.setResponse(response[0]); - Logger.trace("---- Leaving SignatureCreationService"); - - - } catch (MOAException e) { - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } - - return response; - } - - /** - * Handle a CreateXMLSignatureRequest. - * - * @param request The CreateXMLSignatureRequest to work on - * (contained in the 0th element of the array). - * @return A CreateXMLSignatureResponse as the only element of - * the Element array. - * @throws AxisFault An error occurred during handling of the message. - */ - public Element[] CreateXMLSignatureRequest(Element[] request) - throws AxisFault { - Logger.trace("---- Entering SignatureCreationService"); - XMLSignatureCreationInvoker invoker = - XMLSignatureCreationInvoker.getInstance(); - Element[] response = new Element[1]; - - // check that we have a CreateXMLSignatureRequest; if not, create an - // AxisFault, just like the org.apache.axis.providers.java.MsgProvider - if (!Constants.MOA_SPSS_CREATE_XML_REQUEST.equals(request[0].getLocalName()) || - !Constants.MOA_NS_URI.equals(request[0].getNamespaceURI())) - { - QName qname = - new QName(request[0].getNamespaceURI(), request[0].getLocalName()); - throw new AxisFault( - Messages.getMessage("noOperationForQName", qname.toString())); // TODO GK Operation name does not make it into the error repsonse - } - - // handle the request - try { - - // create a parser and builder for binding API objects to/from XML - CreateXMLSignatureRequestParser requestParser = - new CreateXMLSignatureRequestParser(); - CreateXMLSignatureResponseBuilder responseBuilder = - new CreateXMLSignatureResponseBuilder(); - Element reparsedReq; - CreateXMLSignatureRequest requestObj; - CreateXMLSignatureResponse responseObj; - - //since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler. - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - - // validate the request - reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest()); - - // convert to API objects - Logger.trace(">>> preparsing Request"); - requestObj = requestParser.parse(reparsedReq); - Logger.trace("<<< preparsed Request"); - - Logger.trace(">>> creating Signature"); - // invoke the core logic - responseObj = invoker.createXMLSignature(requestObj, Collections.EMPTY_SET); - Logger.trace("<<< created Signature"); - - Logger.trace(">>> building Response"); - // map back to XML - response[0] = responseBuilder.build(responseObj).getDocumentElement(); - Logger.trace("<<< built Response"); - - // save response in transaction - context.setResponse(response[0]); - Logger.trace("---- Leaving SignatureCreationService"); - - - } catch (MOAException e) { - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturerstellung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } - - return response; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java deleted file mode 100644 index a1caac6a7..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java +++ /dev/null @@ -1,179 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.service; - -import org.apache.axis.AxisFault; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.MOASystemException; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; -import at.gv.egovernment.moa.util.StreamUtils; - -/** - * The service endpoint for the SignatureVerification web service. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SignatureVerificationService { - - /** - * Handle a VerifyCMSSignatureRequest. - * - * @param request The VerifyCMSSignatureRequest to work on - * (contained in the 0th element of the array). - * @return A VerifyCMSSignatureResponse as the only element of - * the Element array. - * @throws AxisFault An error occurred during handling of the message. - */ - public Element[] VerifyCMSSignatureRequest(Element[] request) - throws AxisFault { - CMSSignatureVerificationInvoker invoker = - CMSSignatureVerificationInvoker.getInstance(); - Element[] response = new Element[1]; - - try { - - // create a parser and builder for binding API objects to/from XML - VerifyCMSSignatureRequestParser requestParser = - new VerifyCMSSignatureRequestParser(); - VerifyCMSSignatureResponseBuilder responseBuilder = - new VerifyCMSSignatureResponseBuilder(); - Element reparsedReq; - VerifyCMSSignatureRequest requestObj; - VerifyCMSSignatureResponse responseObj; - - //since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler. - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - // validate the request - reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest()); - - // convert to API objects - requestObj = requestParser.parse(reparsedReq); - - // invoke the core logic - responseObj = invoker.verifyCMSSignature(requestObj); - - // map back to XML - response[0] = responseBuilder.build(responseObj).getDocumentElement(); - - // save response in transaction - context.setResponse(response[0]); - - - } catch (MOAException e) { - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturpruefung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturpruefung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } - - return response; - } - - /** - * Handle a VerifyXMLSignatureRequest. - * - * @param request The VerifyXMLSignatureRequest to work on - * (contained in the 0th element of the array). - * @return A VerifyXMLSignatureResponse as the only element of - * the Element array. - * @throws AxisFault An error occurred during handling of the message. - */ - public Element[] VerifyXMLSignatureRequest(Element[] request) - throws AxisFault { - XMLSignatureVerificationInvoker invoker = - XMLSignatureVerificationInvoker.getInstance(); - Element[] response = new Element[1]; - - try { - - // create a parser and builder for binding API objects to/from XML - VerifyXMLSignatureRequestParser requestParser = - new VerifyXMLSignatureRequestParser(); - VerifyXMLSignatureResponseBuilder responseBuilder = - new VerifyXMLSignatureResponseBuilder(); - Element reparsedReq; - VerifyXMLSignatureRequest requestObj; - VerifyXMLSignatureResponse responseObj; - - //since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler. - TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); - // validate the request - reparsedReq = ServiceUtils.reparseRequest(context.getRequest()); - - // convert to API objects - requestObj = requestParser.parse(reparsedReq); - - // invoke the core logic - responseObj = invoker.verifyXMLSignature(requestObj); - - // map back to XML - response[0] = responseBuilder.build(responseObj).getDocumentElement(); - - // save response in transaction - context.setResponse(response[0]); - - - } catch (MOAException e) { - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturpruefung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } catch (Throwable t) { - MOASystemException e = new MOASystemException("2900", null, t); - AxisFault fault = AxisFault.makeFault(e); - fault.setFaultDetail(new Element[] { e.toErrorResponse()}); - Logger.debug("Anfrage zur Signaturpruefung wurde nicht erfolgreich beendet:" - + System.getProperty("line.separator") + StreamUtils.getStackTraceAsString(e)); - throw fault; - } - - return response; - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java deleted file mode 100644 index 05d54f691..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java +++ /dev/null @@ -1,380 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.transaction; - -import iaik.ixsil.util.URI; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.security.cert.X509Certificate; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Vector; -import java.util.Map.Entry; - -import org.apache.axis.attachments.ManagedMemoryDataSource; -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; - -/** - * Contains information about the current request. - * - * @author Stefan Knirsch - * @author Patrick Peck - */ -public class TransactionContext { - - /** The client certificate. */ - private X509Certificate[] clientCertificate = null; - /** The transaction ID. */ - private String transactionID = null; - /** The name of the request. */ - private String requestName = null; - /** The SOAP embedded request */ - private Element request; - /** The response which is to embed by SOAP */ - private Element response; - /** The map pointing to SOAP attachments needed by the request. */ - private HashMap attachments = null; - /** The map containing cashed entities used in DataObjectFactory. */ - private HashMap resolvedEntities = null; - /** The configuration to use throughout the request. */ - private ConfigurationProvider configuration = null; - - /** - * Create a TransactionContext object. - * - * @param transactionID A unique ID for this TransactionContext. - * @param clientCertificate The client certificate chain. - * @param configuration The MOA configuration to use for this transaction. - */ - public TransactionContext( - String transactionID, - X509Certificate[] clientCertificate, - ConfigurationProvider configuration) { - - this.transactionID = transactionID; - this.clientCertificate = clientCertificate; - this.configuration = configuration; - } - - /** - * Create a TransactionContext object. - * - * @param transactionID A unique ID for this TransactionContext. - * @param clientCertificate The client certificate chain. - * @param configuration The MOA configuration to use for this transaction. - * @param attachments to use for this transaction. - */ - public TransactionContext( - String transactionID, - X509Certificate[] clientCertificate, - ConfigurationProvider configuration, - Element request, - HashMap attachments) { - - this.transactionID = transactionID; - this.clientCertificate = clientCertificate; - this.configuration = configuration; - this.request = request; - this.attachments = attachments; - } - - /** - * Returns the client certificate. - * - * @return The client certificate chain, if SSL client authentication has been - * configured in the web server and has been used by the client. The 0th - * element of the array contains the client certificate. null - * otherwise. - */ - public X509Certificate[] getClientCertificate() { - return clientCertificate; - } - - /** - * Returns the unique transaction ID. - * - * @return The transaction ID. - */ - public String getTransactionID() { - return transactionID; - } - - /** - * Returns the name of the request. - * - * @return The name of the request. - */ - public String getRequestName() { - return requestName; - } - - /** - * Sets the name of the request. - * - * @param requestName The request name to set. - */ - public void setRequestName(String requestName) { - this.requestName = requestName; - } - - /** - * Sets the the request. - * - * @param request The request to set. - */ - public void setRequest(Element request) { - this.request = request; - } - - /** - * Returns the request. - * - * @return The request. - */ - public Element getRequest() { - return request; - } - - /** - * Sets the the response. - * - * @param response The response to set. - */ - public void setResponse(Element response) { - this.response = response; - } - - /** - * Returns the response. - * - * @return The response. - */ - public Element getResponse() { - return response; - } - - /** - * Adds an attachment to the transactions list of SOAP attachments. - * - * @param referenceId Identification value for the SOAP attachment. - * @param contentType MIME type of the SOAP attachment. - * @param is Handle to the ManagedMemoryDataSource of the SOAP attachment. - */ - public void addAttachment(String referenceId, String contentType, ManagedMemoryDataSource is) { - if (this.attachments == null) this.attachments = new HashMap(); - Vector entry = new Vector(2); - entry.add(contentType); - entry.add(is); - this.attachments.put(referenceId, entry); - } - - /** - * Adds an attachment to the transactions list of SOAP attachments. - * - * @param referenceId Identification value for the SOAP attachment. - * @param contentType MIME type of the SOAP attachment. - * @param is Handle to the InputStream of the SOAP attachment. - * @param filename Filename of the temporary file the InputStream belongs to - */ - public void addAttachment(String referenceId, String contentType, InputStream is, String filename) { - if (this.attachments == null) this.attachments = new HashMap(); - Vector entry = new Vector(3); - entry.add(contentType); - entry.add(is); - entry.add(filename); - this.attachments.put(referenceId, entry); - } - - /** - * Returns the ManagedMemoryDataSource to a specific SOAP attachment identified by referenceId. - * - * @param referenceId Identification value for the SOAP attachment. - */ - public ManagedMemoryDataSource getAttachment(String referenceId) { - if (attachments==null) { - return null; - } - Vector entry = (Vector) attachments.get(referenceId); - if (entry==null) { - return null; - } - Object object = entry.get(1); - if (object instanceof ManagedMemoryDataSource) { - return (ManagedMemoryDataSource) object; - } else { - return null; - } - } - - /** - * Returns the InputStream to a specific SOAP attachment identified by uri. - * - * @param uri Identification value for the SOAP attachment. - */ - public InputStream getAttachmentInputStream(URI uri) throws MOAApplicationException { - if (attachments==null) { - return null; - } - String referenceId = uri.getPath(); - Vector entry = (Vector) attachments.get(referenceId); - if (entry==null) { - return null; - } - - InputStream attachmentIs = null; - Object object = entry.get(1); - - if (object instanceof ManagedMemoryDataSource) { - try { - attachmentIs = (InputStream) ( ((ManagedMemoryDataSource)object).getInputStream()); - } catch (IOException e) { - throw new MOAApplicationException("2208", new Object[] { uri }, e); - } - } else { - attachmentIs = (InputStream) object; - } - return attachmentIs; - //If we would return the whole mmds: return (ManagedMemoryDataSource) entry.get(1); - } - - /** - * Returns the content type to a specific SOAP attachment identified by referenceId. - * - * @param referenceId Identification value for the SOAP attachment. - */ - public String getAttachmentContentType(String referenceId) { - Vector entry = (Vector) attachments.get(referenceId); - if (entry==null) { - return null; - } - return (String) entry.get(0); - } - - /** - * Delete the temporary attachment files. - */ -public void cleanAttachmentCache() { - if (null==attachments) { - return; - } - Iterator iterator = attachments.entrySet().iterator(); - while (iterator.hasNext()) { - Entry hmEntry = (Entry) iterator.next(); - Vector entry = (Vector)hmEntry.getValue(); - Object object = entry.get(1); - if (object instanceof ManagedMemoryDataSource) { - ManagedMemoryDataSource mmds = (ManagedMemoryDataSource)object; - try { - if (mmds!=null) { - InputStream is = mmds.getInputStream(); - if (is!=null) is.close(); -// not available in Axis 1.0 to 1.1 -// File f = mmds.getDiskCacheFile(); -// if (f!=null) f.delete(); - mmds.delete(); - } - } catch (IOException e) { - // ok to do nothing here - } - } else if (object instanceof InputStream) { - InputStream is = (InputStream)object; - try { - if (is!=null) is.close(); - String tempFile = (String) entry.get(2); - if (tempFile!=null){ - File f = new File(tempFile); - f.delete(); - } - } catch (IOException e) { - // ok to do nothing here - } - } - } - } - - /** - * Returns the ConfigurationProvider associated with this - * transaction. - * - * @return The ConfigurationProvider associated with this transaction. - */ - public ConfigurationProvider getConfiguration() { - return configuration; - } - - /** - * Search an uri content in cashed map. - * - * @param uri The value to look for. - * @return If found the cached entity, null otherwise. - */ - public Vector FindResolvedEntity(String uri) { - if (resolvedEntities==null) return null; - return (Vector) resolvedEntities.get(uri); - } - - /** - * Get a new InputStream of a cached entity. - * - * @param uri The value to look for. - * @return A new InputStream of the cached entity. - */ - public InputStream ResolveURI(String uri) { - InputStream is = null; - Vector entity = FindResolvedEntity(uri); - if (entity!=null) { - byte[] contentBytes = (byte[]) entity.get(0); - if (contentBytes!=null) { - is = new ByteArrayInputStream(contentBytes); - } - } - return is; - } - - /** - * Put a read entity (supplement, detached content, data object) on - * transactions entity cash, to prevent repeated reading on slower channels. - * - * @param uri A transaction-wide unique URI used as key of the entity cash - * table. - * @param contentBytes The cached content belonging to the uri. - * @param contentType If known, the MIME-type of the cashed content. - */ - public void PutResolvedEntity(String uri, byte[] contentBytes, String contentType) { - Logger.trace(" storing uri content of uri \"" + uri + "\" for future references"); - if (resolvedEntities==null) resolvedEntities = new HashMap(); - Vector entity = new Vector(); - entity.add(contentBytes); - entity.add(contentType); - resolvedEntities.put(uri, entity); - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java deleted file mode 100644 index 8a45ddf18..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.transaction; - -/** - * Provides each thread with an instance of TransactionContext. - * - * The single instance of the TransactionContextManager should be - * used to access contextual information for each web service transaction, e.g. - * the transaction ID, MOA configuration, client certificate, etc. - * - * @author Stefan Knirsch - * @author Patrick Peck - */ -public class TransactionContextManager { - - /** The single instance of TransactionContextManager */ - private static TransactionContextManager instance = null; - - /** Contains a single TransactionContext for each thread. */ - private ThreadLocal context = null; - - /** - * Get the single instance of TransactionContextManager. - * - * @return The single instanc of TransactionContextManager. - */ - public static synchronized TransactionContextManager getInstance() { - if (instance == null) { - instance = new TransactionContextManager(); - } - return instance; - } - - /** - * Creates a new TransactionContextManager. - * - * Protected to disallow direct instantiation. - */ - protected TransactionContextManager() { - context = new ThreadLocal(); - } - - /** - * Set the TransactionContext for the current thread. - * - * @param txContext The TransactionContext for this thread. - */ - public void setTransactionContext(TransactionContext txContext) { - context.set(txContext); - } - - /** - * Get the TransactionContext for the current thread. - * - * @return The TransactionContext for the current thread or - * null, if none has been set (or if this method is being invoked - * outside the bounds of a transaction). - */ - public TransactionContext getTransactionContext() { - return (TransactionContext) context.get(); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java deleted file mode 100644 index b173308fc..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.transaction; - - -/** - * A generator for unique transaction IDs. - * - *

The transaction IDs are of the form "-", where: - *

    - *
  • base is initialized with the system time when this class is - * being loaded
  • - *
  • counter is incremented sequentially on each call to - * nextID()
  • - *
- *

- * - *

Assuming that it is highly unlikely that MOA servers are started at - * exactly the same time instant, the mechanism provided by this class should - * guarantee unique transaction IDs across multiple restarts and/or instances of - * the server.

- * - * @author Patrick Peck - * @author Stefan Knirsch - */ -public class TransactionIDGenerator { - - /** Request sequence number. */ - private static long counter = 0; - /** The base value to which to append the sequence number. */ - private static String base = null; - - /** - * Set up the initial base value. - */ - static { - synchronized (TransactionIDGenerator.class) { - base = Long.toString(System.currentTimeMillis()); - } - } - - /** - * Returns the next transaction ID. - * - * @return The next transaction ID. - */ - public static synchronized String nextID() { - counter++; - - return (base + "-" + counter); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/util/IdGenerator.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/util/IdGenerator.java deleted file mode 100644 index a8d9e1b3a..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/util/IdGenerator.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.util; - -import java.util.Set; - -/** - * Generate unique ID values for various objects in the response. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IdGenerator { - /** The base value to append the counter to. */ - private String base; - /** The Set of reserved ID values. */ - private Set reserved; - /** The sequence number. */ - private int count; - - /** - * Create a new IdGenerator. - * - * @param base A base value to append the IDs to. The creator of this object - * should provide a base value, so that appending the counter leads to unique - * IDs. - * @param reserved The Set of reserved IDs. A call to - * uniqueId() will respect the reserved IDs. - */ - public IdGenerator(String base, Set reserved) { - this.base = base; - this.reserved = reserved; - count = 1; - } - - /** - * Create the next ID value in the sequence. - * - * @return The next ID value in the sequence. - */ - protected String nextId() { - return base + "-" + count++; - } - - /** - * Create the next unique ID value which is unique in the reserved ID set. - * - * The created ID is added to the set of reserved IDs. - * - * @return The next ID value. - */ - public String uniqueId() { - String nextId; - - while (reserved.contains(nextId = nextId())); - - reserved.add(nextId); - - return nextId; - - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/config/Configurator.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/config/Configurator.java deleted file mode 100644 index defaedd86..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/config/Configurator.java +++ /dev/null @@ -1,130 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.config; - -import iaik.util.logging._l; -import iaik.xml.crypto.tsl.ex.TSLEngineDiedException; - -import java.net.MalformedURLException; -import java.net.URL; - -public class Configurator { - - private static final String _TMPDBFILENAME = "temp_tsl.sqlite"; - - private static boolean _sqlMultithreaded; - private static boolean _throwExceptions; - private static boolean _logExceptions; - private static boolean _throwWarnings; - private static boolean _logWarnings; - private static boolean _nullRedundancies; - private static URL _euTSLURL; - private static String _TSLWorkingDirectoryPath; - private static String _dbFile; - private static String _euTrustAnchorsPath; - private static String _msTrustAnchorsPath; - - - private static boolean _isInitialised = false; - - - /** - * - */ - public static void initial(String euTSLURL, String TSLWorkingDirectoryPath, String jdbcURL, String jdbcDriverClass) - throws TSLEngineDiedException { - - - if (!_isInitialised) { - try { - _euTSLURL = new URL(euTSLURL); - } catch (MalformedURLException e) { - _l.err("Bad TSL URL: " + euTSLURL, e); - throw new TSLEngineDiedException(e); - } - - if (!TSLWorkingDirectoryPath.endsWith("/")) - TSLWorkingDirectoryPath += "/"; - - Configurator._TSLWorkingDirectoryPath = TSLWorkingDirectoryPath; - - initialDefaultConfig(); - - _isInitialised = true; - } - } - - public static String get_TSLWorkingDirectoryPath() { - return _TSLWorkingDirectoryPath; - } - - public static String get_dbFile() { - return _dbFile; - } - - public static void set_dbFileName(String _dbFile) { - Configurator._dbFile = _TSLWorkingDirectoryPath + _dbFile; - } - - public static String get_euTrustAnchorsPath() { - return _euTrustAnchorsPath; - } - - public static String get_msTrustAnchorsPath() { - return _msTrustAnchorsPath; - } - - public static boolean is_sqlMultithreaded() { - return _sqlMultithreaded; - } - - public static boolean is_throwExceptions() { - return _throwExceptions; - } - - public static boolean is_logExceptions() { - return _logExceptions; - } - - public static boolean is_throwWarnings() { - return _throwWarnings; - } - - public static boolean is_logWarnings() { - return _logWarnings; - } - - public static boolean is_nullRedundancies() { - return _nullRedundancies; - } - - public static URL get_euTSLURL() { - return _euTSLURL; - } - - public static boolean is_isInitialised() { - return _isInitialised; - } - - public static String get_TempdbFile() { - return _TSLWorkingDirectoryPath + _TMPDBFILENAME; - } - - public static void set_euTrustAnchorsPath(String _euTrustAnchorsPath) { - Configurator._euTrustAnchorsPath = _euTrustAnchorsPath; - } - - public static void set_msTrustAnchorsPath(String _msTrustAnchorsPath) { - Configurator._msTrustAnchorsPath = _msTrustAnchorsPath; - } - - private static void initialDefaultConfig() { - _sqlMultithreaded = false; - _throwExceptions = true; - _logExceptions = true; - _throwWarnings = false; - _logWarnings = true; - _nullRedundancies = false; - _dbFile = _TSLWorkingDirectoryPath + "tsl.sqlite"; - _euTrustAnchorsPath = _TSLWorkingDirectoryPath + "trust/eu/"; - _msTrustAnchorsPath = "/trust/ms/"; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnector.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnector.java deleted file mode 100644 index 4699c6109..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnector.java +++ /dev/null @@ -1,974 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.connector; - -import iaik.asn1.ObjectID; - -import iaik.util._; -import iaik.util.logging._l; -import iaik.utils.RFC2253NameParser; -import iaik.xml.crypto.EccProviderAdapter; -import iaik.xml.crypto.XSecProvider; -import iaik.xml.crypto.tsl.DbTables; -import iaik.xml.crypto.tsl.TSLCertEvaluator; -import iaik.xml.crypto.tsl.TSLCertsExporter; -import iaik.xml.crypto.tsl.TSLEngine; -import iaik.xml.crypto.tsl.TSLImportContext; -import iaik.xml.crypto.tsl.TSLResult; -import iaik.xml.crypto.tsl.TSLResultEndEntity; -import iaik.xml.crypto.tsl.TSLResultImpl; -import iaik.xml.crypto.tsl.TslSqlConnectionWrapper; -import iaik.xml.crypto.tsl.DbTables.MODE; -import iaik.xml.crypto.tsl.DbTables.Service; -import iaik.xml.crypto.tsl.TSLEngine.LocationAndCertHash; -import iaik.xml.crypto.tsl.TSLEngine.TSLEngineEU; -import iaik.xml.crypto.tsl.constants.Countries; -import iaik.xml.crypto.tsl.ex.TSLEngineDiedException; -import iaik.xml.crypto.tsl.ex.TSLEngineFatalException; -import iaik.xml.crypto.tsl.ex.TSLEngineFatalRuntimeException; -import iaik.xml.crypto.tsl.ex.TSLExceptionB; -import iaik.xml.crypto.tsl.ex.TSLRuntimeException; -import iaik.xml.crypto.tsl.ex.TSLSearchException; -import iaik.xml.crypto.tsl.ex.TSLTransactionFailedRuntimeException; -import iaik.xml.crypto.tsl.fetch.TLS; -import iaik.xml.crypto.tsl.sie.gen.QualifierType; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.nio.channels.ByteChannel; -import java.nio.channels.FileChannel; -import java.security.Security; -import java.security.cert.X509Certificate; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; -import java.util.Set; -import java.util.Map.Entry; - -import org.apache.log4j.Logger; - -import at.gv.egovernment.moa.spss.tsl.config.Configurator; -import at.gv.egovernment.moa.spss.tsl.utils.TSLEUImportFromFileContext; -import at.gv.egovernment.moa.spss.tsl.utils.TSLEvaluationContext; -import at.gv.egovernment.moa.spss.tsl.utils.TSLImportFromFileContext; - -public class TSLConnector implements TSLConnectorInterface { - - static final String _QCSSCDURI = "http://uri.etsi.org/TrstSvc/eSigDir-1999-93-EC-TrustedList/SvcInfoExt/QCWithSSCD"; - static final String _STYPETEMPLATE_CAQC = "CA/QC"; - static final String _STYPETEMPLATE_TSAQTST = "TSA/QTST"; - - private static final String DEFAULT_HASHCACHE_DIR = "./hashcache/"; - - static final List STYPETEMPLATES = Collections.unmodifiableList(new ArrayList(){ - private static final long serialVersionUID = 1L; - { - add(_STYPETEMPLATE_CAQC); - add(_STYPETEMPLATE_TSAQTST); - } - }); - - - static Logger log = Logger.getLogger(TSLConnector.class); - - public void initialize(String euTSLURL, String TSLWorkingDirectoryPath, String jdbcURL, String jdbcDriverClass) - throws TSLEngineDiedException { - - Configurator.initial(euTSLURL, TSLWorkingDirectoryPath, jdbcURL, jdbcDriverClass); - - } - - public ArrayList updateAndGetQualifiedCACertificates(Date dateTime, - String[] serviceLevelStatus) throws TSLEngineDiedException, TSLSearchException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - return updateAndGetQualifiedCACertificates(dateTime, null, serviceLevelStatus); - } - - public void updateTSLs(Date dateTime, - String[] serviceLevelStatus) throws TSLEngineDiedException, TSLSearchException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - updateTSLs(dateTime, null, serviceLevelStatus); - } - - public ArrayList updateAndGetQualifiedCACertificates(Date dateTime, - String[] countries, String[] serviceLevelStatus) throws TSLEngineDiedException, TSLSearchException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - String tsldownloaddir = Configurator.get_TSLWorkingDirectoryPath() + "TslDownload"; - -// String hashcachedir = System.getProperty("iaik.xml.crypto.tsl.BinaryHashCache.DIR"); -// System.out.println("hashcachedir: " + hashcachedir); -// if (hashcachedir==null) -// hashcachedir = DEFAULT_HASHCACHE_DIR; - -// File hashcachefile = new File(hashcachedir); -// File[] filelist = hashcachefile.listFiles(); -// if (filelist != null) { -// for (File f : filelist) -// f.delete(); -// } - - File tsldownloadfile = new File(tsldownloaddir); - if (!tsldownloadfile.exists()) { - tsldownloadfile.mkdir(); - } - File[] tslfilelist = tsldownloadfile.listFiles(); - if (tslfilelist != null) { - for (File f : tslfilelist) - f.delete(); - } - - //create sqlLite database - File dbFile = new File(Configurator.get_TempdbFile()); - try { - dbFile.delete(); - dbFile.createNewFile(); - } catch (IOException e) { - throw new TSLEngineDiedException("Could not create temporary data base file", e); - } - - //the TSL library uses the iaik.util.logging environment. - //iaik.util.logging.Log.setLogLevel(iaik.util.logging.LogLevels.WARN); - iaik.util.logging.Log.setLogLevel(iaik.util.logging.LogLevels.OFF); - - log.info("Starting EU TSL import."); - - // Certificates in Germany, Estonia, Greece, Cyprus, - // Lithuainia, Hungary, Poland, Finland, Norway use SURNAME - log.debug("### SURNAME registered as " + ObjectID.surName + " ###"); - RFC2253NameParser.register("SURNAME", ObjectID.surName); - - XSecProvider.addAsProvider(false); - - TSLEngine tslEngine; - TslSqlConnectionWrapper connection = null; - - try { - // register the Https JSSE Wrapper - TLS.register(); - log.trace("### Https JSSE Wrapper registered ###"); - - - log.debug("### Connect to Database.###"); - connection = DbTables.connectToDatabaBase(dbFile, MODE.AUTO_COMMIT_ON); - - log.trace("### Connected ###"); - - // empty the database and recreate the tables - tslEngine = new TSLEngine(dbFile, Configurator.get_TSLWorkingDirectoryPath(), - connection, true, true); - - } catch (TSLEngineFatalException e1) { - throw new TSLEngineDiedException(e1); - - } - - // H.2.2.1 Same-scheme searching - // H.2.2.2 Known scheme searching - // H.2.2.3 "Blind" (unknown) scheme searching - Number tId = null; - Countries euTerritory = Countries.EU; - TSLImportContext topLevelTslContext = new TSLEUImportFromFileContext( - euTerritory, Configurator.get_euTSLURL(), Configurator.get_TSLWorkingDirectoryPath(), - Configurator.is_sqlMultithreaded(), - Configurator.is_throwExceptions(), Configurator.is_logExceptions(), - Configurator.is_throwWarnings(), Configurator.is_logWarnings(), - Configurator.is_nullRedundancies()); - - TSLEngineEU tslengineEU; - try { - tslengineEU = tslEngine.new TSLEngineEU(); - - } catch (TSLEngineFatalException e1) { - throw new TSLEngineDiedException(e1); - } - - // establish EU TSL trust anchor - ListIterator expectedEuTslSignerCerts = - tslEngine.loadCertificatesFromResource( - Configurator.get_euTrustAnchorsPath(), topLevelTslContext); - - log.debug("Process EU TSL"); - // process the EU TSL to receive the pointers to the other TSLs - // and the trust anchors for the TSL signers - Set> pointersToMsTSLs = null; - - try { - - tId = tslengineEU.processEUTSL(topLevelTslContext, expectedEuTslSignerCerts); - log.info("Process EU TSL finished"); - - log.debug(Thread.currentThread() + " waiting for other threads ..."); - - topLevelTslContext.waitForAllOtherThreads(); - log.debug(Thread.currentThread() - + " reactivated after other threads finished ..."); - - - // get the TSLs pointed from the EU TSL - LinkedHashMap tslMap = tslengineEU - .getOtherTslMap(tId, topLevelTslContext); - - pointersToMsTSLs = tslMap.entrySet(); - - //set Errors and Warrnings - - } catch (TSLEngineFatalRuntimeException e) { - throw new TSLEngineDiedException(topLevelTslContext.dumpFatals()); - - } catch (TSLTransactionFailedRuntimeException e) { - throw new TSLEngineDiedException(topLevelTslContext.dumpTransactionFaliures()); - } - - //Backup implementation if the EU TSL includes a false signer certificate - // establish additional trust anchors for member states -// Countries[] countriesWithPotentiallyWrongCertsOnEuTsl = { -// Countries.CZ, -// Countries.LU, -// Countries.ES, -// Countries.AT, -// }; - Countries[] countriesWithPotentiallyWrongCertsOnEuTsl = {}; - - Map> - trustAnchorsWrongOnEuTsl = loadCertificatesFromResource( - Configurator.get_msTrustAnchorsPath(), tslEngine, topLevelTslContext, - countriesWithPotentiallyWrongCertsOnEuTsl); - - log.info("Starting EU member TSL import."); - - for (Entry entry : pointersToMsTSLs) { - - TSLImportContext msTslContext; - - Countries expectedTerritory = entry.getValue().getSchemeTerritory(); - try { - -// if (expectedTerritory.equals("RO")) -// System.out.println("Stop"); - - Number otpId = entry.getKey(); - LocationAndCertHash lac = entry.getValue(); - - URL uriReference = null; - try { - uriReference = new URL(lac.getUrl()); - - } catch (MalformedURLException e) { - log.warn("Could not process: " + uriReference, e); - continue; - } - - String baseURI = uriReference == null ? "" : "" + uriReference; - - msTslContext = new TSLImportFromFileContext( - expectedTerritory, uriReference, otpId, Configurator.get_TSLWorkingDirectoryPath(), - Configurator.is_sqlMultithreaded(), - Configurator.is_throwExceptions(), Configurator.is_logExceptions(), - Configurator.is_throwWarnings(), Configurator.is_logWarnings(), - Configurator.is_nullRedundancies(), baseURI, trustAnchorsWrongOnEuTsl, - topLevelTslContext); - - ListIterator expectedTslSignerCerts = null; - expectedTslSignerCerts = tslEngine.getCertificates(lac, msTslContext); - - if (expectedTslSignerCerts == null) { - - // no signer certificate on the EU TSL - // ignore this msTSL and log a warning - log.warn("NO signer certificate found on EU TSL! " - + lac.getSchemeTerritory() + "TSL ignored."); - - } - else { - tslEngine.processMSTSL(topLevelTslContext, msTslContext, expectedTslSignerCerts); - } - - } catch (TSLExceptionB e) { - log.warn("Failed to process TSL. " + entry.getValue().getSchemeTerritory() - + " TSL ignored."); - log.debug("Failed to process TSL. " + entry, e); - continue; - } catch (TSLRuntimeException e) { - log.warn("Failed to process TSL. " + entry.getValue().getSchemeTerritory() - + " TSL ignored."); - log.debug("Failed to process TSL. " + entry, e); - continue; - } - } - - log.debug(Thread.currentThread() + " waiting for other threads ..."); - topLevelTslContext.waitForAllOtherThreads(); - - log.debug(_.dumpAllThreads()); - log.debug(Thread.currentThread() + " reactivated after other threads finished ..."); - - connection = null; - try { - connection = DbTables.connectToDatabaBase(dbFile, MODE.AUTO_COMMIT_ON); - tslEngine.recreateTablesInvalidatedByImport(connection); - - - //TODO: implement database copy operation! - File working_database = new File(Configurator.get_dbFile()); - working_database.delete(); - copy(dbFile, working_database); - - - } catch (TSLEngineFatalException e) { - throw new TSLEngineDiedException(e); - - } finally { - try { - connection.closeConnection(); - - } catch (TSLEngineFatalException e) { - throw new TSLEngineDiedException(e); - - } - } - - return getQualifiedCACertificates(dateTime, countries, serviceLevelStatus); - } - - public void updateTSLs(Date dateTime, - String[] countries, String[] serviceLevelStatus) throws TSLEngineDiedException, TSLSearchException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - String tsldownloaddir = Configurator.get_TSLWorkingDirectoryPath() + "TslDownload"; - -// String hashcachedir = System.getProperty("iaik.xml.crypto.tsl.BinaryHashCache.DIR"); -// System.out.println("hashcachedir: " + hashcachedir); -// if (hashcachedir==null) -// hashcachedir = DEFAULT_HASHCACHE_DIR; - -// File hashcachefile = new File(hashcachedir); -// File[] filelist = hashcachefile.listFiles(); -// if (filelist != null) { -// for (File f : filelist) -// f.delete(); -// } - - File tsldownloadfile = new File(tsldownloaddir); - if (!tsldownloadfile.exists()) { - tsldownloadfile.mkdir(); - } - File[] tslfilelist = tsldownloadfile.listFiles(); - if (tslfilelist != null) { - for (File f : tslfilelist) - f.delete(); - } - - //create sqlLite database - File dbFile = new File(Configurator.get_TempdbFile()); - try { - dbFile.delete(); - dbFile.createNewFile(); - } catch (IOException e) { - throw new TSLEngineDiedException("Could not create temporary data base file", e); - } - - //the TSL library uses the iaik.util.logging environment. - //iaik.util.logging.Log.setLogLevel(iaik.util.logging.LogLevels.WARN); - iaik.util.logging.Log.setLogLevel(iaik.util.logging.LogLevels.OFF); - - log.info("Starting EU TSL import."); - - // Certificates in Germany, Estonia, Greece, Cyprus, - // Lithuainia, Hungary, Poland, Finland, Norway use SURNAME - log.debug("### SURNAME registered as " + ObjectID.surName + " ###"); - RFC2253NameParser.register("SURNAME", ObjectID.surName); - - XSecProvider.addAsProvider(false); - - TSLEngine tslEngine; - TslSqlConnectionWrapper connection = null; - - try { - // register the Https JSSE Wrapper - TLS.register(); - log.trace("### Https JSSE Wrapper registered ###"); - - - log.debug("### Connect to Database.###"); - connection = DbTables.connectToDatabaBase(dbFile, MODE.AUTO_COMMIT_ON); - - log.trace("### Connected ###"); - - // empty the database and recreate the tables - tslEngine = new TSLEngine(dbFile, Configurator.get_TSLWorkingDirectoryPath(), - connection, true, true); - - } catch (TSLEngineFatalException e1) { - throw new TSLEngineDiedException(e1); - - } - - // H.2.2.1 Same-scheme searching - // H.2.2.2 Known scheme searching - // H.2.2.3 "Blind" (unknown) scheme searching - Number tId = null; - Countries euTerritory = Countries.EU; - TSLImportContext topLevelTslContext = new TSLEUImportFromFileContext( - euTerritory, Configurator.get_euTSLURL(), Configurator.get_TSLWorkingDirectoryPath(), - Configurator.is_sqlMultithreaded(), - Configurator.is_throwExceptions(), Configurator.is_logExceptions(), - Configurator.is_throwWarnings(), Configurator.is_logWarnings(), - Configurator.is_nullRedundancies()); - - TSLEngineEU tslengineEU; - try { - tslengineEU = tslEngine.new TSLEngineEU(); - - } catch (TSLEngineFatalException e1) { - throw new TSLEngineDiedException(e1); - } - - // establish EU TSL trust anchor - ListIterator expectedEuTslSignerCerts = - tslEngine.loadCertificatesFromResource( - Configurator.get_euTrustAnchorsPath(), topLevelTslContext); - - log.debug("Process EU TSL"); - // process the EU TSL to receive the pointers to the other TSLs - // and the trust anchors for the TSL signers - Set> pointersToMsTSLs = null; - - try { - - tId = tslengineEU.processEUTSL(topLevelTslContext, expectedEuTslSignerCerts); - log.info("Process EU TSL finished"); - - log.debug(Thread.currentThread() + " waiting for other threads ..."); - - topLevelTslContext.waitForAllOtherThreads(); - log.debug(Thread.currentThread() - + " reactivated after other threads finished ..."); - - - // get the TSLs pointed from the EU TSL - LinkedHashMap tslMap = tslengineEU - .getOtherTslMap(tId, topLevelTslContext); - - pointersToMsTSLs = tslMap.entrySet(); - - //set Errors and Warrnings - - } catch (TSLEngineFatalRuntimeException e) { - throw new TSLEngineDiedException(topLevelTslContext.dumpFatals()); - - } catch (TSLTransactionFailedRuntimeException e) { - throw new TSLEngineDiedException(topLevelTslContext.dumpTransactionFaliures()); - } - - //Backup implementation if the EU TSL includes a false signer certificate - // establish additional trust anchors for member states -// Countries[] countriesWithPotentiallyWrongCertsOnEuTsl = { -// Countries.CZ, -// Countries.LU, -// Countries.ES, -// Countries.AT, -// }; - Countries[] countriesWithPotentiallyWrongCertsOnEuTsl = {}; - - Map> - trustAnchorsWrongOnEuTsl = loadCertificatesFromResource( - Configurator.get_msTrustAnchorsPath(), tslEngine, topLevelTslContext, - countriesWithPotentiallyWrongCertsOnEuTsl); - - log.info("Starting EU member TSL import."); - - for (Entry entry : pointersToMsTSLs) { - - TSLImportContext msTslContext; - - Countries expectedTerritory = entry.getValue().getSchemeTerritory(); - try { - -// if (expectedTerritory.equals("RO")) -// System.out.println("Stop"); - - Number otpId = entry.getKey(); - LocationAndCertHash lac = entry.getValue(); - - URL uriReference = null; - try { - uriReference = new URL(lac.getUrl()); - - } catch (MalformedURLException e) { - log.warn("Could not process: " + uriReference, e); - continue; - } - - String baseURI = uriReference == null ? "" : "" + uriReference; - - msTslContext = new TSLImportFromFileContext( - expectedTerritory, uriReference, otpId, Configurator.get_TSLWorkingDirectoryPath(), - Configurator.is_sqlMultithreaded(), - Configurator.is_throwExceptions(), Configurator.is_logExceptions(), - Configurator.is_throwWarnings(), Configurator.is_logWarnings(), - Configurator.is_nullRedundancies(), baseURI, trustAnchorsWrongOnEuTsl, - topLevelTslContext); - - ListIterator expectedTslSignerCerts = null; - expectedTslSignerCerts = tslEngine.getCertificates(lac, msTslContext); - - if (expectedTslSignerCerts == null) { - - // no signer certificate on the EU TSL - // ignore this msTSL and log a warning - log.warn("NO signer certificate found on EU TSL! " - + lac.getSchemeTerritory() + "TSL ignored."); - - } - else { - tslEngine.processMSTSL(topLevelTslContext, msTslContext, expectedTslSignerCerts); - } - - } catch (TSLExceptionB e) { - log.warn("Failed to process TSL. " + entry.getValue().getSchemeTerritory() - + " TSL ignored."); - log.debug("Failed to process TSL. " + entry, e); - continue; - } catch (TSLRuntimeException e) { - log.warn("Failed to process TSL. " + entry.getValue().getSchemeTerritory() - + " TSL ignored."); - log.debug("Failed to process TSL. " + entry, e); - continue; - } - } - - log.debug(Thread.currentThread() + " waiting for other threads ..."); - topLevelTslContext.waitForAllOtherThreads(); - - log.debug(_.dumpAllThreads()); - log.debug(Thread.currentThread() + " reactivated after other threads finished ..."); - - connection = null; - try { - connection = DbTables.connectToDatabaBase(dbFile, MODE.AUTO_COMMIT_ON); - tslEngine.recreateTablesInvalidatedByImport(connection); - - - //TODO: implement database copy operation! - File working_database = new File(Configurator.get_dbFile()); - working_database.delete(); - copy(dbFile, working_database); - - - } catch (TSLEngineFatalException e) { - throw new TSLEngineDiedException(e); - - } finally { - try { - connection.closeConnection(); - - } catch (TSLEngineFatalException e) { - throw new TSLEngineDiedException(e); - - } - } - - //return getQualifiedCACertificates(dateTime, countries, serviceLevelStatus); - } - - public ArrayList getQualifiedCACertificates(Date dateTime, - String[] serviceLevelStatus) throws TSLEngineDiedException, - TSLSearchException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - return getQualifiedCACertificates(dateTime, null, serviceLevelStatus); - } - - public ArrayList getQualifiedCACertificates(Date dateTime, - String[] countries, String[] serviceLevelStatus) - throws TSLEngineDiedException, TSLSearchException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - //TODO: database - File dbFile = new File(Configurator.get_TempdbFile()); - //File dbFile = new File(Configurator.get_dbFile()); - if(!dbFile.exists()) - throw new TSLEngineDiedException("Could not open data base file"); - - log.debug("### Connect to Database ###"); - TslSqlConnectionWrapper readConnection = null; - - try { - readConnection = DbTables.connectToDatabaBase(dbFile, MODE.READ_ONLY); - - TSLEngine tslEngine = new TSLEngine(dbFile, Configurator.get_TSLWorkingDirectoryPath(), - readConnection, false, false); - - log.debug("### Connected ###"); - //TODO: maybe add "TSA/QTST for qualified timestamps - try { - TSLCertsExporter certsExporter; - certsExporter = tslEngine.createCertsExporter( - readConnection, - countries, - new String[]{_STYPETEMPLATE_CAQC}, - serviceLevelStatus - ); - - return certsExporter.exportAsArray(dateTime, null); - - } catch (TSLEngineFatalException e) { - e.printStackTrace(); - _l.err("could not export Certs", e); - throw new TSLEngineDiedException(e); - } - - } catch (TSLEngineFatalException e1) { - throw new TSLEngineDiedException(e1); - - } finally { - try { - readConnection.closeConnection(); - - } catch (TSLEngineFatalException e) { - throw new TSLEngineDiedException(e); - } - } - } - - public boolean checkQC(java.security.cert.X509Certificate[] chain) - throws TSLSearchException, TSLEngineDiedException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - return checkQC(chain, 1); - } - - public boolean checkSSCD(java.security.cert.X509Certificate[] chain) - throws TSLSearchException, TSLEngineDiedException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - return checkSSCD(chain, 1); - } - - public boolean checkQC(java.security.cert.X509Certificate[] chain, int cnt) - throws TSLSearchException, TSLEngineDiedException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - LinkedHashMap tslResultC = checkchain(chain, cnt); - - //get first result - java.util.Map.Entry resultmap = tslResultC.entrySet().iterator().next(); - TSLResult tslresult = tslResultC.entrySet().iterator().next().getValue(); - - - - if (tslresult == null) { - log.info("Certificate: " + resultmap.getKey().getSubjectDN() - + " not on the TSL"); - throw new TSLSearchException("Certificate: " + resultmap.getKey().getSubjectDN() - + " not on the TSL"); - } - - if (tslresult instanceof TSLResultEndEntity) { - TSLResultEndEntity ree = (TSLResultEndEntity) tslresult; - - - String sType = (String) ree.get(Service.C.sType); - - log.info("Cert: " + resultmap.getKey().getSubjectDN() + " sType=" + sType); - - //TODO: maybe add "TSA/QTST for qualified timestamps - if (sType.equals(_STYPETEMPLATE_CAQC)) - return true; - else - return false; - } - - else if (tslresult instanceof TSLResultImpl) { - - //TODO: Certificate is not of Type EndEntity (equal to QCSSCD check) - // Is FALSE the correct answer? - return false; - } - - throw new TSLEngineDiedException("TSL Result has an unknown Class type"); - } - - public boolean checkSSCD(java.security.cert.X509Certificate[] chain, int cnt) - throws TSLSearchException, TSLEngineDiedException { - - if (Configurator.is_isInitialised() == false) - new TSLEngineFatalException("The TSL Engine is not initialized!"); - - LinkedHashMap tslResultC = checkchain(chain, cnt); - - //get first result - java.util.Map.Entry resultmap = tslResultC.entrySet().iterator().next(); - TSLResult tslresult = tslResultC.entrySet().iterator().next().getValue(); - - if (tslresult == null) { - log.info("Certificate: " + resultmap.getKey().getSubjectDN() + " not on the TSL"); - throw new TSLSearchException("Certificate: " + resultmap.getKey().getSubjectDN() - + " not on the TSL"); - } - - if (tslresult instanceof TSLResultEndEntity) { - TSLResultEndEntity ree = (TSLResultEndEntity) tslresult; - - List qualifier = ree.getQualifierList(); - - ListIterator qualifierlist = qualifier.listIterator(); - - String uri = ""; - - while (qualifierlist.hasNext()) { - uri = qualifierlist.next().getUri(); - - log.debug("Cert: " + resultmap.getKey().getSubjectDN() + " SSCD=" + uri); - - if (uri.contains(_QCSSCDURI)) { - return true; - } - else { - return false; - } - } - return false; - } - - else if (tslresult instanceof TSLResultImpl) { - - //TODO: Certificate is not of Type EndEntity (equal to QC check) - // Is FALSE the correct answer? - return false; - } - - throw new TSLEngineDiedException("TSL Result has an unknown Class type"); - } - - - - private LinkedHashMap checkchain(java.security.cert.X509Certificate[] chain, int cnt) - throws TSLSearchException, TSLEngineDiedException { - - File dbFile = new File(Configurator.get_dbFile()); - if(!dbFile.exists()) - throw new TSLEngineDiedException("Could not open data base file"); - - try { - - log.debug("### Connect to Database ###"); - TslSqlConnectionWrapper readConnection; - readConnection = DbTables.connectToDatabaBase(dbFile, MODE.READ_ONLY); - log.debug("### Connected ###"); - - TSLEngine tslEngine = new TSLEngine(dbFile, Configurator.get_TSLWorkingDirectoryPath(), - readConnection, false, false); - - XSecProvider.addAsProvider(false); - log.debug("### XSECT registered ###"); - // register the additional IAIK ECC provider - Security.addProvider(EccProviderAdapter.getEccProvider()); - log.debug("### ECC registered ###"); - - - TSLEvaluationContext context = new TSLEvaluationContext( - Configurator.get_TSLWorkingDirectoryPath(), - Configurator.is_sqlMultithreaded(), - Configurator.is_throwExceptions(), - Configurator.is_logExceptions(), - Configurator.is_throwWarnings(), - Configurator.is_logWarnings()); - - TSLCertEvaluator tslCertEvaluator = tslEngine.createEvaluator(context, - readConnection); - - Date signingTime = new Date(); - - // has to be later or equal - Date now = new Date(); - - LinkedHashMap tslResultC = tslCertEvaluator - .evaluate(TSLCertEvaluator.CHAIN_MODEL, chain, signingTime, now, context); - - return tslResultC; - - } catch (TSLEngineFatalException e1) { - throw new TSLEngineDiedException(e1); - } - - - } - - private static Map> loadCertificatesFromResource( - final String msTrustAnchorsPath, TSLEngine tslEngine, - TSLImportContext topLevelTslContext, Countries[] countriesWithNoCertsOnEuTsl) - throws TSLEngineDiedException { - Map> trustAnchorsMissingOnEuTsl; - trustAnchorsMissingOnEuTsl = - new HashMap>( - countriesWithNoCertsOnEuTsl.length); - - for (int i = 0; i < countriesWithNoCertsOnEuTsl.length; i++) { - Countries country = countriesWithNoCertsOnEuTsl[i]; - - final String mspath = msTrustAnchorsPath + country + "/"; - - ListIterator msCerts = - tslEngine.loadCertificatesFromResource(mspath, topLevelTslContext); - - trustAnchorsMissingOnEuTsl.put(country, msCerts); - } - return trustAnchorsMissingOnEuTsl; - } - - - private void copy(File source, File destination) throws TSLEngineDiedException { - try { - FileInputStream fileInputStream = new FileInputStream(source); - FileOutputStream fileOutputStream = new FileOutputStream(destination); - FileChannel inputChannel = fileInputStream.getChannel(); - FileChannel outputChannel = fileOutputStream.getChannel(); - - transfer(inputChannel, outputChannel, source.length(), false); - - fileInputStream.close(); - fileOutputStream.close(); - - destination.setLastModified(source.lastModified()); - } catch (Exception e) { - - throw new TSLEngineDiedException("Error during TSL database copy operation!."); - } - } - - private void transfer(FileChannel fileChannel, ByteChannel byteChannel, long lengthInBytes, boolean verbose) - throws IOException { - - long overallBytesTransfered = 0L; - long time = -System.currentTimeMillis(); - - while (overallBytesTransfered < lengthInBytes) { - long bytesTransfered = 0L; - bytesTransfered = fileChannel.transferTo(overallBytesTransfered, Math.min(1024 * 1024, lengthInBytes - overallBytesTransfered), byteChannel); - overallBytesTransfered += bytesTransfered; - if (verbose) { - System.out.println("overall bytes transfered: " + overallBytesTransfered + " progress " + (Math.round(overallBytesTransfered / ((double) lengthInBytes) * 100.0)) + "%"); - } - } - time += System.currentTimeMillis(); - - if (verbose) { - System.out.println("Transfered: " + overallBytesTransfered + " bytes in: " + (time / 1000) + " s -> " + (overallBytesTransfered / 1024.0) / (time / 1000.0) + " kbytes/s"); - } - } - - -// /** -// * @param tslResultC -// * @param context -// */ -// private static void printResultDetails( -// LinkedHashMap tslResultC, TSLContext context) { -// -// for (java.util.Map.Entry e : tslResultC -// .entrySet()) { -// -// TSLResult r = e.getValue(); -// -// if (r == null) { -// log.info("Certificate: " + e.getKey().getSubjectDN() -// + " not on the TSL"); -// continue; -// } -// -// if (r instanceof TSLResultEndEntity) { -// TSLResultEndEntity ree = (TSLResultEndEntity) r; -// -// String status = (String) ree.get(Service.C.status); -// -// Date startDate = context.getDate(ree.get(Service.C.startDate)); -// Long endDateL = (Long) ree.get(ServiceView.C.endDate); -// Date endDate = endDateL == null ? null : new Date(endDateL); -// -// String sType = (String) ree.get(Service.C.sType); -// -// List tslQual = ree.getQualifierList(); -// -// StringBuilder qualList = new StringBuilder(""); -// if (!tslQual.isEmpty()) { -// qualList.append("\n~~~~~~~~~~~~ TSL-Qualifiers ~~~~~~~~~~~~\n"); -// for (QualifierType qual : tslQual) { -// qualList.append(qual.getUri() + "\n"); -// } -// qualList.append("~~~~~~~~~~~~~~~~~ End ~~~~~~~~~~~~~~~~\n"); -// } -// -// log.info("############### EndEntity ###############\n" -// + _.printCertificate(e.getKey()) + qualList + "\nServiceProvider: " -// + ree.getSerivceProvider().getSubjectDN() + "\n" + Service.C.sType -// + ": " + sType + "\n" + Service.C.status + ": " + status + "\n" -// + Service.C.startDate + ": " + startDate + "\n" -// + ServiceView.C.endDate + ": " + endDate); -// log.info("############ ServiceProvider ############\n" -// + _.printCertificate(ree.getSerivceProvider())); -// log.info("################# END #################"); -// -// continue; -// } -// -// if (r instanceof TSLResultImpl) { -// TSLResultImpl ri = (TSLResultImpl) r; -// log.info("----------------- BEGIN -----------------\n" -// + "Certificate: " + e.getKey().getSubjectDN() + "\n" + ri.toString()); -// -// int i = 1; -// for (Iterator iter = ri.getRows().iterator(); iter.hasNext();) { -// Row row = (Row) iter.next(); -// // TSPServiceInformationType sInfo = -// // ((JAXBElement) -// // row.s_.get(Service.C.sInfo)).getValue(); -// String status = (String) row.s_.get(Service.C.status); -// -// Date startDate = context.getDate(row.s_.get(Service.C.startDate)); -// -// Date endDate = context.getDate(row.s_.get(ServiceView.C.endDate)); -// -// String sType = (String) row.s_.get(Service.C.sType); -// -// log.info("----------------- (" + (i++) + ") -----------------\n" -// + Service.C.sType + ": " + sType + " " + Service.C.status + ": " -// + status + "\n" + Service.C.startDate + ": " + startDate + "\n" -// + ServiceView.C.endDate + ": " + endDate + "\n" + row.s_); -// -// row.s_.get(Service.C.sExt); -// } -// log.info("----------------- END -----------------"); -// } -// } -// } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnectorInterface.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnectorInterface.java deleted file mode 100644 index 4992f7563..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/connector/TSLConnectorInterface.java +++ /dev/null @@ -1,95 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.connector; - -import iaik.xml.crypto.tsl.ex.TSLEngineDiedException; -import iaik.xml.crypto.tsl.ex.TSLSearchException; - -import java.io.File; -import java.util.ArrayList; -import java.util.Date; - -import java.security.cert.X509Certificate; - -public interface TSLConnectorInterface { - - /** - * Initial the MOA TSL Connector.
- * The hashcache directory must be set via "System-Property "iaik.xml.crypto.tsl.BinaryHashCache.DIR"!!! - * - * @author TLenz - * @param euTSLURL - URL to TrustList - * @param TSLWorkingDirectoryPath - Path to a folder which should be used by the TSL engine. (/A/B/.../) - * @param jdbcURL - ... - * @param jdbcDriverClass - ... - */ - void initialize(String euTSLURL, String TSLWorkingDirectoryPath, String jdbcURL, String jdbcDriverClass) throws TSLEngineDiedException; - - - /** - * Perform an update of all certificates which are on EU TSL and all MS TSLs and create an locale TSL database. - * The old locale TSL database is removed and a new database is created. - * - * @author TLenz - * @param dateTime - ... - * @param serviceLevelStatus - String Array of ServiceLevelStatus. For example new String[]{"accredited","undersupervision"} - * @return List of certificates with the selected properties - */ - ArrayList updateAndGetQualifiedCACertificates(Date dateTime, String[] serviceLevelStatus) - throws TSLEngineDiedException, TSLSearchException ; - - /** - * Perform an update of all certificates which are on EU TSL and all MS TSLs and create an locale TSL database. - * The old locale TSL database is removed and a new database is created. - * - * @author TLenz - * @param dateTime - ... - * @param countries - String Array of country codes. For example new Sting[]{"AT","IT","BE"} - * @param serviceLevelStatus - String Array of ServiceLevelStatus. For example new String[]{"accredited","undersupervision"} - * @return List of certificates with the selected properties - */ - ArrayList updateAndGetQualifiedCACertificates(Date dateTime, String[] countries, String[] serviceLevelStatus) - throws TSLEngineDiedException, TSLSearchException ; - - /** - * Check the http://uri.etis.org/TrstSvc/Svctype/CA/QC characteristic of a certificate by using the TSL information. - * This method uses information from the local TSL database. - * - * @author TLenz - * @param certificate - An X509 certificate. - * @return Return true, if the certificate comprises the http://uri.etis.org/TrstSvc/Svctype/CA/QC characteristic. - */ - boolean checkQC(X509Certificate[] certificate) throws TSLSearchException, TSLEngineDiedException; - - /** - * Check the http://uri.etis.org/TrstSvc/eSigDir-1999-93-ECTrustedList/SvcInfoExt/QCWithSSCD characteristic of a certificate by using the TSL information. - * This method uses information from the local TSL database. - * - * @author TLenz - * @param certificate - An X509 certificate. - * @return Return true, if the certificate comprises the http://uri.etis.org/TrstSvc/eSigDir-1999-93-ECTrustedList/SvcInfoExt/QCWithSSCD characteristic. - */ - boolean checkSSCD(X509Certificate[] certificate) throws TSLSearchException, TSLEngineDiedException; - - /** - * Get a list of certificates form the local TSL database with the selected properties. - * - * @author TLenz - * @param dateTime - ... - * @param serviceLevelStatus - String Array of ServiceLevelStatus. For example new String[]{"accredited","undersupervision"} - * @return List of certificates with the selected properties - */ - ArrayList getQualifiedCACertificates(Date dateTime, String[] serviceLevelStatus) - throws TSLEngineDiedException, TSLSearchException; - - /** - * Get a list of certificates form the local TSL database with the selected properties. - * - * @author TLenz - * @param dateTime - ... - * @param countries - String Array of countrie codes. For example new Sting[]{"AT","IT","BE"} - * @param serviceLevelStatus - String Array of ServiceLevelStatus. For example new String[]{"accredited","undersupervision"} - * @return List of certificates with the selected properties - */ - ArrayList getQualifiedCACertificates(Date dateTime, String[] countries, String[] serviceLevelStatus) - throws TSLEngineDiedException, TSLSearchException; - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/exception/MitigatedTSLSecurityException.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/exception/MitigatedTSLSecurityException.java deleted file mode 100644 index d58040539..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/exception/MitigatedTSLSecurityException.java +++ /dev/null @@ -1,17 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.exception; - -import iaik.xml.crypto.tsl.ex.TSLSecurityException; - -import org.xml.sax.Locator; - -public final class MitigatedTSLSecurityException extends - TSLSecurityException { - /** - * - */ - private static final long serialVersionUID = 1L; - - public MitigatedTSLSecurityException(Type t, Locator l) { - super(t, l); - } -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/timer/TSLUpdaterTimerTask.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/timer/TSLUpdaterTimerTask.java deleted file mode 100644 index e06abe44d..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/timer/TSLUpdaterTimerTask.java +++ /dev/null @@ -1,212 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.timer; - -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 iaik.xml.crypto.tsl.ex.TSLEngineDiedException; -import iaik.xml.crypto.tsl.ex.TSLSearchException; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.security.cert.CertificateException; -import java.util.ArrayList; -import java.util.Date; -import java.util.Iterator; -import java.util.Map; -import java.util.TimerTask; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.common.TSLConfiguration; -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.TrustProfile; -import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; -import at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl; -import at.gv.egovernment.moa.spss.server.logging.TransactionId; -import at.gv.egovernment.moa.spss.tsl.connector.TSLConnector; -import at.gv.egovernment.moa.spss.util.MessageProvider; -import at.gv.egovernment.moa.util.StringUtils; - - -public class TSLUpdaterTimerTask extends TimerTask { - - public static TSLConnector tslconnector_; - - public static ConfigurationData configData_ = null; - - @Override - public void run() { - - try { - Logger.info("Start TSL Update"); - update(); - Logger.info("Finished TSL Update"); - } catch (TSLEngineDiedException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (TSLSearchException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (ConfigurationException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (MOAApplicationException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (CertStoreException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (TrustStoreException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (FileNotFoundException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (IOException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } catch (CertificateException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.00", null)), e); - } - - } - - public static void update() throws TSLEngineDiedException, TSLSearchException, ConfigurationException, MOAApplicationException, CertStoreException, TrustStoreException, CertificateException, IOException { - MessageProvider msg = MessageProvider.getInstance(); - - //TrustProfile tp = null; - TrustStoreProfile tsp = null; - StoreUpdater storeUpdater = null; - TransactionId tid = null; - - //get TSl configuration - ConfigurationProvider config = ConfigurationProvider.getInstance(); - if (configData_ == null) - configData_ = new IaikConfigurator().configure(config); - - TSLConfiguration tslconfig = config.getTSLConfiguration(); - if (tslconfig != null) { - - tslconnector_.updateTSLs(new Date(), new String[]{"accredited","undersupervision"}); - - Logger.info(new LogMsg(msg.getMessage("config.42", null))); - - // get certstore parameters - CertStoreParameters[] certStoreParameters = configData_.getPKIConfiguration().getCertStoreConfiguration().getParameters(); - - // iterate over all truststores - Map mapTrustProfiles = config.getTrustProfiles(); - Iterator it = mapTrustProfiles.entrySet().iterator(); - while (it.hasNext()) { - Map.Entry pairs = (Map.Entry)it.next(); - TrustProfile tp = (TrustProfile) pairs.getValue(); - if (tp.isTSLEnabled()) { - tsp = new TrustStoreProfileImpl(config, tp.getId()); - TrustStoreProfile[] trustStoreProfiles = new TrustStoreProfile[1]; - trustStoreProfiles[0] = tsp; - - Logger.debug(new LogMsg(msg.getMessage("config.43", new String[]{tp.getId()}))); - - tid = new TransactionId("TSLConfigurator-" + tp.getId()); - ArrayList tsl_certs = null; - if (StringUtils.isEmpty(tp.getCountries())) { - Logger.debug(new LogMsg(msg.getMessage("config.44", null))); - - // get certificates from TSL from all countries - tsl_certs = tslconnector_.getQualifiedCACertificates(new Date(), new String[]{"accredited","undersupervision"}); - } - else { - Logger.debug(new LogMsg(msg.getMessage("config.44", null))); - // get selected countries as array - String countries = tp.getCountries(); - String[] array = countries.split(","); - for (int i = 0; i < array.length; i++) - array[i] = array[i].trim(); - - // get certificates from TSL from given countries - tsl_certs = tslconnector_.getQualifiedCACertificates(new Date(), array, new String[]{"accredited","undersupervision"}); - } - - // create store updater for each TSL enabled truststore - Logger.debug(new LogMsg(msg.getMessage("config.45", null))); - storeUpdater = new StoreUpdater(certStoreParameters, trustStoreProfiles, tid); - - // delete files in trustprofile - - File ftp = new File(tp.getUri()); - File[] files = ftp.listFiles(); - X509Certificate[] removeCertificates = new X509Certificate[files.length]; - int i = 0; - for (File file : files) { - FileInputStream fis = new FileInputStream(file); - removeCertificates[i] = new X509Certificate(fis); - i++; - fis.close(); - //file.delete(); - } - - // remove all certificates - storeUpdater.removeCertificatesFromTrustStores(removeCertificates, tid); - storeUpdater.removeCertificatesFromCertStores(removeCertificates, tid); - - - // copy files from original trustAnchorsLocURI into tslworking trust profile - File src = new File(tp.getUriOrig()); - files = src.listFiles(); - X509Certificate[] addCertificates = new X509Certificate[files.length]; - i = 0; - for (File file : files) { - FileInputStream fis = new FileInputStream(file); - addCertificates[i] = new X509Certificate(fis); - //FileUtils.copyFile(file, new File(tp.getUri(), file.getName())); - i++; - fis.close(); - } - - // convert ArrayList to X509Certificate[] - if (tsl_certs == null) { - Logger.warn("No certificates from TSL imported."); - //throw new TSLSearchException("No certificates from TSL imported."); - } - else { - - X509Certificate[] addCertificatesTSL = new X509Certificate[tsl_certs.size()]; - Iterator itcert = tsl_certs.iterator(); - i = 0; - File f = null; - while(itcert.hasNext()) { - f = (File)itcert.next(); - FileInputStream fis = new FileInputStream(f); - X509Certificate cert = new X509Certificate(fis); - addCertificatesTSL[i] = cert; - - i++; - fis.close(); - } - - Logger.debug(new LogMsg("Add " + addCertificatesTSL.length + " certificates.")); - storeUpdater.addCertificatesToTrustStores(addCertificatesTSL, tid); - storeUpdater.addCertificatesToCertStores(addCertificatesTSL, tid); - - Logger.debug(new LogMsg("Add " + addCertificates.length + " certificates.")); - storeUpdater.addCertificatesToTrustStores(addCertificates, tid); - storeUpdater.addCertificatesToCertStores(addCertificates, tid); - } - } - } - } - - - - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/CertificateReader.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/CertificateReader.java deleted file mode 100644 index 763382aae..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/CertificateReader.java +++ /dev/null @@ -1,155 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.utils; -import iaik.pkcs.PKCS7CertList; -import iaik.pkcs.PKCSParsingException; -import iaik.security.provider.IAIK; -import iaik.utils.Util; -import iaik.x509.X509Certificate; -import iaik.xml.crypto.EccProviderAdapter; - -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileFilter; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.security.Security; -import java.security.cert.CertificateException; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; - -// Copyright (C) 2011 IAIK -// http://jce.iaik.at -// -// Copyright (C) 2011 Stiftung Secure Information and -// Communication Technologies SIC -// http://www.sic.st -// -// All rights reserved. -// -// This source is provided for inspection purposes and recompilation only, -// unless specified differently in a contract with IAIK. This source has to -// be kept in strict confidence and must not be disclosed to any third party -// under any circumstances. Redistribution in source and binary forms, with -// or without modification, are permitted in any case! -// -// THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -// SUCH DAMAGE. -// -// - -public class CertificateReader { - - /** - * Filter for reading certificate files from a directory. - * The filter accepts a file if its name ends with - * ".cer", ".der", ".crt" - * or ".pem". - * - * @author Harald Bratko - * @author Konrad Lanz - */ - static class CertificateFileFilter implements FileFilter { - - /** - * Accepts a file if it is not a directory and its name ends with - * ".cer", ".der", ".crt" or ".pem". - * - * @see java.io.FileFilter#accept(java.io.File) - */ - public boolean accept(File file) { - String name = file.getName(); - if (name.endsWith(".der") || - name.endsWith(".cer") || - name.endsWith(".crt") || - name.endsWith(".pem")) - { - return true; - } else { - return false; - } - } - } - - - - /** - * Reads the certificates from the given directory and - * returns the certificates as sorted list (end user certificate first). - * @param directory - * @return - * @throws IOException - * @throws FileNotFoundException - * @throws CertificateException - * @throws Exception - */ - public static X509Certificate[] readCertificatesIntoArray(String directory) throws CertificateException, FileNotFoundException, IOException{ - File file = new File(directory); - File[] certificateFiles = file.listFiles(new CertificateFileFilter()); - int l = certificateFiles.length; - X509Certificate[] certs = new X509Certificate[l]; - for (int i=0; i readCertificates(String directory) throws CertificateException, FileNotFoundException, IOException{ - - return Arrays.asList(readCertificatesIntoArray(directory)); - } - - public static void main(String[] args) { - try { - - IAIK.addAsJDK14Provider(); - //IAIK.addAsProvider(); - //Security.addProvider(new IAIK()); - - // install ECC provider - Security.addProvider(EccProviderAdapter.getEccProvider()); - - String dir = "spec/examples/EU/AT/certs/on-tsl/chain/"; - List l = readCertificates(dir); - Iterator it = l.iterator(); - while (it.hasNext()) { - System.out.println(((X509Certificate)it.next()).getSubjectDN().getName()); - } - } catch (Exception e) { - e.printStackTrace(); - System.exit(1); - } - - } - - public static X509Certificate[] p7read(File path) throws PKCSParsingException, FileNotFoundException, IOException { - PKCS7CertList p7certList = new PKCS7CertList( - new BufferedInputStream( - new FileInputStream( - path - ) - ) - ); - return p7certList.getCertificateList(); - } - } \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/Mitigation.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/Mitigation.java deleted file mode 100644 index a1635b86e..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/Mitigation.java +++ /dev/null @@ -1,15 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.utils; - -public class Mitigation extends iaik.xml.crypto.tsl.ex.SeverityAspect.Mitigation { - - String report_; - - public Mitigation(String report) { - report_ = report; - } - - @Override - public String getReport() { - return report_; - } -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEUImportFromFileContext.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEUImportFromFileContext.java deleted file mode 100644 index 453ee2bb1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEUImportFromFileContext.java +++ /dev/null @@ -1,140 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.utils; - -import java.io.File; -import java.io.IOException; -import java.lang.reflect.Method; -import java.net.URL; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.List; - -import org.sqlite.SQLiteErrorCode; - -import iaik.util.logging.Log; -import iaik.util.logging._l; -import iaik.util.logging.Log.MultiThreadLoggingGroup; -import iaik.xml.crypto.tsl.DbTables; -import iaik.xml.crypto.tsl.TSLImportFromFileContext; -import iaik.xml.crypto.tsl.TSLOpenURIException; -import iaik.xml.crypto.tsl.constants.Countries; -import iaik.xml.crypto.tsl.ex.TSLExceptionB; -import iaik.xml.crypto.tsl.ex.ThrowableAndLocatorAndMitigation; -import iaik.xml.crypto.tsl.ex.SeverityAspect.Severity; -import iaik.xml.crypto.tsl.fetch.TopLevelTslFetchContext; - -public class TSLEUImportFromFileContext extends TopLevelTslFetchContext { - - public TSLEUImportFromFileContext( - Countries euTerritory, - URL euTslURL, - String workingdirectory, - boolean sqlMultithreaded, - boolean throwExceptions, - boolean logExceptions, - boolean throwWarnings, - boolean logWarnings, - boolean nullRedundancies) { - - super( - euTerritory, - euTslURL, - workingdirectory, - sqlMultithreaded, - throwExceptions, - logExceptions, - throwWarnings, - logWarnings, - nullRedundancies); - - } - - public List getErrorsAndWarnings() { - List errorsAndWarnings = new ArrayList(); - errorsAndWarnings.addAll(this.fatals_); - errorsAndWarnings.addAll(this.faildTransactions_); - errorsAndWarnings.addAll(this.warnings_); - - return errorsAndWarnings; - } - - @Override - public boolean normalizeXML() { - return true; - } - - @Override - public Object throwException(Throwable e, Method enclosingMethod, - Object thisObject, Object[] parameters) { - - if (enclosingMethod != null){ - if ( - e instanceof TSLOpenURIException && - enclosingMethod.getName().equals("processUrl") && - TSLImportFromFileContext.class.isAssignableFrom(enclosingMethod.getDeclaringClass()) && - parameters[1] instanceof File && - e.getCause() instanceof IOException && - parameters[0] instanceof URL - ){ - - _l.err("Ignoring download error using old: " + parameters[0],null); - wrapException(e); - return parameters[1]; - } - } - - //we allow each and every funny stuff from the EU as long as it's not insecure - if (e instanceof TSLExceptionB){ - TSLExceptionB ve = (TSLExceptionB) e; - Severity s = ve.getSeverity(); - if ( s != null && s.ordinal() < Severity.insecure.ordinal()){ - _l.err("Ignored Exception: ",ve); -// if(logExceptions_){ - warnings_.add( - new ThrowableAndLocatorAndMitigation( - ve, null, ve.getLocator(), ve.getMitigation() - ) - ); -// } - return null; - } - } - - - return super.throwException(e, enclosingMethod, thisObject, parameters); - } - - @Override - public Boolean doesViolateRawHash(SQLException e, byte[] rawHash) { - - String msg = e.getMessage(); - return ( - msg.startsWith("["+SQLiteErrorCode.SQLITE_CONSTRAINT.name()+"]") && - msg.contains("column " + DbTables.TSLDownload.C.rawHash + " is not unique") - ); - } - - public MultiThreadLoggingGroup getLoggingGroup() { - return this; - } - - StringBuilder log = new StringBuilder(); - - public void flushLog() { - if (log != null && log.length() > 0) { - Thread currentThread = Thread.currentThread(); - String ncName = getNcName(currentThread); - - synchronized (log) { - print( - "<" + ncName + " state=\"" + currentThread.getState() + "\" " + " id=\"" + currentThread.getId() + "\">\n" - + log.toString() + "\n"); - log.setLength(0); - } - } - } - - public void print(Object msg) { - Log.print(msg); - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java deleted file mode 100644 index a656f1177..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java +++ /dev/null @@ -1,134 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.utils; - -import iaik.util.logging.Log.MultiThreadLoggingGroup; -import iaik.util.logging.Log; -import iaik.util.logging._l; -import iaik.xml.crypto.tsl.BaseClass; -import iaik.xml.crypto.tsl.SIEExtensionChecker; -import iaik.xml.crypto.tsl.constants.Countries; -import iaik.xml.crypto.tsl.ex.TSLSIEExtensionException; -import iaik.xml.crypto.tsl.ex.SeverityAspect.Mitigation; -import iaik.xml.crypto.tsl.sie.gen.CriteriaListType; -import iaik.xml.crypto.tsl.sie.gen.KeyUsageBitType; -import iaik.xml.crypto.tsl.sie.gen.KeyUsageType; -import iaik.xml.crypto.tsl.sie.gen.ObjectFactory; - -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - -public final class TSLEvaluationContext extends iaik.xml.crypto.tsl.TSLEvaluationContext { - - public TSLEvaluationContext( - String workingdirectory, - boolean sqlMultithreaded, - boolean throwExceptions, - boolean logExceptions, - boolean throwWarnings, - boolean logWarnings) { - super(workingdirectory, - sqlMultithreaded, - throwExceptions, - logExceptions, - throwWarnings, - logWarnings); - } - - @Override - public Object throwException(Throwable e, Method enclosingMethod, - Object thisObject, Object[] parameters) { - - if (e instanceof TSLSIEExtensionException - && e.getMessage() == TSLSIEExtensionException.NO_KEYUSEAGE_NOR_POLICYSET) { - - CriteriaListType criteriaList = (CriteriaListType) parameters[1]; - - _l.warn(criteriaList.getDescription()); - - String description = criteriaList.getDescription(); - if (description - .trim() - .equals( - "This service issues qualified certificates for e-signing and " - + "e-authentication within the same process. The Relaying Party shall " - + "make distinction by inspection of keyUsage field contents - " - + "e-signature certificates have non-repudation bit set exclusively.")) { - criteriaList.setAssert(SIEExtensionChecker.Asssert.all.toString()); - - ObjectFactory of = new ObjectFactory(); - KeyUsageType ku = of.createKeyUsageType(); - KeyUsageBitType kb = of.createKeyUsageBitType(); - kb.setName(SIEExtensionChecker.KeyUseageBit.nonRepudiation - .toString()); - kb.setValue(true); - ku.getKeyUsageBit().add(kb); - criteriaList.getKeyUsage().add(ku); - - Object mitigatedResult = null; - try { - mitigatedResult = enclosingMethod.invoke(thisObject, parameters); - - } catch (IllegalAccessException e1) { - wrapException(e1); - } catch (InvocationTargetException e1) { - wrapException(e1); - } - - if (mitigatedResult != null) { - wrapException(e, criteriaList.sourceLocation(), new Mitigation() { - @Override - public String getReport() { - return "Fixed invalid criteria list"; - } - }); - return mitigatedResult; - } - - } - } - return super.throwException(e, enclosingMethod, thisObject, parameters); - } - - @Override - protected long howLongWaitForThreads() { - return 10000; - } - - @Override - protected BaseClass getCurrentBaseClass() { - //TODO check whether we can avoid by redesign to focus this only on import - return null; - } - - @Override - public boolean normalizeXML() { - return true; - } - - public Countries getExpectedTerritory() { - return null; - } - - public MultiThreadLoggingGroup getLoggingGroup() { - return this; - } - - StringBuffer log = new StringBuffer(); - - public void flushLog() { - if (log != null && log.length() > 0) { - synchronized (System.out) { - Thread currentThread = Thread.currentThread(); - print("# # # " + getHint() + " Thread: " - + currentThread.getName() + "(" + currentThread.getId() - + ") collected logs - BEGIN # # #\n" + log.toString() + "# # # " - + getHint() + " Thread: " + currentThread.getName() - + "(" + currentThread.getId() + ") collected logs - END # # #\n"); - } - log = null; - } - } - - public void print(Object msg) { - Log.print(msg); - } -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLImportFromFileContext.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLImportFromFileContext.java deleted file mode 100644 index f8e8f608b..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLImportFromFileContext.java +++ /dev/null @@ -1,856 +0,0 @@ -package at.gv.egovernment.moa.spss.tsl.utils; - -import iaik.util.logging._l; - -import iaik.util.logging.Log.MultiThreadLoggingGroup; -import iaik.utils.RFC2253NameParserException; -import iaik.utils.Util; -import iaik.util._; -import iaik.xml.crypto.dsig.keyinfo.X509DataImpl; -import iaik.xml.crypto.tsl.DbTables; -import iaik.xml.crypto.tsl.TSLConstants; -import iaik.xml.crypto.tsl.TSLContext; -import iaik.xml.crypto.tsl.TSLEngine; -import iaik.xml.crypto.tsl.TSLImportContext; -import iaik.xml.crypto.tsl.TSLOpenURIException; -import iaik.xml.crypto.tsl.TSLThreadContext; -import iaik.xml.crypto.tsl.ValidationFixupFilter; -import iaik.xml.crypto.tsl.ValidationFixupFilter.AttributeValueFixup; -import iaik.xml.crypto.tsl.ValidationFixupFilter.DeleteAttrFixup; -import iaik.xml.crypto.tsl.ValidationFixupFilter.ElementStringValueFixup; -import iaik.xml.crypto.tsl.ValidationFixupFilter.FixedSaxLevelValidationExcption; -import iaik.xml.crypto.tsl.ValidationFixupFilter.Fixup; -import iaik.xml.crypto.tsl.ValidationFixupFilter.LocalNameFixup; -import iaik.xml.crypto.tsl.constants.Countries; -import iaik.xml.crypto.tsl.ex.LocatorAspect; -import iaik.xml.crypto.tsl.ex.TSLEngineFatalException; -import iaik.xml.crypto.tsl.ex.TSLRuntimeWarning; -import iaik.xml.crypto.tsl.ex.TSLSecurityException; -import iaik.xml.crypto.tsl.ex.TSLVerificationException; -import iaik.xml.crypto.tsl.ex.ThrowableAndLocatorAndMitigation; -import iaik.xml.crypto.tsl.ex.TSLSecurityException.Type; -import iaik.xml.crypto.tsl.gen.DigitalIdentityType; -import iaik.xml.crypto.tsl.verify.TSLDOMErrorHandler; -import iaik.xml.crypto.tsl.verify.TSLValidationException; -import iaik.xml.crypto.tsl.verify.TslKeySelector; -import iaik.xml.crypto.utils.KeySelectorImpl.X509KeySelectorResultImpl; - -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.OutputStream; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.net.URL; -import java.security.InvalidKeyException; -import java.security.KeyFactory; -import java.security.NoSuchAlgorithmException; -import java.security.PublicKey; -import java.security.cert.CertificateException; -import java.security.cert.X509Certificate; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; -import java.util.Map; - -import javax.xml.bind.Unmarshaller; -import javax.xml.crypto.AlgorithmMethod; -import javax.xml.crypto.KeySelectorException; -import javax.xml.crypto.dsig.keyinfo.X509Data; - -import org.apache.log4j.Logger; -import org.sqlite.SQLiteErrorCode; -import org.w3c.dom.DOMError; -import org.w3c.dom.Node; -import org.xml.sax.Locator; -import org.xml.sax.SAXParseException; - -import at.gv.egovernment.moa.spss.tsl.connector.TSLConnector; -import at.gv.egovernment.moa.spss.tsl.exception.MitigatedTSLSecurityException; - -/** - * - */ - -public class TSLImportFromFileContext extends iaik.xml.crypto.tsl.TSLImportFromFileContext { - - static Logger l = Logger.getLogger(TSLImportFromFileContext.class); - - public static final class ExceptionalMitigation extends Mitigation { - public ExceptionalMitigation(String report) { - super(report); - } - } - - public static final class FixedValidationMitigation extends Mitigation { - public FixedValidationMitigation(String report) { - super(report); - } - } - - private final String baseuri_; - private Map> - trustAnchorsWrongOnEuTsl_; - - public TSLImportFromFileContext( - Countries expectedTerritory, - URL url, - Number otherTslPointerId, - String workingdirectory, - boolean sqlMultithreaded, - boolean throwExceptions, - boolean logExceptions, - boolean throwWarnings, - boolean logWarnings, - boolean nullRedundancies, - String baseuri, - Map > trustAnchorsWrongOnEuTsl, - TSLThreadContext parentContext) { - super( - expectedTerritory, - url, - otherTslPointerId, - workingdirectory, - sqlMultithreaded, - throwExceptions, - logExceptions, - throwWarnings, - logWarnings, - nullRedundancies, - parentContext); - baseuri_ = baseuri; - trustAnchorsWrongOnEuTsl_ = trustAnchorsWrongOnEuTsl; - } - /* (non-Javadoc) - * @see iaik.xml.crypto.tsl.TSLImportFromFileContext#getbaseURI() - */ - @Override - public String getbaseURI() { - return this.baseuri_; - } - - - - - //@Override - protected RuntimeException wrapException(Throwable t, Locator l, Mitigation m) { - return super.wrapException(t, l, m); - } - - @Override - public - synchronized void throwException(Throwable e) { - - if (e instanceof TSLValidationException) { - // we do not throw dom validation errors for testing - // and just collect them - wrapException(e); - } else if (e instanceof TSLVerificationException) { - - boolean corrected = false; - // we do not throw verification errors for testing - // and just collect them - -// // NEVER DO THIS! unless you want to import TSLs without signatures. -// if (Boolean.valueOf(_.getSysProperty(TSLSecurityException.Type.NO_TSL_SIGNATURE -// .getClass().getName(), "true")) -// && ((TSLVerificationException) e).getType() == TSLSecurityException.Type.NO_TSL_SIGNATURE) { -// ((TSLVerificationException) e).setMitigation(Mitigation.IGNORED); -// } -// -// if (Boolean.valueOf(_.getSysProperty(TSLSecurityException.Type.NON_CONFORMANT_REFERENCE_IN_TSL_SIGNATURE -// .getClass().getName(), "true")) -// && ((TSLVerificationException) e).getType() == TSLSecurityException.Type.NON_CONFORMANT_REFERENCE_IN_TSL_SIGNATURE) { -// ((TSLVerificationException) e).setMitigation(Mitigation.IGNORED); -// } - -// if (Boolean.valueOf(_.getSysProperty(TSLSecurityException.Type.NON_CONFORMANT_TRANSFORMS_IN_TSL_SIGNATURE -// .getClass().getName(), "true")) -// && ((TSLVerificationException) e).getType() == TSLSecurityException.Type.NON_CONFORMANT_TRANSFORMS_IN_TSL_SIGNATURE) { -// ((TSLVerificationException) e).setMitigation(Mitigation.IGNORED); -// -// corrected = true; -// } -// -// -// if (Boolean.valueOf(_.getSysProperty(TSLSecurityException.Type.NON_CONFORMANT_TRANSFORM_IN_TSL_SIGNATURE -// .getClass().getName(), "true")) -// && ((TSLVerificationException) e).getType() == TSLSecurityException.Type.NON_CONFORMANT_TRANSFORM_IN_TSL_SIGNATURE) { -// ((TSLVerificationException) e).setMitigation(Mitigation.IGNORED); -// -// corrected = true; -// } -// -// if (Boolean.valueOf(_.getSysProperty(TSLSecurityException.Type.NON_CONFORMANT_C14N_IN_TSL_SIGNATURE -// .getClass().getName(), "true")) -// && ((TSLVerificationException) e).getType() == TSLSecurityException.Type.NON_CONFORMANT_C14N_IN_TSL_SIGNATURE) { -// ((TSLVerificationException) e).setMitigation(Mitigation.IGNORED); -// -// corrected = true; -// } -// -// if (corrected) -// wrapException(e); -// else -// super.throwException(e); - - super.throwException(e); - - } else if (e instanceof FileNotFoundException) { - // we do not stop and continue processing - wrapException(e); - } else if (e instanceof IllegalArgumentException) { - // we do not stop and continue processing - wrapException(e); - } else { - // all other errors are treated as per default - super.throwException(e); - } - } - - /* (non-Javadoc) - * @see iaik.xml.crypto.tsl.TSLContext#throwException(java.lang.Exception, java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) - */ - @Override - public Object throwException( - Throwable e, Method enclosingMethod, Object thisObject, final Object[] parameters) { - - if (enclosingMethod != null){ - - if( - e instanceof FixedSaxLevelValidationExcption && - enclosingMethod.getDeclaringClass().equals(ValidationFixupFilter.class)){ - wrapException(e, - ((LocatorAspect) e).getLocator(), - new FixedValidationMitigation("Performed SAX Level Fixup.")); - return null; - } - - if(e instanceof CertificateException && - enclosingMethod.getDeclaringClass().equals(TSLImportContext.class) && - enclosingMethod.getName().equals("parseCertificate")) { - - wrapException(e); - // ((DigitalIdentityType)parameters[1]).sourceLocation(); - - return null; - } - - if (e instanceof TSLValidationException&& - enclosingMethod.getDeclaringClass().equals(TSLDOMErrorHandler.class) && - enclosingMethod.getName().equals("handleError")) { - - if (parameters[0] instanceof DOMError) { - DOMError domError = (DOMError) parameters[0]; - - _l.warn(""+domError.getRelatedData()); - - // domError.getRelatedData().getClass().getField("") - - wrapException(e); - return Boolean.TRUE; - } - } - - if (e instanceof RFC2253NameParserException&& - enclosingMethod.getDeclaringClass().equals(TSLImportContext.class) && - enclosingMethod.getName().equals("getNormalizedDN") && - parameters[0] instanceof DigitalIdentityType ) { - - DigitalIdentityType digitalId = (DigitalIdentityType) parameters[0]; - - String subDN = digitalId.getX509SubjectName(); - - // String openSslRdnRegExp = "/([^=]+)=?(([^/]+)|\"([^\"]+)\""; - - String openSslRdnRegExp = "/([^=]+)=(\"([^\"]*)\"|([^/\"][^/]*)|(.{0}))"; - // 1 2 3 4 5 - // 1 matches Attribute - // 2 matches values - // 2 greedy matches properly quoted values - // 3 greedy matches values without quotes - // 4 matches the empty value - if (subDN.matches("^("+openSslRdnRegExp+")+$")){ - //trigger openSSL format error handling - - Object mitigatedResult = null; - - String[] rdns = subDN.substring(1, subDN.length()).split("/"); - - rdns = (String[]) _.reverseInPlace(rdns); - - subDN = "/"+_.implode("/", rdns); - - //for now we only support properly quoted values or such without quotes - - subDN = subDN.replaceAll(openSslRdnRegExp, "$1=\"$2$3\","); - subDN = subDN.substring(0, subDN.length()-1); - - digitalId.setX509SubjectName(subDN); - try { - mitigatedResult = enclosingMethod.invoke(thisObject, new Object[]{digitalId}); - - } catch (IllegalAccessException e1) { - wrapException(e1); - } catch (InvocationTargetException e1) { - wrapException(e1); - } - - if (mitigatedResult != null){ - wrapException(e, digitalId.sourceLocation(), new iaik.xml.crypto.tsl.ex.SeverityAspect.Mitigation() { - @Override - public String getReport() { - return "Converted OpenSSL SubjectDN"; - } - }); - return mitigatedResult; - - } - } - - wrapException( - new TSLRuntimeWarning("Could not normalize :" + (digitalId).getX509SubjectName(), e), - digitalId.sourceLocation()); - - //if we cannot Normalize the DN we simply don't - return (digitalId).getX509SubjectName(); - } - - //TODO check if this is really needed for ESP TSL - if (e instanceof RFC2253NameParserException && - enclosingMethod.getDeclaringClass().equals(TSLImportContext.class) && - enclosingMethod.getName().equals("getNormalizedSubjectDN") && - parameters[0] instanceof X509Certificate ) { - - X509Certificate cert = (X509Certificate) parameters[0]; - - - wrapException(e, null); - //if we cannot Normalize the DN we simply don't - return cert.getSubjectDN().getName(); - } - - if ( - (expectedTerritory_ == Countries.MT || expectedTerritory_ == Countries.LT)&& - e instanceof TSLOpenURIException && - enclosingMethod.getDeclaringClass().equals(TSLImportFromFileContext.class) && - enclosingMethod.getName().equals("processUrl") && - parameters[1] instanceof File){ - - URL url = null; - if ( - e.getCause() instanceof FileNotFoundException && - parameters[0] instanceof URL && - (url =((URL)parameters[0])).getProtocol().equalsIgnoreCase("http") - ){ - try { - //Malta just changed their URL ... - if ("http://www.mca.org.mt/tsl/MT_TSL.xml".equalsIgnoreCase(url.toString())){ - url = new URL("http://www.mca.org.mt/sites/default/files/pageattachments/MT_TSL.xml"); - } else { - url = new URL("https", url.getHost(), url.getFile()); - } - } catch (MalformedURLException e1) { - wrapException(e1); - } - - Object mitigatedResult = null; - try { - - mitigatedResult = enclosingMethod.invoke(thisObject, new Object[]{url,parameters[1]}); - } catch (IllegalAccessException e1) { - wrapException(e1); - } catch (InvocationTargetException e1) { - wrapException(e1); - } - - if (mitigatedResult != null){ - wrapException(e, null, new iaik.xml.crypto.tsl.ex.SeverityAspect.Mitigation() { - @Override - public String getReport() { - return "Trying https:// ..."; - } - }); - return mitigatedResult; - } - } - - _l.err("Ignoring download error using old: " + parameters[0], null); - wrapException(e); - return parameters[1]; - } - -// if ( -// expectedTerritory_ == Countries.PL &&( -// (e.getCause() instanceof java.io.EOFException || -// e.getCause() instanceof iaik.security.ssl.SSLException) && -// parameters[0] instanceof URL && -// ((URL)parameters[0]).getProtocol().equalsIgnoreCase("https") -// )){ -// File f = null; -// System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true"); -// TLS.register("TLSv1"); -// try { -// f = (File) enclosingMethod.invoke(thisObject, parameters); -// } catch (IllegalAccessException e1) { -// wrapException(e1); -// } catch (InvocationTargetException e1) { -// wrapException(e1); -// } -// -// // System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", null); -// TLS.register(); -// -// if (f != null){ -// wrapException(e, null, new Mitigation() { -// @Override -// public String getReport() { -// return "Trying TLSv1 and sun.security.ssl.allowUnsafeRenegotiation=true"; -// } -// }); -// return f; -// } -// } - - if ( - e instanceof TSLSecurityException && - enclosingMethod.getDeclaringClass().equals(TSLContext.class) && - enclosingMethod.getName().equals("securityCheck") && - parameters[0] == TSLSecurityException.Type.UNTRUSTED_TSL_SIGNER && - trustAnchorsWrongOnEuTsl_.containsKey(expectedTerritory_) && - parameters[1] instanceof X509Certificate && - parameters[2] instanceof ListIterator - ) - { - final ListIterator trustAnchorsWrongOnEuTsl = - trustAnchorsWrongOnEuTsl_.get(expectedTerritory_); - - if (trustAnchorsWrongOnEuTsl != parameters[2]){ //prevents recursion - try { - enclosingMethod.invoke(thisObject, - new Object[]{parameters[0],parameters[1], trustAnchorsWrongOnEuTsl}); - } catch (IllegalAccessException e1) { - wrapException(e1); - } catch (InvocationTargetException e1) { - wrapException(e1); - } - wrapException(e, getLocator(), - new iaik.xml.crypto.tsl.ex.SeverityAspect.Mitigation(){ - @Override - public String getReport() { - return "make an exception for " + expectedTerritory_ + " who have the wrong certificate in " + - "the EU TSL and allow the certificate " + - parameters[1]; - } - }); - return null; - } - X509Certificate crt = (X509Certificate)parameters[1]; - - File f = new File("./wrong/"+expectedTerritory_+"/", - _.toHexString(getFingerPrint(crt, - new byte[TSLConstants.CertHash.LENGTH]))+".der"); - File parent = f.getParentFile(); - if(!parent.exists() && !parent.mkdirs()){ - throw new IllegalStateException("Couldn't create dir: " + parent); - } - - if (!f.exists()){ - try { - OutputStream os = new BufferedOutputStream( - new FileOutputStream(f) - ); - os.write(crt.getEncoded()); - os.close(); - } catch (Exception e1) { - e1.printStackTrace(); - System.exit(1); - } - } - - //continue ... - } - - if ( - ( expectedTerritory_ == Countries.SK || - expectedTerritory_ == Countries.SE || - expectedTerritory_ == Countries.NO || - expectedTerritory_ == Countries.PL) && - e instanceof KeySelectorException && - enclosingMethod.getDeclaringClass().equals(TslKeySelector.class) && - enclosingMethod.getName().equals("select") && - parameters[0] instanceof X509DataImpl){ - - X509DataImpl x509Data = (X509DataImpl) parameters[0]; - AlgorithmMethod method = (AlgorithmMethod) parameters[2]; - - List certificates = new ArrayList(); - - Iterator x509content = x509Data.getContent().iterator(); - while (x509content.hasNext()) { - Object element = x509content.next(); - if (element instanceof X509Certificate) { - X509Certificate rawCert = (X509Certificate)element; - certificates.add(rawCert); - } - } - - if (!certificates.isEmpty()) { - X509Certificate[] rawCertificates = new X509Certificate[certificates.size()]; - certificates.toArray(rawCertificates); - certificates.clear(); - Iterator certs = null; - try { - // convert the certificates to IAIK certifcates - iaik.x509.X509Certificate[] iaikCertificates = Util.convertCertificateChain(rawCertificates); - // sort the certificate chain - iaik.x509.X509Certificate[] sortedChain = Util.arrangeCertificateChain(iaikCertificates, false); - if (sortedChain == null) { - // chain could not be sorted; maybe there are two different certificates - // containing the same public key; use the unsorted chain - certificates = Arrays.asList(iaikCertificates); - certs = certificates.iterator(); - } else { - certs = (Collections.nCopies(1, sortedChain[0])).iterator(); - certificates = Arrays.asList(sortedChain); - } - } catch (CertificateException e1) { - //cannot handle this throw error - return super.throwException(e, enclosingMethod, thisObject, parameters); - } - - PublicKey oldPublicKey = null; - while (certs.hasNext()) { - - iaik.x509.X509Certificate cert = (iaik.x509.X509Certificate)certs.next(); - - boolean hit = false; - - PublicKey publicKey = cert.getPublicKey(); - - // failReason_ = ""; - - // Does the certificate provide a key for the requested algorithm? - try { - KeyFactory kfac = KeyFactory.getInstance(method.getAlgorithm()); - kfac.translateKey(publicKey); - hit = true; - if (oldPublicKey != null) { - if (!publicKey.equals(oldPublicKey)) { - //cannot handle this throw error - return super.throwException(e, enclosingMethod, thisObject, parameters); - } - } - oldPublicKey = publicKey; - } catch (NoSuchAlgorithmException e1) { - //cannot handle this throw error - return super.throwException(e, enclosingMethod, thisObject, parameters); - } catch (InvalidKeyException e1) { - //cannot handle this throw error - return super.throwException(e, enclosingMethod, thisObject, parameters); - } - if (hit) { - //make an exception for SK, SE who violate XMLDSig ds:KeyInfo/ds:X509Data - wrapException(e, getLocator(), - new ExceptionalMitigation("make an exception for " + expectedTerritory_ + " who violate XMLDSig ds:KeyInfo")); - return new X509KeySelectorResultImpl(publicKey, certificates, null); - } - } - } - } - - if ( expectedTerritory_ == Countries.DK && - e instanceof KeySelectorException && - parameters[0] instanceof X509DataImpl){ - if (e.getMessage().equals("KeyInfo X509SubjectName (CN=Adam Arndt Digst,serialNumber=CVR:34051178-RID:25902029,O=Digitaliseringsstyrelsen // CVR:34051178,C=DK) does not match SubjectDN (serialNumber=CVR:34051178-RID:25902029+CN=Adam Arndt Digst,O=Digitaliseringsstyrelsen // CVR:34051178,C=DK) of KeyInfo X509Certificate.\n"+ - "Any X509IssuerSerial, X509SKI, and X509SubjectName elements that appear MUST refer to the certificate or certificates containing the validation key.")) { - - X509DataImpl x509DataImpl = (X509DataImpl) parameters[0]; - - ListIterator li = x509DataImpl.getContent().listIterator(); - li.next(); - String sn = (String) li.next(); - - _l.err(sn, null); - - System.exit(1); - - Object mitigatedResult = null; - try { - - mitigatedResult = enclosingMethod.invoke(thisObject, parameters); - } catch (IllegalAccessException e1) { - wrapException(e1); - } catch (InvocationTargetException e1) { - wrapException(e1); - } - - if (mitigatedResult != null){ - wrapException(e, null, new iaik.xml.crypto.tsl.ex.SeverityAspect.Mitigation() { - @Override - public String getReport() { - return "Deleted wrong X509SubjectName from XMLDSIG Signature."; - } - }); - return mitigatedResult; - - } - } - } - - - } else { - if (e instanceof MitigatedTSLSecurityException){ - // we allow to mitigate Security exceptions for testing - // and collect them - wrapException(e); - return null; - } else if (e instanceof FixedSaxLevelValidationExcption) { - // we allow to mitigate Sax Level Fixup for testing - // and collect them - wrapException(e); - return null; - } - } - - return super.throwException(e, enclosingMethod, thisObject, parameters); - } - - - - @Override - public Unmarshaller createTSLUnmarshaller() - throws TSLEngineFatalException { - if (expectedTerritory_ == Countries.FI){ - //we cannot fix FI at SAX Level and re-validate - return TSLEngine.createTSLUnmarshaller(false); - } - return super.createTSLUnmarshaller(); - } - - @Override - public String compressStatus(String status) { - if(expectedTerritory_ == Countries.EL){ - //fix the whitespace in Greece TSL - status = status.trim(); - } - if (status != null && status.startsWith("http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/")) { - status = status.substring("http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/".length()); - } - - return super.compressStatus(status); - } - - - @Override - public String compressServiceType(String sType) { - if(expectedTerritory_ == Countries.EL){ - //fix the whitespace in Greece TSL - sType = sType.trim(); - } - return super.compressServiceType(sType); - } - - - @Override - public iaik.xml.crypto.tsl.ValidationFixupFilter.Fixup getSaxLevelValidationFixup(SAXParseException e) { - - if (expectedTerritory_ == Countries.AT){ - if (e.getMessage().equals("cvc-type.3.1.1: Element 'tsl:URI' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, 'xml:lang' was found.")){ - return new DeleteAttrFixup("http://www.w3.org/XML/1998/namespace","lang", e, this); - } - } - - if (expectedTerritory_ == Countries.CZ){ - if (e.getMessage().equals("cvc-type.3.1.1: Element 'tsl:URI' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, 'xml:lang' was found.")){ - return new DeleteAttrFixup("http://www.w3.org/XML/1998/namespace","lang", e, this); - } - } - - if (expectedTerritory_ == Countries.FR){ - if (e.getMessage().equals("cvc-type.3.1.1: Element 'tsl:URI' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, 'xml:lang' was found.")){ - return new DeleteAttrFixup("http://www.w3.org/XML/1998/namespace","lang", e, this); - } - } - - if (expectedTerritory_ == Countries.NO){ - if (e.getMessage().equals("cvc-type.3.1.1: Element 'tsl:URI' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, 'xml:lang' was found.")){ - return new DeleteAttrFixup("http://www.w3.org/XML/1998/namespace","lang", e, this); - } - } - - if (expectedTerritory_ == Countries.SK){ - if (e.getMessage().equals("cvc-type.3.1.1: Element 'tsl:URI' is a simple type, so it cannot have attributes, excepting those whose namespace name is identical to 'http://www.w3.org/2001/XMLSchema-instance' and whose [local name] is one of 'type', 'nil', 'schemaLocation' or 'noNamespaceSchemaLocation'. However, the attribute, 'xml:lang' was found.")){ - return new DeleteAttrFixup("http://www.w3.org/XML/1998/namespace","lang", e, this); - } - } - - - if (expectedTerritory_ == Countries.ES && getDownloadLocation().toString().contains(".es/")){ - if (e.getMessage().equals("cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'tslx:CertSubjectDNAttributeType'.")){ - return new LocalNameFixup("CertSubjectDNAttributeType","CertSubjectDNAttribute",e, this); - } - } - - if (expectedTerritory_ == Countries.MT && getDownloadLocation().toString().contains(".mt/")){ - if (e.getMessage().equals("cvc-complex-type.2.4.a: Invalid content was found starting with element 'tsl:TSLPolicy'. One of '{\"http://uri.etsi.org/02231/v2#\":TSLLegalNotice}' is expected.")){ - return new LocalNameFixup("TSLPolicy","TSLLegalNotice",e, this); - } - } - - if (e.getMessage().equals("cvc-complex-type.3.2.2: Attribute 'assert' is not allowed to appear in element 'ecc:otherCriteriaList'.")){ - return new LocalNameFixup("otherCriteriaList","CriteriaList",e, this); - } else if (e.getMessage().startsWith("cvc-datatype-valid.1.2.1: '") && e.getMessage().endsWith("' is not a valid value for 'dateTime'.")){ - return new ElementStringValueFixup("-(.)-","-0$1-",e, this); - } else if (e.getMessage().startsWith("cvc-type.3.1.3: The value '") && e.getMessage().endsWith("' of element 'tsl:ListIssueDateTime' is not valid.")){ - // return new DateTimeFixup(); - } else if (e.getMessage().startsWith("cvc-datatype-valid.1.2.1: '") && e.getMessage().endsWith("' is not a valid value for 'base64Binary'.")){ - return new ElementStringValueFixup("(\\s)=([^=]+)","$1$2",e, this); - } else if (e.getMessage().startsWith("cvc-type.3.1.3: The value '") && e.getMessage().endsWith("' of element 'tsl:X509Certificate' is not valid.")){ - // return new Base64BinaryFixup(); - } else if (e.getMessage().startsWith("cvc-datatype-valid.1.2.1: '") && e.getMessage().endsWith("' is not a valid value for 'anyURI'.")){ - - //TODO only for sweden and find a better discriminatory than the URI -// if (expectedTerritory_ == Countries.SE){ -// return new ElementStringValueFixup( -// "-http://www.pts.se/upload/Ovrigt/Internet/Branschinformation/Trusted%20List%20SE%20MR.xml", -// "http://www.pts.se/upload/Ovrigt/Internet/Branschinformation/Trusted%20List%20SE%20MR.xml"); - return new ElementStringValueFixup("-http://www.pts.se/", "http://www.pts.se/", e, this); -// } - - - } else if (e.getMessage().startsWith("cvc-datatype-valid.1.2.1: '") && e.getMessage().endsWith("' is not a valid value for 'NCName'.")){ - if (expectedTerritory_ == Countries.CY || expectedTerritory_ == Countries.LV || - expectedTerritory_ == Countries.HR || expectedTerritory_ == Countries.NL){ - return new AttributeValueFixup("","Id","(.+)","x$1",e, this); - } - } else if (e.getMessage().startsWith("cvc-complex-type.2.3: Element '") && e.getMessage().endsWith("' cannot have character [children], because the type's content type is element-only.")) { - //cvc-complex-type.2.3: Element 'tsl:ServiceDigitalIdentity' cannot have character [children], because the type's content type is element-only. - if (expectedTerritory_ == Countries.FI){ -// return new ElementStringValueFixup("(\\s*)-(\\s*)","$1$2",e, this); - return new Fixup(e, this){ - { - changed_ = true; - fixupPerformed(); - } - @Override - public String fixup(String input) { - return null; - } - - @Override - public Mitigation getMitigation() { - return new Mitigation("Ignored"); - } - - }; - } - } - - if (e.getMessage().startsWith("cvc-elt")){ - - } else if (e.getMessage().startsWith("cvc-type")) { - - } else if (e.getMessage().startsWith("cvc-complex-type")) { - - } else if (e.getMessage().startsWith("cvc-datatype-valid")) { - - } else if (e.getMessage().startsWith("cvc-attribute")) { - - } - //cvc-complex-type.2.4.a: Invalid content was found starting with element 'tsl:TSLPolicy'. One of '{"http://uri.etsi.org/02231/v2#":TSLLegalNotice}' is expected. - - //cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'ecc:PolicySet' - //cvc-complex-type.2.4.a: Invalid content was found starting with element 'ecc:Identifier'. One of '{"http://uri.etsi.org/02231/v2/additionaltypes#":AttributeOID}' is expected. - //cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'tsl:ExtensionOID'. - //cvc-type.3.1.3: The value '-http://www.pts.se/upload/Ovrigt/Internet/Branschinformation/Trusted%20List%20SE%20MR.xml' of element 'tsl:URI' is not valid.,locator=[node=null,object=null,url=file:/C:/Gesichert/Development/projects/TSL/./hashcache/900BA6AB3702EC9518627496749AA28129C56100.tsl.xml,line=109,col=118,offset=-1]] - - return super.getSaxLevelValidationFixup(e); - } - - @Override - public void securityCheck(Type securityCheckType, - java.security.cert.X509Certificate[] certs, - ListIterator expectedTslSignerCerts) { - - //TODO check whether we always want to do that to make sure we use the endentity - try { - certs = Util.convertCertificateChain(certs); - } catch (CertificateException e) { - throwException(e); - } - certs = Util.arrangeCertificateChain((iaik.x509.X509Certificate[]) certs, false); - super.securityCheck(securityCheckType, certs, expectedTslSignerCerts); - } - - - @Override - public boolean doRollback() { - //accept each and every TSL ... even partially ... for testing - return false; -// return true; - } - - @Override - public Boolean doesViolateRawHash(SQLException e, byte[] rawHash) { - - String msg = e.getMessage(); - - _l.info(msg); - return( - msg.startsWith("["+SQLiteErrorCode.SQLITE_CONSTRAINT.name()+"]") && - msg.contains("column " + DbTables.TSLDownload.C.rawHash + " is not unique") - ); - } - - @Override - protected Long getLocalLastModified(File targetFile) { - return super.getLocalLastModified(targetFile); - } - @Override - protected long howLongWaitForThreads() { - // TODO Auto-generated method stub - return 100000; - } - - @Override - protected boolean normalizeXML() { - return true; - } - public MultiThreadLoggingGroup getLoggingGroup() { - return this; - } - - StringBuilder log = new StringBuilder(); - - public void flushLog() { - if (log != null && log.length() > 0) { - Thread currentThread = Thread.currentThread(); - String ncName = getNcName(currentThread); - synchronized (log) { - parentContext_.print("<" + ncName + " state=\"" + currentThread.getState() - + "\" " + " id=\"" + currentThread.getId() + "\">\n" + log.toString() + "" + _.LB); - parentContext_.flushLog(); - log.setLength(0); - } - } - } - - /** - * Collect all the logs for this context - * @see iaik.util.logging.Log.MultiThreadLoggingGroup#print(java.lang.Object) - */ - public void print(Object msg) { - synchronized (log) { - log.append(msg); - } - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java deleted file mode 100644 index 544ea916c..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java +++ /dev/null @@ -1,286 +0,0 @@ -package at.gv.egovernment.moa.spss.util; - -import iaik.asn1.ObjectID; -import iaik.asn1.structures.Name; -import iaik.asn1.structures.PolicyInformation; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; -import iaik.x509.X509ExtensionInitException; -import iaik.x509.extensions.CertificatePolicies; -import iaik.x509.extensions.qualified.QCStatements; -import iaik.x509.extensions.qualified.structures.QCStatement; -import iaik.x509.extensions.qualified.structures.etsi.QcEuCompliance; -import iaik.x509.extensions.qualified.structures.etsi.QcEuSSCD; -import iaik.xml.crypto.tsl.ex.TSLEngineDiedException; -import iaik.xml.crypto.tsl.ex.TSLSearchException; - -import java.security.Principal; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.tsl.timer.TSLUpdaterTimerTask; - -public class CertificateUtils { - - - /** - * Verifies if the given certificate contains QCP+ statement - * @param cert X509Certificate - * @return true if the given certificate contains QCP+ statement, else false - */ - private static boolean checkQCPPlus(X509Certificate cert) { - Logger.debug("Checking QCP+ extension"); - String OID_QCPPlus = "0.4.0.1456.1.1"; - try { - CertificatePolicies certPol = (CertificatePolicies) cert.getExtension(CertificatePolicies.oid); - if (certPol == null) { - Logger.debug("No CertificatePolicies extension found"); - return false; - } - - PolicyInformation[] polInfo = certPol.getPolicyInformation(); - if (polInfo == null) { - Logger.debug("No policy information found"); - return false; - } - - for (int i = 0; i < polInfo.length; i++) { - ObjectID oid = polInfo[i].getPolicyIdentifier(); - String oidStr = oid.getID(); - if (oidStr.compareToIgnoreCase(OID_QCPPlus) == 0) { - Logger.debug("QCP+ extension found"); - return true; - } - } - - Logger.debug("No QCP+ extension found"); - - return false; - } catch (X509ExtensionInitException e) { - Logger.debug("No QCP+ extension found"); - - return false; - } - - } - - /** - * Verifies if the given certificate contains QCP statement - * @param cert X509Certificate - * @return true if the given certificate contains QCP statement, else false - */ - private static boolean checkQCP(X509Certificate cert) { - Logger.debug("Checking QCP extension"); - String OID_QCP = "0.4.0.1456.1.2"; - try { - CertificatePolicies certPol = (CertificatePolicies) cert.getExtension(CertificatePolicies.oid); - if (certPol == null) { - Logger.debug("No CertificatePolicies extension found"); - return false; - } - - PolicyInformation[] polInfo = certPol.getPolicyInformation(); - if (polInfo == null) { - Logger.debug("No policy information found"); - return false; - } - - for (int i = 0; i < polInfo.length; i++) { - ObjectID oid = polInfo[i].getPolicyIdentifier(); - String oidStr = oid.getID(); - if (oidStr.compareToIgnoreCase(OID_QCP) == 0) { - Logger.debug("QCP extension found"); - return true; - } - - } - - Logger.debug("No QCP extension found"); - return false; - - } catch (X509ExtensionInitException e) { - Logger.debug("No QCP extension found"); - return false; - } - - } - - /** - * Verifies if the given certificate contains QcEuCompliance statement - * @param cert X509Certificate - * @return true if the given certificate contains QcEuCompliance statement, else false - */ - private static boolean checkQcEuCompliance(X509Certificate cert) { - Logger.debug("Checking QcEUCompliance extension"); - try { - QCStatements qcStatements = (QCStatements) cert.getExtension(QCStatements.oid); - - if (qcStatements == null) { - Logger.debug("No QcStatements extension found"); - return false; - } - - QCStatement qcEuCompliance = qcStatements.getQCStatements(QcEuCompliance.statementID); - - if (qcEuCompliance != null) { - Logger.debug("QcEuCompliance extension found"); - return true; - } - - Logger.debug("No QcEuCompliance extension found"); - return false; - - } catch (X509ExtensionInitException e) { - Logger.debug("No QcEuCompliance extension found"); - return false; - } - - } - - /** - * Verifies if the given certificate contains QcEuSSCD statement - * @param cert X509Certificate - * @return true if the given certificate contains QcEuSSCD statement, else false - */ - private static boolean checkQcEuSSCD(X509Certificate cert) { - Logger.debug("Checking QcEuSSCD extension"); - try { - QCStatements qcStatements = (QCStatements) cert.getExtension(QCStatements.oid); - if (qcStatements == null) { - Logger.debug("No QcStatements extension found"); - return false; - } - - QCStatement qcEuSSCD = qcStatements.getQCStatements(QcEuSSCD.statementID); - - if (qcEuSSCD != null) { - Logger.debug("QcEuSSCD extension found"); - return true; - } - - Logger.debug("No QcEuSSCD extension found"); - return false; - - } catch (X509ExtensionInitException e) { - Logger.debug("No QcEuSSCD extension found"); - return false; - } - - } - - public static QCSSCDResult checkQCSSCD(X509Certificate[] chain, boolean isTSLenabledTrustprofile) { - - boolean qc = false; - boolean qcSourceTSL = false; - boolean sscd = false; - boolean sscdSourceTSL = false; - - try { - - if (isTSLenabledTrustprofile) { - // perform QC check via TSL - boolean checkQCFromTSL = TSLUpdaterTimerTask.tslconnector_.checkQC(chain); - if (!checkQCFromTSL) { - // if QC check via TSL returns false - // try certificate extensions QCP and QcEuCompliance - Logger.debug("QC check via TSL returned false - checking certificate extensions"); - boolean checkQCP = CertificateUtils.checkQCP(chain[0]); - boolean checkQcEuCompliance = CertificateUtils.checkQcEuCompliance(chain[0]); - - if (checkQCP || checkQcEuCompliance) { - Logger.debug("Certificate is QC (Source: Certificate)"); - qc = true; - } - - qcSourceTSL = false; - } - else { - // use TSL result - Logger.debug("Certificate is QC (Source: TSL)"); - qc = true; - qcSourceTSL = true; - } - - // perform SSCD check via TSL - boolean checkSSCDFromTSL = TSLUpdaterTimerTask.tslconnector_.checkSSCD(chain); - if (!checkSSCDFromTSL) { - // if SSCD check via TSL returns false - // try certificate extensions QCP+ and QcEuSSCD - Logger.debug("SSCD check via TSL returned false - checking certificate extensions"); - boolean checkQCPPlus = CertificateUtils.checkQCPPlus(chain[0]); - boolean checkQcEuSSCD = CertificateUtils.checkQcEuSSCD(chain[0]); - - if (checkQCPPlus || checkQcEuSSCD) { - Logger.debug("Certificate is SSCD (Source: Certificate)"); - sscd = true; - } - - sscdSourceTSL = false; - } - else { - // use TSL result - Logger.debug("Certificate is SSCD (Source: TSL)"); - sscd = true; - sscdSourceTSL = true; - } - - } - else { - // Trustprofile is not TSL enabled - use certificate extensions only - - // perform QC check - // try certificate extensions QCP and QcEuCompliance - boolean checkQCP = CertificateUtils.checkQCP(chain[0]); - boolean checkQcEuCompliance = CertificateUtils.checkQcEuCompliance(chain[0]); - - if (checkQCP || checkQcEuCompliance) - qc = true; - - qcSourceTSL = false; - - // perform SSCD check - // try certificate extensions QCP+ and QcEuSSCD - boolean checkQCPPlus = CertificateUtils.checkQCPPlus(chain[0]); - boolean checkQcEuSSCD = CertificateUtils.checkQcEuSSCD(chain[0]); - - if (checkQCPPlus || checkQcEuSSCD) - sscd = true; - - sscdSourceTSL = false; - } - } - catch (TSLEngineDiedException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.01", null)), e); - } catch (TSLSearchException e) { - MessageProvider msg = MessageProvider.getInstance(); - Logger.error(new LogMsg(msg.getMessage("tsl.01", null)), e); - } - - QCSSCDResult result = new QCSSCDResult(qc, qcSourceTSL, sscd, sscdSourceTSL); - - return result; - } - - /** - * Gets the country from the certificate issuer - * @param cert X509 certificate - * @return Country code from the certificate issuer - */ - public static String getIssuerCountry(X509Certificate cert) { - String country = null; - Principal issuerdn = cert.getIssuerX500Principal(); - RFC2253NameParser nameParser = new RFC2253NameParser(issuerdn.getName()); - - try { - Name name = nameParser.parse(); - country = name.getRDN(ObjectID.country); - } catch (RFC2253NameParserException e) { - Logger.warn("Could not get country code from issuer."); - } - - - return country; - } -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/ExternalURIVerifier.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/ExternalURIVerifier.java deleted file mode 100644 index 219bb7cdf..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/ExternalURIVerifier.java +++ /dev/null @@ -1,114 +0,0 @@ -package at.gv.egovernment.moa.spss.util; - -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.Iterator; -import java.util.List; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; - -public class ExternalURIVerifier { - - public static void verify(String host, int port) throws MOAApplicationException { - - - if (host == null) - return; - if (host.equalsIgnoreCase("")) - return; - - try { - ConfigurationProvider config = ConfigurationProvider.getInstance(); - - boolean allowExternalUris = config.getAllowExternalUris(); - List blacklist = config.getBlackListedUris(); - List whitelist = config.getWhiteListedUris(); - - InetAddress hostInetAddress = InetAddress.getByName(host); - String ip = hostInetAddress.getHostAddress(); - - - if (allowExternalUris) { - // external URIs are allowed - check blacklist - Iterator it = blacklist.iterator(); - while (it.hasNext()) { - String[] array = (String[])it.next(); - String bhost = array[0]; - String bport = array[1]; - if (bport == null || port == -1) { - // check only host - if (ip.startsWith(bhost)) { - Logger.debug(new LogMsg("Blacklist check: " + host + " (" + ip + ") blacklisted")); - throw new MOAApplicationException("4002", new Object[]{host + "(" + ip + ")"}); - } - } - else { - // check host and port - int iport = new Integer(bport).intValue(); - if (ip.startsWith(bhost) && (iport == port)) { - Logger.debug(new LogMsg("Blacklist check: " + host + ":" + port + " (" + ip + ":" + port + " blacklisted")); - throw new MOAApplicationException("4002", new Object[]{host + ":" + port + " (" + ip + ":" + port + ")"}); - } - - } - } - } - else { - // external uris are forbidden - check whitelist - Iterator it = whitelist.iterator(); - boolean allowed = false; - while (it.hasNext()) { - String[] array = (String[])it.next(); - String bhost = array[0]; - String bport = array[1]; - if (bport == null || port == -1) { - // check only host - if (ip.startsWith(bhost)) { - Logger.debug(new LogMsg("Whitelist check: " + host + " (" + ip + ") whitelisted")); - allowed = true; - //throw new MOAApplicationException("4002", new Object[]{host + "(" + ip + ")"}); - } - } - else { - // check host and port - int iport = new Integer(bport).intValue(); - if (ip.startsWith(bhost) && (iport == port)) { - Logger.debug(new LogMsg("Whitelist check: " + host + ":" + port + " (" + ip + ":" + port + " whitelisted")); - //throw new MOAApplicationException("4002", new Object[]{host + ":" + port + " (" + ip + ":" + port + ")"}); - allowed = true; - } - - } - } - - if (!allowed) { - if (port != -1) { - Logger.debug(new LogMsg("No external URIs allowed (" + host + ")")); - throw new MOAApplicationException("4001", new Object[]{host + "(" + ip + ")"}); - } - else { - Logger.debug(new LogMsg("No external URIs allowed (" + host + ":" + port + ")")); - throw new MOAApplicationException("4001", new Object[]{host + ":" + port + " (" + ip + ":" + port + ")"}); - } - - } - - } - - Logger.debug(new LogMsg("URI allowed: " + ip + ":" + port)); - - } catch (ConfigurationException e) { - throw new MOAApplicationException("config.10", null); - } catch (UnknownHostException e) { - throw new MOAApplicationException("4003", new Object[]{host}); - } - - - - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MOASPSSEntityResolver.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MOASPSSEntityResolver.java deleted file mode 100644 index b5f72c4ab..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MOASPSSEntityResolver.java +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-ID has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - -package at.gv.egovernment.moa.spss.util; - -import java.io.InputStream; - -import org.apache.xerces.util.URI; -import org.apache.xerces.util.URI.MalformedURIException; -import org.xml.sax.EntityResolver; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -import at.gv.egovernment.moa.logging.LogMsg; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.util.Constants; - - -/** - * An EntityResolver that looks up entities stored as - * local resources. - * - *

The following DTDs are mapped to local resources: - *

    - *
  • The XMLSchema.dtd
  • - *
  • The datatypes.dtd
  • - *
- *

- *

For all other resources, an attempt is made to resolve them as resources, - * either absolute or relative to Constants.SCHEMA_ROOT. - * - * @author Patrick Peck - * @author Sven Aigner - */ -public class MOASPSSEntityResolver implements EntityResolver { - - /** - * Resolve an entity. - * - * The systemId parameter is used to perform the lookup of the - * entity as a resource, either by interpreting the systemId as - * an absolute resource path, or by appending the last path component of - * systemId to Constants.SCHEMA_ROOT. - * - * @param publicId The public ID of the resource. - * @param systemId The system ID of the resource. - * @return An InputSource from which the entity can be read, or - * null, if the entity could not be found. - * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String) - */ - public InputSource resolveEntity(String publicId, String systemId) throws SAXException { - InputStream stream; - int slashPos; - - if (Logger.isDebugEnabled()) { - Logger.debug( - new LogMsg("resolveEntity: p=" + publicId + " s=" + systemId)); - } - - if (publicId != null) { - // check if we can resolve some standard dtd's - if (publicId.equalsIgnoreCase("-//W3C//DTD XMLSchema 200102//EN")) { - return new InputSource( - getClass().getResourceAsStream( - Constants.SCHEMA_ROOT + "XMLSchema.dtd")); - } else if (publicId.equalsIgnoreCase("datatypes")) { - return new InputSource( - getClass().getResourceAsStream( - Constants.SCHEMA_ROOT + "datatypes.dtd")); - } - } else if (systemId != null) { - // get the URI path - try { - URI uri = new URI(systemId); - systemId = uri.getPath(); - - if ("".equals(systemId.trim())) { - return null; - } - -// if (!"file".equals(uri.getScheme()) || "".equals(systemId.trim())) { -// return null; -// } - - ExternalURIVerifier.verify(uri.getHost(), uri.getPort()); - - } catch (MalformedURIException e) { - return null; - } - catch (MOAApplicationException e) { - throw new SAXException(e); - } - - // try to get the resource from the full path - stream = getClass().getResourceAsStream(systemId); - if (stream != null) { - InputSource source = new InputSource(stream); - - source.setSystemId(systemId); - return source; - } - - // try to get the resource from the last path component - slashPos = systemId.lastIndexOf('/'); - if (slashPos >= 0 && systemId.length() > slashPos) { - systemId = systemId.substring(slashPos + 1, systemId.length()); - stream = - getClass().getResourceAsStream(Constants.SCHEMA_ROOT + systemId); - if (stream != null) { - InputSource source = new InputSource(stream); - - source.setSystemId(systemId); - return source; - } - } - } - - return null; // nothing found - let the parser handle the entity - } - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MessageProvider.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MessageProvider.java deleted file mode 100644 index 6c8a83306..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/MessageProvider.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.util; - -import java.util.Locale; - -import at.gv.egovernment.moa.util.Messages; - -/** - * Singleton wrapper around a Messages object. - * - * @author Patrick Peck - * @version $Id$ - */ -public class MessageProvider { - - /** The resource names of the messages to load. */ - private static final String[] DEFAULT_MESSAGE_RESOURCES = - { "resources/properties/spss_messages" }; - /** The corresponding message locales. */ - private static final Locale[] DEFAULT_MESSAGE_LOCALES = - new Locale[] { new Locale("de", "AT") }; - /** The single instance of this class. */ - private static MessageProvider instance; - - /** The messages provided by the MessageProvider. */ - private Messages messages; - - /** - * Return the single instance of the MessageProvider. - * - * Intialilizes the MessageProvider with the default message - * locations: /resources/properties/spss_messages. - * - * @return The single MessageProvider. - */ - public static synchronized MessageProvider getInstance() { - if (instance == null) { - instance = - new MessageProvider(DEFAULT_MESSAGE_RESOURCES, DEFAULT_MESSAGE_LOCALES); - } - return instance; - } - - /** - * Create a MessageProvider. - * - * @param resourceNames The names of the resources containing the messages. - * @param locales The corresponding locales. - */ - protected MessageProvider(String[] resourceNames, Locale[] locales) { - this.messages = new Messages(resourceNames, locales); - } - - /** - * Get the message corresponding to a given message ID. - * - * @param messageId The ID of the message. - * @param parameters The parameters to fill in into the message arguments. - * @return The formatted message. - */ - public String getMessage(String messageId, Object[] parameters) { - return messages.getMessage(messageId, parameters); - } - - -} diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/QCSSCDResult.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/QCSSCDResult.java deleted file mode 100644 index 99af84308..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/util/QCSSCDResult.java +++ /dev/null @@ -1,37 +0,0 @@ -package at.gv.egovernment.moa.spss.util; - -public class QCSSCDResult { - - private boolean qc; - private boolean qcSourceTSL; - - private boolean sscd; - private boolean sscdSourceTSL; - - public QCSSCDResult() { - this.qc = false; - this.qcSourceTSL = false; - this.sscd = false; - this.sscdSourceTSL = false; - } - - public QCSSCDResult(boolean qc, boolean qcSourceTSL, boolean sscd, boolean sscdSourceTSL) { - this.qc = qc; - this.qcSourceTSL = qcSourceTSL; - this.sscd = sscd; - this.sscdSourceTSL = sscdSourceTSL; - } - - public boolean isQC() { - return this.qc; - } - public boolean isQCSourceTSL() { - return this.qcSourceTSL; - } - public boolean isSSCD() { - return this.sscd; - } - public boolean isSSCDSourceTSL() { - return this.sscdSourceTSL; - } -} diff --git a/spss/server/serverlib/src/main/javadoc/overview.html b/spss/server/serverlib/src/main/javadoc/overview.html deleted file mode 100644 index 9b17bbf91..000000000 --- a/spss/server/serverlib/src/main/javadoc/overview.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - -MOA SP/SS API documentation overview. - - -

Using the MOA SP/SS API

- -

Invoking the services

-In general, invoking the MOA SP/SS API involves the following steps: -
    -
  1. Set the moa.spss.server.configuration system property to point -to the main MOA SP/SS configuration file. This needs to be done only once per -JVM instance. You may also call -{@link at.gv.egovernment.moa.spss.api.Configurator#init} at this point to -pre-initialize MOA SP/SS (if not, it is done automatically upon service -invocation).
  2. -
  3. Create an instance of the service to be used -({@link at.gv.egovernment.moa.spss.api.SignatureCreationService} or -{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService}), -via its getInstance() method.
  4. -
  5. Create an instance of the -{@link at.gv.egovernment.moa.spss.api.SPSSFactory}, via its -{@link at.gv.egovernment.moa.spss.api.SPSSFactory#getInstance} method.
  6. -
  7. Use the create... methods of the SPSSFactory to -create the desired {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest}, -{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} or -{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} object. -
  8. -
  9. Call one of the service methods: -{@link at.gv.egovernment.moa.spss.api.SignatureCreationService#createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest) createXMLSignature()}, -{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest) verifyCMSSignature()} or -{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest) verifyXMLSignature()}. -
  10. -
  11. Analyze the result of the service call, given as a -{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse}, -{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse} or -{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}. -In case of an error, a {@link at.gv.egovernment.moa.spss.MOAException} -is thrown by the service. Please be aware that errors during signature creation -are reported as part of a CreateXMLSignatureResponse. -
- -

Creating MOA SP/SS API objects

-

-Invoking the MOA SP/SS API Service classes involves creating -a Request object using the {@link at.gv.egovernment.moa.spss.api.SPSSFactory SPSSFactory}. -Object creation using the SPSSFactory is always bottom-up, meaning -that in order to create an object all of its components must have been created -before. -

-

-The names of the MOA SP/SS API classes have been chosen to correspond to the -MOA SP/SS schema elements. The structure of the classes (i.e., their fields) -also corresponds to the structure of the respective MOA SP/SS schema elements. -However, a few classes escape this naming convention, mainly because the -corresponding schema elements contain xsd:choice components: -

    -
  • The various Profile classes have subclasses called -ProfileID and ProfileExplicit -(e.g., {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileID} and -{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit}), -so that the profile can be given either as an ID (which is to be resolved from the -MOA SP/SS configuration) or explicitly.
  • -
  • The classes {@link at.gv.egovernment.moa.spss.api.common.Content}, -{@link at.gv.egovernment.moa.spss.api.cmsverify.CMSContent} and -{@link at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter} have -subclasses specifying the type of content they actually contain. E.g., -{@link at.gv.egovernment.moa.spss.api.common.ContentBinary} will contain -a byte stream.
  • -
- -

-

-For clarity, the MOA SP/SS API classes have been organized in several packages -listed in the following table: -

- - - - - - - - - - - - - - - - - - - - - -
PackagePurpose
{@link at.gv.egovernment.moa.spss.api.xmlsign}Components of the {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest} and - {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.cmsverify}Components of the - {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} and - {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.xmlverify}Components of the - {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} and - {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.common}Common components used across the classes of the above packages
- -

Converting MOA SP/SS API objects to and from DOM trees

-The package {@link at.gv.egovernment.moa.spss.api.xmlbind} contains helper -classes to: -
    -
  • Parse a DOM tree containing a CreateXMLSignatureRequest, -VerifyCMSSignatureRequest or -VerifyCMSSignatureRequest into its respective MOA SP/SS API object -representation. For example, to parse a CreateXMLSignatureRequest -DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser#parse(org.w3c.dom.Element) CreateXMLSignatureRequestParser.parse()} -method can be used.
    -Note: The DOM tree of the request must be derived from a schema valid -XML document. Otherwise, unexpected behaviour will almost certainly result.
  • -
  • Build a CreateXMLSignatureResponse, -VerifyCMSSignatureResponse or a -VerifyXMLSignatureResponse DOM tree from the respective MOA SP/SS -API object. For example, to build a VerifyXMLSignatureResponse -DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder#build(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse) VerifyXMLSignatureResponseBuilder.build()} -can be used.
    -Note:The serialized DOM tree will be schema valid. -
  • -
-The DOM trees can easily be read from and written to XML byte streams using -the methods in the {@link at.gv.egovernment.moa.util.DOMUtils} class. -
- -

Utilities and Logging

-

The packages {@link at.gv.egovernment.moa.util} and -{@link at.gv.egovernment.moa.spss.util} contain utility classes developed for -the MOA SP/SS implementation. Since the classes contained in these packages are -tailored towards the MOA SP/SS implementation, they are far from being complete -in the sense of providing a utility class library. Therefore, they may or may -not prove useful in the context of your application. Their interfaces may also -change in future releases. -

- -

The package {@link at.gv.egovernment.moa.logging} contains classes for -logging messages to the MOA SP/SS log hierarchy via the -{@link at.gv.egovernment.moa.logging.Logger} class. -

- -

Related Documentation

- -See also the API example in the -MOA SP/SS documentation. - - - \ No newline at end of file diff --git a/spss/server/serverlib/src/main/resources/resources/properties/spss_messages_de.properties b/spss/server/serverlib/src/main/resources/resources/properties/spss_messages_de.properties deleted file mode 100644 index 9e2e0e490..000000000 --- a/spss/server/serverlib/src/main/resources/resources/properties/spss_messages_de.properties +++ /dev/null @@ -1,179 +0,0 @@ -# This file contains exception messages in the standard Java properties -# format. The messages may contain formatting patterns as definied in the -# java.text.MessageFormat class. - -# -# Error messages: the key corresponds to the error code -# - -1100=Fehler beim Validieren der Anfrage: {0} -1101=Bei enveloping Datenobjekten muss entweder Content oder Reference übergeben werden -1102=Bei detached Datenobjekten darf das Attribut Reference nicht leer sein -1103=Ungültiger Wert für Attribut Structure im Element DataObjectInfo: {0} -1104=Ungültiger Wert für DateTime: {0} -1105=Ungültiger Wert für Attribut Index in Element CreateSignatureLocation: {0} -1106=Interner Fehler beim Parsen der XML-Daten -1107=Kein Kind-Element im Element XMLContent gefunden -1108=Ungültiger Wert für dsig:Algorithm: {0} -1109=XMLContent darf nur ein Kind-Element enthalten -1110=Entweder Content oder Reference muss gesetzt sein -1111=Reference muss gesetzt sein, wenn kein Content angegeben ist -1112=Bei leerer Reference muss CreateSignatureEnvironment vorhanden sein -1113=Der Endpunkt akzeptiert keine Anfragen vom Typ: {0} - -2200=Fehler beim Erzeugen der Antwort -2201=Transformations-Algorithmus unbekannt: {0} -2202=Kein XPath-Element für XPath-Transformation gefunden -2203=TrustProfileID unbekannt: {0} -2207=Ungültiges URI-Format: {0} -2208=Fehler beim Öffnen des Datenobjekts (URI={0}) -2209=Fehler beim Parsen der XML-Daten -2210=Fehler beim Lesen des Datenobjekts -2211=Referenzierte Daten können nicht als XML interpretiert werden (URI={0}) -2212=Fehler beim Auswerten des XPath-Ausdrucks: {0} -2213=Zugriff auf das Dateisystem verweigert (URI={0}) -2214=Ungültiges URL-Format: {0} -2215=Kein Stylesheet für XSLT-Transformation gefunden -2216=Kein XPath-Filter2 Element für XPath-Filter2-Transform gefunden -2217=Kein InclusiveNamespaces Element für Exclusive Canonicalization Transform gefunden -2218=Das Signature Environment enthält keine validen XML-Daten -2219=Fehler beim Lesen des Signature Environment -2220=Allgemeiner Fehler beim Erzeugen der Signatur [{0}] -2221=Fehler bei der Behandlung des Schlüssels [{0}] -2222=Fehler beim Erstellen des Manifests [{0}] -2223=Fehler beim Erstellen der Referenz [{0}] -2224=Hashwert nicht verfügbar [{0}] -2225=Signier-Algorithmus wird nicht unterstützt [{0}] -2226=Fehler beim Einbetten der Signatur [{0}] -2227=Fehler beim Berechnen des Signaturwertes [{0}] -2228=Fehler beim Behandeln der SignedProperties [{0}] -2229=Signator-Zertifikat nicht verfügbar [{0}] -2230=Fehler beim Auflösen eines Supplements [{0}] -2231=Die Schlüsselgruppe ist nicht verfügbar -2232=Die Schlüsselgruppe ist leer -2233=Fehler beim Durchführen der Transformation [{0}] -2234=CreateTransformsInfoProfileID nicht vorhanden (ID={0}) -2235=CreateSignatureEnvironment muss entweder Reference oder Content enthalten -2236=CreateSignatureEnvironmentProfileID nicht vorhanden (ID={0}) -2237=Fehler beim Auflösen der internen Referenz (URI={0}) -2238=Fehler beim Auflösen des Transformationsparameters (URI={0}) -2240=Allgemeiner Fehler beim Verifizieren der Signatur [{0}] -2241=Algorithmus wird nicht unterstützt [{0}] -2242=Fehler beim Parsen der CMS Signatur [{0}] -2243=Signator-Zertifikat nicht verfügbar [{0}] -2244=Fehler beim Lesen der Signatur-Daten -2245=Fehler beim Codieren des Signator-Zertifikats -2246=Fehler beim Umwandeln des SubjectDN des Signator-Zertifikats nach RFC2253: {0} -2247=Allgemeiner Fehler beim Verifizieren der Signatur [{0}] -2248=Fehler beim Vorbereiten der Daten [{0}] -2249=Das Attribut Signatories enthält einen ungültigen Index (Index={0}) -2262=Fehler beim Behandeln des Manifests [{0}] -2263=Fehler beim Parsen der Properties [{0}] -2264=Fehler beim Behandeln der Referenz [{0}] -2265=Fehler beim Durchführen der Transformation [{0}] -2266=Signatur ist kein dsig:Signature-Element -2267=SupplementProfileID nicht vorhanden (ID={0}) -2268=VerifyTransformsInfoProfileID nicht vorhanden (ID={0}) -2269=Fehler beim Parsen der Transformation [{0}] -2270=Fehler beim Decodieren des Hash-Wertes -2271=Falsche Anzahl an ReferenceInfo Elementen in SignatureManfestCheckParams -2280=Die Angabe XMLContent wird derzeit nicht unterstützt -2281=XML-Supplement kann nicht serialisiert werden (Reference="{0}") -2282=Datenobjekt mit der URI={0} wurde dem Request nicht bereit gestellt -2290=Fehler bei der QC bzw. SSCD Prüfung via TSL -2300=Fehler bei der Erstellen der CMS Signatur -2301=Fehler beim Lesen des zu signierenden Datenobjekts - - -2900=Interner Server-Fehler - -3201=Objekt kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") -3202=Supplement für Signaturumgebung kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") -3203=Signaturumgebung kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") - -4001=Externe URI {0} darf nicht geladen werden (externe sind URIs verboten und URI befindet sich nicht auf der Whitelist) -4002=Externe URI {0} befindet sich auf der Blacklist und darf nicht geladen werden -4003=IP-Adresse für {0} konnte nicht ermitteln werden - - -9900=Nicht klassifizierter Fehler in Subsystem -9901=Nicht klassifizierter Laufzeitfehler in Subsystem -9999=Nicht klassifizierter Fehler - - -# -# Server internal messages -# - -init.00=Fehler beim Lesen der MOA SP/SS Konfiguration: das Service steht nicht zur Verfügung -init.01=MOA SP/SS Konfiguration erfolgreich geladen -init.02=Fehler beim Löschen der Archivdaten -init.03=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround: SSL ist möglicherweise nicht verfügbar -init.04=Fehler beim Initialisieren des Schema Pools - -config.00=Fehler beim Erstellen des KeyGroupMapping: KeyGroup mit id={0} unbekannt - die Erstellung des KeyGroupMapping wird fortgeführt -config.01=Fehler in der Konfiguration: Wert für maximale Archivierungsdauer von Widerrufsinformationen (ArchiveDuration) nicht konfiguriert oder ungültig -config.02=Fehler in der Konfiguration: {0} mit id={1}: falscher Profiltyp in Datei {2} -config.03=Fehler in der Konfiguration: {0} mit id={1} konnte nicht geladen werden -config.04=Fehler in der Konfiguration: {0} mit id={1} existiert bereits -config.05=Umgebungsvariable {0} nicht gesetzt: benutze Default-Konfiguration -config.06=Die MOA SP/SS Konfiguration wurde erfolgreich aktualisiert. -config.07=Fehler in der Konfiguration: Reason code {0} unbekannt -config.08=Fehler beim Konfigurieren der IAIK-Module -config.09=Fehler beim Öffnen der Schlüssel-Datei {0} -config.10=Fehler beim Einlesen der Konfiguration (siehe Log-Datei für Details) -config.11=Fehler beim Erstellen der Konfiguration (siehe Log-Datei für Details) -config.12=Fehler beim Einlesen des Profils -config.13=Fehler beim Erstellen des CRLDistributionPoint: CAIssuerDN={0} ungültig -config.14=Das Attribut {0} für das TrustProfile mit id={1} ist ungültig (Wert={2}) -config.15=Fehler beim Erstellen des TrustProfile id={0}: Name des Konfigurations-Verzeichnisses konnte nicht in eine URL umgewandet werden -config.16=Fehler beim Erstellen von X509IssuerSerial (IssuerName={0}, SerialNumber={1}) -config.17=DigestAlgorithmName unbekannt (AlgorithmName={0}) -config.18=Lade Keystore: {0} -config.19=Key ID={0} -config.20=Fehler beim Aktualisieren der MOA SP/SS Konfiguration. Die bestehende Konfiguration wird beibehalten -config.21=Lade Konfiguration von {0} -config.22=Lade {0} mit id={1} von Datei {2} -config.23=MOA SP/SS Konfiguration: {0} nicht gesetzt oder ungültiger Wert, verwende den Default-Wert: {1} -config.25=Fehler in der Konfiguration: Das SoftwareKeyModule mit id={0} konnte nicht geladen werden, da die Datei {1} nicht existiert oder ein Verzeichnis bezeichnet -config.26=Fehler beim Erstellen der KeyGroup mit id={0}: KeyModule mit id={1} unbekannt -config.27=Fehler in der Konfiguration: Das Attribut {0} des TrustProfiles mit id={1} zeigt nicht auf ein existierendes Verzeichnis -config.28=Einen detaillierten Fehlerbericht entnehmen Sie bitte der Log-Datei. -config.29=Es sind folgende leichte Fehler aufgetreten: -config.31=Fehler in der Konfiguration der KeyGroup mit id={0}: Der Schlüssel im KeyModule id={1} mit IssuerName={2} und SerialNumber={3} konnte nicht geladen werden -config.32=Fehler in der Konfiguration: Verzeichnisangabe für den Zertifikatsspeicher ist ungültig ({0}). -config.33=External URIs are allowed. Maybe a URI blacklist exists. -config.34=Blacklisted URI: {0}. -config.35=External URIs not allowed. Maybe a URI whitelist exists. -config.36=No blacklisted URIs given. -config.37=Fehler beim Erstellen der TSL Konfiguration: Name des TSL Arbeits-Verzeichnisses konnte nicht in eine URL umgewandet werden (Wert="{0}") -config.38=Fehler beim Erstellen der TSL Konfiguration: Das TSL Arbeits-Verzeichnis ist kein Verzeichnis (Wert="{0}") -config.39=TSL Konfguration: Kein Attribut "{0}" angegeben oder Attribut konnte nicht ausgewertet werden. Verwenden Default-Wert ("{1}") -config.40=Fehler beim Erstellen der TSL Konfiguration: Es wurde mindestens ein TrustProfile mit aktivierter TSL-Unterstützung konfiguriert. Die allgemeine TSL-Konfiguration ist jedoch fehlerhaft. -config.41=Initialisiere TSL Bibliothek -config.42=Start updating TSL enabled truststores -config.43=Update truststore with id "{0}" -config.44=Retrieve certificates from TSL -config.45=Create store updater -config.46=Start periodical TSL update task at {0} and then every {1} milliseconds -config.48=No whitelisted URIs given. -config.49=Whitelisted URI: {0}. -config.50=Fehler beim Erstellen des TSL Vertrauensprofils: Das Verzeichnis ({0}) ist kein Verzeichnis. -config.51=Fehler beim Erstellen der TSL Konfiguration: TSL-Arbeitsverzeichnis ist fehlerhaft ({0}). - -handler.00=Starte neue Transaktion: TID={0}, Service={1} -handler.01=Aufruf von Adresse={0} -handler.02=Client-Zertifikat: Subject={0}, Serial={1}, Issuer={2} -handler.03=Client-Zertifikat nicht verfügbar -handler.04=Anfrage erfolgreich abgearbeitet -handler.05=Fehler beim Abarbeiten der Anfrage -handler.06=SOAP Attachment mit der id={0} für Request hinterlegt (MIME Type des Attachments={1}) -handler.07=SOAP Request empfangen: Request={0} - -invoker.00=Das Signature Environment konnte nicht validierend geparst werden -invoker.01=Keine passende Transformationskette gefunden (Index={0}) -invoker.02=Der Hashwert der Transformation stimmt nicht überein (Index={0}) -invoker.03=Signatorzertifikat aus Trustprofile mit id={0} konnte nicht geparst werden (Dateiname={1}) - -tsl.00=Aktulisierung der TSL konnte nicht durchgeführt werden. TrustProfile mit aktiviertem TSL-Support stehen nicht zur Verfügung. -tsl.01=Fehler bei der QC (qualifiziertes Zertifikat) bzw. SSCD (sichere Signaturerstellungseinheit) Überprüfung via TSL. \ No newline at end of file diff --git a/spss/server/serverlib/src/main/resources/resources/security/cacerts b/spss/server/serverlib/src/main/resources/resources/security/cacerts deleted file mode 100644 index 6eeaba418..000000000 Binary files a/spss/server/serverlib/src/main/resources/resources/security/cacerts and /dev/null differ diff --git a/spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.wsdl b/spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.wsdl deleted file mode 100644 index f9b942a51..000000000 --- a/spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.wsdl +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.xsd b/spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.xsd deleted file mode 100644 index 4ae327ab3..000000000 --- a/spss/server/serverlib/src/main/resources/resources/wsdl/MOA-SPSS-2.0.0.xsd +++ /dev/null @@ -1,471 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung erfolgreich war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur. - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resultat, falls die Signaturerstellung gescheitert ist - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen. - - - - - Profilbezeichner für einen Transformationsweg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann. - - - - Der Transformationsparameter explizit angegeben. - - - - - Der Hashwert des Transformationsparameters. - - - - - - - - - - - - - - - - - - - - - - Explizite Angabe des Transformationswegs - - - - - - - Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird. - - - - - - - - - - - - - - - - diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/AllTests.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/AllTests.java deleted file mode 100644 index 16d9dc9ad..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/AllTests.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss; - -import test.at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImplTest; -import test.at.gv.egovernment.moa.spss.server.iaik.config.IaikConfiguratorTest; -import test.at.gv.egovernment.moa.spss.server.tools.CertToolTest; - -import junit.awtui.TestRunner; -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Test suite for all unit tests. - * - * @author Patrick Peck - * @version $Id$ - */ -public class AllTests { - - public static Test suite() { - TestSuite suite = new TestSuite(); - - suite.addTestSuite(test.at.gv.egovernment.moa.spss.server.config.AllTests.class); - suite.addTestSuite(ConfigurationDataImplTest.class); - suite.addTestSuite(IaikConfiguratorTest.class); - suite.addTest( - test.at.gv.egovernment.moa.spss.server.invoke.AllTests.suite()); - suite.addTest(test.at.gv.egovernment.moa.spss.api.xmlbind.AllTests.suite()); - suite.addTestSuite(CertToolTest.class); - - return suite; - } - - public static void main(String[] args) { - try { - TestRunner.run(AllTests.class); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/SPSSTestCase.java deleted file mode 100644 index 64ab7db23..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/SPSSTestCase.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss; - -import java.security.Security; - -import test.at.gv.egovernment.moa.MOATestCase; - -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.MessageProvider; - -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.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * Base class for MOA test cases. - * - * Provides some utility functions. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SPSSTestCase extends MOATestCase { - - protected static final String TESTDATA_ROOT = "data/test/"; - - /** - * Constructor for MOATestCase. - * @param arg0 - */ - public SPSSTestCase(String name) { - super(name); - } - - /** - * Set up a transaction context with a test configuration. - */ - protected void setUpTransactionContext() throws Exception { - System.setProperty( - ConfigurationProvider.CONFIG_PROPERTY_NAME, - "data/test/conf/moa-spss/MOA-SPSSConfiguration.xml"); - ConfigurationProvider config = ConfigurationProvider.getInstance(); - TransactionContext context = new TransactionContext("test", null, config); - TransactionContextManager.getInstance().setTransactionContext(context); - } - - protected void setUpLoggingContext() throws Exception { - LoggingContext context = new LoggingContext("test"); - LoggingContextManager.getInstance().setLoggingContext(context); - } - - /** - * Configure the IAIK modules with the current configuration. - * - * A TransactionContext must have been set up before. - */ - protected void setUpIaikConfiguration() throws Exception { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ClassLoader cl = getClass().getClassLoader(); - MessageProvider msg = MessageProvider.getInstance(); - - try { - cl.loadClass("javax.security.cert.Certificate"); // from jcert.jar - } catch (ClassNotFoundException e) { - Logger.warn(msg.getMessage("init.03", null), e); - } - - new IaikConfigurator().configure(context.getConfiguration()); - } - - protected void setUpSSL() throws Exception { - //System.setProperty("javax.net.debug", "all"); - Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - System.setProperty( - "java.protocol.handler.pkgs", - "com.sun.net.ssl.internal.www.protocol"); - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java deleted file mode 100644 index 767327de9..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Runs all tests in this package. - * - * @author Patrick Peck - * @version $Id$ - */ -public class AllTests { - public static Test suite() { - TestSuite suite = new TestSuite(); - - suite.addTestSuite(CreateXMLSignatureRequestParserTest.class); - suite.addTestSuite(TransformParserTest.class); - suite.addTestSuite(VerifyCMSSignatureRequestParserTest.class); - suite.addTestSuite(VerifyXMLSignatureRequestParserTest.class); - - return suite; - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java deleted file mode 100644 index dc6723184..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; - -/** - * Test the CreateXMLSignatureRequestParser. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateXMLSignatureRequestParserTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/CreateXMLSignature/"; - - private CreateXMLSignatureRequestParser requestParser; - - public CreateXMLSignatureRequestParserTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - requestParser = new CreateXMLSignatureRequestParser(); - } - - public void testParse() throws Exception { - Element requestElem = - parseXml(TESTDATA_BASE + "TestGeneratorCX2.001.Req.xml") - .getDocumentElement(); - CreateXMLSignatureRequest request = requestParser.parse(requestElem); - SingleSignatureInfo sigInfo; - DataObjectInfo dataObjInfo; - CreateTransformsInfoProfileExplicit transProfile; - CreateSignatureEnvironmentProfileExplicit envProfile; - - assertNotNull(request); - assertEquals("PKCS12RSAKey1", request.getKeyIdentifier()); - assertEquals(1, request.getSingleSignatureInfos().size()); - - sigInfo = (SingleSignatureInfo) request.getSingleSignatureInfos().get(0); - assertEquals(1, sigInfo.getDataObjectInfos().size()); - assertFalse(sigInfo.isSecurityLayerConform()); - - dataObjInfo = (DataObjectInfo) sigInfo.getDataObjectInfos().get(0); - assertNotNull(dataObjInfo.getDataObject()); - - transProfile = - (CreateTransformsInfoProfileExplicit) dataObjInfo - .getCreateTransformsInfoProfile(); - assertNotNull( - transProfile.getCreateTransformsInfo().getFinalDataMetaInfo()); - - envProfile = - (CreateSignatureEnvironmentProfileExplicit) sigInfo - .getCreateSignatureInfo() - .getCreateSignatureEnvironmentProfile(); - assertEquals( - "//data:Document", - envProfile.getCreateSignatureLocation().getXPathExpression()); - assertEquals(0, envProfile.getCreateSignatureLocation().getIndex()); - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java deleted file mode 100644 index be6a24da5..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import java.util.List; - -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform; -import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; -import at.gv.egovernment.moa.spss.api.common.XPathTransform; -import at.gv.egovernment.moa.spss.api.common.XSLTTransform; -import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser; - -/** - * Test the TransformParser. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransformParserTest extends SPSSTestCase { - private static String TESTDATA_BASE = TESTDATA_ROOT + "xml/dsigTransform/"; - - private TransformParser transformParser; - - public TransformParserTest(String name) { - super(name); - } - - protected void setUp() { - transformParser = new TransformParser(); - } - - public void testParseTransforms() throws Exception { - Element transformsElem = - parseXml(TESTDATA_BASE + "transforms.xml").getDocumentElement(); - List transforms = transformParser.parseTransforms(transformsElem); - - assertNotNull(transforms); - assertEquals(3, transforms.size()); - - } - - public void testParseCanonicalizationTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "canonicalization.xml").getDocumentElement(); - CanonicalizationTransform transform = - (CanonicalizationTransform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - assertEquals( - CanonicalizationTransform.CANONICAL_XML, - transform.getAlgorithmURI()); - } - - public void testParseExclCanonicalizationTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "exclusiveCanonicalization.xml") - .getDocumentElement(); - ExclusiveCanonicalizationTransform transform = - (ExclusiveCanonicalizationTransform) transformParser.parseTransform( - transformElem); - - assertNotNull(transform); - assertEquals( - ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML, - transform.getAlgorithmURI()); - assertEquals(3, transform.getInclusiveNamespacePrefixes().size()); - } - - public void testParseEnvelopedTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "enveloped.xml").getDocumentElement(); - EnvelopedSignatureTransform transform = - (EnvelopedSignatureTransform) transformParser.parseTransform( - transformElem); - - assertNotNull(transform); - } - - public void testParseXPathTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "xpath.xml").getDocumentElement(); - XPathTransform transform = - (XPathTransform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - assertEquals("//ToBeSigned/Data", transform.getXPathExpression()); - assertEquals(1, transform.getNamespaceDeclarations().size()); - } - - public void testParseXPathFilter2Transform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "xpath2.xml").getDocumentElement(); - XPathFilter2Transform transform = - (XPathFilter2Transform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - assertEquals(3, transform.getFilters().size()); - } - - public void testParseXSLTTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "xslt.xml").getDocumentElement(); - XSLTTransform transform = - (XSLTTransform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java deleted file mode 100644 index 73bf54fe6..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.util.DateTimeUtils; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser; - -/** - * Test the VerifyCMSSignatureRequestParserTest. - * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyCMSSignatureRequestParserTest extends SPSSTestCase { - private static String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyCMSSignature/"; - - private VerifyCMSSignatureRequestParser requestParser; - - public VerifyCMSSignatureRequestParserTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - requestParser = new VerifyCMSSignatureRequestParser(); - } - - public void testParse() throws Exception { - Element requestElem = - parseXml(TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml") - .getDocumentElement(); - VerifyCMSSignatureRequest request = requestParser.parse(requestElem); - MetaInfo metaInfo; - CMSContentExcplicit content; - - assertNotNull(request); - assertEquals(1, request.getSignatories()[0]); - assertEquals( - DateTimeUtils.parseDateTime("2003-04-04T09:30:47-05:00"), - request.getDateTime()); - assertNotNull(request.getCMSSignature()); - assertNotNull(request.getDataObject()); - assertEquals("TrustProfile1", request.getTrustProfileId()); - - metaInfo = request.getDataObject().getMetaInfo(); - assertNotNull(metaInfo); - assertEquals("text/plain", metaInfo.getMimeType()); - assertEquals("http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt", metaInfo.getDescription()); - - content = (CMSContentExcplicit) request.getDataObject().getContent(); - assertNotNull(content.getBinaryContent()); - - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java deleted file mode 100644 index 66d7efa53..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DateTimeUtils; - -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; - -/** - * Test the VerifyXMLSignatureRequestParserTest. - * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyXMLSignatureRequestParserTest extends SPSSTestCase { - private static String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyXMLSignature/"; - - private VerifyXMLSignatureRequestParser parser; - - public VerifyXMLSignatureRequestParserTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - parser = new VerifyXMLSignatureRequestParser(); - } - - public void testParse() throws Exception { - Element requestElem = - parseXml(TESTDATA_BASE + "TestGeneratorVX.201.Req.xml") - .getDocumentElement(); - VerifyXMLSignatureRequest request = parser.parse(requestElem); - VerifySignatureInfo verifySignatureInfo; - VerifySignatureLocation verifyLocation; - SignatureManifestCheckParams checkParams; - ReferenceInfo refInfo; - VerifyTransformsInfoProfileExplicit transformsProfile; - - assertNotNull(request); - assertEquals( - DateTimeUtils.parseDateTime("2003-04-01T12:53:57+01:00"), - request.getDateTime()); - assertFalse(request.getReturnHashInputData()); - assertEquals("TrustProfile1", request.getTrustProfileId()); - - verifySignatureInfo = request.getSignatureInfo(); - assertNotNull(verifySignatureInfo); - assertNotNull(verifySignatureInfo.getVerifySignatureEnvironment()); - - verifyLocation = verifySignatureInfo.getVerifySignatureLocation(); - assertNotNull(verifyLocation); - assertEquals("//dsig:Signature", verifyLocation.getXPathExpression()); - assertEquals(3, verifyLocation.getNamespaceDeclarations().size()); - - checkParams = request.getSignatureManifestCheckParams(); - assertNotNull(checkParams); - assertEquals(true, checkParams.getReturnReferenceInputData()); - assertEquals(1, checkParams.getReferenceInfos().size()); - - refInfo = (ReferenceInfo) checkParams.getReferenceInfos().get(0); - assertEquals(1, refInfo.getVerifyTransformsInfoProfiles().size()); - - transformsProfile = - (VerifyTransformsInfoProfileExplicit) refInfo - .getVerifyTransformsInfoProfiles() - .get(0); - assertEquals(1, transformsProfile.getTransforms().size()); - assertEquals(1, transformsProfile.getTransformParameters().size()); - - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/AllTests.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/AllTests.java deleted file mode 100644 index a022bbcf9..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/AllTests.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.config; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class AllTests -{ - public static Test suite() - { - TestSuite suite = new TestSuite(); - suite.addTestSuite(ConfigurationProviderTest1.class); - suite.addTestSuite(ConfigurationProviderTest2.class); - suite.addTestSuite(ConfigurationProviderTest3.class); - return suite; - } -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java deleted file mode 100644 index 180b94d69..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java +++ /dev/null @@ -1,401 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.config; - -import iaik.asn1.structures.Name; -import iaik.pki.pathvalidation.ChainingModes; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -import java.math.BigInteger; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import junit.framework.TestCase; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.server.config.CRLDistributionPoint; -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.HardwareCryptoModule; -import at.gv.egovernment.moa.spss.server.config.HardwareKeyModule; -import at.gv.egovernment.moa.spss.server.config.KeyGroup; -import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; -import at.gv.egovernment.moa.spss.server.config.OCSPDistributionPoint; -import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; -import at.gv.egovernment.moa.util.Constants; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigurationProviderTest1 extends TestCase -{ - private static final String CONFIG_BASE_ = - "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; - - static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; - - static - { - System.setProperty( - "log4j.configuration", - "file:/" + CONFIG_BASE_ + "log4j.properties"); - System.setProperty( - at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, - CONFIG_BASE_ + "moa.spss.complete-config.xml"); - try - { - ConfigurationProvider.reload(); - provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); - } - catch (ConfigurationException e) - { - throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); - } - } - - /** - * Constructor for ConfigurationProvider. - * @param arg0 - */ - public ConfigurationProviderTest1() throws MOAException - { - super("ConfigurationProvider"); - } - - public void testGetWarnings() - { - assertEquals(0, provider_.getWarnings().size()); - } - - public void testGetDigestMethodAlgorithmName() - { - assertEquals( - Constants.SHA1_URI, - provider_.getDigestMethodAlgorithmName()); - } - - public void testGetCanonicalizationAlgorithmName() - { - assertEquals( - Constants.C14N_WITH_COMMENTS_URI, - provider_.getCanonicalizationAlgorithmName()); - } - - public void testGetHardwareCryptoModules() - { - List hwcms = provider_.getHardwareCryptoModules(); - assertEquals(2, hwcms.size()); - - HardwareCryptoModule hwc1 = (HardwareCryptoModule) hwcms.get(0); - assertEquals("HWC1_Name", hwc1.getName()); - assertEquals("HWC1_SlotId", hwc1.getSlotID()); - assertEquals("HWC1_UserPIN", hwc1.getUserPIN()); - - HardwareCryptoModule hwc2 = (HardwareCryptoModule) hwcms.get(1); - assertEquals("HWC2_Name", hwc2.getName()); - assertNull(hwc2.getSlotID()); - assertEquals("HWC2_UserPIN", hwc2.getUserPIN()); - } - - public void testGetHardwareKeyModules() - { - List hwkms = provider_.getHardwareKeyModules(); - assertEquals(2, hwkms.size()); - - HardwareKeyModule hwk1 = (HardwareKeyModule) hwkms.get(0); - assertEquals("HWK1_Id", hwk1.getId()); - assertEquals("HWK1_Name", hwk1.getName()); - assertEquals("HWK1_SlotId", hwk1.getSlotID()); - assertEquals("HWK1_UserPIN", hwk1.getUserPIN()); - - HardwareKeyModule hwk2 = (HardwareKeyModule) hwkms.get(1); - assertEquals("HWK2_Id", hwk2.getId()); - assertEquals("HWK2_Name", hwk2.getName()); - assertNull(hwk2.getSlotID()); - assertEquals("HWK2_UserPIN", hwk2.getUserPIN()); - } - - public void testGetSoftwareKeyModules() - { - List swkms = provider_.getSoftwareKeyModules(); - assertEquals(2, swkms.size()); - - SoftwareKeyModule swk1 = (SoftwareKeyModule) swkms.get(0); - assertEquals("SWK1_Id", swk1.getId()); - assertEquals(CONFIG_BASE_ + "swk/SWK1_FileName.txt", swk1.getFileName().replace('\\', '/')); - assertEquals("SWK1_Password", swk1.getPassWord()); - - SoftwareKeyModule swk2 = (SoftwareKeyModule) swkms.get(1); - assertEquals("SWK2_Id", swk2.getId()); - assertEquals(CONFIG_BASE_ + "swk/SWK2_FileName.txt", swk2.getFileName().replace('\\', '/')); - assertNull(swk2.getPassWord()); - } - - public void testGetKeyGroups() - { - Map keyGroups = provider_.getKeyGroups(); - assertEquals(2, keyGroups.size()); - - KeyGroup kg1 = (KeyGroup) keyGroups.get("KG1_Id"); - assertNotNull(kg1); - assertEquals("KG1_Id", kg1.getId()); - - Set kg1Entries = kg1.getKeyGroupEntries(); - assertEquals(2, kg1Entries.size()); - - Iterator kg1EntriesIt = kg1Entries.iterator(); - while(kg1EntriesIt.hasNext()) - { - KeyGroupEntry currentEntry = (KeyGroupEntry)kg1EntriesIt.next(); - if ("HWK1_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=HWK1_Issuer", currentEntry.getIssuerDN()); - assertEquals(0, currentEntry.getSerialNumber().intValue()); - } - else if ("HWK2_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=HWK2_Issuer", currentEntry.getIssuerDN()); - assertEquals(1, currentEntry.getSerialNumber().intValue()); - } - else fail("Invalid module identifer found."); - } - - KeyGroup kg2 = (KeyGroup) keyGroups.get("KG2_Id"); - assertNotNull(kg2); - assertEquals("KG2_Id", kg2.getId()); - - Set kg2Entries = kg2.getKeyGroupEntries(); - assertEquals(2, kg2Entries.size()); - - Iterator kg2EntriesIt = kg1Entries.iterator(); - while(kg1EntriesIt.hasNext()) - { - KeyGroupEntry currentEntry = (KeyGroupEntry)kg2EntriesIt.next(); - if ("SWK1_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=CN=SWK1_Issuer", currentEntry.getIssuerDN()); - assertEquals(2, currentEntry.getSerialNumber().intValue()); - } - else if ("SWK2_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=SWK2_Issuer", currentEntry.getIssuerDN()); - assertEquals(3, currentEntry.getSerialNumber().intValue()); - } - else fail("Invalid module identifer found."); - } - } - - public void testGetKeyGroupEntries() throws RFC2253NameParserException - { - RFC2253NameParser parser = new RFC2253NameParser("CN=Customer1_Issuer"); - Name name = parser.parse(); - Set kgEntries = provider_.getKeyGroupEntries(name, BigInteger.valueOf(4), "KG1_Id"); - assertEquals(2, kgEntries.size()); - - Iterator kgEntriesIt = kgEntries.iterator(); - while (kgEntriesIt.hasNext()) - { - KeyGroupEntry currentEntry = (KeyGroupEntry) kgEntriesIt.next(); - if (!"HWK1_Id".equals(currentEntry.getModuleID()) && !"HWK2_Id".equals(currentEntry.getModuleID())) - { - fail("Invalid module identifier found."); - } - } - } - - public void testGetChainingMode() throws RFC2253NameParserException - { - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown"); - Name name = parser.parse(); - cert.setIssuerDN(name); - cert.setSerialNumber(BigInteger.valueOf(0)); - assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); // Default chaining mode - - parser = new RFC2253NameParser("CN=TA1_Issuer"); - name = parser.parse(); - cert.setIssuerDN(name); - cert.setSerialNumber(BigInteger.valueOf(5)); - assertEquals(ChainingModes.CHAIN_MODE, provider_.getChainingMode(cert)); - } - - public void testGetDistributionPoints() throws RFC2253NameParserException - { - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); - Name name = parser.parse(); - cert.setIssuerDN(name); - - Set dps = provider_.getDistributionPoints(cert); - assertEquals(2, dps.size()); - - Iterator dpIt = dps.iterator(); - while (dpIt.hasNext()) - { - CRLDistributionPoint currentDP = (CRLDistributionPoint)dpIt.next(); - if ("http://crl.myca.org".equals(currentDP.getUri())) - { - int reasonCodes = - iaik.asn1.structures.DistributionPoint.unused | - iaik.asn1.structures.DistributionPoint.keyCompromise | - iaik.asn1.structures.DistributionPoint.cACompromise | - iaik.asn1.structures.DistributionPoint.affiliationChanged | - iaik.asn1.structures.DistributionPoint.superseded | - iaik.asn1.structures.DistributionPoint.cessationOfOperation | - iaik.asn1.structures.DistributionPoint.certificateHold | - iaik.asn1.structures.DistributionPoint.privilegeWithdrawn | - iaik.asn1.structures.DistributionPoint.aACompromise; - assertEquals(reasonCodes, currentDP.getReasonCodes()); - } - else if ("http://crl.myotherca.org".equals(currentDP.getUri())) - { - int reasonCodes = - iaik.asn1.structures.DistributionPoint.aACompromise | - iaik.asn1.structures.DistributionPoint.affiliationChanged; - assertEquals(reasonCodes, currentDP.getReasonCodes()); - } - else fail("Invalid CRL DP URI found: " + currentDP.getUri()); - } - - parser = new RFC2253NameParser("CN=DP2_Issuer"); - name = parser.parse(); - cert.setIssuerDN(name); - - dps = provider_.getDistributionPoints(cert); - assertEquals(1, dps.size()); - - OCSPDistributionPoint dpo = (OCSPDistributionPoint) dps.toArray()[0]; - assertEquals("http://crl.yetanotherca.org", dpo.getUri()); - } - - public void testGetCRLArchiveDuration() - { - assertEquals(730, provider_.getCRLArchiveDuration()); - } - - public void testGetEnableRevocationArchiving() - { - assertFalse(provider_.getEnableRevocationArchiving()); - } - - public void testGetCertStoreLocation() - { - assertEquals( - CONFIG_BASE_ + "certstore_test", - provider_.getCertStoreLocation().replace('\\', '/')); - } - - public void testGetCreateTransformsInfoProfile() - { - Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); - assertEquals("CreateTransformsInfoProfile", ctip1.getLocalName()); - - Element ctip2 = provider_.getCreateTransformsInfoProfile("CTIP_2"); - assertEquals("CreateTransformsInfoProfile", ctip2.getLocalName()); - } - - public void testGetCreateSignatureEnvironmentProfile() - { - Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); - assertEquals("CreateSignatureEnvironmentProfile", csep.getLocalName()); - } - - public void testGetVerifyTransformsInfoProfile() - { - Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); - assertEquals("VerifyTransformsInfoProfile", vtip.getLocalName()); - } - - public void testGetSupplementProfile() - { - Element sp = provider_.getSupplementProfile("SP_1"); - assertEquals("SupplementProfile", sp.getLocalName()); - } - - public void testGetTrustProfile() - { - TrustProfile tp1 = provider_.getTrustProfile("TP1_Id"); - assertEquals( - "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/anchors", - tp1.getUri()); - assertEquals( - "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/signercerts", - tp1.getSignerCertsUri()); - - TrustProfile tp2 = provider_.getTrustProfile("TP2_Id"); - assertEquals( - "file:" + CONFIG_BASE_ + "trustprofiles/tp2/anchors", - tp2.getUri()); - assertEquals( - "file:" + CONFIG_BASE_ + "trustprofiles/tp2/signercerts", - tp2.getSignerCertsUri()); - } - - public void testGetRevocationArchiveJDBCURL() - { - assertEquals("jdbc://dummy", provider_.getRevocationArchiveJDBCURL()); - } - - public void testGetRevocationArchiveJDBCDriverClass() - { - assertEquals("fully.qualified.classname", provider_.getRevocationArchiveJDBCDriverClass()); - } - - public void testGetEnableRevocationChecking() - { - assertFalse(provider_.getEnableRevocationChecking()); - } - - public void testGetMaxRevocationAge() - { - assertEquals(10000, provider_.getMaxRevocationAge()); - } - - public void testGetServiceOrder() - { - String[] serviceOrder = provider_.getServiceOrder(); - assertEquals(2, serviceOrder.length); - assertEquals("crl", serviceOrder[0]); - assertEquals("ocsp", serviceOrder[1]); - } - - public void testGetAutoAddCertificates() - { - assertFalse(provider_.getAutoAddCertificates()); - } - - public void testGetUseAuthorityInfoAccess() - { - assertFalse(provider_.getUseAuthorityInfoAccess()); - } -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java deleted file mode 100644 index 45cae3734..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.config; - -import iaik.asn1.structures.Name; -import iaik.pki.pathvalidation.ChainingModes; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -import java.math.BigInteger; -import java.util.List; -import java.util.Set; - -import junit.framework.TestCase; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAException; -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.TrustProfile; -import at.gv.egovernment.moa.util.Constants; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigurationProviderTest2 extends TestCase -{ - private static final String CONFIG_BASE_ = - "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; - - static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; - - static - { - System.setProperty( - "log4j.configuration", - "file:/" + CONFIG_BASE_ + "log4j.properties"); - System.setProperty( - at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, - CONFIG_BASE_ + "moa.ss.noopts-config.xml"); - try - { - ConfigurationProvider.reload(); - provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); - } - catch (ConfigurationException e) - { - throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); - } - } - - - /** - * Constructor for ConfigurationProvider. - * @param arg0 - */ - public ConfigurationProviderTest2() throws MOAException - { - super("ConfigurationProvider"); - } - - public void testGetWarnings() - { - // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found - assertEquals(3, provider_.getWarnings().size()); - } - - public void testGetDigestMethodAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.SHA1_URI, - provider_.getDigestMethodAlgorithmName()); - } - - public void testGetCanonicalizationAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.C14N_URI, - provider_.getCanonicalizationAlgorithmName()); - } - - public void testGetHardwareCryptoModules() - { - // No hardware crypto modules in config file, check for empty list - List hwcms = provider_.getHardwareCryptoModules(); - assertEquals(0, hwcms.size()); - } - - public void testGetHardwareKeyModules() - { - List hwkms = provider_.getHardwareKeyModules(); - assertEquals(1, hwkms.size()); - } - - public void testGetSoftwareKeyModules() - { - // No software key modules in config file, check for empty list - List swkms = provider_.getSoftwareKeyModules(); - assertEquals(0, swkms.size()); - } - - public void testGetChainingMode() throws RFC2253NameParserException - { - // Default Chaining Mode not set in configuration, check for default value - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown"); - Name name = parser.parse(); - cert.setIssuerDN(name); - cert.setSerialNumber(BigInteger.valueOf(0)); - assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); - } - - public void testGetDistributionPoints() throws RFC2253NameParserException - { - // Element is missing in config file, check if emty list is returned - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); - Name name = parser.parse(); - cert.setIssuerDN(name); - - Set dps = provider_.getDistributionPoints(cert); - assertEquals(0, dps.size()); - } - - public void testGetCRLArchiveDuration() - { - // Element is missing in config file, check if default value is returned - assertEquals(0, provider_.getCRLArchiveDuration()); - } - - public void testGetEnableRevocationArchiving() - { - // Element is missing in config file, check if default value is returned - assertFalse(provider_.getEnableRevocationArchiving()); - } - - public void testGetCertStoreLocation() - { - // Element is missing in config file, check if default value is returned - assertEquals( - CONFIG_BASE_ + "certstore", - provider_.getCertStoreLocation().replace('\\', '/')); - } - - public void testGetCreateTransformsInfoProfile() - { - // No profile in config file, check for null - Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); - assertNull(ctip1); - } - - public void testGetCreateSignatureEnvironmentProfile() - { - // No profile in config file, check for null - Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); - assertNull(csep); - } - - public void testGetVerifyTransformsInfoProfile() - { - // No profile in config file, check for null - Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); - assertNull(vtip); - } - - public void testGetSupplementProfile() - { - // No profile in config file, check for null - Element sp = provider_.getSupplementProfile("SP_1"); - assertNull(sp); - } - - public void testGetTrustProfile() - { - // No trust profiles config file, check for null - TrustProfile tp1 = provider_.getTrustProfile("TP1_Id"); - assertNull(tp1); - } - - public void testGetRevocationArchiveJDBCURL() - { - // Element is missing in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCURL()); - } - - public void testGetRevocationArchiveJDBCDriverClass() - { - // Element is missing in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCDriverClass()); - } - - public void testGetEnableRevocationChecking() - { - // Element is missing in config file, check for default value - assertFalse(provider_.getEnableRevocationChecking()); - } - - public void testGetMaxRevocationAge() - { - // Element is missing in config file, check for default value - assertEquals(0, provider_.getMaxRevocationAge()); - } - - public void testGetServiceOrder() - { - // Element is missing in config file, check for empty array - String[] serviceOrder = provider_.getServiceOrder(); - assertEquals(0, serviceOrder.length); - } - - public void testGetAutoAddCertificates() - { - // Element is missing in config file, check for default value - assertFalse(provider_.getAutoAddCertificates()); - } - - public void testGetUseAuthorityInfoAccess() - { - // Element is missing in config file, check for default value - assertFalse(provider_.getUseAuthorityInfoAccess()); - } -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java deleted file mode 100644 index 59fa200ac..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.config; - -import iaik.asn1.structures.Name; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -import java.util.List; -import java.util.Set; - -import junit.framework.TestCase; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.util.Constants; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigurationProviderTest3 extends TestCase -{ - private static final String CONFIG_BASE_ = - "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; - - static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; - - static - { - System.setProperty( - "log4j.configuration", - "file:/" + CONFIG_BASE_ + "log4j.properties"); - System.setProperty( - at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, - CONFIG_BASE_ + "moa.sp.noopts-config.xml"); - try - { - ConfigurationProvider.reload(); - provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); - } - catch (ConfigurationException e) - { - throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); - } - } - - /** - * Constructor for ConfigurationProvider. - * @param arg0 - */ - public ConfigurationProviderTest3() throws MOAException - { - super("ConfigurationProvider"); - } - - public void testGetWarnings() - { - // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found - assertEquals(3, provider_.getWarnings().size()); - } - - public void testGetDigestMethodAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.SHA1_URI, - provider_.getDigestMethodAlgorithmName()); - } - - public void testGetCanonicalizationAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.C14N_URI, - provider_.getCanonicalizationAlgorithmName()); - } - - public void testGetHardwareCryptoModules() - { - // No hardware crypto modules in config file, check for empty list - List hwcms = provider_.getHardwareCryptoModules(); - assertEquals(0, hwcms.size()); - } - - public void testGetHardwareKeyModules() - { - // No hardware key modules in config file, check for empty list - List hwkms = provider_.getHardwareKeyModules(); - assertEquals(0, hwkms.size()); - } - - public void testGetSoftwareKeyModules() - { - // No software key modules in config file, check for empty list - List swkms = provider_.getSoftwareKeyModules(); - assertEquals(0, swkms.size()); - } - - public void testGetDistributionPoints() throws RFC2253NameParserException - { - // No distribution points in config file, check for emtpy set - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); - Name name = parser.parse(); - cert.setIssuerDN(name); - - Set dps = provider_.getDistributionPoints(cert); - assertEquals(0, dps.size()); - } - - public void testGetCRLArchiveDuration() - { - // No archive duration in config file, check for default value - assertEquals(0, provider_.getCRLArchiveDuration()); - } - - public void testGetCreateTransformsInfoProfile() - { - // No profile in config file, check for null - Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); - assertNull(ctip1); - } - - public void testGetCreateSignatureEnvironmentProfile() - { - // No profile in config file, check for null - Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); - assertNull(csep); - } - - public void testGetVerifyTransformsInfoProfile() - { - // No profile in config file, check for null - Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); - assertNull(vtip); - } - - public void testGetSupplementProfile() - { - // No profile in config file, check for null - Element sp = provider_.getSupplementProfile("SP_1"); - assertNull(sp); - } - - public void testGetRevocationArchiveJDBCURL() - { - // No archive in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCURL()); - } - - public void testGetRevocationArchiveJDBCDriverClass() - { - // No archive in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCDriverClass()); - } - - public void testGetServiceOrder() - { - // Element is missing in config file, check for empty array - String[] serviceOrder = provider_.getServiceOrder(); - assertEquals(0, serviceOrder.length); - } -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java deleted file mode 100644 index 11b029455..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.iaik.config; - -import java.io.FileInputStream; -import java.security.KeyStore; -import java.security.cert.CertificateFactory; -import java.security.cert.X509Certificate; -import java.util.Collection; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import iaik.asn1.structures.DistributionPoint; -import iaik.pki.PKIConfiguration; -import iaik.pki.pathvalidation.ChainingModes; -import iaik.pki.pathvalidation.ValidationConfiguration; -import iaik.pki.revocation.CRLDistributionPoint; -import iaik.pki.revocation.RevocationConfiguration; -import iaik.pki.store.certstore.CertStoreConfiguration; -import iaik.pki.store.certstore.CertStoreTypes; -import iaik.pki.store.revocation.archive.ArchiveConfiguration; -import iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter; -import iaik.server.ConfigurationData; -import iaik.server.modules.keys.HardwareKeyModuleConfiguration; -import iaik.server.modules.keys.SoftwareKeyModuleConfiguration; - -import at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * Tests the ConfigurationDataImpl. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ConfigurationDataImplTest extends SPSSTestCase { - - private ConfigurationData config; - private X509Certificate iaikCert; - - public ConfigurationDataImplTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - TransactionContext context; - - setUpTransactionContext(); - context = TransactionContextManager.getInstance().getTransactionContext(); - - config = new ConfigurationDataImpl(context.getConfiguration()); - - KeyStore ks = KeyStore.getInstance("JKS", "SUN"); - ks.load( - new FileInputStream(TESTDATA_ROOT + "security/server.keystore"), - "changeit".toCharArray()); - - CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); - Collection certs = - certFactory.generateCertificates( - new FileInputStream( - TESTDATA_ROOT - + "conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer")); - iaikCert = (X509Certificate) certs.toArray()[0]; - - } - - public void testGetPKIConfiguration() { - PKIConfiguration pkiConfig = config.getPKIConfiguration(); - ArchiveConfiguration archiveConfig = pkiConfig.getArchiveConfiguration(); - CertStoreConfiguration certStoreConfig = - pkiConfig.getCertStoreConfiguration(); - RevocationConfiguration revocationConfig = - pkiConfig.getRevocationConfiguration(); - ValidationConfiguration validationConfig = - pkiConfig.getValidationConfiguration(); - DataBaseArchiveParameter archiveParam; - Set distributionPoints; - Iterator iter; - boolean found; - - // test archive parameters - archiveParam = - (DataBaseArchiveParameter) archiveConfig.getArchiveParameters(); - assertEquals( - archiveParam.getJDBCUrl(), - "jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest"); - - // test cert store configuration - assertEquals(1, certStoreConfig.getParameters().length); - assertEquals( - CertStoreTypes.DIRECTORY, - certStoreConfig.getParameters()[0].getType()); - - // test revocation configuration - distributionPoints = - revocationConfig.getAlternativeDistributionPoints(iaikCert, null, new Date()); - assertEquals(3, distributionPoints.size()); - found = false; - for (iter = distributionPoints.iterator(); iter.hasNext();) { - CRLDistributionPoint dp = (CRLDistributionPoint) iter.next(); - if (dp.getUri().equals("http://www.iaik.at/testCA/iaik_test_sig.crl")) { - found = - dp.getReasonCodes() - == (DistributionPoint.keyCompromise - | DistributionPoint.affiliationChanged); - } - } - assertTrue(found); - - // test validation configuration - assertEquals( - ChainingModes.PKIX_MODE, - validationConfig.getChainingMode(iaikCert)); - } - - /* - public void testGetCryptoModuleConfigurations() { - List cryptoConfigs = config.getCryptoModuleConfigurations(); - HardwareCryptoModuleConfiguration moduleConfig; - - assertEquals(2, cryptoConfigs.size()); - moduleConfig = (HardwareCryptoModuleConfiguration) cryptoConfigs.get(0); - assertEquals("Module1", moduleConfig.getModuleName()); - assertEquals("Slot1", moduleConfig.getSlotID()); - assertEquals("PIN1", new String(moduleConfig.getUserPIN())); - } - */ - - public void testGetKeyModuleConfigurations() { - List keyConfigs = config.getKeyModuleConfigurations(); - HardwareKeyModuleConfiguration hwKey; - SoftwareKeyModuleConfiguration swKey; - - assertEquals(7, keyConfigs.size()); - hwKey = (HardwareKeyModuleConfiguration) keyConfigs.get(0); - assertEquals("cryptoki.dll", hwKey.getModuleName()); - assertEquals("0", hwKey.getSlotID()); - assertEquals("0000", new String(hwKey.getUserPIN())); - swKey = (SoftwareKeyModuleConfiguration) keyConfigs.get(1); - assertEquals( - "buergerkarte", - new String(swKey.getKeyStoreAuthenticationData())); - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java deleted file mode 100644 index d0555f4e6..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.iaik.config; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * Tests the IaikConfigurator. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IaikConfiguratorTest extends SPSSTestCase { - - public IaikConfiguratorTest(String name) { - super(name); - } - - /** - * @see TestCase#setUp() - */ - protected void setUp() throws Exception { - super.setUpTransactionContext(); - } - - public void testConfigure() throws Exception { - IaikConfigurator configurator = new IaikConfigurator(); - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - - configurator.configure(context.getConfiguration()); - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java deleted file mode 100644 index dc156794e..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.invoke; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Runs all tests in this package. - * - * @author Patrick Peck - * @version $Id$ - */ -public class AllTests { - public static Test suite() { - TestSuite suite = new TestSuite(); - - suite.addTestSuite(DataObjectFactoryTest.class); - suite.addTestSuite(TransformationFactoryTest.class); - suite.addTestSuite(XMLSignatureCreationInvokerTest.class); - suite.addTestSuite(CMSSignatureVerificationInvokerTest.class); - suite.addTestSuite(XMLSignatureVerificationInvokerTest.class); - - return suite; - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java deleted file mode 100644 index 0db5dbc9f..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.invoke; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DOMUtils; - -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; - -/** - * Mainly a smoke test for debugging the CMSSignatureVerificationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CMSSignatureVerificationInvokerTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyCMSSignature/"; - - /** - * Constructor for CMSSignatureVerificationInvokerTest. - * @param name - */ - public CMSSignatureVerificationInvokerTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - setUpTransactionContext(); - setUpLoggingContext(); - setUpIaikConfiguration(); - } - - public void testVerifyCMSSignature() throws Exception { - try { - CMSSignatureVerificationInvoker invoker = - CMSSignatureVerificationInvoker.getInstance(); - VerifyCMSSignatureRequestParser requestParser = - new VerifyCMSSignatureRequestParser(); - Document doc = - SPSSTestCase.parseXmlValidating( - TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml"); - VerifyCMSSignatureRequest request = - requestParser.parse(doc.getDocumentElement()); - VerifyCMSSignatureResponse response = invoker.verifyCMSSignature(request); - VerifyCMSSignatureResponseBuilder responseBuilder = - new VerifyCMSSignatureResponseBuilder(); - Element result = responseBuilder.build(response).getDocumentElement(); - - System.out.println(DOMUtils.serializeNode(result)); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java deleted file mode 100644 index 602393c94..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.invoke; - -import java.io.InputStream; -import java.security.Security; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import iaik.server.modules.xml.BinaryDataObject; -import iaik.server.modules.xml.DataObject; -import iaik.server.modules.xml.XMLDataObject; - -import at.gv.egovernment.moa.util.Base64Utils; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl; -import at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory; - -/** - * Test cases for the DataObjectFactory class. - * - * @author Patrick Peck - * @version $Id$ - */ -public class DataObjectFactoryTest extends SPSSTestCase { - - private static final String HTTP_BINARY_CONTENT_URL = "http://www.google.com"; - private static final String HTTP_XML_CONTENT_URL = - "http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"; - private static final String HTTPS_BINARY_CONTENT_URL = - "https://businessnet.ba-ca.com"; - private static final String HTTPS_UNTRUSTED_URL = - "https://heribert.anecon.com"; - private static final String HTTP_UNKNOWN_HOST_URL = "http://uurjmjmruuw.com"; - private static final String MALFORMED_URL = "//hsld///ddd"; - private static final String FILE_BINARY_CONTENT_URL = "file:/C:/boot.ini"; - private static final String XML_CONTENT = - "" - + " " - + " " - + ""; - private static final String BASE64_CONTENT = "U3Zlbg=="; - - private SPSSFactory spssFactory = SPSSFactory.getInstance(); - private DataObjectFactory factory; - - /** - * Constructor for DataObjectFactoryTest. - * @param name - */ - public DataObjectFactoryTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - factory = DataObjectFactory.getInstance(); - - // set up SSL - Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - System.setProperty( - "java.protocol.handler.pkgs", - "com.sun.net.ssl.internal.www.protocol"); - /* - System.setProperty( - "javax.net.ssl.keyStore", - "data/test/security/client.keystore"); - System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); - System.setProperty( - "javax.net.ssl.trustStore", - "data/test/security/client.keystore"); - System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); - */ - } - - public void testCreateFromURIWithBinaryHttp() throws Exception { - DataObject dataObject = - factory.createFromURI(HTTP_BINARY_CONTENT_URL, false); - - assertNotNull(dataObject); - assertTrue(dataObject instanceof ByteStreamDataObjectImpl); - assertNotNull(((BinaryDataObject) dataObject).getInputStream()); - } - - public void testCreateFromURIWithXmlHttp() throws Exception { - DataObject dataObject = factory.createFromURI(HTTP_XML_CONTENT_URL, false); - Element element; - - assertNotNull(dataObject); - assertTrue(dataObject instanceof XMLDataObjectImpl); - element = ((XMLDataObject) dataObject).getElement(); - assertNotNull(element); - assertEquals("schema", element.getTagName()); - } - - public void testCreateFromURIWithMalformedURI() throws Exception { - try { - factory.createFromURI(MALFORMED_URL, false); - fail(); - } catch (MOAException e) { - } - } - - public void testCreateFromURIWithNonExistingHttpURL() throws Exception { - try { - factory.createFromURI(HTTP_UNKNOWN_HOST_URL, false); - fail(); - } catch (MOAException e) { - } - } - - public void testCreateFromURIWithHttps() throws Exception { - DataObject dataObject = - factory.createFromURI(HTTPS_BINARY_CONTENT_URL, false); - assertNotNull(dataObject); - assertTrue(dataObject instanceof BinaryDataObject); - } - - public void testCreateFromURIWithUntrustedHttps() throws Exception { - try { - factory.createFromURI(HTTPS_UNTRUSTED_URL, false); - fail(); - } catch (MOAException e) { - - } - } - - public void testCreateFromURIWithFile() throws Exception { - try { - factory.createFromURI(FILE_BINARY_CONTENT_URL, false); - fail(); - } catch (MOAException e) { - } - } - - public void testCreateFromContentOptionalRefTypeWithXmlContent() - throws Exception { - Document doc = parseXmlString(XML_CONTENT); - Content content = - spssFactory.createContent( - doc.getDocumentElement().getChildNodes(), - "http://data"); - DataObject dataObject = - factory.createFromContentOptionalRefType( - content, - null, - null, - true, - false, - true, - false); - - assertTrue(dataObject instanceof XMLNodeListDataObjectImpl); - } - - public void testCreateFromContentOptionalRefTypeWithBase64Content() - throws Exception { - InputStream is = Base64Utils.decodeToStream(BASE64_CONTENT, true); - Content content = spssFactory.createContent(is, "http://data"); - DataObject dataObject = - factory.createFromContentOptionalRefType( - content, - null, - null, - false, - false, - true, - false); - - assertNotNull(dataObject); - assertTrue(dataObject instanceof ByteArrayDataObjectImpl); - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java deleted file mode 100644 index 80e331ab9..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.invoke; - -import java.util.List; -import java.util.Map; - -import org.w3c.dom.Document; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import iaik.ixsil.init.IXSILInit; -import iaik.ixsil.util.URI; -import iaik.server.modules.xml.Base64Transformation; -import iaik.server.modules.xml.Canonicalization; -import iaik.server.modules.xml.EnvelopedSignatureTransformation; -import iaik.server.modules.xml.Transformation; -import iaik.server.modules.xml.XPath2Transformation; -import iaik.server.modules.xml.XPathTransformation; -import iaik.server.modules.xml.XSLTTransformation; - -import at.gv.egovernment.moa.util.Constants; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.common.Transform; -import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser; -import at.gv.egovernment.moa.spss.server.invoke.TransformationFactory; - -/** - * Test cases for the TransformationFactory class. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransformationFactoryTest extends SPSSTestCase { - - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/dsigTransform/"; - private TransformationFactory factory = TransformationFactory.getInstance(); - private TransformParser transformParser = new TransformParser(); - - /** - * Constructor for TransformationFactoryTest. - * @param name - */ - public TransformationFactoryTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - IXSILInit.init(new URI("init/properties/init.properties")); - //IXSILInit.init(new URI("file:data/deploy/ixsil/init/properties/init.properties")); - - } - - public void testCreateCanonicalization() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "canonicalization.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - - assertTrue(t instanceof Canonicalization); - assertEquals( - "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", - t.getAlgorithmURI()); - } - - public void testCreateCanonicalizationWithComments() throws Exception { - Document transform = - parseXml(TESTDATA_BASE + "canonicalizationWithComments.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - - assertTrue(t instanceof Canonicalization); - assertEquals( - "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments", - t.getAlgorithmURI()); - } - - public void testCreateBase64Decode() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "base64.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - assertTrue(t instanceof Base64Transformation); - } - - public void testCreateEnvelopedSignature() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "enveloped.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - assertTrue(t instanceof EnvelopedSignatureTransformation); - } - - public void testXPathTransformation() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "xpath.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - Map nsDecls; - - assertTrue(t instanceof XPathTransformation); - nsDecls = ((XPathTransformation) t).getNamespaceDeclarations(); - assertEquals(1, nsDecls.size()); - assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig")); - } - - public void testCreateXPath2Transformation() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "xpath2.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - assertTrue(t instanceof XPath2Transformation); - } - - public void testCreateXSLTTransformation() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "xslt.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - XSLTTransformation t = - (XSLTTransformation) factory.createTransformation(tr); - assertNotNull(t.getStylesheetElement()); - } - - public void testCreateWithIllegalAlgorithm() throws Exception { - try { - Document transform = parseXml(TESTDATA_BASE + "illegalAlgorithm.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - factory.createTransformation(tr); - fail(); - } catch (MOAApplicationException e) { - } - } - - public void testEqualsXslt() throws Exception { - Document xslt = parseXml(TESTDATA_BASE + "xslt.xml"); - Transform tr = transformParser.parseTransform(xslt.getDocumentElement()); - Transformation trXslt = factory.createTransformation(tr); - - Document xsltEqu = parseXml(TESTDATA_BASE + "xsltEqual.xml"); - tr = transformParser.parseTransform(xsltEqu.getDocumentElement()); - Transformation trXsltEqu = factory.createTransformation(tr); - - Document xsltDiff = parseXml(TESTDATA_BASE + "xsltDifferent.xml"); - tr = transformParser.parseTransform(xsltDiff.getDocumentElement()); - Transformation trXsltDiff = factory.createTransformation(tr); - - Document canonicalization = - parseXml(TESTDATA_BASE + "canonicalization.xml"); - - assertTrue(trXslt.equals(trXsltEqu)); - assertFalse(trXslt.equals(trXsltDiff)); - assertFalse(trXsltEqu.equals(trXsltDiff)); - assertEquals(trXslt.hashCode(), trXsltEqu.hashCode()); - assertFalse(trXslt.hashCode() == trXsltDiff.hashCode()); - assertFalse(trXsltEqu.hashCode() == trXsltDiff.hashCode()); - assertFalse(trXslt.equals(canonicalization)); - } - - public void testEqualsXPath() throws Exception { - Document xpath = parseXml(TESTDATA_BASE + "xpath.xml"); - Transform tr = transformParser.parseTransform(xpath.getDocumentElement()); - Transformation trXpath = factory.createTransformation(tr); - Transformation trXpathEqu = factory.createTransformation(tr); - - Document xpathDiff = parseXml(TESTDATA_BASE + "xpathDifferent.xml"); - tr = transformParser.parseTransform(xpathDiff.getDocumentElement()); - Transformation trXpathDiff = factory.createTransformation(tr); - - assertTrue(trXpath.equals(trXpathEqu)); - assertEquals(trXpath.hashCode(), trXpathEqu.hashCode()); - assertFalse(trXpath.equals(trXpathDiff)); - assertFalse(trXpath.hashCode() == trXpathDiff.hashCode()); - } - - public void testEqualsXPath2() throws Exception { - Document xpath2 = parseXml(TESTDATA_BASE + "xpath2.xml"); - Transform tr = transformParser.parseTransform(xpath2.getDocumentElement()); - Transformation trXpath2 = factory.createTransformation(tr); - Transformation trXpath2Equ = factory.createTransformation(tr); - - Document xpath2Diff = parseXml(TESTDATA_BASE + "xpath2Different.xml"); - tr = transformParser.parseTransform(xpath2Diff.getDocumentElement()); - Transformation trXpath2Diff = factory.createTransformation(tr); - - assertTrue(trXpath2.equals(trXpath2Equ)); - assertEquals(trXpath2.hashCode(), trXpath2Equ.hashCode()); - assertFalse(trXpath2.equals(trXpath2Diff)); - assertFalse(trXpath2.hashCode() == trXpath2Diff.hashCode()); - } - - public void testCreateTransformationList() throws Exception { - Document transforms = parseXml(TESTDATA_BASE + "transforms.xml"); - List trs = transformParser.parseTransforms(transforms.getDocumentElement()); - List transformationList = factory.createTransformationList(trs); - - assertEquals(3, transformationList.size()); - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java deleted file mode 100644 index 8b3e6b09c..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.invoke; - -import java.util.Collections; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DOMUtils; - -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker; - -/** - * Mainly a smoke test for debugging the XMLSignatureCreationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureCreationInvokerTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/CreateXMLSignature/"; - - public XMLSignatureCreationInvokerTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - setUpTransactionContext(); - setUpLoggingContext(); - setUpIaikConfiguration(); - setUpSSL(); - } - - public void testCreateXMLSignature() throws Exception { - try { - XMLSignatureCreationInvoker invoker = - XMLSignatureCreationInvoker.getInstance(); - CreateXMLSignatureRequestParser requestParser = - new CreateXMLSignatureRequestParser(); - Document doc = - SPSSTestCase.parseXmlValidating( - TESTDATA_BASE + "TestGeneratorCX2.004.Req.xml"); - CreateXMLSignatureRequest request = - requestParser.parse(doc.getDocumentElement()); - CreateXMLSignatureResponse response = - invoker.createXMLSignature(request, Collections.EMPTY_SET); - CreateXMLSignatureResponseBuilder responseBuilder = - new CreateXMLSignatureResponseBuilder(); - Element result = responseBuilder.build(response).getDocumentElement(); - - System.out.println(DOMUtils.serializeNode(result)); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java deleted file mode 100644 index 7ea63e2d2..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.invoke; - -import org.w3c.dom.Document; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DOMUtils; - -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; - -/** - * Mainly a smoke test for debugging the XMLSignatureVerificationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureVerificationInvokerTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyXMLSignature/"; - - public XMLSignatureVerificationInvokerTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - setUpTransactionContext(); - setUpLoggingContext(); - setUpIaikConfiguration(); - } - - public void testVerifyXMLSignature() throws Exception { - try { - XMLSignatureVerificationInvoker invoker = - XMLSignatureVerificationInvoker.getInstance(); - VerifyXMLSignatureRequestParser requestParser = - new VerifyXMLSignatureRequestParser(); - VerifyXMLSignatureResponseBuilder responseBuilder = - new VerifyXMLSignatureResponseBuilder(); - Document doc = - SPSSTestCase.parseXmlValidating( - TESTDATA_BASE + "TestGeneratorVX.201.Req.xml"); - - VerifyXMLSignatureRequest request = - requestParser.parse(doc.getDocumentElement()); - VerifyXMLSignatureResponse response; - - response = invoker.verifyXMLSignature(request); - System.out.println( - DOMUtils.serializeNode(responseBuilder.build(response))); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - -} diff --git a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java deleted file mode 100644 index 296ba0031..000000000 --- a/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package test.at.gv.egovernment.moa.spss.server.tools; - -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; - -import at.gv.egovernment.moa.spss.server.tools.CertTool; -import test.at.gv.egovernment.moa.MOATestCase; - -/** - * Tests for the CertTool. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CertToolTest extends MOATestCase { - - private static final String EXPECTED_RESULT = - "SubjectDN (RFC2253):" - + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n" - + "IssuerDN (RFC2253) :" - + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n" - + "Serial Number :" - + " 1047548672\r\n"; - private CertTool certTool; - - /** - * Constructor for CertToolTest. - * @param name - */ - public CertToolTest(String name) { - super(name); - } - - protected void setUp() { - certTool = new CertTool(); - } - - public void testPrintCertInfo() { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(bos); - String result; - - certTool.printCertInfo(TESTDATA_ROOT + "security/server.cer", ps); - result = new String(bos.toByteArray()); - System.out.println(result); - assertEquals(EXPECTED_RESULT, result); - } - -} diff --git a/spss/server/serverws/.gitignore b/spss/server/serverws/.gitignore deleted file mode 100644 index 4dc009173..000000000 --- a/spss/server/serverws/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/target -/bin diff --git a/spss/server/serverws/WebContent/META-INF/MANIFEST.MF b/spss/server/serverws/WebContent/META-INF/MANIFEST.MF deleted file mode 100644 index 5e9495128..000000000 --- a/spss/server/serverws/WebContent/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/spss/server/serverws/WebContent/WEB-INF/web.xml b/spss/server/serverws/WebContent/WEB-INF/web.xml deleted file mode 100644 index b3b3ad52d..000000000 --- a/spss/server/serverws/WebContent/WEB-INF/web.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - moa-spss-ws - - index.html - index.htm - index.jsp - default.html - default.htm - default.jsp - - diff --git a/spss/server/serverws/data/deploy/tomcat/server.mod_jk.xml b/spss/server/serverws/data/deploy/tomcat/server.mod_jk.xml deleted file mode 100644 index e6035b8be..000000000 --- a/spss/server/serverws/data/deploy/tomcat/server.mod_jk.xml +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/server/serverws/data/deploy/tomcat/server.xml b/spss/server/serverws/data/deploy/tomcat/server.xml deleted file mode 100644 index 3e5966ca9..000000000 --- a/spss/server/serverws/data/deploy/tomcat/server.xml +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/server/serverws/data/deploy/tomcat/unix/moa-env.sh b/spss/server/serverws/data/deploy/tomcat/unix/moa-env.sh deleted file mode 100644 index 49d6723a3..000000000 --- a/spss/server/serverws/data/deploy/tomcat/unix/moa-env.sh +++ /dev/null @@ -1,12 +0,0 @@ -MOA_START=`pwd` - -CONFIG_OPT=-Dmoa.spss.server.configuration=$MOA_START/conf/moa-spss/spss.config.xml -LOGGING_OPT=-Dlog4j.configuration=file:$MOA_START/conf/moa-spss/log4j.properties -# NODE_ID_OPT=-Dmoa.node-id=node1 -# TRUST_STORE_OPT=-Djavax.net.ssl.trustStore=truststore.jks -# TRUST_STORE_PASS_OPT=-Djavax.net.ssl.trustStorePassword=changeit -# TRUST_STORE_TYPE_OPT=-Djavax.net.ssl.trustStoreType=jks - -export CATALINA_OPTS="$CONFIG_OPT $LOGGING_OPT $NODE_ID_OPT $TRUST_STORE_OPT $TRUST_STORE_PASS_OPT $TRUST_STORE_TYPE_OPT" - -echo CATALINA_OPTS=$CATALINA_OPTS diff --git a/spss/server/serverws/data/deploy/tomcat/uriworkermap.properties b/spss/server/serverws/data/deploy/tomcat/uriworkermap.properties deleted file mode 100644 index 673acf65d..000000000 --- a/spss/server/serverws/data/deploy/tomcat/uriworkermap.properties +++ /dev/null @@ -1,4 +0,0 @@ -# a sample mod_jk uriworkermap.properties file for mapping -# MOA SP/SS web service requests to workers - -/moa-spss/*=moaworker \ No newline at end of file diff --git a/spss/server/serverws/data/deploy/tomcat/win32/startTomcat.bat b/spss/server/serverws/data/deploy/tomcat/win32/startTomcat.bat deleted file mode 100644 index 729bddbf3..000000000 --- a/spss/server/serverws/data/deploy/tomcat/win32/startTomcat.bat +++ /dev/null @@ -1,31 +0,0 @@ -rem ---------------------------------------------------------------------------------------------- -rem Modify these entries according to your needs - -rem JDK home directory (no trailing path separator) -set JAVA_HOME= - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME= - -rem ---------------------------------------------------------------------------------------------- - -set MOA_SPSS_CFG_HOME=%CATALINA_HOME%\conf\moa-spss - -set PARAM_SPSSCONFIG=-Dmoa.spss.server.configuration=%MOA_SPSS_CFG_HOME%\spss.config.xml -set PARAM_LOGGING=-Dlog4j.configuration=file:%MOA_SPSS_CFG_HOME%\log4j.properties -set PARAM_NODEID=-Dmoa.node-id=Node1 - -rem Hashcache Parameter für TSL Unterstuetzung bei MOA-SP -rem set PARAM_HASHCACHE=-Diaik.xml.crypto.tsl.BinaryHashCache.DIR=%MOA_SPSS_CFG_HOME%\hashcache\ - -set PARAMS_MOA=%PARAM_SPSSCONFIG% %PARAM_LOGGING% %PARAM_NODEID% %PARAM_HASHCACHE% - -rem set PARAM_TRUST_STORE=-Djavax.net.ssl.trustStore=truststore.jks -rem set PARAM_TRUST_STORE_PASS=-Djavax.net.ssl.trustStorePassword=changeit -rem set PARAM_TRUST_STORE_TYPE=-Djavax.net.ssl.trustStoreType=jks -rem set PARAMS_SSL=%PARAM_TRUST_STORE% %PARAM_TRUST_STORE_PASS% %PARAM_TRUST_STORE_TYPE% - -set CATALINA_OPTS=%PARAMS_MOA% %PARAMS_SSL% - -cd %CATALINA_HOME% -bin\catalina.bat start \ No newline at end of file diff --git a/spss/server/serverws/data/deploy/tomcat/win32/stopTomcat.bat b/spss/server/serverws/data/deploy/tomcat/win32/stopTomcat.bat deleted file mode 100644 index 09dd83f2d..000000000 --- a/spss/server/serverws/data/deploy/tomcat/win32/stopTomcat.bat +++ /dev/null @@ -1,13 +0,0 @@ -rem ---------------------------------------------------------------------------------------------- -rem Modify these entries according to your needs - -rem JDK home directory (no trailing path separator) -set JAVA_HOME= - -rem Tomcat 4.1.x home directory (no trailing path separator) -set CATALINA_HOME= - -rem ---------------------------------------------------------------------------------------------- - -cd %CATALINA_HOME% -bin\catalina.bat stop \ No newline at end of file diff --git a/spss/server/serverws/data/deploy/tomcat/workers.properties b/spss/server/serverws/data/deploy/tomcat/workers.properties deleted file mode 100644 index 9350ddc77..000000000 --- a/spss/server/serverws/data/deploy/tomcat/workers.properties +++ /dev/null @@ -1,6 +0,0 @@ -# a sample workers.properties file defining a single mod_jk worker - -worker.list=moaworker -worker.moaworker.type=ajp13 -worker.moaworker.host=localhost -worker.moaworker.port=8009 diff --git a/spss/server/serverws/data/deploy/tools/certtool.bat b/spss/server/serverws/data/deploy/tools/certtool.bat deleted file mode 100644 index 0504211b8..000000000 --- a/spss/server/serverws/data/deploy/tools/certtool.bat +++ /dev/null @@ -1,25 +0,0 @@ -@echo off - -rem -rem Script to invoke the CertTool class -rem -rem Author: Patrick Peck -rem Version: $Id: certtool.bat,v 1.6 2003/05/08 11:46:29 peck Exp $ -rem - - -if %OS%=="Windows_NT" @setlocal - -set CERTTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool -set TOOLSPATH=%~p0 -set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%iaik_moa_full.jar;%TOOLSPATH%iaik_jce_full.jar;%TOOLSPATH%iaik_ecc.jar;%TOOLSPATH%log4j-1.2.7.jar - -if "%JAVA_HOME%"=="" goto noJavaHome -%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CERTTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9 -goto end - -:noJavaHome -echo error: JAVA_HOME not defined - -:end -if %OS%=="Windows_NT" @endlocal \ No newline at end of file diff --git a/spss/server/serverws/data/deploy/tools/certtool.sh b/spss/server/serverws/data/deploy/tools/certtool.sh deleted file mode 100644 index c7ff374f4..000000000 --- a/spss/server/serverws/data/deploy/tools/certtool.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# -# Script to invoke the CertTool class -# -# Author:Patrick Peck -# Version: $Id: certtool.sh,v 1.9 2003/06/23 16:01:27 peck Exp $ -# - - -if [ -z "$JAVA_HOME" ]; then - echo "error: JAVA_HOME not defined"; - exit; -fi - -CERTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool -TOOLSPATH=`dirname $PWD/$0` -CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/iaik_moa_full.jar:$TOOLSPATH/iaik_jce_full.jar:$TOOLSPATH/iaik_ecc.jar:$TOOLSPATH/log4j-1.2.7.jar - -$JAVA_HOME/bin/java -classpath $CLASSPATH $CERTOOL $* diff --git a/spss/server/serverws/data/deploy/tools/configtool.bat b/spss/server/serverws/data/deploy/tools/configtool.bat deleted file mode 100644 index 868df11f0..000000000 --- a/spss/server/serverws/data/deploy/tools/configtool.bat +++ /dev/null @@ -1,25 +0,0 @@ -@echo off - -rem -rem Script to invoke the ConfigTool class -rem -rem Author: Gregor Karlinger -rem Version: $Id: $ -rem - - -if %OS%=="Windows_NT" @setlocal - -set CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool -set TOOLSPATH=%~p0 -set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%xalan.jar; - -if "%JAVA_HOME%"=="" goto noJavaHome -%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CONFIGTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9 -goto end - -:noJavaHome -echo error: JAVA_HOME not defined - -:end -if %OS%=="Windows_NT" @endlocal \ No newline at end of file diff --git a/spss/server/serverws/data/deploy/tools/configtool.sh b/spss/server/serverws/data/deploy/tools/configtool.sh deleted file mode 100644 index f7f29bae1..000000000 --- a/spss/server/serverws/data/deploy/tools/configtool.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# -# Script to invoke the ConfigTool class -# -# Author: Gregor Karlinger -# Version: $Id: $ -# - - -if [ -z "$JAVA_HOME" ]; then - echo "error: JAVA_HOME not defined"; - exit; -fi - -CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool -TOOLSPATH=`dirname $PWD/$0` -CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/xalan.jar - -$JAVA_HOME/bin/java -classpath $CLASSPATH $CONFIGTOOL $* diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml deleted file mode 100644 index ce665cad0..000000000 --- a/spss/server/serverws/pom.xml +++ /dev/null @@ -1,206 +0,0 @@ - - - MOA.spss - moa-spss - 2.0.x - - - 4.0.0 - MOA.spss.server - moa-spss-ws - war - ${moa-spss-version} - MOA SP/SS WebService - - - ${basedir}/../../../repository - - - - - - JBoss IAIK - http://nexus.iaik.tugraz.at/nexus/content/repositories/nexus/ - - - - IAIK libs - http://nexus.iaik.tugraz.at/nexus/content/repositories/iaik/ - - - - - - - - org.apache.maven.plugins - maven-war-plugin - 2.3 - - - - - false - true - - false - - moa-spss - - - ${basedir}/resources/wsdl - WEB-INF/classes/resources/schemas - - *.xsd - *.wsdl - - - - ${basedir}/../../handbook - WEB-INF - - conf/** - - - - - - - - - - - - MOA.spss.server - moa-spss-lib - - - - MOA.id.server - moa-id-commons - - - iaik.prod - iaik_ixsil - - - iaik - iaik_tsl - - - iaik_pki_module - iaik - - - iaik_jce_eval_signed - iaik - - - - - log4j - log4j - 1.2.17 - - - - - - iaik.prod - iaik_jce_full - - provided - - - iaik.prod - iaik_ecc - - provided - - - iaik.prod - iaik_Pkcs11Provider - - provided - - - iaik.prod - iaik_Pkcs11Wrapper - - provided - - - iaik.prod - iaik_Pkcs11Wrapper - win32 - dll - - provided - - - xalan-bin-dist - xalan - - provided - - - xerces - xercesImpl - - provided - - - xalan-bin-dist - xml-apis - - provided - - - xalan-bin-dist - serializer - - provided - - - diff --git a/spss/server/serverws/resources/properties/spss_messages_de.properties b/spss/server/serverws/resources/properties/spss_messages_de.properties deleted file mode 100644 index a42b0fcea..000000000 --- a/spss/server/serverws/resources/properties/spss_messages_de.properties +++ /dev/null @@ -1,151 +0,0 @@ -# This file contains exception messages in the standard Java properties -# format. The messages may contain formatting patterns as definied in the -# java.text.MessageFormat class. - -# -# Error messages: the key corresponds to the error code -# - -1100=Fehler beim Validieren der Anfrage: {0} -1101=Bei enveloping Datenobjekten muss entweder Content oder Reference übergeben werden -1102=Bei detached Datenobjekten darf das Attribut Reference nicht leer sein -1103=Ungültiger Wert für Attribut Structure im Element DataObjectInfo: {0} -1104=Ungültiger Wert für DateTime: {0} -1105=Ungültiger Wert für Attribut Index in Element CreateSignatureLocation: {0} -1106=Interner Fehler beim Parsen der XML-Daten -1107=Kein Kind-Element im Element XMLContent gefunden -1108=Ungültiger Wert für dsig:Algorithm: {0} -1109=XMLContent darf nur ein Kind-Element enthalten -1110=Entweder Content oder Reference muss gesetzt sein -1111=Reference muss gesetzt sein, wenn kein Content angegeben ist -1112=Bei leerer Reference muss CreateSignatureEnvironment vorhanden sein -1113=Der Endpunkt akzeptiert keine Anfragen vom Typ: {0} - -2200=Fehler beim Erzeugen der Antwort -2201=Transformations-Algorithmus unbekannt: {0} -2202=Kein XPath-Element für XPath-Transformation gefunden -2203=TrustProfileID unbekannt: {0} -2207=Ungültiges URI-Format: {0} -2208=Fehler beim Öffnen des Datenobjekts (URI={0}) -2209=Fehler beim Parsen der XML-Daten -2210=Fehler beim Lesen des Datenobjekts -2211=Referenzierte Daten können nicht als XML interpretiert werden (URI={0}) -2212=Fehler beim Auswerten des XPath-Ausdrucks: {0} -2213=Zugriff auf das Dateisystem verweigert (URI={0}) -2214=Ungültiges URL-Format: {0} -2215=Kein Stylesheet für XSLT-Transformation gefunden -2216=Kein XPath-Filter2 Element für XPath-Filter2-Transform gefunden -2217=Kein InclusiveNamespaces Element für Exclusive Canonicalization Transform gefunden -2218=Das Signature Environment enthält keine validen XML-Daten -2219=Fehler beim Lesen des Signature Environment -2220=Allgemeiner Fehler beim Erzeugen der Signatur [{0}] -2221=Fehler bei der Behandlung des Schlüssels [{0}] -2222=Fehler beim Erstellen des Manifests [{0}] -2223=Fehler beim Erstellen der Referenz [{0}] -2224=Hashwert nicht verfügbar [{0}] -2225=Signier-Algorithmus wird nicht unterstützt [{0}] -2226=Fehler beim Einbetten der Signatur [{0}] -2227=Fehler beim Berechnen des Signaturwertes [{0}] -2228=Fehler beim Behandeln der SignedProperties [{0}] -2229=Signator-Zertifikat nicht verfügbar [{0}] -2230=Fehler beim Auflösen eines Supplements [{0}] -2231=Die Schlüsselgruppe ist nicht verfügbar -2232=Die Schlüsselgruppe ist leer -2233=Fehler beim Durchführen der Transformation [{0}] -2234=CreateTransformsInfoProfileID nicht vorhanden (ID={0}) -2235=CreateSignatureEnvironment muss entweder Reference oder Content enthalten -2236=CreateSignatureEnvironmentProfileID nicht vorhanden (ID={0}) -2237=Fehler beim Auflösen der internen Referenz (URI={0}) -2238=Fehler beim Auflösen des Transformationsparameters (URI={0}) -2240=Allgemeiner Fehler beim Verifizieren der Signatur [{0}] -2241=Algorithmus wird nicht unterstützt [{0}] -2242=Fehler beim Parsen der CMS Signatur [{0}] -2243=Signator-Zertifikat nicht verfügbar [{0}] -2244=Fehler beim Lesen der Signatur-Daten -2245=Fehler beim Codieren des Signator-Zertifikats -2246=Fehler beim Umwandeln des SubjectDN des Signator-Zertifikats nach RFC2253: {0} -2247=Allgemeiner Fehler beim Verifizieren der Signatur [{0}] -2248=Fehler beim Vorbereiten der Daten [{0}] -2249=Das Attribut Signatories enthält einen ungültigen Index (Index={0}) -2262=Fehler beim Behandeln des Manifests [{0}] -2263=Fehler beim Parsen der Properties [{0}] -2264=Fehler beim Behandeln der Referenz [{0}] -2265=Fehler beim Durchführen der Transformation [{0}] -2266=Signatur ist kein dsig:Signature-Element -2267=SupplementProfileID nicht vorhanden (ID={0}) -2268=VerifyTransformsInfoProfileID nicht vorhanden (ID={0}) -2269=Fehler beim Parsen der Transformation [{0}] -2270=Fehler beim Decodieren des Hash-Wertes -2271=Falsche Anzahl an ReferenceInfo Elementen in SignatureManfestCheckParams -2280=Die Angabe XMLContent wird derzeit nicht unterstützt -2281=XML-Supplement kann nicht serialisiert werden (Reference="{0}") -2282=Datenobjekt mit der URI={0} wurde dem Request nicht bereit gestellt - - -2900=Interner Server-Fehler - -3201=Objekt kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") -3202=Supplement für Signaturumgebung kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") -3203=Signaturumgebung kann nicht geladen werden (Reference="{0}", LocRef-URI="{1}") - -9900=Nicht klassifizierter Fehler in Subsystem -9901=Nicht klassifizierter Laufzeitfehler in Subsystem -9999=Nicht klassifizierter Fehler - - -# -# Server internal messages -# - -init.00=Fehler beim Lesen der MOA SP/SS Konfiguration: das Service steht nicht zur Verfügung -init.01=MOA SP/SS Konfiguration erfolgreich geladen -init.02=Fehler beim Löschen der Archivdaten -init.03=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround: SSL ist möglicherweise nicht verfügbar -init.04=Fehler beim Initialisieren des Schema Pools - -config.00=Fehler beim Erstellen des KeyGroupMapping: KeyGroup mit id={0} unbekannt - die Erstellung des KeyGroupMapping wird fortgeführt -config.01=Fehler in der Konfiguration: Wert für maximale Archivierungsdauer von Widerrufsinformationen (ArchiveDuration) nicht konfiguriert oder ungültig -config.02=Fehler in der Konfiguration: {0} mit id={1}: falscher Profiltyp in Datei {2} -config.03=Fehler in der Konfiguration: {0} mit id={1} konnte nicht geladen werden -config.04=Fehler in der Konfiguration: {0} mit id={1} existiert bereits -config.05=Umgebungsvariable {0} nicht gesetzt: benutze Default-Konfiguration -config.06=Die MOA SP/SS Konfiguration wurde erfolgreich aktualisiert. -config.07=Fehler in der Konfiguration: Reason code {0} unbekannt -config.08=Fehler beim Konfigurieren der IAIK-Module -config.09=Fehler beim Öffnen der Schlüssel-Datei {0} -config.10=Fehler beim Einlesen der Konfiguration (siehe Log-Datei für Details) -config.11=Fehler beim Erstellen der Konfiguration (siehe Log-Datei für Details) -config.12=Fehler beim Einlesen des Profils -config.13=Fehler beim Erstellen des CRLDistributionPoint: CAIssuerDN={0} ungültig -config.14=Das Attribut {0} für das TrustProfile mit id={1} ist ungültig (Wert={2}) -config.15=Fehler beim Erstellen des TrustProfile id={0}: Name des Konfigurations-Verzeichnisses konnte nicht in eine URL umgewandet werden -config.16=Fehler beim Erstellen von X509IssuerSerial (IssuerName={0}, SerialNumber={1}) -config.17=DigestAlgorithmName unbekannt (AlgorithmName={0}) -config.18=Lade Keystore: {0} -config.19=Key ID={0} -config.20=Fehler beim Aktualisieren der MOA SP/SS Konfiguration. Die bestehende Konfiguration wird beibehalten -config.21=Lade Konfiguration von {0} -config.22=Lade {0} mit id={1} von Datei {2} -config.23=MOA SP/SS Konfiguration: {0} nicht gesetzt oder ungültiger Wert, verwende den Default-Wert: {1} -config.25=Fehler in der Konfiguration: Das SoftwareKeyModule mit id={0} konnte nicht geladen werden, da die Datei {1} nicht existiert oder ein Verzeichnis bezeichnet -config.26=Fehler beim Erstellen der KeyGroup mit id={0}: KeyModule mit id={1} unbekannt -config.27=Fehler in der Konfiguration: Das Attribut {0} des TrustProfiles mit id={1} zeigt nicht auf ein existierendes Verzeichnis -config.28=Einen detaillierten Fehlerbericht entnehmen Sie bitte der Log-Datei. -config.29=Es sind folgende leichte Fehler aufgetreten: -config.31=Fehler in der Konfiguration der KeyGroup mit id={0}: Der Schlüssel im KeyModule id={1} mit IssuerName={2} und SerialNumber={3} konnte nicht geladen werden -config.32=Fehler in der Konfiguration: Verzeichnisangabe für den Zertifikatsspeicher ist ungültig ({0}). - - -handler.00=Starte neue Transaktion: TID={0}, Service={1} -handler.01=Aufruf von Adresse={0} -handler.02=Client-Zertifikat: Subject={0}, Serial={1}, Issuer={2} -handler.03=Client-Zertifikat nicht verfügbar -handler.04=Anfrage erfolgreich abgearbeitet -handler.05=Fehler beim Abarbeiten der Anfrage -handler.06=SOAP Attachment mit der id={0} für Request hinterlegt (MIME Type des Attachments={1}) -handler.07=SOAP Request empfangen: Request={0} - -invoker.00=Das Signature Environment konnte nicht validierend geparst werden -invoker.01=Keine passende Transformationskette gefunden (Index={0}) -invoker.02=Der Hashwert der Transformation stimmt nicht überein (Index={0}) -invoker.03=Signatorzertifikat aus Trustprofile mit id={0} konnte nicht geparst werden (Dateiname={1}) diff --git a/spss/server/serverws/resources/security/cacerts b/spss/server/serverws/resources/security/cacerts deleted file mode 100644 index 6eeaba418..000000000 Binary files a/spss/server/serverws/resources/security/cacerts and /dev/null differ diff --git a/spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.wsdl b/spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.wsdl deleted file mode 100644 index 4f9deee38..000000000 --- a/spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.wsdl +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.xsd b/spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.xsd deleted file mode 100644 index cc0a7c882..000000000 --- a/spss/server/serverws/resources/wsdl/MOA-SPSS-2.0.0.xsd +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung erfolgreich war - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung erfolgreich war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur. - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resultat, falls die Signaturerstellung gescheitert ist - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen. - - - - - Profilbezeichner für einen Transformationsweg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann. - - - - Der Transformationsparameter explizit angegeben. - - - - - Der Hashwert des Transformationsparameters. - - - - - - - - - - - - - - - - - - - - - - Explizite Angabe des Transformationswegs - - - - - - - Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird. - - - - - - - - - - - - - - - - diff --git a/spss/server/serverws/spec/MOA-SPSS-1.3.doc b/spss/server/serverws/spec/MOA-SPSS-1.3.doc deleted file mode 100644 index fabc4248e..000000000 Binary files a/spss/server/serverws/spec/MOA-SPSS-1.3.doc and /dev/null differ diff --git a/spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF b/spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF deleted file mode 100644 index 5e9495128..000000000 --- a/spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Class-Path: - diff --git a/spss/server/serverws/src/main/webapp/WEB-INF/server-config.wsdd b/spss/server/serverws/src/main/webapp/WEB-INF/server-config.wsdd deleted file mode 100644 index 43e748734..000000000 --- a/spss/server/serverws/src/main/webapp/WEB-INF/server-config.wsdd +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - http://reference.e-government.gv.at/namespace/moa/20020822# - - - /resources/schemas/MOA-SPSS-2.0.0.wsdl - - - - - - - - - - - http://reference.e-government.gv.at/namespace/moa/20020822# - - - /resources/schemas/MOA-SPSS-2.0.0.wsdl - - - - - - - - - - - - - - - - diff --git a/spss/server/serverws/src/main/webapp/WEB-INF/web.xml b/spss/server/serverws/src/main/webapp/WEB-INF/web.xml deleted file mode 100644 index 5de9f1d9c..000000000 --- a/spss/server/serverws/src/main/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - MOA SP-SS - MOA Signature Creation and Verification Services - - ConfigurationServlet - MOA Configuration Servlet - at.gv.egovernment.moa.spss.server.service.ConfigurationServlet - 0 - - - AxisServlet - Apache-Axis Servlet - - org.apache.axis.transport.http.AxisServlet - - - - CertificateProviderServlet - MOA Certificate Provider Servlet - at.gv.egovernment.moa.spss.server.service.CertificateProviderServlet - 0 - - - AxisServlet - /services/* - - - ConfigurationServlet - /ConfigurationUpdate - - - CertificateProviderServlet - /Certificate - - - - - ConfigurationUpdate - /ConfigurationUpdate - - - moa-admin - - - - - BASIC - UserDatabase - - - - - The role that is required to log in to the moa Application - - moa-admin - - diff --git a/spss/server/tools/.gitignore b/spss/server/tools/.gitignore deleted file mode 100644 index ea8c4bf7f..000000000 --- a/spss/server/tools/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml deleted file mode 100644 index 277ef8459..000000000 --- a/spss/server/tools/pom.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - MOA.spss - moa-spss - 2.0.x - - - 4.0.0 - MOA.spss.server - moa-spss-tools - jar - ${moa-spss-version} - MOA SP/SS Tools - - - ${basedir}/../../../buildhelper - ${basedir}/../../../repository - - - - - - - - - - iaik.prod - iaik_moa - compile - - - iaik.prod - iaik_jce_full - compile - - - iaik.prod - iaik_ecc - compile - - - log4j - log4j - compile - - - xalan-bin-dist - xalan - compile - - - - - - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - false - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - 1.7 - 1.7 - - - - - - - diff --git a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java deleted file mode 100644 index d334501d2..000000000 --- a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.tools; - -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.PrintStream; -import java.security.cert.CertificateException; - -import iaik.asn1.structures.Name; -import iaik.pki.store.certstore.CertStoreException; -import iaik.pki.store.certstore.CertStoreTypes; -import iaik.pki.store.certstore.directory.DirectoryCertStore; -import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters; -import iaik.pki.store.certstore.directory.DirectoryStoreException; -import iaik.security.ecc.provider.ECCProvider; -import iaik.security.provider.IAIK; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -/** - * A tool to support X509 certificate handling for configuring the MOA SP/SS - * service. - * - * This class provides functions for: - *
    - *
  • printing certificate information
  • - *
  • adding certificates to the cert store
  • - *
- * - * @author Patrick Peck - * @version $Id$ - */ -public class CertTool { - - /** Error message if the DN cannot be parsed according to RFC2253. */ - private static final String ILLEGAL_RFC2253_NAME = - "Kein gültiger RFC2253-Name"; - - /** - * Main entry point of the tool. - * - * @param args The command line arguments. A single argument is expected, - * which is the file name of the X509 certificate to inspect. - */ - public static void main(String args[]) { - CertTool certTool = new CertTool(); - - if (args.length == 2 && "-info".equals(args[0])) { - initProviders(); - certTool.printCertInfo(args[1], System.out); - } else if (args.length == 3 && "-add".equals(args[0])) { - initProviders(); - certTool.addCertToCertStore(args[1], args[2]); - } else { - certTool.printUsage(System.err); - } - } - - /** - * Init the JCE providers, depending on the JDK used. - * - * Adds the IAIK JCE and IAIK ECC providers. - */ - private static void initProviders() { - if (System.getProperty("java.version").startsWith("1.3")) { - IAIK.addAsProvider(); - } else { - IAIK.addAsJDK14Provider(); - } - ECCProvider.addAsProvider(); - } - - /** - * Print the information about the certificate. - * - * This method will output information about the Subject DN, the Issuer DN and - * the serial number of the certificate. - * - * @param certFile The name of the certificate file to inspect. - * @param out The stream to print the information to. - */ - public void printCertInfo(String certFile, PrintStream out) { - try { - InputStream is = new BufferedInputStream(new FileInputStream(certFile)); - X509Certificate cert = new X509Certificate(is); - String issuerDN; - String serial; - String subjectDN; - - try { - subjectDN = ((Name) (cert.getSubjectDN())).getRFC2253String(); - } catch (RFC2253NameParserException e) { - subjectDN = ILLEGAL_RFC2253_NAME; - } - - try { - issuerDN = ((Name) (cert.getIssuerDN())).getRFC2253String(); - } catch (RFC2253NameParserException e) { - issuerDN = ILLEGAL_RFC2253_NAME; - } - - serial = cert.getSerialNumber().toString(); - - out.println("SubjectDN (RFC2253): " + subjectDN); - out.println("IssuerDN (RFC2253) : " + issuerDN); - out.println("Serial Number : " + serial); - } catch (FileNotFoundException e) { - System.err.println("Zertifikat nicht gefunden: " + certFile); - } catch (IOException e) { - System.err.println( - "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (CertificateException e) { - System.err.println( - "Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (Throwable t) { - System.err.println("Allgemeiner Fehler: " + t.getMessage()); - } - } - - /** - * Add a certificate to a directory certificate store. - * - * @param certFile The certificate to add. - * @param certStoreRoot The root directory of the certificate store. - */ - public void addCertToCertStore(String certFile, String certStoreRoot) { - try { - // read the certificate - InputStream is = new BufferedInputStream(new FileInputStream(certFile)); - X509Certificate cert = new X509Certificate(is); - - // initialize the DirectoryCertStore - DirectoryCertStore certStore = - new DirectoryCertStore( - new SimpleDirectoryCertStoreParameters(certStoreRoot), - null); - - certStore.storeCertificate(cert, null); - - System.out.println("\nDas Zertifikat wurde erfolreich hinzugef�gt.\n"); - - } catch (FileNotFoundException e) { - System.err.println("Zertifikat nicht gefunden: " + certFile); - } catch (IOException e) { - System.err.println( - "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (CertificateException e) { - System.err.println( - "Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (DirectoryStoreException e) { - System.err.println( - "Fehler beim Öffnen des Zertifikatsspeichers: " + e.getMessage()); - } catch (CertStoreException e) { - System.err.println( - "Fehler beim Hinzufügen des Zertifikats: " + e.getMessage()); - } catch (Throwable t) { - System.err.println("Allgemeiner Fehler: " + t.getMessage()); - t.printStackTrace(); - } - } - - /** - * Print tool usage. - * - * @param out The PrintStream to print to. - */ - private void printUsage(PrintStream out) { - out.println("\nCerttool-Syntax:\n"); - out.println("-info "); - out.println("\n"); - } - -} - -/** - * Simple implementation of the DirectoryCertStoreParameters - * interface intelligent enough for setting up a simple - * DirectoryCertStore in the CertTool. - * - * @author Patrick Peck - * @version $Id$ - */ -class SimpleDirectoryCertStoreParameters - implements DirectoryCertStoreParameters { - - /** The cert store root directory. */ - private String rootDirectory; - - /** - * Create a new SimpleDirectoryCertStoreParameters object. - * - * @param rootDirectory The root directory of the cert store. - */ - public SimpleDirectoryCertStoreParameters(String rootDirectory) { - this.rootDirectory = rootDirectory; - } - - /** - * @return "MOA Directory CertStore" - * @see iaik.pki.store.certstore.CertStoreParameters#getId() - */ - public String getId() { - return "MOA Directory CertStore"; - } - - /** - * @return CertStoreTypes.DIRECTORY - * @see iaik.pki.store.certstore.CertStoreParameters#getType() - */ - public String getType() { - return CertStoreTypes.DIRECTORY; - } - - /** - * @return false - * @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly() - */ - public boolean isReadOnly() { - return false; - } - - /** - * @return false - * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#createNew() - */ - public boolean createNew() { - return false; - } - - /** - * @return The root directory given at construction time. - * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#getRootDirectory() - */ - public String getRootDirectory() { - return rootDirectory; - } - -} \ No newline at end of file diff --git a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java deleted file mode 100644 index d4393b342..000000000 --- a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2003 Federal Chancellery Austria - * MOA-SPSS has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ - - -package at.gv.egovernment.moa.spss.server.tools; - -import java.io.FileNotFoundException; -import java.io.FileOutputStream; - -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -/** - * A tool for converting a MOA SPSS Version 1.0 configuration file into - * a Version 1.3 configuration file. - * - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigTool -{ - public static void main(String[] args) - { - if (args == null || args.length != 2) - { - System.out.println("Usage: ConfigTool "); - System.out.println(" ... Old config file to be transformed"); - System.out.println(" ... New config file resulting from the transform"); - System.exit(-1); - } - - try - { - TransformerFactory tFactory = TransformerFactory.newInstance(); - Transformer transformer = tFactory.newTransformer(new StreamSource( - ConfigTool.class.getResourceAsStream("/resources/tools/ConfigurationMapper.xsl"))); - transformer.transform(new StreamSource(args[0]), new StreamResult(new FileOutputStream(args[1]))); - - System.out.println("Successfully mapped configuration file."); - } - catch (TransformerConfigurationException e) - { - System.err.println("An error occurred during mapping the configuration file:"); - System.err.println(" Cannot initialize XSLT transform."); - System.err.println(" " + e.getMessage()); - } - catch (FileNotFoundException e) - { - System.err.println("An error occurred during mapping the configuration file:"); - System.err.println(" There is a problem with the filename for the new configuration file."); - System.err.println(" " + e.getMessage()); - } - catch (TransformerException e) - { - System.err.println("An error occurred during mapping the configuration file:"); - System.err.println(" " + e.getMessage()); - } - } -} diff --git a/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl b/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl deleted file mode 100644 index fd47cbf84..000000000 --- a/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl +++ /dev/null @@ -1,343 +0,0 @@ - - - - - - - - MOA SPSS 1.3 Configuration File created by MOA SPSS Configuration Mapper - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://www.w3.org/TR/2001/REC-xml-c14n-20010315 - - - - - - - - http://www.w3.org/2000/09/xmldsig#sha1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - pkix - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CRL - OCSP - - - - - - - - - - - - - - 365 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - all - - - unused - - - keyCompromise - - - cACompromise - - - affiliationChanged - - - superseded - - - cessationOfOperation - - - certificateHold - - - privilegeWithdrawn - - - aACompromise - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/server/tools/src/main/scripts/certtool.bat b/spss/server/tools/src/main/scripts/certtool.bat deleted file mode 100644 index ae55bc4a5..000000000 --- a/spss/server/tools/src/main/scripts/certtool.bat +++ /dev/null @@ -1,25 +0,0 @@ -@echo off - -rem -rem Script to invoke the CertTool class -rem -rem Author: Patrick Peck -rem Version: $Id: certtool.bat,v 1.6 2003/05/08 11:46:29 peck Exp $ -rem - - -if %OS%=="Windows_NT" @setlocal - -set CERTTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool -set TOOLSPATH=%~p0 -set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%iaik_moa.jar;%TOOLSPATH%iaik_jce_full.jar;%TOOLSPATH%iaik_ecc.jar;%TOOLSPATH%log4j.jar - -if "%JAVA_HOME%"=="" goto noJavaHome -%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CERTTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9 -goto end - -:noJavaHome -echo error: JAVA_HOME not defined - -:end -if %OS%=="Windows_NT" @endlocal \ No newline at end of file diff --git a/spss/server/tools/src/main/scripts/certtool.sh b/spss/server/tools/src/main/scripts/certtool.sh deleted file mode 100644 index 721eff4d8..000000000 --- a/spss/server/tools/src/main/scripts/certtool.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# -# Script to invoke the CertTool class -# -# Author:Patrick Peck -# Version: $Id: certtool.sh,v 1.9 2003/06/23 16:01:27 peck Exp $ -# - - -if [ -z "$JAVA_HOME" ]; then - echo "error: JAVA_HOME not defined"; - exit; -fi - -CERTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool -TOOLSPATH=`dirname $PWD/$0` -CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/iaik_moa.jar:$TOOLSPATH/iaik_jce_full.jar:$TOOLSPATH/iaik_ecc.jar:$TOOLSPATH/log4j.jar - -$JAVA_HOME/bin/java -classpath $CLASSPATH $CERTOOL $* diff --git a/spss/server/tools/src/main/scripts/configtool.bat b/spss/server/tools/src/main/scripts/configtool.bat deleted file mode 100644 index 868df11f0..000000000 --- a/spss/server/tools/src/main/scripts/configtool.bat +++ /dev/null @@ -1,25 +0,0 @@ -@echo off - -rem -rem Script to invoke the ConfigTool class -rem -rem Author: Gregor Karlinger -rem Version: $Id: $ -rem - - -if %OS%=="Windows_NT" @setlocal - -set CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool -set TOOLSPATH=%~p0 -set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%xalan.jar; - -if "%JAVA_HOME%"=="" goto noJavaHome -%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CONFIGTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9 -goto end - -:noJavaHome -echo error: JAVA_HOME not defined - -:end -if %OS%=="Windows_NT" @endlocal \ No newline at end of file diff --git a/spss/server/tools/src/main/scripts/configtool.sh b/spss/server/tools/src/main/scripts/configtool.sh deleted file mode 100644 index f7f29bae1..000000000 --- a/spss/server/tools/src/main/scripts/configtool.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# -# Script to invoke the ConfigTool class -# -# Author: Gregor Karlinger -# Version: $Id: $ -# - - -if [ -z "$JAVA_HOME" ]; then - echo "error: JAVA_HOME not defined"; - exit; -fi - -CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool -TOOLSPATH=`dirname $PWD/$0` -CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/xalan.jar - -$JAVA_HOME/bin/java -classpath $CLASSPATH $CONFIGTOOL $* diff --git a/spss/spss.iml b/spss/spss.iml deleted file mode 100644 index c418d6693..000000000 --- a/spss/spss.iml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - -- cgit v1.2.3 From b64a634adeda3659ea34429854f79e3d9ece3957 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 8 Mar 2017 12:58:41 +0100 Subject: update hash algorithm for ECC signing keys to SHA256 --- .../moa/id/protocols/pvp2x/signer/AbstractCredentialProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/signer/AbstractCredentialProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/signer/AbstractCredentialProvider.java index df4866c30..af9ba0180 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/signer/AbstractCredentialProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/signer/AbstractCredentialProvider.java @@ -200,7 +200,7 @@ public abstract class AbstractCredentialProvider { signer.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256); } else if (privatekey instanceof ECPrivateKey) { - signer.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_ECDSA_SHA1); + signer.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_ECDSA_SHA256); } else { Logger.warn("Could NOT evaluate the Private-Key type from " + credentials.getEntityId() + " credential."); -- cgit v1.2.3 From b5c16278dcadb1255f78dd12bb08380ad6c942d8 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 8 Mar 2017 12:59:44 +0100 Subject: update java-script lib for html templates to detect Firefox >= 52 that does not support Java-Applets any more --- .../conf/moa-id/htmlTemplates/javascript_tempalte.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js b/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js index a463bae65..aed5c05dd 100644 --- a/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js +++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js @@ -129,12 +129,14 @@ function isIE() { console.log("Browser is Chrome: "+checkIfBrowserIsChrome()); console.log("Browser is Safari: "+checkIfBrowserIsSafari()); console.log("Browser is Edge: "+checkIfBrowserIsEdge()); + console.log("Browser is Firefox(>51): " +checkIfBrowserIsFirefox()) var cnt = 0; if(checkIfBrowserIsChrome())cnt++; if(checkIfBrowserIsEdge())cnt++; if(checkIfBrowserIsSafari())cnt++; + if(checkIfBrowserIsFirefox())cnt++; if(cnt==0 || cnt>1)//cnt>1 means perhaps wrong detection return true; @@ -149,11 +151,25 @@ function isIE() { var button = document.getElementsByName("bkuButtonOnline")[0]; button.setAttribute("class","browserInfoButton"); button.setAttribute("title","Java wird nicht unterstützt, klicken für mehr Informationen."); - button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von Firefox und MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');"); + button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');"); return false; } + function checkIfBrowserIsFirefox() { + var firefoxMarkerPos = navigator.userAgent.toLowerCase().indexOf('firefox'); + if (firefoxMarkerPos > -1) { + if (navigator.userAgent.toLowerCase().length >= (firefoxMarkerPos + 'firefox/'.length)) { + var ffversion = navigator.userAgent.toLowerCase().substring(firefoxMarkerPos + 8); + if (ffversion > 51) { + return true; + } + } else { + console.log("Browser looks like Firefox but has suspect userAgent string: " + navigator.userAgent.toLowerCase()); + } + } + return false; + } function checkIfBrowserIsChrome(){ var chrome_defined = !!window.chrome;//chrome object defined var webstore_defined = false; -- cgit v1.2.3 From 91708233972760fa481bac46bc2526e65db17300 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 9 Mar 2017 07:49:41 +0100 Subject: add check if local citizen-card environment is running to CCE selection template --- .../moa-id/htmlTemplates/javascript_tempalte.js | 25 ++++++++++++++++- .../conf/moa-id/htmlTemplates/loginFormFull.html | 1 + .../main/resources/mainGUI/iframeLBKUdetect.html | 32 ++++++++++++++++++++++ .../main/resources/mainGUI/iframeLBKUdetected.html | 14 ++++++++++ 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 id/server/moa-id-frontend-resources/src/main/resources/mainGUI/iframeLBKUdetect.html create mode 100644 id/server/moa-id-frontend-resources/src/main/resources/mainGUI/iframeLBKUdetected.html diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js b/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js index aed5c05dd..daa60ac11 100644 --- a/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js +++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/javascript_tempalte.js @@ -189,7 +189,30 @@ function isIE() { function checkIfBrowserIsSafari(){ var cond1 = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0; return cond1; - } + } + function setBKUAvailable(available) { + login = document.getElementById("localBKU"); + //active = (login.className.indexOf("lokalebkuaktiv") != -1); + try { + if (available) { + console.log("Local BKU available") + //login.className = login.className.replace("lokalebkuinaktiv", "lokalebkuaktiv"); + var localBKUForm = document.getElementById("moaidform"); + var button = localBKUForm.getElementsByTagName("input")[5]; + button.removeAttribute("class");; + button.setAttribute("title","Bürgerkarte mit localer Bürgerkartenumgebung."); + } else if (!available) { + //login.className = login.className.replace("lokalebkuaktiv", "lokalebkuinaktiv"); + var localBKUForm = document.getElementById("moaidform"); + var button = localBKUForm.getElementsByTagName("input")[5]; + button.setAttribute("class","browserInfoButton"); + button.setAttribute("title","Es wurde keine Bürgerkartenumgebung gefunden. Sollte es sich hierbei um einen Fehler handeln können Sie den Prozess durch einen Klick auf den Button denoch fortsetzen."); + console.log("Local BKU NOT available") + } + } catch(e) {console.log("Local BKU detection is not possible! Msg: "+e);} + + } + /* function setSSOSelection() { document.getElementById("useSSO").value = "false"; var checkbox = document.getElementById("SSOCheckBox"); diff --git a/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html b/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html index 32f0a7d4d..794145a2d 100644 --- a/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html +++ b/id/server/data/deploy/conf/moa-id/htmlTemplates/loginFormFull.html @@ -60,6 +60,7 @@ + +
- HandyBKU + HandyBKU +
-
+ +

Anmeldung an: $OAName

@@ -37,19 +38,28 @@
- OnlineBKU + OnlineBKU + + + + +
+ + + + + + +
+ +
- HandyBKU + HandyBKU +
-
+ + + + + + + +Anmeldung mittels Bürgerkarte oder Handy-Signatur + + +
+
+

Anmeldung an: $OAName

+
+
+
+

$HEADER_TEXT

+
+
+
+
+ + + +
+
+
+
+ OnlineBKU +
+
+ HandyBKU +
+
+
+
+ + + + + + +
+
+ + + + +
+

Home Country Selection

+

+ + + i +

+
+ + +
+
+
+
+
+ + diff --git a/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css b/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css index a334b258d..691166911 100644 --- a/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css +++ b/id/server/moa-id-frontend-resources/src/main/resources/templates/css_template.css @@ -23,7 +23,7 @@ /*border-radius: 5px;*/ } - #bkuselectionarea input[type=button] { + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit]{ font-size: 0.85em; /*border-radius: 7px;*/ margin-bottom: 25px; @@ -171,7 +171,7 @@ /* border-radius: 5px; */ } - #bkuselectionarea input[type=button] { + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit]{ font-size: 0.7em; min-width: 55px; /*min-height: 1.1em; @@ -210,7 +210,7 @@ /* border-radius: 6px; */ } - #bkuselectionarea input[type=button] { + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit] { font-size: 0.75em; min-width: 60px; /* min-height: 0.95em; @@ -248,7 +248,7 @@ /* border-radius: 6px; */ } - #bkuselectionarea input[type=button] { + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit] { font-size: 0.85em; /* min-height: 1.05em; border-radius: 7px; */ @@ -280,7 +280,7 @@ /* border-radius: 6px; */ } - #bkuselectionarea input[type=button] { + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit] { font-size: 0.9em; /* min-height: 1.2em; border-radius: 8px; */ @@ -313,7 +313,7 @@ /* border-radius: 6px; */ } - #bkuselectionarea input[type=button] { + #bkuselectionarea input[type=button],#bkuselectionarea input[type=submit] { font-size: 1.0em; /* min-height: 1.3em; border-radius: 10px; */ @@ -423,7 +423,7 @@ height: 25px; } - input[type=button] { + input[type=button],input[type=submit] { /* height: 11%; */ width: 70%; } @@ -464,9 +464,14 @@ text-align: right; } + #ssoSessionTransferBlock { + clear: both; + } + #stork { /*margin-bottom: 10px;*/ /* margin-top: 5px; */ + clear: both; } #mandateLogin { @@ -520,8 +525,9 @@ } .bkuimage { - width: 70%; + width: 60%; height: auto; + margin-bottom: 10%; } #mandate{ diff --git a/id/server/moa-id-frontend-resources/src/main/resources/templates/javascript_tempalte.js b/id/server/moa-id-frontend-resources/src/main/resources/templates/javascript_tempalte.js index a463bae65..ca920f63b 100644 --- a/id/server/moa-id-frontend-resources/src/main/resources/templates/javascript_tempalte.js +++ b/id/server/moa-id-frontend-resources/src/main/resources/templates/javascript_tempalte.js @@ -129,12 +129,14 @@ function isIE() { console.log("Browser is Chrome: "+checkIfBrowserIsChrome()); console.log("Browser is Safari: "+checkIfBrowserIsSafari()); console.log("Browser is Edge: "+checkIfBrowserIsEdge()); + console.log("Browser is Firefox(>51): " +checkIfBrowserIsFirefox()) var cnt = 0; if(checkIfBrowserIsChrome())cnt++; if(checkIfBrowserIsEdge())cnt++; if(checkIfBrowserIsSafari())cnt++; + if(checkIfBrowserIsFirefox())cnt++; if(cnt==0 || cnt>1)//cnt>1 means perhaps wrong detection return true; @@ -149,11 +151,25 @@ function isIE() { var button = document.getElementsByName("bkuButtonOnline")[0]; button.setAttribute("class","browserInfoButton"); button.setAttribute("title","Java wird nicht unterstützt, klicken für mehr Informationen."); - button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von Firefox und MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');"); + button.setAttribute("onClick","alert('Java wird von Ihrem Browser nicht unterstützt, ist jedoch für den Betrieb der Online Bürgerkartenumgebung notwendig.\\nWollen Sie dennoch die Online Bürgerkartenumgebung verwenden, wird zur Zeit Java noch von MS Internet Explorer unterstützt. \\nAlternativ koennen Sie auch eine lokale Bürgerkartenumgebung verwenden, verfügbar unter www.buergerkarte.at.');"); return false; } + function checkIfBrowserIsFirefox() { + var firefoxMarkerPos = navigator.userAgent.toLowerCase().indexOf('firefox'); + if (firefoxMarkerPos > -1) { + if (navigator.userAgent.toLowerCase().length >= (firefoxMarkerPos + 'firefox/'.length)) { + var ffversion = navigator.userAgent.toLowerCase().substring(firefoxMarkerPos + 8); + if (ffversion > 51) { + return true; + } + } else { + console.log("Browser looks like Firefox but has suspect userAgent string: " + navigator.userAgent.toLowerCase()); + } + } + return false; + } function checkIfBrowserIsChrome(){ var chrome_defined = !!window.chrome;//chrome object defined var webstore_defined = false; @@ -173,7 +189,44 @@ function isIE() { function checkIfBrowserIsSafari(){ var cond1 = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0; return cond1; - } + } + function setBKUAvailable(available) { + //login = document.getElementById("localBKU"); + //active = (login.className.indexOf("lokalebkuaktiv") != -1); + try { + if (available) { + console.log("Local BKU available") + //login.className = login.className.replace("lokalebkuinaktiv", "lokalebkuaktiv"); + var localBKUForm = document.getElementById("moaidform"); + var button = localBKUForm.getElementsByTagName("input")[5]; + button.removeAttribute("class");; + button.setAttribute("title","Bürgerkarte mit localer Bürgerkartenumgebung."); + + var image = document.getElementById("bkuimage"); + var srcatt = image.getAttribute("src"); + var last = srcatt.substring(srcatt.lastIndexOf('/')+1); + srcatt = srcatt.replace(last,'karte.png'); + image.setAttribute("src",srcatt); + + } else if (!available) { + //login.className = login.className.replace("lokalebkuaktiv", "lokalebkuinaktiv"); + var localBKUForm = document.getElementById("moaidform"); + var button = localBKUForm.getElementsByTagName("input")[5]; + button.setAttribute("class","browserInfoButton"); + button.setAttribute("title","Es wurde keine Bürgerkartenumgebung gefunden. Sollte es sich hierbei um einen Fehler handeln können Sie den Prozess durch einen Klick auf den Button denoch fortsetzen."); + + var image = document.getElementById("bkuimage"); + var srcatt = image.getAttribute("src"); + var last = srcatt.substring(srcatt.lastIndexOf('/')+1); + srcatt = srcatt.replace(last,'karte_deactivated.png'); + image.setAttribute("src",srcatt); + + console.log("Local BKU NOT available") + } + } catch(e) {console.log("Local BKU detection is not possible! Msg: "+e);} + + } + /* function setSSOSelection() { document.getElementById("useSSO").value = "false"; var checkbox = document.getElementById("SSOCheckBox"); diff --git a/id/server/moa-id-frontend-resources/src/main/resources/templates/loginFormFull.html b/id/server/moa-id-frontend-resources/src/main/resources/templates/loginFormFull.html index 32f0a7d4d..53c4f0d5d 100644 --- a/id/server/moa-id-frontend-resources/src/main/resources/templates/loginFormFull.html +++ b/id/server/moa-id-frontend-resources/src/main/resources/templates/loginFormFull.html @@ -12,7 +12,8 @@ Anmeldung mittels Bürgerkarte oder Handy-Signatur - + +

Anmeldung an: $OAName

@@ -37,19 +38,28 @@
- OnlineBKU + OnlineBKU + + + + +
+ + + + + + +
+ +
- HandyBKU + HandyBKU +
-
+ stop hash loop + return hashECPoint; + + } + + //second hash and check (EC Point y coordinate) + byte[] hashECPointCompr2 = ByteBuffer.wrap(new byte[1 + hash.length]) + .put((byte)0x03).put(hash).array(); + ECPoint hashECPoint2 = pubKey.getCurve().decodePoint(hashECPointCompr2); + if (hashECPoint2.isValid()) { + //find valid EC point --> stop hash loop + return hashECPoint; + + } + + ctr = ctr.add(BigInteger.ONE); + + } + return null; + + } + + + private static BigInteger ECVRFHashPoints(List points) throws NoSuchAlgorithmException, NoSuchProviderException { + + MessageDigest md = MessageDigest.getInstance("SHA-256", BouncyCastleProvider.PROVIDER_NAME); + + //create a array of encoded EC points + byte[] encPoints = null; + for (int i=0; i generatebPKAndProof(ECNamedCurveParameterSpec ecParamSpec, + BigInteger sourcePin, ECPoint pubKey, String target) throws NoSuchAlgorithmException, NoSuchProviderException { + + //generate bPK + ECPoint bPKECPointHash = ECVRFHashToCurce(pubKey, target); + ECPoint bPKECPoint = bPKECPointHash.multiply(sourcePin); + String bpK = Base64.getEncoder().encodeToString(bPKECPoint.getEncoded(true)); + + //generate proof + BigInteger k = new BigInteger(pubKey.getCurve().getFieldSize(), random); + //c = ECVRF_hash_points(g, h, g^x, h^x, g^k, h^k) + BigInteger c = ECVRFHashPoints(Arrays.asList(ecParamSpec.getG(), + bPKECPointHash, + pubKey, + bPKECPoint, + ecParamSpec.getG().multiply(k), + bPKECPointHash.multiply(k))); + + //s = k - c*sourcePin mod q //error in original document + BigInteger s = (k.subtract(c.multiply(sourcePin))).mod(ecParamSpec.getN()); + + //create arrays with 32 * 8bit array (8*32 = 256bit ==> prime order used of EC curve) + byte[] cArray = BigIntegers.asUnsignedByteArray(pubKey.getCurve().getFieldSize()/8, c); + byte[] sArray = BigIntegers.asUnsignedByteArray(pubKey.getCurve().getFieldSize()/8, s); + + byte[] proof = ByteBuffer.wrap(new byte[cArray.length + sArray.length]).put(cArray).put(sArray).array(); + + return Pair.newInstance(bpK, proof); + + } + + /** + * @param ecParamSpec + * @param pubkeyPoint + * @param first + * @param second + * @param target + * @return + * @throws NoSuchProviderException + * @throws NoSuchAlgorithmException + */ + private static boolean validatebPK(ECNamedCurveParameterSpec ecParamSpec, ECPoint pubKey, String bPK, + byte[] proof, String target) throws NoSuchAlgorithmException, NoSuchProviderException { + + System.out.println("Validate bPK:" + bPK); + + //decode bPK EC point + ECPoint bPKECPoint = pubKey.getCurve().decodePoint(Base64.getDecoder().decode(bPK)); + if (!bPKECPoint.isValid()) { + System.out.println("No valid bPK because its not point on EC curve"); + return false; + + } + + //decode c and s values from proof + byte[] cArray = Arrays.copyOfRange(proof, 0, (pubKey.getCurve().getFieldSize()/8)); + BigInteger c = BigIntegers.fromUnsignedByteArray(cArray); + + byte[] sArray = Arrays.copyOfRange(proof, pubKey.getCurve().getFieldSize()/8, proof.length); + BigInteger s = BigIntegers.fromUnsignedByteArray(sArray); + + ECPoint u = pubKey.multiply(c).add(ecParamSpec.getG().multiply(s)); + ECPoint h = ECVRFHashToCurce(pubKey, target); + ECPoint v = bPKECPoint.multiply(c).add(h.multiply(s)); + + BigInteger cSlash = ECVRFHashPoints(Arrays.asList( + ecParamSpec.getG(), + h, + pubKey, + bPKECPoint, + u, + v)); + + if (c.equals(cSlash)) { + System.out.println("Check successfull!!!!! \n"); + return true; + + } + + System.out.println("FAILED!!! \n" + + "c =" + c.toString(16) + "\n" + + "c'=" + cSlash.toString(16) + "\n"); + return false; + } + /** * @param args */ public static void main(String[] args) { + + + /* + * Test verifyable random functions with RSA + * + */ + try { + Security.addProvider(new BouncyCastleProvider()); + + String baseIDEnc = "gL/IWO/MtC+EQVLp2ie8GA=="; + byte[] baseID = Base64.getDecoder().decode(baseIDEnc); + + //use sourcePin as private key + BigInteger baseIDKeyInt = new BigInteger(Base64Utils.decode(baseIDEnc, false)); + + //calculate EC PublicKey from sourcePin + ECNamedCurveParameterSpec ecParamSpec = ECNamedCurveTable.getParameterSpec("secp256r1"); + ECPoint pubkeyPoint = ecParamSpec.getG().multiply(baseIDKeyInt); + + //generate bPK and proof + Pair bPKAndProof = + generatebPKAndProof(ecParamSpec, baseIDKeyInt, pubkeyPoint, "urn:publicid:gv.at:wbpk+FN+468924i"); + + System.out.println("bPK=" + bPKAndProof.getFirst() + "\n" + + "proof=" + Base64.getEncoder().encodeToString(bPKAndProof.getSecond()) + "\n"); + + //verify bPK with proof and publicKey + validatebPK(ecParamSpec, pubkeyPoint, bPKAndProof.getFirst(), + bPKAndProof.getSecond(), "urn:publicid:gv.at:wbpk+FN+468924i"); + + + + //verify bPK with proof and publicKey + validatebPK(ecParamSpec, pubkeyPoint, bPKAndProof.getFirst(), + bPKAndProof.getSecond(), "urn:publicid:gv.at:wbpk+FN+468925i"); + + validatebPK(ecParamSpec, pubkeyPoint.multiply(BigInteger.TEN), bPKAndProof.getFirst(), + bPKAndProof.getSecond(), "urn:publicid:gv.at:wbpk+FN+468924i"); + + validatebPK(ecParamSpec, pubkeyPoint, bPKAndProof.getFirst(), + bPKAndProof.getSecond(), "urn:publicid:gv.at:wbpk+XFN+468924i"); + + System.out.println("Finished..."); + + + } catch (Exception e) { + System.out.println("ERROR: " + e.getMessage()); + e.printStackTrace(); + + } + + // String json = // "{\"data\":{\"session\":{\"validTo\":\"2015-10-09T10:55:34.738Z\",\"entityID\":\"https://demo.egiz.gv.at/demoportal_moaid-2.0\",\"userID\":\"Thomas Georg Lenz\",\"sessionBlob\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c2FtbDJwOlJl\\u000ac3BvbnNlIHhtbG5zOnNhbWwycD0idXJuOm9hc2lzOm5hbWVzOnRjOlNBTUw6Mi4w\\u000aOnByb3RvY29sIiBJRD0iXzQ5ZjgzMDIyZjRkZjFjODMyMDNlZGU1NTQxZDY1ODU4\\u000aIiBJc3N1ZUluc3RhbnQ9IjIwMTUtMTAtMDlUMTA6MzU6NTEuMDI0WiIgVmVyc2lv\\u000abj0iMi4wIj48c2FtbDI6SXNzdWVyIHhtbG5zOnNhbWwyPSJ1cm46b2FzaXM6bmFt\\u000aZXM6dGM6U0FNTDoyLjA6YXNzZXJ0aW9uIiBGb3JtYXQ9InVybjpvYXNpczpuYW1l\\u000aczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OmVudGl0eSI+aHR0cHM6Ly9kZW1v\\u000aLmVnaXouZ3YuYXQvZGVtb3BvcnRhbF9tb2FpZC0yLjA8L3NhbWwyOklzc3Vlcj48\\u000aZHM6U2lnbmF0dXJlIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5\\u000aL3htbGRzaWcjIj48ZHM6U2lnbmVkSW5mbz48ZHM6Q2Fub25pY2FsaXphdGlvbk1l\\u000adGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMTAveG1sLWV4\\u000aYy1jMTRuIyIvPjxkczpTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8v\\u000ad3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNyc2Etc2hhMjU2Ii8+PGRz\\u000aOlJlZmVyZW5jZSBVUkk9IiNfNDlmODMwMjJmNGRmMWM4MzIwM2VkZTU1NDFkNjU4\\u000aNTgiPjxkczpUcmFuc2Zvcm1zPjxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRw\\u000aOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjZW52ZWxvcGVkLXNpZ25hdHVy\\u000aZSIvPjxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8y\\u000aMDAxLzEwL3htbC1leGMtYzE0biMiLz48L2RzOlRyYW5zZm9ybXM+PGRzOkRpZ2Vz\\u000adE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1s\\u000aZW5jI3NoYTI1NiIvPjxkczpEaWdlc3RWYWx1ZT44eE9qNmlYVzhIQzk5UGhETEZ0\\u000aOVp0M205VWliaVdrdHMzaWVQTS9CZlFZPTwvZHM6RGlnZXN0VmFsdWU+PC9kczpS\\u000aZWZlcmVuY2U+PC9kczpTaWduZWRJbmZvPjxkczpTaWduYXR1cmVWYWx1ZT5mNjM2\\u000aYjVBeGx6THdUL0I1SmdLdnhNN0haK1lEZGVldUdaRUlxc05KdHdiN05TVFhlbVFC\\u000aTExObDlJTk1aUW1Ybkx3ektCc0pra0tGTXl3MkpsNXVYcWlHWVBzMExTWTNiWTdj\\u000aTTZoeHpDaGdVVHRMWXlPcE9qemxxbE5CN2FKTVpZWU10Q2phcWNqSmxVM0wxTjBv\\u000aYUJ5QlRjaTRHdjd5TUJkdE9nRElHNVVpVEppVmVNOURZcUowZFVaZDNRcG1BK0Zm\\u000aUm10WFVzaVRzU0N0b3lWVHlXYTJWemJweTZxcDMwWkZSTU03LzU0Q0NWZHIvaDZW\\u000aTnZCQ1YydkFEMWdZaUg5VG41aTRSRmRWMFBKNTkrNS9HYXVUMm1HSVRUVmNreVk2\\u000aRlJQSjI2MUV0bmdScE8xK1FYRDZwQVZBM2V6Rm9ZbkkyQ2dYdHQ2K2EyTkV3cnBO\\u000aaHc9PTwvZHM6U2lnbmF0dXJlVmFsdWU+PGRzOktleUluZm8+PGRzOlg1MDlEYXRh\\u000aPjxkczpYNTA5Q2VydGlmaWNhdGU+TUlJREZUQ0NBZjBDQkZVQm5MNHdEUVlKS29a\\u000aSWh2Y05BUUVMQlFBd1R6RUxNQWtHQTFVRUJoTUNRVlF4RFRBTEJnTlZCQWNNQkVk\\u000aeQpZWG94RFRBTEJnTlZCQW9NQkVWSFNWb3hJakFnQmdOVkJBTU1HVTFQUVMxSlJD\\u000aQkpSRkFnS0ZSbGMzUXRWbVZ5YzJsdmJpa3dIaGNOCk1UVXdNekV5TVRRd016UXlX\\u000aaGNOTVRjeE1qQTFNVFF3TXpReVdqQlBNUXN3Q1FZRFZRUUdFd0pCVkRFTk1Bc0dB\\u000aMVVFQnd3RVIzSmgKZWpFTk1Bc0dBMVVFQ2d3RVJVZEpXakVpTUNBR0ExVUVBd3da\\u000aVFU5QkxVbEVJRWxFVUNBb1ZHVnpkQzFXWlhKemFXOXVLVENDQVNJdwpEUVlKS29a\\u000aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBSUp2MHFlOVVkdkZZU0w1STAy\\u000aR29rd0VWZnNJR2M3STdFaFZOT3hZCjltdFVlbm1ocU5yTHNMQkZnMUlpUGJrMElT\\u000aV2hPUndQeVZwL1AzK0d5R1AzMzlxWjY4VUNHVjM2MUUwUW03Y2pQZS9PMytyM0hB\\u000aTTIKWkJOOG9BWm9IbXBock5TNmZLZlk1OGt5Z3RyVWErWnlNellXVFRpUzMyU0NN\\u000aOEg1NWJsdUVGYmVaa3NuYlAwWTk0SWprZkpkZ3Z6bApNeHpybFN5b1YyeW1XQmp2\\u000aUzV3ZWxESGdiQ0t5anNqSWhUUmpKdS9vbEdKeWVuMDEvRXBJVnRTeURYTy8ySVMy\\u000adjJPOVVpRndBb3lCCllBalBubDNIeEsyQTU3N25SNjNNeGxnUDAvcytyODR1QnFP\\u000aQWxiNHFuYnBVN2x1NUd4bENQa1ptcFJvb0NRWVVSaW9DK3dqUzZsTUMKQXdFQUFU\\u000aQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFCcU83a2txL2dSYWhBdnBzUWc1TExa\\u000aUk9HRnI5cElQcnlOOXhtSkdnUG83agpLTmw3cnM3Z05TMGxtdWx1WVdXbkpjd0FQ\\u000aYndGZWI5NTRWTUI5eDlwOVFFdzVSblhhbVVZOXFhMExnY1MvdC9XWDZ2SmtaUE5o\\u000aV3BoCjhiWHdoME12bHNiZnJ2RFRKcjhjakgzcWZ4SVRwN3BhM3hiMXFFN3N1UmZm\\u000aVlVkRFhhd2lYWG5XSi9XSnIrdHdWVkhIRXFuWnoxbEEKclNETHhNOHNDakc4RGVK\\u000adzh2blF5NW1QR3JHVlRCYmE0dXBjOFVUWTFuUFY5VTJHQkpWWXVBa29WUmpiVGxO\\u000adnJMNUpxTnF5cEtjRwpiZWpqV3hncnpaa2VRZVUyaEZjanVubWd3R1ordWcyZnE0\\u000aa0trUWZ0d2NxZUpUenl6Qm9vMitPbzRUbWZic2gvb254UFdBPT08L2RzOlg1MDlD\\u000aZXJ0aWZpY2F0ZT48L2RzOlg1MDlEYXRhPjwvZHM6S2V5SW5mbz48L2RzOlNpZ25h\\u000adHVyZT48c2FtbDJwOlN0YXR1cz48c2FtbDJwOlN0YXR1c0NvZGUgVmFsdWU9InVy\\u000abjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpzdGF0dXM6U3VjY2VzcyIvPjwvc2Ft\\u000abDJwOlN0YXR1cz48c2FtbDI6RW5jcnlwdGVkQXNzZXJ0aW9uIHhtbG5zOnNhbWwy\\u000aPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YXNzZXJ0aW9uIj48eGVuYzpF\\u000abmNyeXB0ZWREYXRhIHhtbG5zOnhlbmM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEv\\u000aMDQveG1sZW5jIyIgSWQ9Il8zZmQzNTg5MmU5YThlYWNiOGUwOGYyODBhODNmY2I3\\u000aNCIgVHlwZT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjRWxlbWVu\\u000adCI+PHhlbmM6RW5jcnlwdGlvbk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cu\\u000adzMub3JnLzIwMDEvMDQveG1sZW5jI2FlczEyOC1jYmMiIHhtbG5zOnhlbmM9Imh0\\u000adHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIvPjxkczpLZXlJbmZvIHht\\u000abG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6\\u000aUmV0cmlldmFsTWV0aG9kIFR5cGU9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQv\\u000aeG1sZW5jI0VuY3J5cHRlZEtleSIgVVJJPSIjX2E3NDBjZjA5MTViZDE1MmRiNzRk\\u000aMDNjZDQ1NzUyMTM3Ii8+PC9kczpLZXlJbmZvPjx4ZW5jOkNpcGhlckRhdGEgeG1s\\u000abnM6eGVuYz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjIj48eGVu\\u000aYzpDaXBoZXJWYWx1ZT43R0hKY0NYYXlzME1pY2ZvYXc3cnFNeTZ1bUQyd0FEQmtH\\u000aOThKclJ2UUdMczJneTBOSWFvSlM2SWM1Z254RXBNcUZHZ2ZLNHBBWGxRUVh3K1h6\\u000aY0RNaURhY2tqS1c5ckptNTh0b3dxNmFEbWVIU2doTTRDVzhVb1RaQlFlazVvY1dU\\u000aNmRIT3hPVzFFOFUrTXprTEg1NjVXUWxLYkdHamVSSGNzb3V3MXFuNk1XS01EU0V4\\u000aRzQrZERzSVliMk1uaEc3OEh6TDNZK0VMVG40TWd1cXF4bmpTVC9rRkpTK2dSMm93\\u000aL2tHVHN2ZnlLWmdMZUVYTzRpVHlNM2RzRk1Ma05rM0tHSHVHRmhGeUxycUR3Sko2\\u000aTmY5OVZRTmlDZDlrUnpxOE1qWklpNWQ0SjlhSmgvRk93NFI0TXAveCsvaC9hYVhk\\u000acDVyQ09CcUVaZ3FZUXlqT2FIMlAxRHR0VkU5SU5xS2w1OXh5ZTJaR0tDd1p5TTgr\\u000adWdSRnVDbTJ2RFlRSUx1T1RTaVNpbkJsNnBpLzFYRktNL1lVbTRJMXA0N21LNDlE\\u000aeW9Ia0lBaUk0NjQ2ejNJZ0tMZTBnaFlQYUlvTHhNcDE1ZE83RHRDQzhsZnYwb3Qx\\u000aYVdvTy9TcGpXaVJiOEhCaXdleGxTdHV4dVorUGVqZDlzUS9neTNFOFp1MWJXRmsv\\u000aTDVrNTZqUTAxZStIcEdORW5FSml1c1RHWldMRTZBY1lvd1NCeEZidC9RUHhGTlhh\\u000aRFBmcmlGRGZMK1RuMngyc2Rwb1RlMVpZM1JnZXo5b1Y2QUtJQWZZWC8zMllsT0NK\\u000aTlV5Myt4OU5teHljOFdKNTBjQ2RTd3ZuNTRBc1Z2U0xYRi9sbHIwQmh2cWRWQ0dP\\u000aTy82WGQvdEtpblFPWHdmeEJBMDVJZSs5MFZhU1J2NGFrRXJ4dHhrekVIeXB3R01j\\u000aVStieTYybDh5Q2Qya01vMnpQK0hmZ3NkTU9Ba2hrbDUvRXB2NVdiZGMzeElKRUhK\\u000aOVptbitUdGNWR2FiOHNPeSsyblIwQWNwZDJxeVIvNkNUd3dodk5nbXF1TldiLy9P\\u000aaGNxdDMvR1dPZkt0NGhrRnQxeGE2allTSXVoNHVWMHJqcENvK21ISFk4ZFZaTGZ6\\u000aNE9oR3dpNGd4bDBlV3hYUWF3UGpMWlI5RzdpQ1NCT2ZPV0d5bkdydklKSFF2VUJD\\u000aUVUwLzh3eFNxRmkxcVdQVXN2ZWtxV012SFpYTGdMMGZNYUJEa1ZZTm5YT2FlalJU\\u000aVHNZeENZc1AxYlRCNDY5ZytjRkQ1bEd0VDErTi95S3dKOUJTTGhaenhzRVhVWkhG\\u000aQ1NJTk1vTTlnaVF4TzI2L0VLUENMdXp2bnkyN3orNWdxcURkVzhlVUFCUmEyeFpp\\u000aZ204YmFkSllGWE12dkdDUVBjcmhiN3c1c3dSL2I1TXNiZXV4L3F0RFQ4R3VWcUNG\\u000ac3JDL3E4MlZpOUd5b3VCWDdGRk50UWhWRDFFVWtCQWZTYWE2UDhKU2VPdE01TVYr\\u000aV21OcGJrQ0U2M2hZS2g4cHN5MUdMdlRZRVA3Slh3TmNIWXlmS3FtdXk5S1dOVmUv\\u000aT2JPZTM5azhCWE5tWE9DejRJay93ajZqaU1DWEsrblhwdTBZQ1Z2ODJXM1BMeGlR\\u000ab1liRURMMjNHV05sNFFHQzQ1dE45WUpwK29CSGZjRStmUHk4S1FrOFBDK0s4SFFr\\u000aK21HV3NkTVUxUitTaTExY0VYdzBKTTRTczJzTWpZb05tQXd6a2RvRHliVkdnK3B3\\u000aSnUrUmFmaEJrSmpIU0FMeVQ3Y1R3dncrOW56S1BIdUhvWW5wSTRLQSt6U2xrYkUr\\u000aQ0dSbzd1MUxXVFl0cGZTYnFtd1NjYVlxU01WaTZ5QVdkRnoyS001LzlkVHB6alBY\\u000aNGhOZW82ZE96eVRHUkFMVnVUZi9Ma0RqaElqWGJ0Z2J6ZnU0aWdrWXg3Q2d1RnZ0\\u000abVlkTEhNSE4yRnFOTkN1UWk2bTJLUGYyUG5HdmVrSFVwMEJYZ3NEOUhkZFJtNHBF\\u000aYnE1VEsvV05RTzBuS0g0M1owOU9NcWZZbHEybk5mTi84ZnMyTjc1c2h5NmtheElK\\u000aL0FZUlNkOUU5M1VjOWJmV2FIeUwraWNNTE1GelU5MytMZlhpREkyWDVScEVtSnFB\\u000aSUMwVlJ0NWtXdnlVNGVlWnhOdE8zWUtxUnN2YVo0dzhnZ0I3dkxheFFKUWtnMWhs\\u000acVAzQzhDQW5HWnkrdDR5alRVejA1LzlpQi9HRk1DdDNteEpPajUvaVdTOTZRRW54\\u000aVm8wdVYvYzhDRFd6OERHYzYvLzFBQzBWS0VmaGRsSmFGOHg1NzVHNTI2dHoxTVln\\u000aMHBaaitNRzlsRUxkNm12d011cVE3VEVZdEYyN0Y4Vk5iQ29ZWXUraDhJTCs1Y0Vr\\u000acnBjakUzMm9MbWx4ZjBjNnpZaDhwa3FsVTR2RHlQeGJJcm50WkFPcThMUzk5Vktr\\u000aUjdFL0w5OXNoZUxqd3I0bTJtQ21CZ2tGZVZhVG1Ca00vSFd4MUNEYjlIcVM0N25Z\\u000aSWJaQW94ampIK0QzR1EweXlES1R3aG1iSXNHMFQ4Ry96eStRR0pmNkg2MXg0M1ZJ\\u000abkNwRkxmQjNiQUNJay9OanhCeFdheGVwMXRMMTRBSlRMZlROTnA3K3dCT016THhm\\u000aSHBjSUlWT2dOeXJ6UVk2Q0x6eXlDM2hub212a0hadFJ2WmpBYmExMmJSZ3VoTUJX\\u000aOFZiaHNKMmZaekZ3TXp0amxzSEkwREc2OGs1R0JDemFDQVRPZlBBWnFPN2lEQ2JC\\u000aMW1KSEgzTmxvQ2xuL1pTY01rOUVqTERyTndIWHZ4ZEFTRFMwS1RrZVNxS21TZm54\\u000aUWlSQ3lLNjhrSEZNc0trUTRYS3JKZjZGMWRreVYrL3NFdzRsS1FFYW52VkVVSTJx\\u000aUExDSVZnVWVkQVFaeFAxeVp0dDA1V2ptSUdhZnhQMldWNE9PYm8vTGFaamo0YW9H\\u000aNjNxWkdGdGJyWUt4TVc1Ny9RL0ZkbjN5TUpmUlkxVGU0UCtpTTNHUjNRcU1QeVMr\\u000aZWZDMlRDNk9pYithOHZ2SVcxTFI4OGV0V2t4SHJzMEpVcVRpM1ZEY1lXNEcwUHVn\\u000aTFhsZEYwWVVod1RLaTlOUjZmWTNXMXBTQUlNRGYvbk5hcVBIUnNLVWU4Z3pwcll3\\u000aOUdWLytXWjkrNUxEQnYzWmNKVGlLcllOcG1TUHl2MDdvNWx2Mmo2MXJtaEdsQVJ6\\u000aODJzWlhDUzA5K0lyaUpmVUg4bko0NFRFUk8wb1pBd2RxZWhEVmQ2YzZIV044dlJI\\u000aeEVJZWhmeXJhUVZ5Q3FlQkU3d3VPcXZFSmI2R0Urc1czNlBMNGFwT2ZMcCtISU5V\\u000aMkRhbVBrWHJWdVV6Q1dWZWlXaGIzSVBPNk81WkNENVp5RHlQc0liV3RuMnc2bnpI\\u000aU3EyUDhOdmZZRHhTcmM2YlU1aThoQ0FOZFdudTliMWJia0tXTXhUazhjamQ2bk8w\\u000aN1FtZnJFZGJCQ1ptWmh6blJ2cmRYMDdHSXo0YXhtM0Z2UHBtazBvZ1FaUzBieDd1\\u000aSWhFTDhGR2ozQW9lSllpOFB0dFA3NmFKaTRPYndlUmhlWVE2L1p0NHlPcXhabUph\\u000aMEFnTjJieTlpT1kyZ2tLclg2RTY1UWMzM2Q0Wlh6aXdDc1BsNVlGQmY1bG9ndGFE\\u000acXFVU0p1TEQyUEMyZEZNeDAzaGkrcUpSNmxPZ3ozYjJrM3dUTjhGTjJBMnQycHo2\\u000aNjJSS3IyQVRuSklrZkdndHVTcFlicGdab05VL0pheS9qMERWMXRaMkFmODdsUU43\\u000ablphdmF0YjVvbWx1Vi8yU3ZVYk5rbW1HdUhrTmFjQnNuTjIza3FOTEFrMmZvQ0xZ\\u000aT1FZaG5uQm1ZTUdYdS9tOG9haXdmUzhxRlZyYllTc0tKSWpLU1ptaFZBU3hXa01t\\u000aT3lSVUcrYkhlQ3RuT3ljWmlhb25XZElvbFUzT2hJMi9JTkpDSUNzQjJNWGhtNkpa\\u000aOEFtcUlqSGQxR1JvVElRTDlFNlBUbGF1MVB5dDhmbnl0aERac2R5L1dmMGU2SGRy\\u000abXJleXBiaE5PYTh4NUF4ckhaRGxjemttaUJyOHEzU0dYU1JVWUt0YndGUk5DZjFX\\u000aYkVyci9uN3duVmlZOENiS0wxZGJzMzlDNmtaVGlUVE16b1NCaFVKcW0xeUpHZUM3\\u000aT2pLRC9VNUFUK2NmOXV3c2hVNDhKZHNUNDVOWjJnOFNkL21xODlyTFBRVTAxNG9h\\u000aNUhRbzV4bEkvaldPUE1MM0R3MmtFVkkyZ3R0eG5HamExVk9aZVlJSGM1amJWenBx\\u000aSDMxZ2ZNYkZLTTNqNHRyaFVKVmFyM29ZWndZWnR6c1IyNmg5NWxIVlNNQzJ2MGZH\\u000aZ29nRFBMYzROejFtelNUNzQ2OFFTeVJJTzZtOTVTOTV3UWxiWXFoRzhMLzJsZW13\\u000aS1JNMUNUSGVUeVFjQlRNb1lrdU9wNFRZaVlXZzAwMjlXelNyMkhCUlFXZm9zNzc0\\u000abWlBbjBEQWtxcysybzFOdUtjTmU3cVFmY1Vnd2lHNzZJK1FZcEZPbkJSeUh1d1px\\u000acHR1WmpKTWV5amtZWC9wRE5VRkxYMmNWRGgrT0FSRUFaT3NBSVlPbnU1OWZnRHVB\\u000aM2RrOVNHMGVIclNXVkR2dU5yTDJiWm1hUXJxQmZ4bXRaall2Q0lmdDFXcmQvUkFo\\u000aeUs4bEFMNWFJZ1pZajV4WjBtV2hXd2hHTFBKNXBnMXpCeHFmZ2hyNzhRSVBQNGEr\\u000aT3YwU21qTmdwbVNQQzc4d2RPNVh6N3NzeU1mUC9uWkhVZEVJbUNqUGVMM2lJalhn\\u000aVVY1SjRnckc1cWY3WHZJQzBpNGZBdktnZ01LYXFYWGRZclBCZzFWQm5vR3BNVWZm\\u000aUU9Wa29pcjNjL2hYNWxlN1BoQlp3OVlWaEN3UDg2VU1oeGFmclp6blQzbnVUV0lL\\u000aRUMxOWVXNDJSak0wU3V2dWlreFY0L1o1UUhxcUtvNmRPamJZL1NKR1FQU1VWczdx\\u000aU3owNks1bTF4Q3Mybk51QWR2V0lVS25leE1oRUxsRTVGbGJQVkZ0Nkc3d0dLNUxv\\u000aNkV0bVZPWnE3bXpxWS84RHdUMnpUbm1UbW1lZEdIZDlUUWRCM1gxU2orUHlFRDFr\\u000aT01kYUkvVlVOWCt4bFlmUkd4RHF1Rlp2YmdTVSsxaDJHSjQ5M3VsYk9KVmJjeXpP\\u000acFFmTks5UTNNNEp2V1hPRVUzT2NPVkMwbkZGUUVEbDFEZ2h2Wldoeit6dy9sZkg1\\u000ab3UvV0kvOUpmKzB6ajJNNDE2YytTbkpneCtaSVZUd0lTQlhDc1NicW5tbG54ZE9a\\u000aSnhrbElrWXlwMGVNZ0RkTzZscHdTbXlLc21KMFVaM3ZPUFRuQXBxdTROeUxLOXUw\\u000aNzFZRVB5WUhWWnRXOUdITm5LM3RvZm5TVVZpMSsrVEx5bDY4aWRqS0RCa2hFVWNy\\u000aeWU5QkFhak1VR3VSc00zQ0RNZGlrSEd6eDVwM2RoeGIwczJTcGhxREhFLzJMSlBj\\u000aU2kyQkFVWTA1WXNDUytiWDgzb3VESDRXSmozZDM0NFFTcnFwQnk0ek11UHJPdWdT\\u000aRWo1a1Z1MjhMT1RKcnZPL09jbmxoTUYvWndielBRVVI5TmhUV21GOFV4WEE0Vjd0\\u000aK2RQNDVnTFFvYnNnVHY4MXkrUDVuTnZ2alNtL2I3aVpzZXJhV0VaSHlwNGo0bis0\\u000aSWJJTmZrcXVYVG9pcTlyVHFvZFdyemN4TkJCdDBOMTFtRWpwM2ZvYjJiVFU5QkVn\\u000aalZlTHRFSGxqVFJJV1ovK1IvTHpTaXRJL241MlNvTUI4RlVZc2lXQzF3WVBOY2lR\\u000aeEJYdFRNZ2xLY3NiVkUyN0dxSEtueDVkMlVHSE9iQVVIOGpKdmVaZUNRYVExWEZu\\u000aZ1ROdXVNcVBzdERaSFNPQ1pWVXhJajkyQTFUNkVTaFo3cTY1VjhadFEwNmdYb3dB\\u000ab1ZDc2xjaUJEZHZwUEZCL2FlV3hjbHc3cFZBQ2xBQ0ltVmhMRG5YNEtGWUNIUE5n\\u000ac2FLYU9ua05SVVZSc0Vad1pad2x2bklRdXpBRW9KTmtremd3Z2dtdHgyL09EK0NY\\u000aaVlLdE5pT3hHWDlKZEUveVovUk9qbHlSNUo5Q09CL3JNMmdlY0FWZ2dmcXQ4RUc5\\u000aQUJNVHZhN3RpVHF0M2Q4V2NjREV5S1F0aTlySXhoNWZVWGkwbTFrNlJGblNEajZN\\u000aRXZBNjBULzRJY1hPUERtYTJ2WU9EZ0NBS21IMWtnNzY1dDI4MFNtcFNnMFlnQUpV\\u000adkphSXlsdGY4VWhPWE9DdE1RaXdEVlVjSCtDTHBiSXh4a25Pa2Q5K1hYNDU3bm1j\\u000adjc5S0FMbzRjbEp0RWpqS3h1aUIrK1ZwNGxzRVlENkI2RVkzMjJiNmk4ZExkQkJu\\u000aZ0JKdXUwMDFBSjlWUFlIWlJBeDNRNDh4UU11dUp3WWdZNmlEV3hzY3lheDdENkxu\\u000aS2czbnBaYmhmVzRlc1l2NjBqdkhTNDZwem1lSlVKVmNmVUFFeWQ4azFXK3huWHFi\\u000aN1dxRFRGNXhaTHgrZHRlQk90UmR5U1NIR2cvcUhQNEFvZ3VSc2JvVFU5OEJqOWIy\\u000aSysvSEU0ZTIveDk2bkg3VzRlU0tGRGsxaWxoNk9EckE5SE1uQ3h1QWFxZXB5VTFo\\u000aRGNsZjNEVXdGamdRR3Vnb29TNHpITElvbnpxVFVjcTRzcC9SZ0YzRk00TGxpL2NC\\u000aTDdSbTYxMHZBYUprcmZWRG1JZGZ0NHd0SVVTVysyRGtoQ2lyb21LL3RLckZUbC96\\u000aTk5HMGpBTmo3SjllRWhQaE9kdzFVMHRlN3ZlakVwMGRLb09NRkRTSTNaWWJieWNs\\u000aUHJ3bkw2ZW5ocmlrWHBzNXVMVDRqT2p2NFVJSVRQSjJLN2NjWUZmQzJqZlJKMDJt\\u000aRk1wRkc0MGplcEdHblJ3cTNRZzQ5NEVhVGN2dG13SVdjbEtlVmJ5MW04N3ppc3hV\\u000aT1JWQXlnUlljU3ZvVXdxdWMzakx3MGJYVzBmUkFYVTMyaFlWUWZJUTFwY01pSDRW\\u000aRStyL3AvRGpJWS9zYngzVm1Hc1dCTGhNOFIweElVWm5YSnJyejk3S09GQkE3NGdu\\u000abVluSXJQa3lmT2hQUGVFSDQyL2VpRHUybWRWL2U0UGEzS1VLZFhjeUo4cm85MjZC\\u000aSTF3aGk4Q2h4SVVtZzZNaDQrOHg4YjhjS3VpZWtFaWZ2cU52aG1KQ3hlaThTYSty\\u000aUVpQMEx2aHAvekEwRWIxY1d0ek1VTUlFdUhJcDREa1hhY1dNZ2NuV3U0L2d4Q3Vi\\u000aMXhHaE5xWDI5U2p4SUhHeFdJRkNvQU9lVkNkL2xiSlFPS3V4R3BnMmR2RjdDUUhM\\u000adGYxQVRQaEQxRVNsNnR5dTg0dndWcTk3U3lTcktweWJxenZydHdSTFhwb0kyUHA5\\u000aWEd6S3BtaXIrT1Fva1dwSUhZTElzU0hmditDWjJDaW5aaUpEWWdtL3ZyOUZWdFpv\\u000aU0JKN2puYlA2TkpKYTlidGd0QzBFZnRTcGxPSHpicm1nMVR4M3gvNytTRlRGc1Yz\\u000ac29yejcwTWxIZE43M1ZjK3B2a080LzM4ZVF6SEFqdkhlTVgybGFMT1Ntb2Z5Nmpw\\u000aOVBWV1RMWFJmSi9kOTRNbmhaK1lvQ04vSVl2cWsyTzlPcDlzWnY3SGNHdHBMYlFr\\u000aUkh3WG9od1VpSFRxVkhEQVVxbEszUkdHdDk3ZHZJY1owSUdlRFJROGtULytCUTZ4\\u000aVGpxN3pvQmpMaGwxT2M1cUxkYldUM2FLbVNoL09Tb1BPWlR1OG5QYXROdjFIektB\\u000aOUE1UGovaDlRTCtGeldrMXM1MzZYRzJHaXRwckdiMERQaUF6MzVaU3dCdVpGbFBs\\u000acmpZbVhONWdsOEpwSVh5c3R0SFdqNTVDSWlJbHYrSnhGOXBGaSs3M0pHNkNUVkNa\\u000acVEzM2p0SmVWLzVsTnFJcGhUUUQzcS9rbDlGNTNPMGRQa0UwM01lWDJkS3p2VkV3\\u000aYldDbnNQMm5rVEhDMDloVDdkSjhVU3NMaElCZnZ4dFJ3VG1nbnRoSE5seVZrR1pK\\u000aWmxVa21QMXFHZU9tdmU4RjgzYlpSMTBNK1dyZmV1ZEJYbVJZUHgzRW5FVHkvK3B4\\u000ad1d1cVczd21WV2JxM3BsRnJCNFd3eUZuc2NNUkNuSjNuQlJQK3ZCYXprb0hpVXk0\\u000aOEJPVkJvMm0zWFRUVmRVcWRmbksvUlpXc0RhaEZKYnpWQ3cvSTlJM0lySkFRa1N2\\u000aSG1qUkRsMW5aeDdCaHU2WTR2ODZKa2dmSk5UMzRocHlYQkRaUW1YNEh0NXZacnlj\\u000aVTE0cTJ4SWVoUGNVRmMyZmQxMmNkWERvazVrSi94ZWF4Zi9RbDMxRUFzQ0xDR0x6\\u000aWFI1b24zL1VaMGtGNEx2Y3IvTVJ0VjhJWWdjbDUxcHlMbjhnbnh0ZmErVmZpMStD\\u000aQ1kySXFJUkpTeGtmWGgvTlhWam5MeFZaem42d1pGWFZ4UXBBUE03TjR5V1pkT242\\u000aMFlXK3ZCTmRGVExKZkxnTVA2UDBZWFZNRlpUVFRtVE04eWRGd2tFZDF2OUUrcysx\\u000abDRzNU50Z01yaEZVTkwxOVo0VVdSNVE5YTQwSXhhK3hBbVdPTElDQjFuUmxkZHll\\u000aeDdmVmtYSDE2WUV3RnZDVlpTWGRZODdaK3JENmZCbEtKL2lvandRbnZPV1hPS1dj\\u000aTmdEemc2bFoyYnVtREJpM1FlSllkNnU1Vk1ybGIxYk81dGZMa0xvM25ZMXROL2ZO\\u000aWmF2NDY1MnM3K3dRaFh4eVZ5bzMzQmY5d0VxaGxwN2pmcnRmY011MS9zcEhwQ1ls\\u000aOWF0MFdVbTR4UytaN3gybkgxUWtJanh4U3RaUVNmQ21LbzdiN0pGUFloVGg4QktR\\u000aQ2U2VnYzemYrUlloMkVNR0d5RXFMdWIvdG1Od2FnRGdGYXk3L3NEaTNTNnUzSmpy\\u000aQlE2b2R2ZkNrU240cytaYUdqb1I2VkNtUHF3VlorTXZQRXBKQURRUm5HS1ludlhs\\u000aUVU4dUo2MWpZNXpUUE0rUExaYytCNmdpdzZlZmNIenp6ejJJUmRPWEJGNFE0RVFO\\u000aek55ZVFrYTNoUUk5TWtFbnc0SDlZV2ljTkV4NVpKazR2NmJzeVl6T0Y3dVdiMi84\\u000ab09NNnRhWHdOWWFTSWRyQ1JxVGl3MFZOR3hVOFgvNGNwU05lSmNsRGRxVXg4TEli\\u000aazdxaCtXYkkwSnNLdHE4d3c0VDlvN3Q5MExpSTl6RWdjUisrbGVvajhxV2Z1aDZp\\u000aL0tzRGtTNFBHMmw1VFBqUWhWMHJaY1FhdW1hRzU3dXc1eUl0RnM4QVVlbTF6VWxN\\u000adjcydDhSalNnTWdBOWdWdGNCcUNlWjIwZzk4ZThWc1FwQ1Y2SDlpSWRIalZTZkFK\\u000aMG5MbnJud1BucWJPZFdvL2xJYXR4dnFSb2hwWFhyR2loSjBPMEpNNkw4Y0JJQlFl\\u000adkZxSE9qVlRIVGFpSVhxL2dQcThVUzZtcTNIS0U0S2tUR09zMXdzV0ZFRmpKei9m\\u000aeUxmYk5sVklIQ0tRTjhjb1lKdFNlSEZUMTNZdm8reTNBa1VRb2hWTno4RXg1TUJ4\\u000aMkYyeGtoZ1BLdDl2aUlLWXdGRlpOQVU5ZzZDWVRjOVY3WmtHTFRBT1JqQ0IwNTVm\\u000aTnBkSGVvRWpydElMU1lTMjZhV3Q1TmtnVVJsV2dEalpTN0t1UWZuY1dXMjQrOVND\\u000ab0xCV1VzSXhVTWVsZTEwZDhwbGxsZ01YRUR6aWEyc0NEemxvOFdOa2h2M3hZZjFT\\u000aYXBjMk8wTnVmS1p2NEVWMXhzMy8wblIrMHc1b3ZHa1UyY0ZXMnpBVUcwaGU2azhZ\\u000aTjR6QVJRallUem4wajNVa3F3Vkl5dGZuUlRYUzZEODZkTVAxaG9ETWY3N0duMzI1\\u000aRUpKM1lGanpFbEFjaURlRkgvMS93Wm4ybm1ST3hDU0p5SUxXNnJiTUdyV1JDSjc0\\u000acFNyNkZUcXRsVFdNWkExL01ZeEk4a0JlWThHaEQwWGZ4bWdPaTI5NjcxSHI4SFVL\\u000admNLYk8zWUxHemhqaEtCWklEWkNwanlUY3p6VkN0MzVOcXpGUnMzM1Z6Y0VDU0I0\\u000aWmVZSCtxS1RDZEhPK0J6VE9HOVh1am5HazJVb3BkdldldkovdVh0SDlmTGhUQjJn\\u000abUQ4azZSa3FSTnUzUjZlN1NJTlhpejFuc3pqMmo3QTlDNXE1c1VkNThjVTdNRlg3\\u000aMGkzVHJ0NUh0MloyaFNQY1hPNTU3Sk1LRVdVcFZxS1l0WmhQTWN1a2hHb0hVekJJ\\u000aTUV1bDlSYXo5c3M2RndsZHo1QmFvWDZJcW5yd2pGaXRnTjVnWUZpaHJEbmlXUVhx\\u000aaXQyTWtETmFROTIvWUlHRlJGMm5iaUdPWDFUamxqQ0VDMU1DQUwvSWxqRU4vM0ZZ\\u000aOEJLWElpdkU0RTNNRGt0eXJzWC8zOGxUZjN0YXZOVk5aVnFESHMxUmxuRUM4WEZI\\u000aUVFNZXdXWjF1RlZVM3pGOVVlcXYzcTRxZUVQREZ5R2lFN2dEV2tNbW5xYnZURiti\\u000aVysyMVJzTHBpbUphS3dqclRMTWtoaCt4Z3hvK0paWml4c1NxNXgrK0NCdEtOQ3BC\\u000aNkUwTnc1SUlnUnVzL1kwMmxQMWZ5OFVsdjU4eHBNUjVETWRmeHZ1cjlPd05BTTY4\\u000aNi9zeUwrbHVwVDZhNnRhOC82YlNPVWphNGRtMXgxWHBhWkZ1Qy9EMGxkU3ZPdTZv\\u000aQmhVVUtuYXhCalpIeXl1UkNQVlpwY0tFZDFkemE4THdJcjY0Q09CeDl5OVJSZTlV\\u000abmN0L1dIanlQSnZsWWx5OTBLZ3JFOWYzMUdkeEFoK2hHVjZrbWhIUUhpRnB2ckRi\\u000ad05tRWdhNzZlTHRLdHpGNDh2cDdZYWdOaERjZlBCbzVJMW5pOGxZcFFDeW50WVB1\\u000aWnRIZWNyNWFDQS9RSWpGZGdUSkRXaGJkVW5rbzgwa1RGRTZ1czByVUNuLzNrcUhK\\u000aeC9Lc2R3S0VxQ2ZzNUVhWW5LbVhvQW5HZWZYYVdoNkU4Mm96Tk5qVzhBSUpJcENJ\\u000aTTZrbkFjWi9mVGVjL255azZmTisyeXltaWFXWkN1ai9lS0piMWZFK1MybWxpbjEw\\u000aM05oWmtNTkJHUDNqTUF2K0l6dGVuMFFDazdySmJ6cmlTeUFGYml2aFB4bjZqQnlx\\u000aaTJKRU4xd29KOU9MYWwvaURBSXNoRXUwQ0dwQ1JMRnUralI5WE9zdktjNTdGVVo0\\u000aSHo2Z0ZBYjEvNkszWnNWSXRGZElvL2tmbHJ3Ukttc0hTN2VuZ1phOVdYSVFHb3FR\\u000ablVaYXVjb1JRVWEwa0haN0UwK0szNVpZa1lZVFRwUHJuQWhQbTJBaXdmRUpzVmQy\\u000aM0tnWUx6QW9tQ0J4Wm41RkFFd3lMVUZSTFAzOGRZR0hlZnhyR1FiemNzOUtpS3I2\\u000aQUFVRTVSM09yMHdDTUpLV1Jmbk9QZjZQdmtIdlcrSFZhZStBeEV6ZXF4TzFwOVVU\\u000ab1hoVlcra3NoRzZ3QTIvL2NkR3Y0MHJrVEh1RFE1c0Y3Q0ZGckNodlJZb0MwMzJJ\\u000aS01qa1Rzc2FKS3dqSEZlSVMzc0tjbmdEL05WR3pTK2xOcGNwSDg2RkJGQTd5SzNq\\u000aVzBrZHRmblRaLzlSSkNXblV0YXFpM3BFaWFlak0rbEs2cXRuVzdVcHhVV2o2K21x\\u000aZzNtb1FCUjZ2Yk4vS0xrSkpsUjhsUWNnQzVLamJLOUd4YXpGZlErbGprcGhKRHBi\\u000adERUZThEZ3dBSmlraGlZT1YzYjU4aTA5MXo1V0JZSmFtQmxodS80MzF2TWIwNFJw\\u000aVVdOSlphSEdySWdCNXNwdFV2SVNxSDRBYm9xN0ZNMVZjZS9pOXpMcXlGVVhXZEhl\\u000aaDBmTWFKUVp1S3NPNDFmQUtsNHhLWE9icUF6eXo5ampGTnJjZDQ4MlNZVzhrVGlW\\u000aZklEUHN3eFc2aEVhd1psaUxRYUtIa1pSU1JYempUVE4wc1draXhmU0dPTDRYNXNy\\u000adXVuajQxNDJyRW80L0NYRzhwODRWTnBrVmRXYk1USEIwT3JmcDdvQWdiLzFRUlZt\\u000aUmpyaUhMZ0Jzb25sWUJvQmNKaVpjb1ljNFJoVmROSnVGdldUaUg5MWM5dXZkdUsz\\u000aeHhoMDNlUCtTRld3Wm44NDZjZ2lGL1pDZTY0d0tVemNPT0JvbkoyVm1JZlFWYUdq\\u000aTmUyY1ZDZVNhM0IwUi9PZXBBRk1ZQmozTTM4djdabFJRUXJMVnRzVXZXMEtjbnRJ\\u000aaHZWa2NYVkpZM3RRYkFKWm44aVUzWnhiN2VvUnF0MjFGem9raVVWbzV6d0FuNDV6\\u000aZVVWUUEwaFhaN0s2K2RmUnJCSGFaMkRob0RLc3FaYkFjVDhTTExxY3dJTlBsdHha\\u000aWkUrUUdMSGc2SXhHdWZmT1VEaEtmdUtoVUlOQ0dwSisycjJqSEZrZGJRaTl1R0Ux\\u000acWh5WmtrcGhEcDRnZ2Z4RjB6QkNQZWJDOHBXRDAxaEdSUFdDVkNzRjBMdGlQV1Mv\\u000aSnU2Q09MWXZKeWhlWURYeWNFLy8wOUkxYTdYRGFaLzBLSWlhNjY5YWNZQ3pGWnEv\\u000aYkxkZjZoWWg1UHp6RlZYNjI4eUJuRnRvbm9MMGlSdlo3eEkvbXQ1alBFc05CYXgx\\u000abGhhdXZJVXlNVEdvM0xGcHZrYStiN2dYZmFPZXgyajZwb0FDdVVZKzJtZmY5Und2\\u000aWitVQThheFB1N3NydUdCaEpJZ2JyeUx0QlNwL09ZZlIzZ0ZSdjA0a3l2bVdkL2w5\\u000aTGxRanVwQ2JvUm81RjFVb09Lb28vQ2l2dWp4WmVDd09QSmdEYndNVWZ1ZUZLazcr\\u000acjFCcktGdWNzbVlhc1dYYUNua0I2TUxOVDdoeHFqYk1hM3JXcVVFa1JyNXJzWWZq\\u000aSFo3SloxdGZacHVyK1Y4M2c5V01rSkFFclhaQnRibFJMM0UxamNicmdBRXQ5MzZP\\u000aR2U3MndPTUg4akNMU2FSSzVUSHlWZmdiUDluYlcxeWdsNHdIQ0tmQlh6RVZ3bWpa\\u000aSmdKWWxtbHp0SnBNcTZJNWJBc2Y2aWlKNFJyQUJmV1VKbkdGNEhuL1RoYTBVZi9p\\u000aMEQrSi9ZUE1RNWIrTmRvajNuSU15UFk3blJ5WWNNVEpaa1lFSWJ1dzd2MXhxUGJz\\u000aTmlSZkczMmJ3dll3QlBVNTduN2lLZXJFTmpnQll6RFVSZWtmVWVxYWZtUHBPWFU2\\u000aZDBBRDJTcjM4M1BnekhsdW0wWmhEUUlnaThycmkyNVU1eDEvdmEyK1YwZWlCdnhH\\u000aTE40b0dZQjZ4a2ZFa3NNTkV4ZlpYU1dCdzlzVnBMeEVxclVqV1NGdk4xbjV5c2Nk\\u000aTi9JY3EzTDhvWDZ6WmR6bFFqWFN4amZ0L0hMR3FrSTVZTTM2K0V0MStXUFFLcG5t\\u000acEpVVnFWemJ1ei9VK0dpcUhSVGVqRDY2a01lUUJnWHB1djFRY3FBU21Tcmtyd21E\\u000aRmVCbXA0amxHV1NCM0R6djBHb2tvK1VrRWxENmRhSGtjQkJCeTlPWEdCTXhKemt5\\u000admNhQkpOY1E5KzN0SjNnVUI2c2QzR3l6ZGNienhMcWFPcFh0bkkyRVZjYXlLekRL\\u000aZ0E5RGRUNHpva3hTTzhObVFOTVMrdFprQ0hJK2ErQW5iSFRvNlJQZ3JpRVg0TG0y\\u000aTGJsUy9UZjRKbjlHaVh0V2V0UWNpbU12UXJxd0UrbTRmTEpURGgxb0ViRFhXL3Vw\\u000aSDdFTktQV3F5bEhwTFZTV2ZJcjR0QVJMaEl4NlhLeXNwYTJvY1h1UWpzRXkvVmZ3\\u000aQUlyMi9NNVZOR3JDcEdmY2Y5U3U4NTBEWFMzVUg1Ri9KM1ZEWlYwL2tiOXNVT09s\\u000aa3dnZ3VGYXR0T3l2QmZFTnNOeklUd2V2VC9mOXgzMjlyL1MxYlhJbmRvM3NHRmNk\\u000aQnlKWUFROGM4OXFaaDJsSHkrWmRvWlRiTXZESFhKOTdJVERwb2dHOExrYU1EUWhv\\u000aaExjOUhHRFluVnkrRGsxWE56d1RlajJmWS9qZWRXcUxXVDcvNm1kSmlUL1NmZW55\\u000aQ0lzQ01TU0tTZ2pVenY0TmY3SUVyeUpvYXhET1UvRGRpOTBXWjlBZ29MUi9JK0F5\\u000acDZ4ZERMV1BUZGpsa0RYbHRaQlp5MXRmV3N0QWpqM0Y0Sm5xMHBHcDBqTVJNUXg3\\u000aQWtHMGpycVFpamh6NCsvd1lrNFhLUGtsZDlQQXQ3b1lQbHdWRERMSGtIVTBOeXBs\\u000aMTVNa1lvRks5TWhNVWdJZWpoTU1UZER0eHV5Q05PVWkzUHVrdmFFVmN6SWI2RXpM\\u000ad0JyYUpzNjN0VmhPQ3lMdXBuZ2VOajNLNHltSWxhVlpHVUdxWDlrRERzbG5oZmpi\\u000aeU1Gd3lVUERtUFM3VlpJdDFVRjJZTWE1ODBjNXFpZnF2YWxFZktlQmFXdUMvOStX\\u000aREgyM3VvYjRiazMxT1JxUjRvbTNrdzZRSzhkaDZETHllNTRoSFVhdnIwNkZ6SWF5\\u000aNkZNcDZhMUljbnpGT0tremtDeWk2OW8vdFZyWHg0alVnYnNtcDlQaFUweVpKRHFH\\u000aYWFINjJyeEcwZEpkNUh3ZkZkUnpXbnBSV0JEajlFbkFkaE5VYnpLNVRJaWZaZE5h\\u000aNnJ2aXBsUk1ZK2N6ZW9CSTU0VHd5d2FPZ0dCcjJIaUVqRUhCY3pvWXdkSXNrY3Rt\\u000aRjZtZTA1N3U1RS9uMFVkTmMzbENJZXNqZml5SVdDTUxkeFNnQktXalBjSnRDSjRR\\u000aTmFFK2p2bUpCbk13cFI3enhOMU85b2tCWHFZWnozWUFUY1ZtdTgvY3V0NWs1Rk12\\u000aZTkxUlF3MysyL0FTVnRmdU91L1JOMTBYWm40ZldiWEZjcDI3NG02OUs2RkRYOVcz\\u000aNXVSWEhZeHp6OHl1L1k2TitVNzBoOStXL0psRi8zTFh4S3FveVlwZUtXdlVWRG1r\\u000aT1ArMUhhNmxNbm1BQm1Cdy9KYVg2WWN3bk1ibkZuekFVWTJvRE9lT2o0dkt6cWly\\u000aMkZMQXVUSWo1Q0VWZStHa3ZHRU4wTFNkNlZzTzIrNXBVRHc3b0FmU0IrUXd6bzFx\\u000aN2Urbm8vWWtuancwOVdEeEtpVWxoWHRqN2s5K1p1VjVWYWhmczR2bExLaVBPbmhI\\u000aQTFlRHdXRFlVdDdRSDRQUWUrZjhaV2dtcTFaTnhVUzE2Q2d0ZU9MYjFJZXVucERN\\u000aeFZUSFZaVy9sQmlzakFCaEJpY2x6a3cvWTkrcTlEdU1hbGQvU3plVHZVaXpvaUVi\\u000aM1RTVGluVUozUUt6a2lJWityOFJrdnB0WDlnZks4VWdva1BFa0tleGd3bFdmTjRr\\u000aRzMrdDlsaGw4Mm1oZzQ3bTk3Z252Qnc0L1JtOGlaNXJXRzhqOWlEbHJaMkJWVzRz\\u000aMGNmdmZsaUFTVjMzRElNenJveWFFaXBFdlZMTW96a0loTm9OdkZpRXp3NWpUdWgv\\u000aWXB3c0NtaVJ0NDVnUURyUzF2WE9lRzNSdmdPdC9rMXdhUWZIQ0ZjNkFlWVRKdXd4\\u000aWENMOU1laDFhd05qd3BFZThBbU9oK1dkYk92ZklvVXRVcXRXb1pkR0NXdWZoY0d6\\u000aNldESUxpYmUrZ1Rsem1sTitEQml3ZXRNMGt0N2V4eGg5ank5MTA0a2pkdTMydkIz\\u000aa054WWtOaUVsWUNSMnBBSHNhWC9mczE4YjJzdTRUUlRUSG1MWFVrbXdwcmhSUXpG\\u000aMkpVOWlWV3NmbEVqN2d6SlBMNGRyckxsKzkrUUdGUG44VHZFY2U2TTdLRGZUWkNP\\u000aV3o4Y0FjcW9ibVJjNGZDVFRNN0ZKRXVGUklIcXdvaERRYXZlOFJSUG5BZk1XckZy\\u000aTUJOekpUTWllY3lpWWZIcGE2U2NseExoaU9aYm8wbWo4OGpLN2FXVXdqdng2THRJ\\u000aQ3RqbTk1LzZQcjV1L05lUDJORFZ5dXVBK1pCRjl0YXNhOVBLbVY5K25uMUg5bU11\\u000aR2pndlQvUHJmMS9RUGFMUEltUjhOTFlPamdhb3crRUEzWVBZMytIT0RDQzVlRnZF\\u000aOC9PNVg2QmRpTElzVU9uL21ReUZSS0JHNEpySThkSzRyZlJXTmgvYXg3a0h5amFB\\u000aVkNGV2pQdGp4TDJjaFZ5UjBUMDE5eWdGUGwrRVZUcDFML2UxWGo0RjhRTFZzZGYz\\u000aUXNaM2g0ZGpvREVUZ3V0OFZTOTFuSDRnMzJPYjJndnEzOWtQRjNERzRjUU1kRzha\\u000aeFZEaWtIbTJrU0RjMThaTE82RkFqeXpncmp4ZWVaeFhvVzc3QWZGM1YyaWt1Yi94\\u000aamQvOFhJZzFNZHkwVHNEbGorVEpBUVVwOVBOZkN4MmxUNlBuN0dZMVNBUGptSS9a\\u000aUkVJSEdncEx4cUcrSkdBVXlROTR6b1ZnM3ZYOTNkZStXV1JEWWpxaXRXYjlvbU9R\\u000aYXhmVDF5Mk5yeWtib1pXaWNTb3lMWnhZVFU2bktrbTdUb3lMU2F5ZFo2MWhzUlB6\\u000aZXNlcDA3S3NxTU1Zc2lRT0J4VHN5a1EwcHhVenRqczRJeVkxWWtmcUdvaXZPQW9E\\u000aVStxN1dOTEpuRDZnd2x3bklSSUR3aVpuREJrckNZc0JFK3c4QUNoaTBiN3RqR3Qy\\u000aaG4zVmRjd0FabmQzOWo2RlF2Z0JtWGZERzlJRi9SUTBTNWN1OFh4OTNFaGhoOE9B\\u000aK1hTNlkyci9rbTZwTm9NaVA3TERJSk02SmRrVlRGT1h6VWszdzVrS1liQVZwRy9r\\u000aandjRGJnZVlHUkNxVHBmMFBXeG1YTU4zWjZtS2J6MVFaNnd0TGx4L0FNYTA1Tkgx\\u000aYk1zbE14TE1WWlEwdHNsdVVqSWNVamRNdGlTb3BaYzBOOWZDY3pmN3VBMUl4Skc4\\u000adFIwdnltdkVQSGdKVXVSYXhxZ1crSHV5eDd4ZVAvNVJGS2VBZmdNcTBzaS85OHVS\\u000aSFlZZFVORUZSUmQ4WXluR2lqZFlxZ1lZZkNnZnM4bmcyWDlsdnUzaFNIMkdQM2Z0\\u000aVUdMS295L24ybE43ekdjMFdxQWxDYXh0WWdNMFVwMmpQWDd2N2ZySUlTc0sxYmdX\\u000aSnZXN0xEQThJMjVEVDZaVkdOY244WkZ6RWV3VGJSdlBFNk9oeDdSc1ZBL2JwbVBP\\u000aR3prQ3N1V3A5OVhSa2tQQTNaQmluejJ1RXIzQ0NTRU04eitIeTZrV2RRTExSTlpO\\u000aZnQyV3dBWFVwc25tL0YwNmpVZXU4Nk4yWnNMeEN4S28xYnNYYlorKzNCM0NTMFYz\\u000aYXVBYXN5aGwwa1NWczI4eTdYaTFSajFZV1VabHNmQVYvR282SXZyNE5YTklpK1hY\\u000aWVJtaXNRVGI0UzNHUXRvRmhvcXdOZ1p1L3A1dzBmc2lVTDBFK1BDMjRvVkIzNzlj\\u000aUG1pUXUzdTZ5eE0vUVVCVW4vNlQ1U215MEszaUFGdTJEVU5ZRkg5NllEdFNZK0RV\\u000aVDJJVTByK1F2K24rYUJ2SC9xRmVLWXhNZTZMVlF4KzRNTk8xZzh5M0ZvYTNzckZV\\u000aT0R5azM3YlVrQUZWUXNPUWNEV2d4S2l0TU1kbWdpc0JwQXNNeTRXQTAvTnVqVGZy\\u000aUmZWVFRWVjFxWFJZL2dMVVNGbmMxMjNkbW11WEF4UjM1cFVzWERwbk0vallRcHRM\\u000aSmtNcHpPWnZmTEhNVmpVQU05WUtSOUhxSFBxaWVoN1ZZT0t4ZnlTL21ZbnpVWE1T\\u000ad3l1VHdRL0VLaEFkaVo1bHdhYnBhcEYwb1RCWWN3ZkVnejRRZDZjZVgvOWh0S0xx\\u000ab3o3RGpMVVlqRThPK1JxanpVeGJTbThvMnpHWG5yL1B3Mm5COEw4bE1yQlpTaUN4\\u000aUkJuK3lkeHZ0UnRGSm4yMWZMVmlqYzVOVFpDUVZ1bThGUlpTa2FLc2JkQmVERFNJ\\u000aaVJ3NGErY09mc3FPZjNQa2ZScTNraDJ6TUd6Ylk5b1MzWnFxSTJHdGowUmJaMFZ5\\u000ac1VTVWJnVU5uQ0lSR1RtOHE0T3J0Skp6Rk1oYm5Yc0R1MUxJbFY4b3ZTaW9VanZr\\u000aU2I3bnhQUTQxMGljZEt2NkczNmx0VFhVVkhnM0RzMFFrK2Vha3ErUk85clhBYkxD\\u000aYzBxTDhkOUFELys5NFZ0eEZ3a1M4NzltUmhGZDlZQ1FPVU9HYWRXbzJUYnoxM0hs\\u000aRDNUUUVvQ3JkQ0lwdGdhVTZ3WURjZzRtbi9IcW1aK1RuMzFJTERDejlvb2pPM2dl\\u000aYVE2aUR2eTlhVEl2TUdrKy9GR1B1emRHYmhRWmorSFFvbWNDaVMvYWxES3h0c0Nx\\u000aU3RkaWRQTmZwa3ZVSHA5UmNERHorVmlMMUlKRGcwVkg4N1N6VmNjd3Bva0NIaW9B\\u000aZGsyLy9SQ1lwbHFQWGdHbFZSV05jK0w1M3BhVFpPT3IrQXpFNUI5dVNFRDI4c0lw\\u000aVnZIb0lBbGhpZFNDT3M5UzJjdGhqYTk5WlQzREFMbFRYcFd3NDdpZmhkZ09aVkZU\\u000aNFJEYUlpMm9TMVp0SStkNXJSQ21PN1lEa3liNjhkc201UGlLZUVGdHJNYm1mcUNV\\u000adDhSWUNEd0dnNHF1UEI3Z3V3bExhNnhHczNJQTV3VVNJN0FUWC9CME9Jc1NsSFRO\\u000aZU1TYjlVbTdQTGhieUc3T1JKaXNLUjMwWEtkVFVRUjJGMzZWdzErZDVHMTBUWisz\\u000aaE9XSEc2bWlHU2hPZkFJY1hBN205VkFNWXhJM2lSUFBqLzE2STRGeExTdVFDYmFa\\u000aUmptb1hDRGRidHRYNXFqS0NXRDBBTEl3RmZ1VEFMNlVQV0NDYzRKOHpnMnJpc2pm\\u000aZ09tU015RUJ6UHVBRkc1Uk1lZi9DNGJzdHVGd1JDaUc1WkZlNmhyMUE0RkxLODAw\\u000aemw2ZDVjYkQzN3Q3amxXNmIwVHZpaVFrUS81K2dqak5QaXdPTGxPRU8vWHhXN1gv\\u000ac00zWm1EZlovZUhLMDM3VXd0QkRpNTBGaURXSHJON2svNXladnZFL2lUcUh4OHBW\\u000aSjZ4UXF2QWdLRlpFamE1Y0hEcE5MdWFTb0RIMjBzelNNL0NmU3g1SyttZ2c4L2ht\\u000aRHlBbXVPT3RJVnk4N2RQY1phUWcyZ1d0K05vbnN5eXgwR2k0eGNuNWZEZzVPQ0xT\\u000aeC81dm95REJNQnltZFp3aS9QSEtBZlRMWlBlaGlvemRDb21vS01nQ21JQ2tJS0hl\\u000aM2M0TkFTN1B2S1hSWDI3V2gwbk1aNFo5TUQxVzlVeUIvMFVoVjJQUHdLVnpvY09w\\u000aT3NEZk1WWXI0TXdxZjlXTEtFME9BQ0E2T1ppZFJYRnBKN0lUNW8wMFNzNStXZTNh\\u000aa3dER0hRRVhPN1JQc0U5SzloVmJDUDBuUk1YUDU3bFZ4WXBPRG5pRS9lK21MekFT\\u000aVm5rVlYvWUM2N0ovM1E5ZXpQdlE5VzJYcDFRTzlRUjRkVGpnTTEyRVBmUEpyTDV3\\u000aaUxaeW0zeitVNlNpUFFXQTNMSDVOdzVCQlRGMGlGRGxOaEExTVorUlIzRXU5eEQ4\\u000aWkVaV0VMMkIySGR1L1JGcDRkaFI2VE9FZDNTTDhIaDJYcm9pRE1YVnBnWU5FS1lG\\u000abENQMnlDTUNsQkFEcnNuQWVRR1Q0bVh0Rm5aMmVCSGtHNEhTUVRtQkM1NVgzRjMv\\u000aYTAxRmtNcTBtelYwSWVzUGM2UTRVc1lMWHZIQkl4L1lrT2hhTnVMMmprWnRGejdL\\u000aTDFQblRESEt5bWJJcFc1RFZuVDlFU3pHbUlDSG0xZ0lleVRMN0x5MldSTCtBTFdw\\u000aOW1aaHhJS2FxdmdmK29jNWFGaGlQellEaDFjS3ZxVDdHakxBTHk1amJrbDI4QzhO\\u000aSlFXZU9QR0hFVjRsUXJmNy9oejEzK0VrTGRaUHJuM2tJOGVzVStURXVST3pkSXN4\\u000aWUgrU1hpOGhxeGt1ZVByN0Z2aEF6bXk1WWFXYTZJT3JHNkM1RTZNTndCcmhVYXNF\\u000aMlQ5bE5OcG05a0Ywc0o5aTFud2o3WW93S3BnTVR2cWJFWUszTE05SGUzMnhRN3ZI\\u000aN2dncHloVmhBYk85cCtBZHQzT0lsanVrTC9NUGxRM3dnWDNyS1lBM205RWlyaDJ4\\u000adHhQVWR6cTI2NzNabjMwaU9vcWRBQzhVaGZFN1R2RUdMS2dZb0FlSGlqMS8wekRC\\u000aUEJNUVkyaWNwblpyK2dNV2huRlBtN1dXUmNkQ00yOFhsZTVBa3ZoSGtmM25tOU9P\\u000aV0RESStERkRPOHJhQ0N5SzI0QVhMNWxMZWwySTRlTW8zNU5kT1dRaWtidU0vWlNW\\u000aM3Y1WUdSMjB1OHlSajdrZ2Uva2FvSXk5ck8xaFA1MDFxV0xOd2owUFpIZTZ3TDhI\\u000aT1d5WHhnMmZweFRlbjRpUVFRcDJqRmEzR3hJbDk5U042emJvcEVZL3FGa0hjR2t3\\u000aeFk5S3EyOE01Rzc0ek1xK1JaTFYxVFVRV1h0Sk9lOHZWUDFkMDZPRHFSMlZrOUla\\u000aaTRwSGd5Zk9XNlBWT01WcVRGRkpJWU53cW04alJCakV2OUZ3dUluajA3ekpXRUp2\\u000aMC9sdXdaRFQ4R3pEY0RoaHdyWVFFR3BaVkl1ZVlXbkRoZnRxVkloS25zTW5KREFG\\u000aQ04zSEhFTG1VbjdJRVpIdU9Sa3A0alpSc0x6dTliK1RmSDhGYmU1d0pJVHBiSDhB\\u000adzhweUx6VTdqMk5xd28vYU5oZ0FUUmcxL3BERWpOWlArcEJ1T3hIRy9ldVM4YTBz\\u000aeEVETXFTclUxSG5jaWxFSkpMRU9yZ0tURkx2ZDB0eE8wamRGUGFLOGttRWtmWVVn\\u000aSDdJbTNudVQxSjVScDEvRXR1d0E1Mmg3YTVHWEhaTmduR2hzbE9kN1ZRLzBCQ1dL\\u000aNG9OaHBTY0FybUZibEhVMDRLY1V4dlAzV2MwNGZJOEV5ZHdZczFDbm1iLzQ1TXU3\\u000abnRCM1RkUDJOdXVoZlZHQUJyOEF5eS9UTDBSYytZdTcyQUxFZ0w2MkNtekNyOG9R\\u000aaExEVkQ2RnRDM29PQ3lMNXJhbVNKTzVXZ2d4bTA1WlE1UFN0TWx2RmVrNnhnd216\\u000aeUNBSTRzUkc1SUV3NTQvM2N0TjZxUzRYTEFVVWNlRUg0eUQ3N1VyZEdmdWw0dU91\\u000aOGNJZEk3alFkcGZQMW5XSjZRZUgvRDFCUEZOREtwQkhCY3hRbjd3aTBGckZOSTZw\\u000aTFpEeTFZYjhYNHQxaVkvVzE1b0NQUGw1a0hoOGpyeXpUb2tRN3NSbWcvaHh0UEpv\\u000aaHNqM3dSeW9OS2ZWSHMzbzg4dExWTlpQYUNPKzhUWGxlRm5ycGU0N01QZE9ldU5n\\u000ac0luaWk4a0s4bDJ0UUVpMlVpTmtER1pGdGliR2pxdXE5cm9nUWpSMXZMNDF2czBy\\u000aaGdXL1I5OHp4RDgzUzV3c29qQndEWXpPTzBtNDB2WVFFUEVoV0NXV043SlRaWEN4\\u000aMXR2U0hDMmZUSDREa3RjaHkya29CZ28zUDdYTXZPUnYyU0w3ZGkrajlKdkVqVWxx\\u000aVkRFTWRQRDc2b1RYYXh5T3lLUzVVbE4xTDJYbWk3QlRYMmlxL2xueGwyd2VONEx6\\u000aWFBsTmdEaHN0KzRSS1VtYVB4a1QrdlJpdTZ6b3dEV0ZlNGQwUHE2azhRZU1HT1My\\u000aUFFETnhuWHNXUXZoc0UvWGJ1SEl2Y1ptUVlKTjh2bHdGSjBzdnFkV05URWlDNGdJ\\u000aWlJxWHJ1MnUybG03b2RCSVZrdjUwcVVnRENLVG9xS2tkdkYwOVhnKzZsOUNiZjJy\\u000aQWE3d1RjMlU0ZEVtR3VxZ1pyR3VYRnhVZmlKYVR5TFE5KzFLcDNnZFRJQTVFVVRZ\\u000aOUs4cWhnS2lHdjNlQmdIamU1VXhITUMvMGFwWGhiNkFySEM3RW5yOHhEbmN5YU5v\\u000aOXJmSTBjT3RCT1g1QVZsS0xZcVdnWEp1bDZTNmZSWWpvdVVjaVF2UHpBRU1iUERV\\u000aaU95ZVVTQzd6SHpHcTZ4LzlBQXFySEZrbkIxS1lYdFJYWk5zQlNJRCtTV2NNMEZG\\u000aK1B5amxJbVQ0K2pYOFJBVjVGdTNpL09hcjBJNk1NVldSZzhNQ1RsRzVWWDd3cmt4\\u000aQ2pGUW5scGs4U2NrbzlRZkNjb1FsTlhyK1Fuay9rcFROOHJHQktvQ0xZVkpNWS83\\u000aa2RYZlluOXBOWTJXejlYSlJXcXh1dFRoMXU0K0ZZUzcrY2h5b3g0Q3ZHTTZjR1BP\\u000adDFZY1BJMjl3cnlYOTFiMks1MWdOQkNzSThPQlJXTkdkdXhMUzA3aDh3eDFSOHVS\\u000aY2dETm9kWnJQQ0pnQ3ovYjd5R0EyMDFManUySEFqeUR4N0pnOUJzTmJ3dTZnZW1z\\u000ackNnOHpJQjdZOFdsQWZueUhuOWRma1dhNFRZMGx6VEZoUStOZUtEM1RaUklrV21J\\u000aQkpUcitwaW1FWmJUSFIxSk5PeUh4L0M0cFlTem94MXhGYmMxbndMck5rd1lyRElN\\u000aM3YxaDQ4eldub3Zad2hIUmk5d1kxdngzQ3RiVXVOMVYwZnVGU0U4K1pvYmNaYzd4\\u000aZDVNdUJ4RW1rYUFneWJSQ2JSRlZvUFgxdjdGMklkZGd3TFRYM1ozSGNZdG85eWJM\\u000acWowZ0FNbUpadTJGM3pYUkkxUFczc25STFpubTd6TnBCYVUrL1luQzRjSUlYL0Er\\u000aMy9zZ0tYeDR1U2tqTGlwN2lTU2xoTTRmZFQwcFBSaUVoTkRyTG16UzErWmM1UXpN\\u000aaVVFVGM5L3Q4bFJDa0E1UXhYZkdmZmJvTFNGT2VMNTV5NWEzYXhNMUtZK0VzOFBx\\u000aRnk0cGhYY0dLVHZ6dDcrdXRlOEVUdWJKUUR2cStFUnhTeWkwWm9kK2RyTC9zSmty\\u000aa2tMRnU0ZGEzOTlkS3VobGRMekM3MlZxS3VDTUN6eGtOU2NOT3ZRSlRYVHlEblkz\\u000aa3pXRnFKK2l6SXRvTm9ydVRNUEJTNkpOMEJWQmlBOFF2bjhWd1dyOXEySDBzWlJ2\\u000aNWxsUkZZZnM1bEZ5TkI5bkpONnVPZ2JMU0pNSm02ZGc2NHlITDdFOXE4OE5rZDVx\\u000aMXVhY21pd0VUN0VzVGpSUXdLMm5oN05lMC96VGVpSzdiVG1RMW1KUGpwZEEycXp6\\u000aZ3lIRGoxRVlNenhoZFZIb3lHQW4wWlhDak96T21SR0F3U05pY3VhR1I3aERpRzNU\\u000aZllxSkxLWUorUHBnYTh4NlRha0xwcnZyK2F4c01wSWNPWkFpQy9jQUV0REFQV1lN\\u000aQmZaeEI3cFdSR2NqVThPbDhzUnlwTXZ4ZDByWlpoZDR6K2NSQ0p4aEM2RDl4blMv\\u000aVHd5MWVxOFd5TmNLdDYyRkVaU0dMWXFCaWVUSUp6ODRLMnpTWFdYVzBDZnhrcDVu\\u000aZXlnbTc2eFlyWmJLUndPcmxuRVFwaEVUbVl1SzB6RjdtOERKOVBtNlBNeVl3SVVP\\u000aL2t5aVYwU0R3WW5CM05HMFdSNEtFN01jOUZOMWFtM3l2N2IvOFBPRWlNVDBpK2o5\\u000aWm5lajRMT2ZVcnVVTDBqc1UyRkxSLy9RVXpaZUpxL2NaenBKc1VEY2ZvcW1qNERI\\u000abTk1YW5IQXNPdnZJZXBqdDJsQ0dLZVExRm1yb1h1NzQyc1BQMndySmtyMDd1SThM\\u000abnN0R2xucFNPNzZ2ZnRDa2kvYjc4THJOc0VIRm42ZDgzM1JXbzUrWVhaUXllWWUw\\u000aUEovWUpad0c4bFkyRS9YZWFrTjAxSjJpT2tNK0lmVkhnYWsvUG5PRVhhOFFqOXdu\\u000aejBNKzY5eVFGVksyVDJxRW5PUmtEZmtacFJtM2x0WXdqcFhCbDJrdDVKUE5qVStH\\u000ad1A5SjJHdExWR2IyNmJleCs1QmlVNWtxbUQzaGdHUlRsVmp1WXFkS3pYL3Z5bVJP\\u000acm9MZWhHMEZtMjFpYXFvZitQd1I3ZmlOUHh4WitLa1Axb2JGb2xDalo3S2o0OWdj\\u000aR1JNSnE5U3lya3BWcVkwS21YMGw1SnpERE9QUWdiRDhlRlQ1ckhjbFc2SHVCZFdB\\u000aOHAyckhQNG5BaXhiazIrSGRsMG5Rd3QwalNwUHNsSmJrYkpYQWtaZnZJNVVwU0RY\\u000aZGpRQmlXOFNJRWY1QXhPaUFveEdGQksxKzZzS2xJMzMzNCtKYmlSOVZDQlE1akQx\\u000acjM0MnlPcDlzc2VjZEFGVmRNQXZOQk1jQlQ3Nmx1ZmVlRkNCUFRQOC9sZFF4dmxy\\u000ac1Z0SEZoRHBHa2FYSk9hck5TVlV6d25uU0djTTZUMEM3ZTJLV3l3VUpLb1pYdmwv\\u000ac3czdG5KaFhTaDE5SUJxS3BLYjBTV1piTTZFaHlPTmZHc0hqSkhuR28rVHlBQlRu\\u000abWtNY25tTkxPSjcxYzNnMjJKdk8zS0diMGRQZTNYMTEyS09LNmpEdFZPVjRIS1Ax\\u000aK3UzRkRCT2pqYWU2SC8vYjN4RVNXWTB0VmlNSEN2YUVVYkhKL0dyQXpNWElwNTNB\\u000aYVRoSXEzVlVOckJlTDVraFFjbDl3ejcxM3JLRHkzSG0wRWxnQUpYSEt2cHpYS3BC\\u000aUm1pUDFJVHdRQ1F6L3lTREF5ZldpK2pxT0hNdUxaR1oxcW9qT3V1UnhIdWFTeU95\\u000aQWFwU3F3TUtFQTlIeGlZeFB3UUEvcHFySENJS0JDRWtSUnRrNDloQlY2VXdsOVdv\\u000aMnlJQm11cC93UE9rRVVRRW9NckxKL1FMSlZyUzd0N3BaRkNXdmdwV3RoZXcwMjBj\\u000aNTQ4QmkreEl5UjdFeVFmaXB4NmFtM3JzUUNLdDdMTXIwTXkvNVBkL2d4bWVNRjlG\\u000aUmNCdUtEQ3FlWEwzeWZWZmhwMjZQQzZTenFBdmJsbzh2ZG9EWXZKenFkWGVlMXFw\\u000aYzJmeHF6bFBkMXpicEJzeTh5NjRMM2V6M1NqWDBubnMwU2NvaVVuQkozci9hUG1E\\u000aR2tzUU1UaFBlbzVOcWpVTmc2d3FUQXlDMThqc1ByNkd0VXFMQ3lSOU9UZW5RaDdM\\u000aNXVSK0FMTVRscC81N1pMMjJkc2liUUJEdmVhNEtISGhzWjZzbDBGKy9YdmR5a1gr\\u000aZWU1eExVMnFES1RlRVkwNmt3elNQSTVxWkYrTXRtVVJTUWtoYVRuRGJYRy9kd1Ir\\u000aaHdRb1RQcXpBeURLRi9ITmRZVDdzM0lxYS9zQkEyTjJZVXFJbElId3Y1TUFGclE5\\u000abXYwbFhrc0FHbzF6TUpKdVRNUFY4alFmdDh0NFB4aUY1Uml6b0s4cWI4TjBLK3RQ\\u000aTGRJdWJtcnlJRitYSXhkV0t6NDhvMWR5MWYyalFIV0V5eVJNZTNvM2NTSCtDRU5S\\u000aanM2aDdPUjhyekd3ZFJxVmlEeHRtR3FMc3lhYVZYWUoreVZ4Zm5kNmg1RGNTNlI2\\u000aclAzOS96WEtSS0dYU05zd0EyMjBjTy9ER3VsYVdtT0pLand1TkNFRHpFM01sWHc2\\u000aLzB1cllNUktsVUVVTmpDTVVxbEFPSUJ1Y3g5YnhEYmpzU0lHN0wrSDUzSFFXZnI4\\u000abVlaOXhjYnFidXc2Yk1PQi94Z28xK0RyZkQ3VzJ3YVdoOGpKUW03NFN1L1ltQldT\\u000aUjBOVEQyNXd5R21zTVJOYmZvS3VTbUZNM05pVXdOcU40eVNQa1FOaTZod1ErNmVC\\u000aT2lPcmY3aDJqdE1VUU1HVFk2dEYyZzhzUVRRZVRVa0NqRkordExVVXBlR3BRaTE2\\u000aKytHa0UwV1dJWlBzeGtuT2Q0U1lXdHZBUWxBWTV3RXlTejFYQVNLNU45cmx3TldX\\u000aWE4vSjVIaVZacE5tVDUycjkvSTlzRlhpeWN4d3NPL1prd3lMeWFnaUw1cE9hQ1g5\\u000aUzJuNmVDcmk0cjBpcUtSWTE0QlhaZEdrNGlnbHpQR2tPMU1zc3JEU2FsejZIdGJY\\u000aMWgyd1VSMHdTZGlETHpUc3o1QmR6USs1ZlVwOHMxNkFicWlxQU82Y2Y3WlpPRWFs\\u000aOFBVZlI1bzZQZ2llZVFqN1lQUjdqcmVtT1RwUDZqaXZZLzFyQzBJYThLQ2pyNzF1\\u000adVBEa3VVVlZ0MXJiZzNZaCtWVE00aWU5VS95U3lXSFUwejZIbU1icHZCZ3AzUTV5\\u000aaXN2azdtVFFDdE1uNkR5VTlKSWlDRHBhZWVGUGpaVWJiSXRqbytiWFV2SW5ZbUxu\\u000aankwaUVJYW80YmhOcERGSjAzcnltQ3NMeTRSb1ZZczQ4NWxMd3hEcEFLbG4vMWFY\\u000abUFiK0p2VFFlTE1xNmMrRUtqR1FITXJycmU2T3VaamxiKzRDVVlBYkdLclA3b2Mz\\u000aL0tVL0JrTGVpdm9lQjFXaUgvSHBncDZSNVh3VTNvUXBXTUtlc244UkhMU0NsYWUz\\u000aaW5ic2FsNUpGK25KUDFSaXZldnNya0IyMWU0OXcxU2NIbmJVdDgrZEJJc1ZqOGhD\\u000aT1p2SjdqTVR1YUJteDV6UnJGUk9OSHJuTjdOMlFPQklpUmxDVFRmSUJTci8zdkwr\\u000admxObm9GLzlMcTU5c1gxY0JrVk9qQmI5cEFJRm85TnFRMHFLdGw1YXZiSkxXdG02\\u000aa21lei9xcG9HT0FRWnF3VE4xeHpwTWtSRTBpVExPQk50TkcyazM1RUJwUUI4WmQr\\u000aekFJM3d2ZGFPV3FsRk1oSHVQTHVTejliaHhEa1RicTVwSzhMWGxNVldURFVUM29L\\u000aM0g5d1M4bTE4aW9IRnpPUUtSMnVXc0FrZ09yMEt5b0Iyb1pEN0cxejJOYWNLTmgr\\u000aOFlyZXdOanVnZTBSbDJaWmVSVkNLc015UTRqT0diSmV5K1hQWkVyWHRGNWtsMC8w\\u000aZDdMT3BVQjRUcWM2NVp3NmpBOTFRK0c0dURuN0xicXY5LzVoUFllblBHeHM2Snhl\\u000aQVNhTW41OVR4L2JYUlEyQVIrbnpyNDRMTG9xVEN2dzJCRzJ5ZlBzb3pwZlpITlIv\\u000aMWE3cGRRdjdvVzhwdWV2WjYrb1p5R3p1NDhPRmRTZjFjWnNVMUhXdnUxd2J0blgx\\u000aSGdFWU1hNm10MWR4WjlNMktzMWpMc252eDdyTjJBMHlUeXA3WndadTZCQlRTeHVS\\u000aSjJiYjY4THJFZDlSbU9FN0VKZkhpZjB1a0tKWnIwZndJM2o5bkNnWk1hMml2Yzk0\\u000ac0NSMXV5c2pWcGc3d2FoOGUyRkg5cFN4U2VZa3RqVzBnY3ZvVndLNmZiRThiWVp5\\u000aQU1DL1A0Z2JxSlRIWkZzeVA3dVVIaVhQdXoxTEhnNXdOSk5BdXYxSFEvVTlLQlBF\\u000ac1lKd1R3YmxEa0RqK0RCbE4yZEVtVHpaVkpWbGU4SGlINGhzT1NoNDQ1Q2xHREFn\\u000aL2hZTE1kYTBqSDJaS2NneVZSMnhNMVlYd3NMZTR3QnNBNUdLRkJTWERFQjZmMkIv\\u000adDJIU3VZczFmNldpbEFEaDBqaU1JcllTTnM0Z2tOTFJYU3IxbkxpaGxMV1FWNzZk\\u000aU09YOW55MTJONFFwZ2wxTzVSSzUwWjB4SktNNE0xN09xZldHcVVFNnlSYWx5V29D\\u000aakFjZzhSdE5TZzViSjhDUnRQaFJFcnNZeE51VzRVZHJSaEk5dThxU3dERTl5QmNQ\\u000aUWoyUzhodm9FYlRMbXV0SW9zRXdvdFFOeXVvU1NuN2lVQXJwSWpuVzhLc1U2VTAy\\u000aeCtzd2NYSDl4VU92ZE9ZczhCWE1tSC84bXFxV0UzMkpVcGJGNUlaWEw3TUIzMEc1\\u000aTTg2NFZmWG5HK1FUbmkzbFlSWEhyd0Z4R1FPUTY0M2hzVkZDSVVvYVhiczRkM2RE\\u000aajZPUVZhVGxtM0k4R0ttYVNNSSszR0pYNWZFVHNOYkdGcCs0ZStNZEZkak1Yb1hR\\u000abjZjSFVGN3NYd2FIVVRtekphNDZaZDBLSjVVeEdicU1oMUo5cWJLamUvWWJzNjNZ\\u000aTjAzanNWNGljZy9qNngzb1VvRWdnd2lDSW1td3pIbDZVd20zNGNmZ3g2WEFJM3BW\\u000aaTIxMHhBTll3K2M4WDNPbGxnbHlEWjlaOHE1bTZOMnV6UUZMTFRDYzVIUVU2eWkx\\u000aU2g5d2pjOUdkakJSSDErdFZ2cVVDbnUrZXZNanBZL1A4R1hDZXRIdEhGa2xER3dF\\u000aMnNQRUI1WkZVZFkvcm9WeDdRczVSWVpkMVdOVEovRkMxRk1YTkVtTkNqRFNUUk9X\\u000aVUZlaHF2d3RjUmVQVHdkdEdjVWdONmVqSXBOdTlzSWNoUFI3UkVOYWtRRWR2UERF\\u000adWl0dWpQc1g5a2ptV3A3TnB6MU1XQzV3MGlEOXdLVkhHc01jWGF1SlBwVFVCdzUz\\u000aS2M5RTNGc3F3Q0J1cGNscDRZMWpzRk94WkYrbTBweFlnSUxPS2JSTjBjZHFGT2ll\\u000aRzhKcVJidXBpaGovOEpwaVg2RlI4dWxXSXZzZ3RSU21pSVZodlo5L3V5cjVXbkxJ\\u000aNklDV1hWVHRWYVY0clF0QUFSV1VlY0JYY0FXRHcwOEhzL0sydGpNQ0t3WXIxYzg4\\u000aSU4veXdaVnBuT0lveHdxNU9wczg3cnBqS2hvaHlCMk9ORUlNZlBEM0hYZG9OQWRY\\u000aTlF0SysreG4xN05XNHF0WHFxQitFeFRDNWRGQVpvT0I3QnpiVFdKbjV4NGMvUTNw\\u000aeEMxY3Q4L291ZERnQ1drTGZpT0NYWEwxbzlqRjN4SEsvL3hhMEducFh3Nm1IRndw\\u000aNW5XZk5UMFFDSmRJcWRrM05WbklIcTJwRmhSTDFwSUptdHBTOUNuSlFiNWZLVkcr\\u000aNXFTM2pXMkNzdTZTTWFiSkpNQm5vT2l0cWpTRzJxL0pIMENKaElCZk5IeXVxK1NF\\u000aN3FhaEJmZ2dtNlRQUkMzWXFjc2V1R2Zqa1N2RnBXN3hNU3c2QlNvZWljdktVTUNp\\u000aQW1GQVB1MXBNam5MMUp3VkpFUkxHcVZrVFdZanZqanduY0pWZWhJQTFNeHNHWWsv\\u000ab0ZpbnF5TDVsSVUySmNYMi9kcXlKclB1dzR6eWxIU0ZXT0FPSWtsSEN6eVFSN0lr\\u000aeFphbGJDYmpjWGRFVFZFV1YxSnJsZzVaMHhNbG5jYnZjQnUyNWtUMC9oYmh0alNK\\u000aUnJMU0dqOGx0Vm9ONCtCWmt4Y1ZTVUtLVGhSTGtKeENBdlQwV0RkQjM4aDh3eWtD\\u000aODVib0ZmU092UWsvdXFWalczK3ZzY283V2NzRmE2OEVKdWN1Y1Y1QzhiOEJ2dFV4\\u000aRWRiUXZuMlNkcjNUTEFqazlsQ2ZtcUM2Mm05VEpHOXVxdi9Fc1BxNmxtWFNLdHpv\\u000aWmo2Z1Z5ZGd2T2FXajZLMnF2R20xSGZiOTlpWkdhWEV3Y1U1bUZGNVBZYlMrdVVl\\u000aTlRPODgwdTl1dVJlYzJlR2dBMVR4SlZTVHY3N3ZuRTI4cnBzQUZycWl0ZklwTXll\\u000aUW10RzAvQU05bTNMelJmT3dLNTRBeEdDRk5CV2txYmpRUll0bUlaa0hWdDVkQS9Z\\u000aaXF3KytQQjkxaWJIQ0l3WnAwdWYvL1AzdHRzVDRHUy9KNjBoZ2pWNEJwek5FVVJJ\\u000aODNkSEo2SGZHM2dlaXlNeGYwd0ZuNjVpd1loc2s0bng2WjlleDVEN0J6Y0U5K24z\\u000aWFVBVkJmcXV1V3d2Qitxb0RBK1RpMVRDQ1gzTElteVM2RkhJZU50Y0lOQTc0UldO\\u000ac3ZtY01mZTlYUi9IQ1RERzMydXk3QzhiR29RQ3JFcllreTRXTVlhSGZScXN2cjRa\\u000aWGV6TGpENTJkbHkrV3UxQVd0YmtxbzU4am9pNzgrYjhhaEREVG5ib2ZFOXdoeGxW\\u000abTdGYXB0Z2NET3E1TER1WDlNTHdZRmM2WGludDZIUGtHMUhoeE1rMGdIRk1xTzJs\\u000acm1lQ09nb2t2MndwYk1MZ0txRUxZR252amNzR3R3WDZQMzlWNnlFRmcrOCtFZzFP\\u000aR2tRUmkvbzRScTRjSm1QZ0x6ajZKVC9FK1VZV2NjQitLaXc4S29NOEJBVGVsNEsz\\u000aVFlhcHlBeUVyYW13d1NGWldKOGJDdUx6WWNRODVEWkxCRy9UaWtDUHA2RmZzQy9V\\u000aNDBCWGdzZ2IvOERKS3U4SnNQRWZ5WEhFR1I2cEZSVHoyVmE0YXRiL1hCc3NMcmpm\\u000aTUsrTVJ3dXZnTTZmQjBjbUh5eXRkbjVrdVBCUitSa0FnLzgwMVRhR3RJUml5UnlQ\\u000aYmU2aXZSa21tY29idTVGc3F4eFlCa3V0VUxoZm1JaE5Ma3EvQUhvWGZZTzdpZnRW\\u000aMkljTmE2QkZQU0NaajZ1SlY2MDBKN2swRjRnZ292UmVWZmlTMFFoSk5TeEZ2YUQ4\\u000aZVRuUHlVc21SWjY3blMvenp4QVFyN0FrTXN1S2xLVlBReVlVOTAwcFZsaGRlNEVH\\u000aalRTREcxTjYvV0crdWN0SFo3Mm1DM3VYQTdoUUVLZEdxbUs5WER6Qmp2MU1UWDQ1\\u000aakhFR3JWbU5GaytKVHJFSkVsdEdRTmJqRE96UklORklxMVgzalRtN1pZTWQ4MVNv\\u000aOS91Tk14Y2hDcXExUzkybHMrUkl0elJJSVRjZVVDMkp5NVdtQjUzUHNqdDNWYW4x\\u000aSThBaTN1OUxUa2djaGk4N2QyNXVRbEhFd0RGMWZydjgrb3NubUZBQy9GbXQ0YXA3\\u000abjRKenFzVUhDV0RucVU4RjNEVVBTRXBsSEY2UFFNc04wd0JnaEdDNmdpTDFVU2ti\\u000aci81UUlhNlZWV1B1MHE5OFdyVlNCT2dnMUxHVVZvUFVXOHdlaWdRelpXYW1PU1hs\\u000aY0FkL2lrQmVaSW9iVlY5VDlDZytWbUN4Ynk2eGhBL2kvRzZDSmVjc0c4UnpTM1dN\\u000aY1did3RyeFZicy82bVhoWGtRZWhCckhTSDZyUTdvckdMakljQk52WXRyR3FJeFF4\\u000aNDRKQjJIdUdyTUR2QW9rSEJCYXMvWlBsOGdOTVZ0L2ZqQm1ZbFdRSi84WFdBT0Rm\\u000aa0JHMG5HLzRBUldUanpkM1lsb2xKQW10Qnp0YkNGWWkvNTlaWFZvV1hBbVg2b0g3\\u000aNUhvZmcrRHdmQW1nalYzR0VvKzhUR3VnQ1BqMFRJRERvUEUzV0IvR0wvUlAyRHRz\\u000aZVZ3c0pxak1UM0tWYjVTTHZkdjNLWFJXdVF4K2JNaVZCckZQSy9uKzhZNTJENjJi\\u000aT1NPZHVka01jQVVnaHpuRUpNWUJPZGtZNnplUjRLbnljVW5wc2xiTXhVRUtsMGht\\u000aL0JiM0FCUWdzMXVGZmg5QUVEUjJ0ZmJKNEd5RE5lZSswVEVYbDlTRHFRazB1eFAv\\u000aTEFMTUp2Z1ZPdHZqaVg1bjQ5a21icVdQbldWRGo2OUxPNGgxN05IWFNhQU9uNHk4\\u000acnVrSnh0akw4VTZLdTNST0tjMnlEZVpwNUc0V1dUNVVndjJQSUdyencyM2FqMWNj\\u000abE0ycmpqeFF2V1RQS0cvaDl5bm9GWjMzWm5LNkdGSnRYUTJFQ21VTGZ4OVZ3UDZj\\u000adWpzdVNwRVQwUlo5NXk4Tzc1dmNBRnhXNnpubnZSNkkvRlBxbHE3MzM5UnBJRUFH\\u000aTFRuaUQvZkJLSi9hS1RyMXlaM0IveldiVmlsYkdYWlp3UW9uZnptYy9qS1orVTl6\\u000aWXlTMTZ2Yy9TV0k0aytiQmpNM2hoS1pKaWJFeGpGalpIQStVU2lQS2Z1VDV3T0tx\\u000aU2lsbWJLcWJNbWtNLzNKelZCTlJtSnZwNkxHdnRJdDVJMkYyRS9DTXlPMjRHQ3RQ\\u000aajdlYjlYNlA4cUd3SG81VHlmWm9Vb2VPaXNMVFFmZXpISHhXUHFGeVdKY2VmSE9B\\u000aM0VjVTgwWHhPdlhyUWlKR2laUlRWWVB6dnAzU1ovYnJRRk51bHM2Rm5FYW1hRER2\\u000aNDJqSTRyVi9TYVFPZ3dRTHdYMEd0MCtvdGRRbjd4S1diZVNHNWhNbzFXMkdFRC9r\\u000aelpJRGM5ay8vZXdkMXg0UGhGekRFcjMzSDVtQ09mYTcvTi9KR2wvYXpFUnl3Qm1j\\u000aTDZ1enBFQWd0YXRrSjViQytnVy9objM3WDRRZml6cnZzQURXVU5uMTljK3ZzZG9M\\u000aelNwUmVzNDB2azQxUk9SakZ6eFEraUZnRTluVXZLSEx2ZnpwSHVkeGZKRzlRZGQ3\\u000aTk9mU2NRaisvTzBHbnhOZDgySnBXZ1p0SnZHRzBGWkZ6Z29aaXhBcWorLzIrRHJJ\\u000aUjRYeUdQa29aVDJLVGYxU0RNbTR1dEhuRkYyRldtV0hxWVYxSjdwMkwxZ01kYW8z\\u000aeVA5TDFFME8xMWNBSVVNaGIvMWhvSEFIbldBYlF2OEJQUnNVTE9SdUI2dENWTGNj\\u000aenlEY3UrR01nYWU3bUdPWERaTmczM0gyTnNmV1RJMWpCd0JSYUhYaGoxUHhJc0tQ\\u000aOVdnWENNQkxlWHdHV0s0WUpDdmNUTjZoUlIzZWZ6aHd2UzZjM0k5clVDc05HaTBk\\u000aWEdIc0QyRWV5RjdtYm96cm9Zb0tSWDhXL0Ntejh4TnI2eitNS1RwSWZmb3QrZ0NP\\u000aaTN4QkJxQ2pLdmg5eTdLMVQ2MkdEVElqUjdOaXEwUkwxTEU0cVFSbDFmNkNWMGJI\\u000aMzQvMzMraERCWnJmREVmekRSNlpSTGhycmI0c01DU0ZiaUYyaXlqY1QycVJTZkVH\\u000aZENwanlHcVZQZWpWT3VvK0JZUkhoZURqVHZwNHUwV0NBS0cyNHViM0VQWnYwS3Ey\\u000aNHZGOEhQclJIcFBSVkNqdUZHa0dNK3NqWWlkeHh4VnBDa2hsZmxZZnJFUjJSMGtM\\u000aTW9Hamkway9wYnlRdEd1dnk3RDFQZ0V6UEhCUUVHSzZhaTc2U2pWNU9HUUdzMzFz\\u000aYzJKMFlRME14Ky9wNEZtb3hvek02bkxrVkNObUxWMStPSXZHaFV3cEFUd25XZTZP\\u000aUFBHeUVyVFpvalZlZXVqa3Q2ejFzNUtVdEo2YVRpMWZxRlRiY2tmUGpaaGt0K2Ru\\u000aTUdmNHVxdXhza0VDYmJTOEVEUm1DUlM4Z0poM05GQ3VGR0pzWW94OVBvWk5BaHhK\\u000abEYzaDhFNk1UWkxNUFRrWHhHS3B0VndqR3IxTmx0VGRycVNKRVFtSUZTWDQ4cUwx\\u000aeWtudXY3WEV0TWxxUGxVUVBrd1l2THhpeHNqTHJEV1R5UG5MY3RRR3EvVDJ0cFp1\\u000aYjc4cXM3Y0NoSFNMVWV5OEt3ejVxS0ZpS3ZBTjBBOEhvalhzOElZa0F0NDFJdVZm\\u000aYW9oTHVEcER2Nk5wTmtLaUV5ckZyclVuZjY4cFNybHNiTHpSTmgyek9DTitDaXZ0\\u000aOTB5S0JXbjlUeXkrdHhIcy9EL25qMzl3Y3ExWXc2VDhlR0txVDR1OExOUGJ3L05o\\u000aMm1ramxQaE5SR0R1SUZON3MyKzlmYjhlYmJQRG5LL2ozdUtieWRjNEM1QWhDbUFk\\u000aYWpzVXA0Q3dpNTVGTjJreXRZZkZ6TTlyZk95T0VlZ084bzdDOFB6WDVjcENIbHdo\\u000aZmtMWHFwMDBPUktXZ0RQQlZnaVkyT2JFaU1CeUFOZFVOK2k0dVJqUjZJUnBMMXlU\\u000aY1F4Z3JlWmVkK1hWK3BwWEtWb1dVMEowR3o1cE94MDRYY244UUh2Zno3MjdtN1NL\\u000aWDdKaVVwY1dJc1g5UmZjdFlJb1FxSkY1endSN0s0WDJYV252NVBtTk9YLzVGU2Qy\\u000abXcyN240WlFqRjZYdFRUbzZZeTF5d2dzOUpELzdnSmIwTkczMjhQcU5Hd3FFUzBo\\u000aUnBYR2RydHY5S21hbzFjWFNGN2drVHZ5RFRScXRYcHYzeER5bXROSW1pUlNOOXlk\\u000abHV4aFUydG50dXVUVlN1WEUrTkJ1QXovQXdPSU05cnNOL1F6QzZXT2hGWkNjd1lF\\u000aK3pGa0FLVUJLUzBvSG4xbmR5dVQ5d1ZqbnVDL3ZhbWNTVmwwWnhJODlpcTc1Tzd1\\u000aS0V1dGt3Wlhnei9YekdVS01NZmo4Qi9oYW40WlE3MFRidHZDNkszYUpLWXB5RlQ5\\u000aby9OazZkMzQ5MFV4Z3AyclZVQnprV3JucmtZUy8rRkV2VUd1cW51V3BrZzZra2Y2\\u000aWmFtbTVidVk2Rmx3WTJIODVxQkV5a0haWGc4RU5tWVBtc09QOFM1TU10bEZYbXgz\\u000adnJUVUlRY2RtUHV4V1RYNlArSEtvOWZyandLMkxFTmhYUXN0aldZbW5VWW93TUZH\\u000aY3l1NlR2TTdWZDUrb2VOU0tGaldQNGgxbUFMNVYyTHZWU0JSYTYxb29mQ3VPODZI\\u000aWmNQbzRPNEZoVlFXeFkrYzBLT0tFbzVlSjZiemlneTVvclM5WmY3OTlQTXdRbVJy\\u000aZmVjWDF6R3ZYMEZTeE9KdzZEM0FVZ1VhR3dSb3M3d1FlREd3QWdmUGJ3bTJLcFda\\u000aK3pGK204cTJXOHlUbitGR3J5czJ2bXJKczRTZ1YybU4yN28wRFRQV1p0a3h6Y3gx\\u000aU1JoUjM3Z3d1NUdreGVpL3A5NVdTeHNVdEozUUd4Rk91dnQ3T284V09rRjNlN3FK\\u000aSnQ5U2tYSVVpMVNGYzVRblZ6Mno1MmYzVStabzlwdlBVVnN2UlkwelFuSU1xVTFE\\u000aN2FwTEdhWGltMm84MWszQ1gwVmRJQXlaYmlGUHVEcGtZOWdvcE1FcjgrclFIQWRB\\u000aMlRZalpwQlhCV3NyNDg2Z202Um5tc1luVXlRRnFTSkNFcWhCUnhXekhBQk5GdVZS\\u000abEF6ZE5DV1Z2L1RLVXV4WmV2bTVCTWNyL3V4ZmgyTDNpUmh4Zm96cU5HMnh1RXFS\\u000adTFSR1pTRWFkVmUwaUdUVlhWcnQ1WHU5QXMxdXY0QlJGcm1GY0FpbWkxQ1ZqbUJq\\u000ad1pPNTVmeUdrL1haNGgrQklkaXJyK2Vxdm01ZmhZV1JKMmk1YmNUUE9WYTFpeXlm\\u000aZUlaNkppMC8wMk1BTVdlSzB4L0puWW90clJXblA1MGJFOC9XT3hTZ2VMRFNaLy90\\u000ad2pGaUpSTlpEQkdZcCszZGFrZ0R5VHo3Q1hWV1FRTFlGL0NLOGpXRXI4RE9ySUFp\\u000aVjNheFBaNG96YVlqWGVXNHNxQkpkTkdkZ1VzV203bmJnMDRNcCtIL2dDbmQva0py\\u000aOVNmSklaaXdtbnpJR1hXVHV6ZjlTV1ljYU5DK3dzTVBpQURPNjJsUDhoN29xWk5F\\u000ac1dpQmRTTEZ6ak9zdm5rM0Rvak1GeFFxTzlGaHF4ZWtFbmtiS0xoTFQ1d0hhZ1V6\\u000aNE43Vmk5ejNRMFI0VUoxV1pHVGF5dDVkVElYZVppWkpyc0dVc3BiVEFQTElndnM0\\u000aais4aXFwL2pGZWNpclpDRUpuOEo0V3R3UWYxYXROWC8yMlpQWWpZb2lqYXVWTm1l\\u000ac3lTUXRIbzNFYVZmVmljRzUrcHQxYm1ReE5rNlh2ZHUvbVlkVUpMSFZ6VHVpcDVO\\u000aYjdId2VYTFo5WjZwSnZMeEdJSndmR21HZjY5a3Ara2RZODhHN3JvQnN0bk9lMVZU\\u000aUjVuR0lyblhJRDlqcXdQZWF2RlAzV3BjWXRsdzJVQStZdUVVRkJkUkpDRiszdkx0\\u000aQ1pyUm4xNnlYU2tRN1FpSmdHeXV2V0p4QUdZRzYxZGJ4bG41d1ArejlWcUlyMUVr\\u000aY0pXcjZtME9takNJOCswL3lFNXdGbjdEbHlWRWxVRW5ZNzdyOGh6QXFJTUMwSTI5\\u000aNUpnc3BGY2lSaTI1eWRLMzE5c3dLc1dHVFEwZ0xFWlVnNDVxWjAyalBqRWRsM2ZJ\\u000aTm90VGl6TVBVWkdHeTlmK2JpOE9UYld6NlF1K2YxNFk5UkltbWx6N1BmUmltRzVJ\\u000aZ254ZUljRkpxcDBacW9WZ3NpeWtyTVdIaUdDVUMzejZ0d2FnT2lFZlU1bXJ0RGJn\\u000aVkU4NkFROVhWZ3hhZitpRzhYb1JVNmhIVkpNM2dhWk9EVmFYY0tiQkg5L1NaN3p4\\u000aZlI3UjBwVnJyc0U1UHE5cGJ0VUphRmRvK2hpQnpxdGRLdEJrUDdjYkFEVER2eHU4\\u000aYjhkSDdhYVMzUzlxS0dmaHUzMW0xK0hVSjZHYmhTRW9sYnlGcTJySVkyV1p1K3FX\\u000aUHVxU3NtV3NEeVRDSGJ0d2N6RVkvOCtUdEhUa1pFYmpkN0F0RGZ6dmlJRW1aazRh\\u000aRFpCdEdYMTc1NlFIb2hJT21KdGVPTWlqSEtqdk1VNHlYZVh3VkkwcFVwc09JZVhZ\\u000aNStSOWVGQVFFZUJTTG9FOU93ekpOYm1idFJvSHMyQVJWUFlaN0lZMUxOM1oxdnNI\\u000aYVY4czZVbnB6TXZNRjBMdGw1UmEycmxwa0NsOHR0a3p3bDF0T0NVYmRmc0d2UVhu\\u000aZktjVllNN3d3bXFQakFRdWJpK2dEcHZrcnVFZTFxekd1NlA4cFlsY28yN1o3WUFE\\u000aL2dzL0s2ZittSGI0VXlpeXI3cklaampSb2c5UWN4NDR3TXF3RWZvbWQwQXFlbWo0\\u000aQTZ3Q1ZVSjFUN1ZwVmYyc0FSWWVnLzAzbWMvTzZySTZtSTVTQ0tKZ0J2UWhvNEN2\\u000aWVYrNzNNbVg3Z1dNUHRkUExydE9vbk13M1V5aEtxODNuV05nSUFhbDZySlhaV1Bl\\u000aYXVVbjVVdm5jeElNZFMzWjFjRndsRHhVd0ltRytGWnJrTGpqWm1XaDRjdzVGOGNj\\u000aOXhSZk93WW5aaTJJMVRUeExLcTlDOUgrak1sOUxna2hoemtWZDFSZUFkcFpZYUdw\\u000aZnlSUzZsWlBWaDZiNlA3a0lsdlhremplcDhkZUprNm5ycWlQL2ZBdFNTQVNUcTdY\\u000aVVVQUEhnSW0rNTR4UWcrdlQ2MHVHY2ZPaHljN0owd29ia1lYMDJ1Q3p0c2lranRa\\u000aRW03WTEvOWRjekx2c2xodUZ0d1UzTWF5Q0QwakRmRkhKbVJCMmVLWmxRZHZmU1A0\\u000acmJ6SGdwMEpzQUJlNndTMlkzdDd2VTJDdklqM3djTlZRTkZCQnZYbmk5SWNxQVNm\\u000aREVWMGhYc3F4YWtQNFAvRTVDMCtkNVR6eDBIRlF6czk2ajNEcnlHNjl4eTByRzBV\\u000adGZLRDBmK3VMc3NQVERybWNhU1ppVXh0WmJqbGtpR0hDU2R5YVo2RlNSYWhMcXpH\\u000aWVJ3YW9wRENDVHhQNXh6WnZaMGIxWDlveWE5c2JRZWFEVEtJZmdmMnc3RVEyZEZn\\u000aLzdCN25lZUxJSVdWTXZvK1pzMUpsR0RuWWpvVUdRYU9ITWI4ZFlIWUJnbEZ6UjJp\\u000aZUN4SjFhU3haQkFQNGFtalErQWp2RDE0MXk3WWsrVnNMeG9jdHcrbzVCRndHOU5m\\u000aVHJzT3MyQ09IckRoZW43TzYwMFNuNWh6MVNhclJHbzBTQjZBOUxJdnc3OUwxZFJ1\\u000aeUc4aWVjaURhRmVVb0M3OERCTjFGRFJyNEpxYmlHTjdXZ0JLQUpyRmd0L1dZMjNV\\u000aSEJPTFpOSHBGZ2lwNnFmNEtTNENRWFFuL1o1MUx3MXhHQUFRSWc0RUxGbjlDcitz\\u000aME94czZkWXZmeVhMWVhiOXkwa3ZyTnZXZDVZUkFWWHZENkFpVTRtOUJZNmZEWFNa\\u000aWm9ma0w5em1BU3Q4anpVZnRPWU94OWVqNzRJeDRQdmRyYmdVV2MyV3hvOWc0U092\\u000aTy9jVlFjd1RPYmFxNkFuVjZIVkl4dGtpakRkeG96dDhYTEJCdVBncFlZWnRWcHJ4\\u000aTGlVb3g3ZGpDRml3cVVYZEo4Mzg1a1gvcXdVNXlYZWwyMnM2c1BHSU95RlI4REw1\\u000ac2ZacW1Qei95bDA1RGJMaTBoTjlBaU9jQStVQ1ExT1ByVllNZ3ZqUjl3ODIwemZh\\u000aTStmOTgvNC9FNW5mVWoxdXlwU3RpbC9tWTJqeWZxd2hnaUpjcFdhWWNZenFQYkY5\\u000aMDVsUkJpa0hNQTBzSGxyeVJpUVdBc1Baa0lxclN1SHg2aGpHSDNGeGpTSnYxZzhp\\u000aVHllL1V4MDBucGVYV1c2ZFg5cGJHYWlOcmZDeGZlOHQzWDcvc3dPTUJyR0VEdEhr\\u000aZWhoWWNybm16U01yZVY4dTV5dDVFL3dmUzJKejNTeGVoTmp5cHhEQUNFSDk4dTFJ\\u000aUUg2d0ZaanlHYVhSQWNqTnVqTTNPbk12NHFKSThzVTdHcE02VHZFcXdrSG0zUjF5\\u000aY3ZhSTRDd0l3d3FzUFlFdUQ4dkIrNks0WGIzQXJzTnd3Qm45ZjZqZzYzZlFvbERL\\u000aZG1zbEJiUGhkdXY3QzJYM21qVnJBUnl4bWdKZGhKckNmbG1hU05rTTIzTWxCZzRQ\\u000aSVR2ZTNhSGFxVnVFVy9jUHVPMTR3alBGdzNDa2RzSWtuancvWTNkOWJiQzl0UHVC\\u000abG0zcXRMQWhSWVJtT1dvWE9malFCUG93WldlMm1RQnJ1TFV1VzhhRG5WU0NTVUNw\\u000ab2lWWnVNYXhuVWpscTAzZ3V1OUcrOVRPZU8xMnJFQkY4cDhtWVA1STU3aWF2enVP\\u000aUjZQa3BWSU5ERVRrQWxqNjZOMDA3T1Zid0IzUk80bDJYTHV5emQxWDI2b1VFUTVl\\u000aamp4LzY1RUdZd0E5ajZpMFE0YTZkZzkxbDBMTndiaGhVbk4wM3dvM3BTRmoraU9F\\u000acUpMc2RUY3pkalllazFlMFlDYU1wVW9ITDlzVkFlcStld1A3VU9wdisxTlF1SnM3\\u000aTWQzUVJnNW9RSzN1NzhYdXNzaGpTZHFpd3RkQTcvVm5SQzN3Mk01bWJLd0VlVGNT\\u000abjl3Ri9GZXBGcTkwQ29wL0hGc1hxeXNVRU51NWtTY3E5dHpESmhnOGJpSmJkVXN4\\u000acU54NFRYWmExZnA2ZU52ZGFzdjVsOUo1bnBmWDZvbjA2MG9CelZvMk9JNXhRMTBH\\u000ac0J0MW5YNWIrQ2UySjk0ekVObXQrYnFLZ0VoNUlzWlZ0YTlhNnYzcWhtYmQvNGJK\\u000admdhTzVmNmd1Y1BRL3JxcjFVbGtDa2dQdnZyWm1zWWVyUDlzeWE2YWhBbDJHaGo0\\u000aekh6eTBDSytEdkxBU0s4MEhCN0tWZFc0dUpxRDYycGlLYkxKVUU5aUhoVTRRVVpu\\u000aeG14eGtNZmJnQS9pdVR0NG9vdy9LOWtIcDkrUWJVazlFUGc5Rno0TVE3bDNiTUxo\\u000aZzdVMjR1N1hTdlR4TUxuMis4ODB6TDNudUJhRUhkYTRic2VDYzBwaDdOS2s5YUFl\\u000aTWF0cWZycjNTSVpycklDZHVETkNhMmRVZXl1d0x1Lzd1Zi92Wm1oVEpaV3c2MjlG\\u000ad2thdjdhaGJRYU1NZ042NXBhL29BR2IwMXJrc1NYZ1hkRjdhc3JVR3YzSGM5ajhu\\u000aSXh1NThqWHh6TGM1d2l1WmIxRFB0OE9mSmdXYTBGeVJKajZBSEY1SEdicWFGTTlV\\u000aRU15SXU5Q3I4c3BGNHJURTVBNjRrb3hqZTNtWGZIVVNVanBUemtLMlllMkpLaFk2\\u000aY0dYc0t2aE4xbHlBblNQTEZ4Tm9sc2k2cHJDWTFaeUdQdVl2bm8ybDdQbFRGblAx\\u000aM1orMCtRMGxCdG02eHZCQm4rUGl5bWxtOWV2TUpoeHNOeGlaN2NZMzNPQnl3NGJ4\\u000aRlQvN2RmUngyUWxxT09BTHI2a1c2ZXI2WUVuQ21CNWdGWDVsSEZML3UzQTRPUFAz\\u000aZ3k2aUdjQ1pPVnJrOTdUQ0NZZDJ6UTVkZVFKSWlKeFFQQnlGbVlQTzg5eU40QlVI\\u000aOWtRVFNDZUdvbVYveWNIYVpkSGwyQ2JIVFd2aGdCcWFiTWJYSnhWRVdac1MrLzJN\\u000aaGttZE5aSThaV0VnYm5odFlXVHUybjhtOGZBREYwMll4UjFjTG9Fa25FN3p0TkpZ\\u000aZE1MZWUyOEMxRk5kbDNtUzVyRlYvclhXVUdtQXAzZ09Lb1NXUmJMRDNlSi9ybE9U\\u000aL1NwVGJFUDVJNGdsQ3AwOHYxOXBMK2krTDlpSkVhWmp3dHd2M1BXRElBekkrWWlr\\u000aZGJnR01uYitYeWwyUDk0R2c0cVk1RTRQN2ZTcFllaVZiVEJleUpRMG9JUzhuUDlI\\u000aUHpwV2NSRjNFOGkyVmhCSU1aYjdSNWtJSVdxa0lMbXJwNnBrejA2NUNKQlNDay9U\\u000aYkYzaVhadU1kcE9udFhMYk5Wc3VGdVJud2FYZkpwVE5LT3U2K2VTcC9rSDE1cFda\\u000adjVJMlFSN0FGaElXSHFCYXo4Z3k0QzdVcS9uVWVqN2ZHM0V2c2ozTVJ4YlNTUjhG\\u000aSnFGZDB4MSt4SzgxTnM4QmlqYUVPV2xBRDFvMU05WEFGTXFWM3pVNEVuQjIwaUl3\\u000aYW5DclBGemJidWNUcVU4RHMzb2k3Yy83emU5Z3ByRHFtK2hKcXRTYXEyNkIxeXZp\\u000acXl6VTd4UVZEczU5VCt0VGkvdDFwalZkclJIVWNWZVZSQ3h6NFl1N1k5TFVaWDA3\\u000aM2o4eXk1MktLZXk3dk95VzBkNWxKVHpkWEpmZkhlQlNhQ2ltMnVwZWZaeTZKeTla\\u000aZWkydDBOMENIUUtzRnkyQk90bTl0MnNUUXFQREJFR0dDdGVRTFB1Y1BOL1doZS93\\u000aZC9Ma0cyNXFOTit2MTJybUNWTE9CM1JiRFpOYnB2Yldxcks5azR0UFF4MkM3M0d4\\u000aeXNIMjNzNWhJOEtvWVVJSEgrQnUvMWF6SDVZTjVhanVXcTNKV1hZVHk1S1crOE4y\\u000aamdvNk9qTENIVzBzUzU5TXcrQU1MajFCaWl2WG5Uc0xTeHBTSVByb21Dei80c2Ri\\u000aM0N3a296akZSOUxLRUJTS0NNK3RxMXA4ZUtTZ3NqUzVuaCtwU2NNRkpxWjdhekRB\\u000aeEhXYVoyNTQ1bWpEdVJOV0Z2M1lsTEhXczZBM24xSExCdnVOUWs1ek05RnYzT2tm\\u000aTzBqOVlVUWFnWjdCMTlUVjVCNDhwQnAxNGdYNS9TR1VmOTZOaWQwWmdURVhQRU8x\\u000aM1JnRU45cWVsazRPQk1icXJQNlZ0d1FPT3BjNXVEWHgzcEdWQkhTejZrb2JRNDV5\\u000aU2l5SUI2L3BiUGlsbjlDdmhNSWVyNWp2YlZneEtCdkFyajB4RFRWWVpGcVVYZVhz\\u000abHRlSE5WN0czd0E2dG9DWU1ZZ3R5UHRtWjd6MDMxZGVEemtwQnBBV21HOW85OVEw\\u000aSC8yV0EwaXNQdVVhbU8zbjFFUG9BRFZQZHF6UFpUOThPeDRjS3kyQmdBWmJBZVgr\\u000aR3lRTzgyblhudE1hWmUwbVV3cnFPbE13clZZNGhlaXY0aFEwOG1VekdkVXRSY0lL\\u000aTGpITm1OcXZvdTdlY2ZHdVhTcnhvMXVJdkdIbzNuVlVZTWc2ZEFRRlpnWUh2ejdZ\\u000aREFKWTBEWGYzTHVFZTR6bVh1azhlNm4vVU5BbE1ZQUlvdEsxY2Z2TDV0bnQ0akVD\\u000aRFFjb3lZaDRjUlVFei9XUXdudEE4Wm5sQUxRMlJOUDY0NXhjU0JOMEVCYUkyb2tB\\u000aNXI5TEYzK1h2UjdxQTB4b3VoNEMrNWZRTnpHdTdwTjFUck9WblYvQXBsMlNaMmtD\\u000aTEJQN0hjWWt2b3ZBYWFick8zeGtrUmtsdFRCd01rR3RmRC9NTm13WW14NTN3U0RL\\u000aUjE3NG1uckRCRDdOb2d0S3NTNG03Yk5iZUZyTE1hdDYwYmZVWWsweFp0YWxuSDdP\\u000aU0xqcURHdmhYQlBDaVFLNzNNVXppdU1qWFZXMTVUWWJDempuMHV0Q3d4Szk4TVlv\\u000aY1lNV0o1UGQ3WG0zejRva2prNDVFTU9DZVRGRmdZclpVNzlWYmdERVFpbUd4a0Ni\\u000aOGR4ejRMZkh4N1NGUXVhSEpNSjh4SUxZTWFSL3doQ2F4ODUydlNRaElJWG0zZ05n\\u000aWHNyeTZ3M3EzLzQ1WDd4OHVPd0p1T29GUGd1NEtNVDBTUkUwSmZRaFhQUDdpTXVJ\\u000aYnRrd0ZXeWxGQno1SmhVMzhzZ2JGdjlaVnczQzcvbnFZVUVDMXZRWHRnbEs4bGJj\\u000aazlUMzU5YVFpclBkcHF3NjA5OFFGVktyNmliTlMySk0wTHFlM21neTBYQ1RTYXUx\\u000aVE4xeXN2SHBpdU1jSW5BZWFyL3d5b1lsek5BZU1kbUQxUTduaWNBK0pWTWM4elJn\\u000aZ1NKcnRoZDZ0emd4NTFFTUNoQUpFaGR6UkpjRG03Z2c5eE9TTzNPTGpRdW05K29k\\u000adjY0b3NZNVNtbDJHSkgzZ0pzRmdyc2d0TXpTMCt1dnYwdGlZY1BoY0VsL040Vlh6\\u000aV1FTNjByZERQMTlUMFFYREMxc1luSS9rZFREcG40WnNyNFZOUzRkM0cwaEQ2Rnh3\\u000aZzlVdXBzN3k0MjRzcmlOWDgzZS9CWFhZTzNBWlZCS3czUlBVWnl1RFRZY0V4cnFM\\u000ad1RPWnJNQUJrVTBuNnBpYVRqMWZhRDJpZUZxcEFycGxIZzdrTW5ZdVN2MVFDekl3\\u000aL21GR0VEWVFqSWFiWXNRelZMRzd4YjJxbkkvTWdTbUdGUFN1VkhKNDBMNzRPYTh5\\u000aSklyeUxvV29ZSDZYZGo2WkdqZXlpT25YcEJFOUgwT2RlMUJJMkJTTjVwWFFZc0hH\\u000abFUzQ1preHdHdUZ5WnVzamVDRW9kZURPQ2lveUJha2kwSzB0cE4wTWZYS0Zubjd0\\u000aVitWb2FXV0dQSEtBa2c0eGJIcjJnYWltWW43UlN5cVcvcUVkdzFVTEgrR1RMQVds\\u000aS0F0eG1LR0ZnNkhtNzFtY2kzNXBGTW1QakROeER0RktZWm40Y3RMZURIR2ZVSEI3\\u000aZlBEOHRjZ0c0VmxTSktwTWVYR2RRT21qMkJubFQrTFYvN2JLbFQ3aSsxTWk2QnVZ\\u000aUmNBbW1GZnU3ZGF2Z2IyVFRvMVM4aTNPdkNieTgyMW16OXNjZllyVjd1bWhYWTJU\\u000aU2ZIQllyeXFtTzlHOXBuSGpTejlsTko0aEdpdU1hR3hNSWhOYUE1Q0trNTd5OEE2\\u000aSW9hWjFWL01BRmJyNXB6RXNlckx4VzdLbld3cjB5WGE2U2hCSDVwSGFXR3hRRlBS\\u000aNEs2bEJKZXpjUlM1ZUcwdjV1SHBQWTYrR2J3dFBUNHBDcENIdHBKNk56dlNVNlFP\\u000aNGVHYUY4b1NEV3pPRXRJVEJCdlBuUWFxa010L2V3Vi9qZldMNVhJbll1aHV2RGtu\\u000aNnZhbTRzenBONWs2WFRYVjh1QXNWY3VaQ3dLRXBKZldSQ0V4dGZqZVIzZ2E4U28x\\u000aeWg4Qm1QSFNBd2FxOUVHc3pBcmdScm40QllKZ1B3VWZ2WkY2c0pIV0pKSm54YUdI\\u000adUNBK1dHejBrcFRpVlJLYVM0SkUvODBHOUxKZjcvTTlvWEVULzFTbWRUaWEzM3lY\\u000abFVSb0xGdVE2OWZuTzhDUzVNM0IxM01HTHN4Wll4aUdTUkpYYkxHVWQ2bnNsQzJ0\\u000aNlh5SUZNdVFtSFcvQVJSNXVNL0o0VStWSUdUZlFPTlowVnZoQStuNlUxNDRtR3Jk\\u000aU251dWROWEpXRk83N0JzZWp2dHMvRWJXNHFOcHE1NWNQQmY0MzFEQ0NoMVJNdTJ3\\u000aNnZUZUJRNitJcllOMGo3aTllcng1UFEvYXN1NkRvMnNRWFZhNTZHVXFNUmJKVUNs\\u000aaFBNM0F0SDFmZ3VucnAvODU3a290UEhkUURBM05hOURNT2lvTEpSM3puN0tiSWlU\\u000aNEo3THFtbUpET05WcW10LzdpeGwwTVlDTDh3azFHOXlnWUhxR0ZsWGoxUXpxTlVS\\u000acHhUU0pualYyTjZOejZmYy9MVW9NR1E5OE5yb1Q5YjhhclNBcVN1TmhCaGwvbEto\\u000aNDJ4QXp0UVdDNkZEY3Nmd2FrUUpGeGs4OEdWWk9hMHJ3UFNEM29LcUMxc05sc2VW\\u000adzVzMWRjK2dodzJKTGRmeUcwWk1yZ3NaQm5uV3RHanhEdFg1WmUxZ0VKbUo3cnN3\\u000aTGsvWW80S1VuWkZ2REF5d2t5VllMY2hwMVJ2ejJKeTNGcHVpWU5sRXRkMHZKRjlX\\u000aR2dkeUd2L1JpN1pEd2tybzYxS3lMallvMVhaelBmUTlscEVqMGRTKzBCZllZUjcv\\u000ac0crcW1qZEZFb2YybmJLRWVaU1N0K010UTdnR1ZGUy9ENmtvWmZNSlM3c0svSTBh\\u000aekVrdkxRR0hTWDN0QW13YXB6K284VDlEYUZxTDFDYjZSNXluUUNucjZ2Vk1QMG1F\\u000aRm5GbURxWVMzY2c4cldyeEdrQmFUcTFDTDZKblhzb0x4dHMxV2N3QmVmR3NyM2Yy\\u000adEZMcXN2TjFHOG9nYm1pN0JDSWthcFdEK3FzRUI2UmtNeStGRVQxaEhuMEZyNEk4\\u000ad2l2YnE0cVpsd0NncHZ4Ui9tYU9iRTZiTjBjK093a1dxcEpRTUl5aDZJcXZsTUtP\\u000aR1d5YmR2aWEzemJMNk5XY05IUnk5aWl0bERzdjJSNy9QMXNqR1I1ZmI1NGRkbXhO\\u000aMmlFVzZLdEFZRU5Bb2VwSUtrWkVDNUJ3QUNYajZrM1Y5dXBNYzcrZnlOSEFBbmZr\\u000aaTZ5amRVa1BZMzVsbmNhcTJRcDd6Q3BWdk1qbTlTK1dtWHV2ZlNwc3EwZlVxWlN3\\u000aNmluZnpncjhlNy9zZDhIc1hVL1BmSDY3S0ZzWElOQlpMVm41QXF5b01YTVVNY3dV\\u000aVCs3RjhnSGl3NUpRcnhELzhvcVhUL3dvLzIxcFJObXF2ZDQreG5hcGtDZnBpOUlv\\u000adFNjd054ZlpmelkrdDZyRmJyU3VWMXZQVHJaSWNrT2ZXNmt5MHp2UmRCL2hna2Ur\\u000aNVBvVGRnd0diSnp0Ylo5R1pYSGpGZFVLWFFKVWxscmJWRGhUTkNoakhxNGE2QzhH\\u000aWWRMV1hxNzZxWlEwWnhvRjJxdUtkM3NjazEvaUxIY3owMEVuRGExK3BXd2VTMVhU\\u000adUZaR1lFTXNGeUptWSt5QmdRK3Z4aHQ2bFArKzZzSW9pbUF4cUMweWU1SC9McHFM\\u000aaFBTQlVpZHppcnlTblZ2SjZmcjI3TVRQUTBoci9JYUFXRlZnUG1yNEdqd3gxdWh0\\u000ad1J4aVU3K0lwUUxNSVVZYU1nVldnaTZvbU5aM25mcHZyYUdwWWxvaE84Z3ZXK0lL\\u000aWFJNWEJBR0Y4TlQ5UG1ZazNXa3NPVU8rVS9XKzlOL1d2algzc2haZWpGd21GYVg1\\u000aWVhyREE1MS9icDRvQWlIMzd2TmZqTGxzd1piZ2o4NVFsbXBydlhuY1dnS1RZN1pP\\u000aSmMxcmhmQnA5ZUhuUm1nQkVyNHZXOGROdkxibVFSa1dhTmxrTFBSeGd5NHU3d1p3\\u000aN1dmZnYvOG5uWEhsbWoxNDVWQ0NxOHlJR2FiM2tqQ1dvQnFQbnh0Vko5VVFNME9D\\u000aSVFhay9mWjJvdDV6Vk92dGhJeE1pK0MzNVAwRjVkUi80RVBaS3g4a1AyVnZ6RkZy\\u000aN3hFUlBSZFJnbjRqWDlFREVZQTJoWVlwRWRLRUdGai9aZTlKRlJrNmxQZjlVY05Y\\u000aRkgxd0srMW5HZi83WnZzd3dSYnNzalZjRXlMODVQU2F5eVl1ZXQrMUZ5UFpKRk9J\\u000aRnVSRm9vMWhaYUp1cGlTdm5yL1VSSXlGWEhMQ1B2Sld5MnZQVzBibVphR1NRVEJZ\\u000aYlRMcVl0UzBvdTJxOHVBd01vZUYyT25FVDdaTENjMVhTV3lFWWErWFJ0MkduMHBl\\u000aUEkxUW91NGduby8yRGlrN3NxTERydnFRbVpTOFNISlFSQVJaSnh1UUJBWDUrNzgy\\u000aYU9uaWN1aUtTbmwyeHFkM2pYRTRuUS82S2phbmhlVXpzdVRrWHFQcG4xbWlPQi9H\\u000aTFNUQ3VaWHRXcjdlSFpFb3RhZ0pOQm9OSlBYdG5KSElQb1VTdHpGTG9HM01Vc3dY\\u000aeFlCMG0xc2FjaTdaRlJ5cU1sMGtvKytlN1VCSEZOMi9UNS9ybXdsbEhaZ3A3Mm8r\\u000aWjZzWERyVXdxMW8zSVVocnRYNkJPYzJKOWladTVaenVRNkxNNkRhY0Z4bEdtcXRh\\u000aeDB3SlQyZkxpblRRU1ZIeDZDeWRMU3dTcDREOHlPd00zUEc5Zks5VklSRm05S2VY\\u000aaEd3dWxyMXBHVTAwTDU4QUVBb2ZxRmt6eEZneE0vRlRBTVZ1NWxCd29QNDYycSt6\\u000aM3pHQXkyemFTcndJKzdiWnd2OHVTMnpKOEtPajU4MHpKb2JOdU9YdC8vVHlMOGFV\\u000aZ1BtVFB2aTV3eDJGMHRVUGlzL0tUemZoZkR1NTExQXJOS2szZXIva1BrUTVmL1BC\\u000aTVBBSEpPQ3crLzh6NEVDdE9tL3g0UkliR3VIbDExNzdhQkh2WDc1TzloYnBaSkhV\\u000ac1ZlWGJOa3VUQjU2YWVoVkl3T3hHQitDeTR5eGZDb1JJRENXdy9oa1FVNjlZUUhL\\u000aQ1dhUXYydE16eVRkOXFsMFlRc3VBR0h3TDJTWTVKeDJ3RjZ6elMwRUVCMGtCU281\\u000aNlhYZmVwRGZnclVleUlzV2Rwc2hrQUQ2T1NsVDVaQTFHMWtpZHMzRUZiSFlxbmJh\\u000aVzFTZUtoc05QamVBcWErWE4zNnFYQ0NVclIrNlJDK01xTVc5a29XWjFqSzZqMkNq\\u000abHNWVjhkVGI5OXY4alVuSEgrbCtrbituaWo1MllRRzk3eCsrQkVMZ0FZVWQ5Ykxi\\u000aMmI3OWYwSnJYc2s4V1psajZ4Q0l4VXI5ZnZ0c05aa3NEWTI2NXl1VGtoNzE3Smho\\u000aaXFaUHowVi9HcGdVaHJDSmdhbVR1WEo1SmdMdEtJZ1Y4WFVQWXd5QWFUdGpvcGJT\\u000aSmx0MDVJVGtka25LVEZidjNxd28xNWllS1ZBUHhvNVVoZEN6a0xUZ1hyWStjMldo\\u000aOGd1R0JPbFlSVGVRbUlHK1Qram0zRGpyMHVLSEx1U2lmQ3JlMXdyaHp6dUF6MTd4\\u000aaXVkbFczR1I2UGVmbDZOdUt5WG1VU25LL1F6MXJNZVVjT2p1UzBmTkdlWVQ5bHNz\\u000adGt0Mm5TVVdKZnBaQzhZRGlPWDd2TUZSUFZOSXo2Vk9lbHJDS0hHMXlTc3Vkc2JP\\u000aVTRiMEg2KzVPVWphYlJuOSt2YnQ4T1BNbE9BVDBEcDJ1TnMxNlBSYjJPMGp6NWlo\\u000aL3FwYjVZMENnK0VlYWFPMGdxdXN0WGdDUHJPbktYM3JLcU4wUG5lMXpmYkZqVklJ\\u000abWk4NjcvRGUyYmt0RThtdTQrWTJIeUg1K3JUVnBkMlRxWExaOUhEaUFMaWZ5NjJL\\u000aWFVjQ3NEanJEMGhyWTdYZzdTNnVjSW00ejNqSDV0amtOczZxMEFqMnhscG5zbi9D\\u000aejVmd2FPUS93ZEpPSjB5aTVtanRjOFBRdnJ6UFhNQ0tIZU9hUGJmVHZ1SmFwOC9Z\\u000aVmpTNkw2NjNxNVVkaFlGcTJlblp5ek1LYUwvU0RmYVhyZzZrREw4d1podXZuRlJx\\u000aYmthVmp5S0FQYlFFUGhvdmJCYW5DajVwUGh1MHJoeFh4T05rbkhmaDhneGxudWlx\\u000aKzdzTmxoeXBSUXk2N3NNSVluMmdnS3dRL0ZCVlZ4SXBRNG5oMUw0ZldOS29MY0tX\\u000aZFBCSktHUUQxNCtPUXRXcVEydDRKYS9KVlpxZVlQRFJxSUtPNStEeUdLemRPK2Q4\\u000adTJhNUZkaUo5UG9SUmJqekszbnhYa1A1TTgvYytCWkdMK1lURmtVOGREZW83L3I1\\u000aeDVVOWk2TEhpT1FhMDZMWlpGQWttSEdMbjhtNVRPbllWbGhzdUVlZUdWU1hscVVh\\u000aV1dhSFppc3FrWVl6am1Cako5T3JsUU55aEhRR3Q1cXFNM0FTandMQitoQ3dwaXZH\\u000aRXZ0aStHdy9IbDZiQlpFa3FoaDlCUlh0TU0zT2d4Rm9kd25nTmpHSUpDak1xZGhk\\u000aTkFjNWpBQWlsUlJ5dWRQdFFsQ2tObHpCV3gyZjhCMDBDVmZQNkwvd1J6WFRFOEhR\\u000aK2JiL0F6SkhCYnM0YjR4M2o1ZnpOS1doOFJZc0x2VklmVkdBUjJEcjlJTUp5NkpP\\u000aTzIzdlRmbWVPcFBudmpvdlhkbTI3WlcrdzdGSElrdU1peENqckh3NTgvQjkvWUx4\\u000aVGRoSzlFY1dOcXMvclA0TEYvMEJVSS8xdVdsa05pdTBJNjk5UHRkWTdzQThNVUdO\\u000aT3VhTTYveGNZN25DMGRjVXRCcjBXSmoyZmRtYmlTM0Nld0VrT2c2L2tQQkNHVHVi\\u000adVNSdUVLYUNWNXRFZktlZEtERStIaTFuK3g0U3h6U09KanhYZUJTb2hEWTdlNVVu\\u000aN2ZRcHdvVEdiTUVHUjZJc0pOaUNzR0dSbkR6ajd0aDFSOE94ckVLRWx1dXQ0Ym9u\\u000aOEo5ejlxWGRVSUtlQ09va0dQNStrWW5BbHBrNWVQNzltM1gwS2dSUW9kSGN1N1pP\\u000aeTRBdm9GTXpYd0pFVDdzYnNaQVB4Z21VeXZFbDVRdzNBQzhBaXRybmFBWm40Sml6\\u000aZTdKSEtFdXpHczlBa0IyVG9hWXcwRE5zbWdzSncwWElTSzFsSzBUWjVDUTlPQ1VN\\u000aeHFZYWNPRTEwa3VTVUtQTUpoTHo5UHhrRDhnbE0vZEV2OWFLc2VqczFXMkF1VytU\\u000adldzM0crZ0cwRkNHajljeEJBa3VRSDZNb0tOMG96VWExUTBxcU9JRjRiRFZJZFFI\\u000aTHE1ODRvbTluU1IvV0ZIRHY1dWxSeTZteWpIMU0xUFB6azJ6K1drQW84TFhRaXpM\\u000aWjZmblFpTEZ6OFVzZGQvTzVIM2xCcUFUZUpvRzRVdTRCMjVuRjhOK2JabEdoM2d6\\u000aK2xTZG16YVlUR0oxWFZPNTdNR0hla0dyZjJRZndoeU1zZFlsZFpQZXBNQnB5YU5R\\u000aOXpvR3ZNQ0ZnYlR4c0JFRmN4aWM5TmdZUWNDVk5xcTBnS1F6SmtxUHZtV2o3WnpP\\u000aMWZJS3Rnb1FmZ1k4a2JSSFRPMGJIRXlsNm5EcldRR2RXbkQ4d2ErNGNLSnU2bkpH\\u000aWng2QWVGdXI5QzJsZzBWdWZGNGlqVGVrcWlEb3U2Y2x3czkzRHdWa2VPNmxsQzJm\\u000acUpUcm1zQy9DTC9oYzZuckZ0RERsV3Buc0Jkc29ydEtxN2lVTGF1ekRIRnA5MVI3\\u000aaTdCanBuMTNWcXlZMjVUVXlSWUovYlN0NWVGR0FINnpQZHE5RkhqTWhyeGZpTURC\\u000aK3NTRUxqd2FJR2ZxWDBQSG82UmZ1Ky9tOWlpRWwzRWxrSWJpYVMycmdFWHkxZFgr\\u000admdBZkYzOWQzWEFTdmI5aElrNXg0OGltcHRtaDBPaHgwWENOMThtNnpvQndKajNw\\u000acmNnK2ZNWHE0UzZMdlJjQTdtV0MwRzcrdVdXdi9GblkxYUg0a3NPcHRmeWkydU16\\u000aS3kwQTJFbWNad3YyZktYdmljcnQ0Ry9yWU1ZZnlic2loQS8rcXhReTlERmlEek9n\\u000aZXZzZTZ2NnFTUE5TY1lYLzlYRUxKMzh2dmpMTTNjZHlQNEJOMVF3UENtRmFrVm1K\\u000aRTNKRzU0RXhycHRUdGdKTERaNW5FYTY4Mjc4dnRJL3JVR3k2OFFuNTJyMHVXc0ZX\\u000abk5obFRPR2RxYzZzdjdNTGdTYkQ3RUVmNWNiVHNKV3JQZ1ZHbUQ1Q2o5Y3ZmRjlR\\u000aakMvM1RiSXFWVE5QSkhhbXpnbUJsSFJZSGJQN1p0a3ZUZDBnTkF2SXllZGY1MkdY\\u000aUzhESkQwTStrSS8xNmF4dm0zSlB4RC9BVHE1Ri9xdmtIWFRUVStCSEtUTWk2dnk1\\u000aMkNEUmh0YkQ1dVNNa1YyQmROK0c5Y0xnL3hTeTc3TjBnTEc4WDZ6ODM1cllYbE0r\\u000aaGloeGx2UWtiSHR0eE9EN3VBYnpFcExEaC95NFFtZVRSK1FaQU9QeUc3azhGdENG\\u000aam5TM0lLWkFTVldFTVVFODlGTG1hdFhMNERvaHlXWnViSDJPVXlGUHp5ZnNvNWNF\\u000aNEpLVnBIb21NVWZWcjk5bUZnVk1ESUdyUEdFcFRmU2NqZ01wRmlDaEFxU1djUWFH\\u000aU2cwdlBrRkdlWXFIek15SENqMndxc3VDV3BIZWlyU25ncHNXa1RLMjFLRG42TDVx\\u000aaENpRk5wM3JWNUJFMkwwcEhqQnZEVmFrZXdqcnF0a1puZ3FKcHhZalhyV0dxUjVP\\u000aV3IraWhxZ0VJZ011WGhkdUxqR2wrWVZkU1d5ZTlER05OS29DN2FlUGhJMTJQRmg3\\u000aSlJoZjdIYWVlQUNPaGZaTndDWitXMndRb3hCZHpwYzltVCtDVlpxOUo2NkNyTlFI\\u000adTBtaStlaVRTdXNEVHR2b3RmQi9IQ20wMXVaZmgxbE1JQWdMNXozSTFHRVcvREpX\\u000aMk8wdWZBKzVPV2pnWFlzOG9aUlRCMnhYOWhmSW81eDREVXNiTFM1ZzgvbFBUVndF\\u000aamYxQlg2dU9vaTVvV2lJWVJqQmpmSWdVTEVURnhMTGtBUnJQTzJETzU1ekJnMi9Q\\u000adE9mdG00SzFjeWI3V0h2QkdrcmRYanlQUXlYYzRJVXU0SzR0aTlPSlE1eVRmWUN0\\u000aY2o1OWMya05BNHlOWmdwd3kxVnAvSytGdHVlZ0xsd2l4ZTRwakR5ekNJSnBnU0ZD\\u000acmtxREV1K0hqOFZWNXMweFFXc1d5ZWdOUUpldVBheWVSY0RGMzBoMWc2WmZGQjNa\\u000adE9RWWpFQnFyVWVZNkJndk5OWU42TWFrUndnRDBja2NDbEoyMUhZNGpvU2twcE9Z\\u000aZ3NUeTNrR1laNHFUelJNY0lsQ0REaXQ4ZENHZm9Cb3JKQ2t5NTUvNDFiV3FtbTdt\\u000aTElRVzJBTG9kdktQbVVXeFhibzN5WGNnSTRKdnFjZlAzRVVXTytjV3VIZEFSN2VF\\u000aOTc3MytSVUV2TXROdnMzWWxqeERrTmFNNzZ0VjhqanhRcFJZNEc0RWRSaUs0MTN3\\u000aWUkyWTE3UWE2ZEs4K2FhaHRad0JtVWpBSVkvREdZa2VOY2wzWjdxaWpJMTMvUnpn\\u000aNXlWcjl4VUsvSUFGUVlhNDlXQ1RRYTlzVWYzeEgzZUYvTW9HN0ZmMTdrOC8xMURx\\u000aTE5YQzUvSGhOeDJ2S09CTmx1RXJodURjYjNMZmJ5TGlRVllEMkhYeGRyTkc5M1E0\\u000aNGJPajRWb0xZV0hndTI5UG9sL0htRHhUSDFwdHBQVmM5K0U0R2RwN21yVmF1bHU1\\u000acXhDOWliRzlKV3ljUUdkMUJuMG9RMjluSGlMcGd4K25HOFlkZHdPVWRkRzRndkpq\\u000aS21iUTl5aTAwYXdUamhOUE9GZXEvejVuVFJHQ3liSDZsWW9MVGtueE9UQiszMkpy\\u000aQ2pBbDVMRG90amtDZWtBUllwbVVxOWhSY2I3c3l0ME1RY1BBZUg0VlBHNmhFMUpN\\u000aYkxpTXdUWVdKNWtTM3F1elp1SkZQSUl4SFp3UmtJUzFjTnBjL0FtSUpwZm04RCtL\\u000aYUEvVmdoRkJpdnZzZnlUNndoNVRybENBcE9DcHNOTlNWbWRLRHF5QVBFTENuaURj\\u000adTRwcmpZRU5JU2tKdExUTVdBSzVCWWdRZ1ZQOVcrekJyMjNuSGlZVnhLWWhjdm9M\\u000aYTh6dUdLYlJtY2xpL3o0cXpmWnk5RGlJNmoxdWFUT1FMQzEvMzIwT2xBRGtSOVUy\\u000aT3hYZFVuSTFaSzFyY0hRZnllS3BsbUFsRTJDM3MzYkFkR3V5bXRKTDQ2M1dqZm9P\\u000aUkhHWWpvZnZNQTI0cHhnY3hFRnU5YVRFamdFVVBNeHBzN2Y4TVMyaVJvL3dxU3pX\\u000aZ0lwN1EvZHVYY1FQb0dSS2JrR0FySnNJVGdVT3BSQ3hxTFlXbk5UUy8xbmxCeXk3\\u000aQVBjcGRaRmk1WjRqM1IvbGJ0T2Era1ZiYmo4ZC8wazMwTnlDVjJGRVZGV2tPbG9z\\u000aNTFQNUNOUiswNUh6QkhQM3V3N3VyODRZYkRGdHd2UjhNM29UMXNtbXljYUsxMkpE\\u000aZGNBOUQ2YWErY2k5Wmh0UWNhbUw0Z1pjZmVpZllHNEt6NWsyT3lpMlpUNkZKOUV4\\u000aMHQ1T1d5MjZUSjllQmlCcGRaV25XZDB3bzZOMU5ST0xLdFY5L052d3R1WlZSRkxS\\u000aRUg1WGNLMnRMcTFWczFaVkg4MXM4R29UOUQ4VkFEaGFwVDBCU0xsR3A4TkNZdUdK\\u000aeXI1YVVwODdPZEl4RCt3S244NTRteVlKaXlVZnIwWmtGNGhoOEtkTXcvemg3RVQv\\u000aYkxIWlVxUXozdUV3QkcvODRuR1E9PTwveGVuYzpDaXBoZXJWYWx1ZT48L3hlbmM6\\u000aQ2lwaGVyRGF0YT48L3hlbmM6RW5jcnlwdGVkRGF0YT48eGVuYzpFbmNyeXB0ZWRL\\u000aZXkgeG1sbnM6eGVuYz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMj\\u000aIiBJZD0iX2E3NDBjZjA5MTViZDE1MmRiNzRkMDNjZDQ1NzUyMTM3Ij48eGVuYzpF\\u000abmNyeXB0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAw\\u000aMS8wNC94bWxlbmMjcnNhLW9hZXAtbWdmMXAiIHhtbG5zOnhlbmM9Imh0dHA6Ly93\\u000ad3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyI+PGRzOkRpZ2VzdE1ldGhvZCB4bWxu\\u000aczpkcz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyIgQWxnb3Jp\\u000adGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjwv\\u000aeGVuYzpFbmNyeXB0aW9uTWV0aG9kPjxkczpLZXlJbmZvIHhtbG5zOmRzPSJodHRw\\u000aOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIj48ZHM6WDUwOURhdGE+PGRz\\u000aOlg1MDlDZXJ0aWZpY2F0ZT5NSUlERlRDQ0FmMENCRlVCbkw0d0RRWUpLb1pJaHZj\\u000aTkFRRUxCUUF3VHpFTE1Ba0dBMVVFQmhNQ1FWUXhEVEFMQmdOVkJBY01CRWR5CllY\\u000ab3hEVEFMQmdOVkJBb01CRVZIU1ZveElqQWdCZ05WQkFNTUdVMVBRUzFKUkNCSlJG\\u000aQWdLRlJsYzNRdFZtVnljMmx2Ymlrd0hoY04KTVRVd016RXlNVFF3TXpReVdoY05N\\u000aVGN4TWpBMU1UUXdNelF5V2pCUE1Rc3dDUVlEVlFRR0V3SkJWREVOTUFzR0ExVUVC\\u000ad3dFUjNKaAplakVOTUFzR0ExVUVDZ3dFUlVkSldqRWlNQ0FHQTFVRUF3d1pUVTlC\\u000aTFVsRUlFbEVVQ0FvVkdWemRDMVdaWEp6YVc5dUtUQ0NBU0l3CkRRWUpLb1pJaHZj\\u000aTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFJSnYwcWU5VWR2RllTTDVJMDJHb2t3\\u000aRVZmc0lHYzdJN0VoVk5PeFkKOW10VWVubWhxTnJMc0xCRmcxSWlQYmswSVNXaE9S\\u000ad1B5VnAvUDMrR3lHUDMzOXFaNjhVQ0dWMzYxRTBRbTdjalBlL08zK3IzSEFNMgpa\\u000aQk44b0Fab0htcGhyTlM2ZktmWTU4a3lndHJVYStaeU16WVdUVGlTMzJTQ004SDU1\\u000aYmx1RUZiZVprc25iUDBZOTRJamtmSmRndnpsCk14enJsU3lvVjJ5bVdCanZTNXdl\\u000abERIZ2JDS3lqc2pJaFRSakp1L29sR0p5ZW4wMS9FcElWdFN5RFhPLzJJUzJ2Mk85\\u000aVWlGd0FveUIKWUFqUG5sM0h4SzJBNTc3blI2M014bGdQMC9zK3I4NHVCcU9BbGI0\\u000acW5icFU3bHU1R3hsQ1BrWm1wUm9vQ1FZVVJpb0Mrd2pTNmxNQwpBd0VBQVRBTkJn\\u000aa3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUJxTzdra3EvZ1JhaEF2cHNRZzVMTFpST0dG\\u000acjlwSVByeU45eG1KR2dQbzdqCktObDdyczdnTlMwbG11bHVZV1duSmN3QVBid0Zl\\u000aYjk1NFZNQjl4OXA5UUV3NVJuWGFtVVk5cWEwTGdjUy90L1dYNnZKa1pQTmhXcGgK\\u000aOGJYd2gwTXZsc2JmcnZEVEpyOGNqSDNxZnhJVHA3cGEzeGIxcUU3c3VSZmZWVWRE\\u000aWGF3aVhYbldKL1dKcit0d1ZWSEhFcW5aejFsQQpyU0RMeE04c0NqRzhEZUp3OHZu\\u000aUXk1bVBHckdWVEJiYTR1cGM4VVRZMW5QVjlVMkdCSlZZdUFrb1ZSamJUbE52ckw1\\u000aSnFOcXlwS2NHCmJlampXeGdyelprZVFlVTJoRmNqdW5tZ3dHWit1ZzJmcTRrS2tR\\u000aZnR3Y3FlSlR6eXpCb28yK09vNFRtZmJzaC9vbnhQV0E9PTwvZHM6WDUwOUNlcnRp\\u000aZmljYXRlPjwvZHM6WDUwOURhdGE+PC9kczpLZXlJbmZvPjx4ZW5jOkNpcGhlckRh\\u000adGEgeG1sbnM6eGVuYz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMj\\u000aIj48eGVuYzpDaXBoZXJWYWx1ZT5Sb1NHTGFDbDN3ZkRXdDlXMm9JSDNUQ3JPTVN4\\u000aL3Y1S0pQV2hndmhWNml2RmZXSWFJeDB5RnV2NVZTME5VZ2FUVGIwVjhUYnNGN1Vz\\u000aRllzQ0xldkVUa2lWbG5OeWE4dlVoL2lYTDYzT0JmdzR3T3pSNVZheVBuaWFwWFdM\\u000aa0RHTmQ5Y3E2QU8zR1JoTWJaZDdma2NhRWNJVTB2bGtZeUJJNmE0Yms4bHM3Mm0v\\u000aZkxKQS8vaWl5L2piODkzQkZ4dk9EMk5hT1pabXhzSlI4YlFmWWpBMHdXa1pBcW56\\u000aN0EzY3lhcHV3aXVTc01wc1hYSnFjVXp2TS9GS090dE1wTnhSUVprdk1RZlNnMCtM\\u000aUVM5M0IxN0ZUZFE2OHNRL3dZQmhubFBEZXFZK0NnY1VjeVYzOVdjTjAwcUtVYmNQ\\u000aM2kzSWRWUVRkcEJQUTdRS01HR2JmS1Y0RlE9PTwveGVuYzpDaXBoZXJWYWx1ZT48\\u000aL3hlbmM6Q2lwaGVyRGF0YT48eGVuYzpSZWZlcmVuY2VMaXN0Pjx4ZW5jOkRhdGFS\\u000aZWZlcmVuY2UgVVJJPSIjXzNmZDM1ODkyZTlhOGVhY2I4ZTA4ZjI4MGE4M2ZjYjc0\\u000aIi8+PC94ZW5jOlJlZmVyZW5jZUxpc3Q+PC94ZW5jOkVuY3J5cHRlZEtleT48L3Nh\\u000abWwyOkVuY3J5cHRlZEFzc2VydGlvbj48L3NhbWwycDpSZXNwb25zZT4=\",\"dateTimeCreated\":\"2015-10-09T10:36:02.075Z\",\"id\":1}}}"; // @@ -57,19 +304,19 @@ public class Tests { - JsonObject responseMsg = new JsonObject(); - responseMsg.addProperty( - SSOTransferConstants.SSOCONTAINER_KEY_STATUS, - "OK"); - - - JsonObject levelTwo = new JsonObject(); - levelTwo.addProperty("test", "12345"); - - responseMsg.add("levelTwo", levelTwo ); - - - System.out.println(responseMsg.toString()); +// JsonObject responseMsg = new JsonObject(); +// responseMsg.addProperty( +// SSOTransferConstants.SSOCONTAINER_KEY_STATUS, +// "OK"); +// +// +// JsonObject levelTwo = new JsonObject(); +// levelTwo.addProperty("test", "12345"); +// +// responseMsg.add("levelTwo", levelTwo ); +// +// +// System.out.println(responseMsg.toString()); // } catch (IOException e) { // // TODO Auto-generated catch block @@ -80,4 +327,7 @@ public class Tests { } + + + } diff --git a/repository/eu/eidas/eidas-commons/1.3.0-SNAPSHOT/eidas-commons-1.3.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-commons/1.3.0-SNAPSHOT/eidas-commons-1.3.0-SNAPSHOT.jar new file mode 100644 index 000000000..fb0f3b301 Binary files /dev/null and b/repository/eu/eidas/eidas-commons/1.3.0-SNAPSHOT/eidas-commons-1.3.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-configmodule/1.3.0-SNAPSHOT/eidas-configmodule-1.3.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-configmodule/1.3.0-SNAPSHOT/eidas-configmodule-1.3.0-SNAPSHOT.jar new file mode 100644 index 000000000..0ff0547e5 Binary files /dev/null and b/repository/eu/eidas/eidas-configmodule/1.3.0-SNAPSHOT/eidas-configmodule-1.3.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-encryption/1.3.0-SNAPSHOT/eidas-encryption-1.3.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-encryption/1.3.0-SNAPSHOT/eidas-encryption-1.3.0-SNAPSHOT.jar new file mode 100644 index 000000000..d024a9b29 Binary files /dev/null and b/repository/eu/eidas/eidas-encryption/1.3.0-SNAPSHOT/eidas-encryption-1.3.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-light-commons/1.3.0-SNAPSHOT/eidas-light-commons-1.3.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-light-commons/1.3.0-SNAPSHOT/eidas-light-commons-1.3.0-SNAPSHOT.jar new file mode 100644 index 000000000..6c49296bc Binary files /dev/null and b/repository/eu/eidas/eidas-light-commons/1.3.0-SNAPSHOT/eidas-light-commons-1.3.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-saml-engine/1.3.0-SNAPSHOT/eidas-saml-engine-1.3.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-saml-engine/1.3.0-SNAPSHOT/eidas-saml-engine-1.3.0-SNAPSHOT.jar new file mode 100644 index 000000000..ccc5b5456 Binary files /dev/null and b/repository/eu/eidas/eidas-saml-engine/1.3.0-SNAPSHOT/eidas-saml-engine-1.3.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-specific-communication-definition/1.3.0-SNAPSHOT/eidas-specific-communication-definition-1.3.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-specific-communication-definition/1.3.0-SNAPSHOT/eidas-specific-communication-definition-1.3.0-SNAPSHOT.jar new file mode 100644 index 000000000..cf8ba0695 Binary files /dev/null and b/repository/eu/eidas/eidas-specific-communication-definition/1.3.0-SNAPSHOT/eidas-specific-communication-definition-1.3.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-specific/1.3.0-SNAPSHOT/eidas-specific-1.3.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-specific/1.3.0-SNAPSHOT/eidas-specific-1.3.0-SNAPSHOT.jar new file mode 100644 index 000000000..51d638033 Binary files /dev/null and b/repository/eu/eidas/eidas-specific/1.3.0-SNAPSHOT/eidas-specific-1.3.0-SNAPSHOT.jar differ -- cgit v1.2.3 From bde4e3717132d9f933648b35c5556558a9fc97ba Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 12 Jul 2017 14:41:35 +0200 Subject: set UniqueOAIdentifier on process-management context --- .../java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java index f718777b0..ab0a1ec40 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/moduls/AuthenticationManager.java @@ -366,6 +366,10 @@ public class AuthenticationManager extends MOAIDAuthConstants { //create authentication process execution context ExecutionContext executionContext = new ExecutionContextImpl(); + + //set oaIdentifeir + executionContext.put(MOAIDAuthConstants.PROCESSCONTEXT_UNIQUE_OA_IDENTFIER, + pendingReq.getOnlineApplicationConfiguration().getPublicURLPrefix()); //set interfederation authentication flag executionContext.put(MOAIDAuthConstants.PROCESSCONTEXT_PERFORM_INTERFEDERATION_AUTH, -- cgit v1.2.3 From 250a89d7eaeb1c8a905fa7bb2032992946fec40f Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 12 Jul 2017 14:42:09 +0200 Subject: add new demo module for dummy authentication --- id/server/auth-edu/pom.xml | 7 ++ .../moa/id/commons/MOAIDAuthConstants.java | 3 +- .../moa-id-module-bkaMobilaAuthSAML2Test/pom.xml | 10 ++ .../bkamobileauthtests/BKAMobileAuthModule.java | 83 ++++++++++++++++ .../BKAMobileAuthSpringResourceProvider.java | 62 ++++++++++++ .../tasks/FirstBKAMobileAuthTask.java | 56 +++++++++++ .../tasks/SecondBKAMobileAuthTask.java | 104 +++++++++++++++++++++ .../src/main/resources/BKAMobileAuth.process.xml | 22 +++++ ...iz.components.spring.api.SpringResourceProvider | 1 + .../main/resources/moaid_bka_mobileauth.beans.xml | 25 +++++ id/server/modules/pom.xml | 1 + pom.xml | 10 +- 12 files changed, 381 insertions(+), 3 deletions(-) create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/pom.xml create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/BKAMobileAuthModule.java create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/BKAMobileAuthSpringResourceProvider.java create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/tasks/FirstBKAMobileAuthTask.java create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/tasks/SecondBKAMobileAuthTask.java create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/BKAMobileAuth.process.xml create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/META-INF/services/at.gv.egiz.components.spring.api.SpringResourceProvider create mode 100644 id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/moaid_bka_mobileauth.beans.xml diff --git a/id/server/auth-edu/pom.xml b/id/server/auth-edu/pom.xml index 4e01c6260..b8bdad311 100644 --- a/id/server/auth-edu/pom.xml +++ b/id/server/auth-edu/pom.xml @@ -202,6 +202,13 @@ moa-id-module-ssoTransfer ${moa-id-version} + + + MOA.id.server.modules + moa-id-module-bkaMobilaAuthSAML2Test + ${moa-id-version} + + + + + + + + + + + + + + + + + + diff --git a/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/META-INF/services/at.gv.egiz.components.spring.api.SpringResourceProvider b/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/META-INF/services/at.gv.egiz.components.spring.api.SpringResourceProvider new file mode 100644 index 000000000..42dbf09e7 --- /dev/null +++ b/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/META-INF/services/at.gv.egiz.components.spring.api.SpringResourceProvider @@ -0,0 +1 @@ +at.gv.egovernment.moa.id.auth.modules.bkamobileauthtests.BKAMobileAuthSpringResourceProvider \ No newline at end of file diff --git a/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/moaid_bka_mobileauth.beans.xml b/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/moaid_bka_mobileauth.beans.xml new file mode 100644 index 000000000..ef13b0348 --- /dev/null +++ b/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/resources/moaid_bka_mobileauth.beans.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/id/server/modules/pom.xml b/id/server/modules/pom.xml index 3ca3497a0..000851a5f 100644 --- a/id/server/modules/pom.xml +++ b/id/server/modules/pom.xml @@ -32,6 +32,7 @@ moa-id-module-elga_mandate_service moa-id-module-ssoTransfer + moa-id-module-bkaMobilaAuthSAML2Test diff --git a/pom.xml b/pom.xml index b834320cb..17ea3499e 100644 --- a/pom.xml +++ b/pom.xml @@ -91,13 +91,13 @@ local file:${basedir}/../../../repository - + jboss https://repository.jboss.org/nexus/content/repositories/central/ @@ -524,6 +524,12 @@ moa-id-module-elga_mandate_service ${moa-id-module-elga_mandate_client} + + + MOA.id.server.modules + moa-id-module-bkaMobilaAuthSAML2Test + ${moa-id-version} + MOA.id.server -- cgit v1.2.3 From 3e2575cfe85ac8f3076f0470a82191d9f1dae636 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 13 Jul 2017 07:06:14 +0200 Subject: update DummyAuthentication module to support more than one SP --- .../bkamobileauthtests/BKAMobileAuthModule.java | 31 +++++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/BKAMobileAuthModule.java b/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/BKAMobileAuthModule.java index 72087180a..44554e21d 100644 --- a/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/BKAMobileAuthModule.java +++ b/id/server/modules/moa-id-module-bkaMobilaAuthSAML2Test/src/main/java/at/gv/egovernment/moa/id/auth/modules/bkamobileauthtests/BKAMobileAuthModule.java @@ -22,12 +22,19 @@ */ package at.gv.egovernment.moa.id.auth.modules.bkamobileauthtests; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.PostConstruct; + import org.springframework.beans.factory.annotation.Autowired; import at.gv.egovernment.moa.id.auth.modules.AuthModule; import at.gv.egovernment.moa.id.commons.MOAIDAuthConstants; import at.gv.egovernment.moa.id.commons.api.AuthConfiguration; +import at.gv.egovernment.moa.id.commons.utils.KeyValueUtils; import at.gv.egovernment.moa.id.process.api.ExecutionContext; +import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.MiscUtil; /** @@ -40,6 +47,8 @@ public class BKAMobileAuthModule implements AuthModule { @Autowired protected AuthConfiguration authConfig; + private List uniqueIDsDummyAuthEnabled = new ArrayList(); + /* (non-Javadoc) * @see at.gv.egovernment.moa.id.auth.modules.AuthModule#getPriority() */ @@ -56,15 +65,29 @@ public class BKAMobileAuthModule implements AuthModule { this.priority = priority; } + + @PostConstruct + public void initialDummyAuthWhiteList() { + String sensitiveSpIdentifier = authConfig.getBasicMOAIDConfiguration("modules.bkamobileAuth.entityID"); + if (MiscUtil.isNotEmpty(sensitiveSpIdentifier)) { + uniqueIDsDummyAuthEnabled.addAll(KeyValueUtils.getListOfCSVValues(sensitiveSpIdentifier)); + + if (!uniqueIDsDummyAuthEnabled.isEmpty()) { + Logger.info("Dummy authentication is enabled for ...."); + for (String el : uniqueIDsDummyAuthEnabled) + Logger.info(" EntityID: " + el); + } + } + } + /* (non-Javadoc) * @see at.gv.egovernment.moa.id.auth.modules.AuthModule#selectProcess(at.gv.egovernment.moa.id.process.api.ExecutionContext) */ @Override - public String selectProcess(ExecutionContext context) { + public String selectProcess(ExecutionContext context) { String spEntityID = (String) context.get(MOAIDAuthConstants.PROCESSCONTEXT_UNIQUE_OA_IDENTFIER); - if (MiscUtil.isNotEmpty(spEntityID)) { - String sensitiveSpIdentifier = authConfig.getBasicMOAIDConfiguration("modules.bkamobileAuth.entityID"); - if (spEntityID.equalsIgnoreCase(sensitiveSpIdentifier)) + if (MiscUtil.isNotEmpty(spEntityID)) { + if (uniqueIDsDummyAuthEnabled.contains(spEntityID)) return "BKAMobileAuthentication"; } -- cgit v1.2.3 From 91d38d59b42ee77346b0d33315f403d8fa678576 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Mon, 17 Jul 2017 10:25:02 +0200 Subject: update MOA SAML2 metadata provider to support metadata located on file system --- .../validation/oa/OAPVP2ConfigValidation.java | 105 +++++++-------- .../pvp2x/metadata/MOAMetadataProvider.java | 145 ++++++++++----------- .../pvp2x/metadata/SimpleMOAMetadataProvider.java | 116 ++++++++++++++++- .../moa/id/commons/api/AuthConfiguration.java | 3 +- .../utils/ELGAMandateServiceMetadataProvider.java | 14 +- 5 files changed, 244 insertions(+), 139 deletions(-) diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java index 61a380188..79e7e9252 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/validation/oa/OAPVP2ConfigValidation.java @@ -111,81 +111,84 @@ public class OAPVP2ConfigValidation { log.info("MetaDataURL has no valid form."); errors.add(LanguageHelper.getErrorString("validation.pvp2.metadataurl.valid", request)); - } else { - + } else { if (certSerialized == null) { log.info("No certificate for metadata validation"); errors.add(LanguageHelper.getErrorString("validation.pvp2.certificate.notfound", request)); - } else { - - X509Certificate cert = new X509Certificate(certSerialized); - BasicX509Credential credential = new BasicX509Credential(); - credential.setEntityCertificate(cert); + } else { + if (form.getMetaDataURL().startsWith("http")) { + X509Certificate cert = new X509Certificate(certSerialized); + BasicX509Credential credential = new BasicX509Credential(); + credential.setEntityCertificate(cert); - timer = new Timer(); - httpClient = new MOAHttpClient(); + timer = new Timer(); + httpClient = new MOAHttpClient(); - if (form.getMetaDataURL().startsWith("https:")) - try { - MOAHttpProtocolSocketFactory protoSocketFactory = new MOAHttpProtocolSocketFactory( - "MOAMetaDataProvider", - ConfigurationProvider.getInstance().getCertStoreDirectory(), - ConfigurationProvider.getInstance().getTrustStoreDirectory(), - null, - "pkix", - true, - new String[]{"crl"}, - false); + if (form.getMetaDataURL().startsWith("https:")) + try { + MOAHttpProtocolSocketFactory protoSocketFactory = new MOAHttpProtocolSocketFactory( + "MOAMetaDataProvider", + ConfigurationProvider.getInstance().getCertStoreDirectory(), + ConfigurationProvider.getInstance().getTrustStoreDirectory(), + null, + "pkix", + true, + new String[]{"crl"}, + false); - httpClient.setCustomSSLTrustStore( - form.getMetaDataURL(), - protoSocketFactory); + httpClient.setCustomSSLTrustStore( + form.getMetaDataURL(), + protoSocketFactory); - } catch (MOAHttpProtocolSocketFactoryException e) { - log.warn("MOA SSL-TrustStore can not initialized. Use default Java TrustStore.", e); + } catch (MOAHttpProtocolSocketFactoryException e) { + log.warn("MOA SSL-TrustStore can not initialized. Use default Java TrustStore.", e); - } catch (ConfigurationException e) { - log.info("No MOA specific SSL-TrustStore configured. Use default Java TrustStore.", e); + } catch (ConfigurationException e) { + log.info("No MOA specific SSL-TrustStore configured. Use default Java TrustStore.", e); - } + } - List filterList = new ArrayList(); - filterList.add(new MetaDataVerificationFilter(credential)); + List filterList = new ArrayList(); + filterList.add(new MetaDataVerificationFilter(credential)); - try { - filterList.add(new SchemaValidationFilter( - ConfigurationProvider.getInstance().isPVPMetadataSchemaValidationActive())); + try { + filterList.add(new SchemaValidationFilter( + ConfigurationProvider.getInstance().isPVPMetadataSchemaValidationActive())); - } catch (ConfigurationException e) { - log.warn("Configuration access FAILED!", e); + } catch (ConfigurationException e) { + log.warn("Configuration access FAILED!", e); - } + } + + MetadataFilterChain filter = new MetadataFilterChain(); + filter.setFilters(filterList); - MetadataFilterChain filter = new MetadataFilterChain(); - filter.setFilters(filterList); + httpProvider = + new HTTPMetadataProvider(timer, httpClient, form.getMetaDataURL()); + httpProvider.setParserPool(new BasicParserPool()); + httpProvider.setRequireValidMetadata(true); + httpProvider.setMetadataFilter(filter); + httpProvider.setMinRefreshDelay(1000*60*15); //15 minutes + httpProvider.setMaxRefreshDelay(1000*60*60*24); //24 hours - httpProvider = - new HTTPMetadataProvider(timer, httpClient, form.getMetaDataURL()); - httpProvider.setParserPool(new BasicParserPool()); - httpProvider.setRequireValidMetadata(true); - httpProvider.setMetadataFilter(filter); - httpProvider.setMinRefreshDelay(1000*60*15); //15 minutes - httpProvider.setMaxRefreshDelay(1000*60*60*24); //24 hours + httpProvider.setRequireValidMetadata(true); - httpProvider.setRequireValidMetadata(true); + httpProvider.initialize(); - httpProvider.initialize(); + if (httpProvider.getMetadata() == null) { + log.info("Metadata could be received but validation FAILED."); + errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.validation", request)); + } - if (httpProvider.getMetadata() == null) { - log.info("Metadata could be received but validation FAILED."); - errors.add(LanguageHelper.getErrorString("validation.pvp2.metadata.validation", request)); + } else { + log.info("Metadata load validation skipped, because it's no http(s) metadata: " + form.getMetaDataURL()); + } - } } } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java index b2597c3cb..5380d7f53 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java @@ -38,6 +38,7 @@ import javax.xml.namespace.QName; import org.opensaml.saml2.metadata.EntitiesDescriptor; import org.opensaml.saml2.metadata.EntityDescriptor; import org.opensaml.saml2.metadata.RoleDescriptor; +import org.opensaml.saml2.metadata.provider.BaseMetadataProvider; import org.opensaml.saml2.metadata.provider.ChainingMetadataProvider; import org.opensaml.saml2.metadata.provider.HTTPMetadataProvider; import org.opensaml.saml2.metadata.provider.MetadataFilter; @@ -45,6 +46,7 @@ import org.opensaml.saml2.metadata.provider.MetadataProvider; import org.opensaml.saml2.metadata.provider.MetadataProviderException; import org.opensaml.saml2.metadata.provider.ObservableMetadataProvider; import org.opensaml.xml.XMLObject; +import org.opensaml.xml.parse.BasicParserPool; import org.springframework.stereotype.Service; import at.gv.egovernment.moa.id.auth.IDestroyableObject; @@ -52,7 +54,6 @@ import at.gv.egovernment.moa.id.auth.IGarbageCollectorProcessing; import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters; import at.gv.egovernment.moa.id.commons.api.exceptions.ConfigurationException; import at.gv.egovernment.moa.id.commons.config.MOAIDConfigurationConstants; -import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory; import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.InterfederatedIDPPublicServiceFilter; import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.PVPMetadataFilterChain; import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.SchemaValidationFilter; @@ -154,7 +155,7 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider //reload metadata provider IOAAuthParameters oaParam = - AuthConfigurationProviderFactory.getInstance().getOnlineApplicationParameter(entityID); + authConfig.getOnlineApplicationParameter(entityID); if (oaParam != null) { String metadataURL = oaParam.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_URL); if (MiscUtil.isNotEmpty(metadataURL)) { @@ -178,10 +179,11 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider timer = new Timer(true); ChainingMetadataProvider chainProvider = (ChainingMetadataProvider) internalProvider; - HTTPMetadataProvider newMetadataProvider = createNewHTTPMetaDataProvider(metadataURL, + MetadataProvider newMetadataProvider = createNewMoaMetadataProvider(metadataURL, buildMetadataFilterChain(oaParam, metadataURL, cert), oaFriendlyName, - timer); + timer, + new BasicParserPool()); chainProvider.addMetadataProvider(newMetadataProvider); @@ -203,9 +205,6 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider Logger.debug("Can not refresh PVP2X metadata: NO onlineApplication with Id: " + entityID); - } catch (ConfigurationException e) { - Logger.warn("Access MOA-ID configuration FAILED.", e); - } catch (MetadataProviderException e) { Logger.warn("Refresh PVP2X metadata for onlineApplication: " + entityID + " FAILED.", e); @@ -268,7 +267,7 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider //load all PVP2 OAs form ConfigurationDatabase and //compare actually loaded Providers with configured PVP2 OAs - Map allOAs = AuthConfigurationProviderFactory.getInstance().getConfigurationWithWildCard( + Map allOAs = authConfig.getConfigurationWithWildCard( MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES + ".%." + MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER); @@ -279,7 +278,7 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider Entry oaKeyPair = oaInterator.next(); IOAAuthParameters oaParam = - AuthConfigurationProviderFactory.getInstance().getOnlineApplicationParameter(oaKeyPair.getValue()); + authConfig.getOnlineApplicationParameter(oaKeyPair.getValue()); if (oaParam != null) { String metadataurl = oaParam.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_URL); @@ -409,83 +408,79 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider ChainingMetadataProvider chainProvider = new ChainingMetadataProvider(); Logger.info("Loading metadata"); Map providersinuse = new HashMap(); - try { - Map allOAs = AuthConfigurationProviderFactory.getInstance().getConfigurationWithWildCard( - MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES - + ".%." - + MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER); - - if (allOAs != null) { - Iterator> oaInterator = allOAs.entrySet().iterator(); - while (oaInterator.hasNext()) { - Entry oaKeyPair = oaInterator.next(); - - IOAAuthParameters oaParam = - AuthConfigurationProviderFactory.getInstance().getOnlineApplicationParameter(oaKeyPair.getValue()); - if (oaParam != null) { - String metadataurl = oaParam.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_URL); - String oaFriendlyName = oaParam.getFriendlyName(); - HTTPMetadataProvider httpProvider = null; + Map allOAs = authConfig.getConfigurationWithWildCard( + MOAIDConfigurationConstants.PREFIX_MOAID_SERVICES + + ".%." + + MOAIDConfigurationConstants.SERVICE_UNIQUEIDENTIFIER); + + if (allOAs != null) { + Iterator> oaInterator = allOAs.entrySet().iterator(); + while (oaInterator.hasNext()) { + Entry oaKeyPair = oaInterator.next(); - try { - String certBase64 = oaParam.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE); - if (MiscUtil.isNotEmpty(certBase64) && MiscUtil.isNotEmpty(metadataurl)) { - byte[] cert = Base64Utils.decode(certBase64, false); - - - if (timer == null) - timer = new Timer(true); - - Logger.info("Loading metadata for: " + oaFriendlyName); - if (!providersinuse.containsKey(metadataurl)) { - httpProvider = createNewHTTPMetaDataProvider( - metadataurl, - buildMetadataFilterChain(oaParam, metadataurl, cert), - oaFriendlyName, - timer); - - if (httpProvider != null) - providersinuse.put(metadataurl, httpProvider); + IOAAuthParameters oaParam = + authConfig.getOnlineApplicationParameter(oaKeyPair.getValue()); + if (oaParam != null) { + String metadataurl = oaParam.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_URL); + String oaFriendlyName = oaParam.getFriendlyName(); + MetadataProvider httpProvider = null; + + try { + String certBase64 = oaParam.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE); + if (MiscUtil.isNotEmpty(certBase64) && MiscUtil.isNotEmpty(metadataurl)) { + byte[] cert = Base64Utils.decode(certBase64, false); - } else { - Logger.info(metadataurl + " are already added."); - } + + if (timer == null) + timer = new Timer(true); + + Logger.info("Loading metadata for: " + oaFriendlyName); + if (!providersinuse.containsKey(metadataurl)) { + httpProvider = createNewMoaMetadataProvider( + metadataurl, + buildMetadataFilterChain(oaParam, metadataurl, cert), + oaFriendlyName, + timer, + new BasicParserPool()); + + if (httpProvider != null) + providersinuse.put(metadataurl, httpProvider); } else { - Logger.info(oaFriendlyName - + " is not a PVP2 Application skipping"); + Logger.info(metadataurl + " are already added."); } - } catch (Throwable e) { - Logger.error( - "Failed to add Metadata (unhandled reason: " - + e.getMessage(), e); - if (httpProvider != null) { - Logger.debug("Destroy failed Metadata provider"); - httpProvider.destroy(); - } - } - } - } + } else { + Logger.info(oaFriendlyName + + " is not a PVP2 Application skipping"); + } + } catch (Throwable e) { + Logger.error( + "Failed to add Metadata (unhandled reason: " + + e.getMessage(), e); - } else - Logger.info("No Online-Application configuration found. PVP 2.1 metadata provider initialization failed!"); - - try { - chainProvider.setProviders(new ArrayList(providersinuse.values())); - - } catch (MetadataProviderException e) { - Logger.error( - "Failed to add Metadata (unhandled reason: " - + e.getMessage(), e); + if (httpProvider != null && httpProvider instanceof BaseMetadataProvider) { + Logger.debug("Destroy failed Metadata provider"); + ((BaseMetadataProvider)httpProvider).destroy(); + + } + } + } } - internalProvider = chainProvider; - - } catch (ConfigurationException e) { - Logger.error("Access MOA-ID configuration FAILED.", e); + } else + Logger.info("No Online-Application configuration found. PVP 2.1 metadata provider initialization failed!"); + + try { + chainProvider.setProviders(new ArrayList(providersinuse.values())); + } catch (MetadataProviderException e) { + Logger.error( + "Failed to add Metadata (unhandled reason: " + + e.getMessage(), e); } + + internalProvider = chainProvider; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java index d5c7d9100..e060e18e1 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java @@ -22,15 +22,19 @@ */ package at.gv.egovernment.moa.id.protocols.pvp2x.metadata; +import java.io.File; import java.util.Timer; import javax.net.ssl.SSLHandshakeException; import org.apache.commons.httpclient.MOAHttpClient; +import org.apache.commons.httpclient.params.HttpClientParams; +import org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider; import org.opensaml.saml2.metadata.provider.HTTPMetadataProvider; import org.opensaml.saml2.metadata.provider.MetadataFilter; import org.opensaml.saml2.metadata.provider.MetadataProvider; -import org.opensaml.xml.parse.BasicParserPool; +import org.opensaml.xml.parse.ParserPool; +import org.springframework.beans.factory.annotation.Autowired; import at.gv.egovernment.moa.id.commons.api.AuthConfiguration; import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException; @@ -40,6 +44,7 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants; import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SchemaValidationException; import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SignatureValidationException; import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.FileUtils; /** * @author tlenz @@ -47,6 +52,104 @@ import at.gv.egovernment.moa.logging.Logger; */ public abstract class SimpleMOAMetadataProvider implements MetadataProvider{ + private static final String URI_PREFIX_HTTP = "http:"; + private static final String URI_PREFIX_HTTPS = "https:"; + private static final String URI_PREFIX_FILE = "file:"; + + + @Autowired + protected AuthConfiguration authConfig; + + /** + * Create a single SAML2 MOA specific metadata provider + * + * @param metadataLocation where the metadata should be loaded, but never null. If the location starts with http(s):, than a http + * based metadata provider is used. If the location starts with file:, than a filesystem based metadata provider is used + * @param filter Filters, which should be used to validate the metadata + * @param IdForLogging Id, which is used for Logging + * @param timer {@link Timer} which is used to schedule metadata refresh operations + * + * @return SAML2 Metadata Provider, or null if the metadata provider can not initialized + */ + protected MetadataProvider createNewMoaMetadataProvider(String metadataLocation, MetadataFilter filter, + String IdForLogging, Timer timer, ParserPool pool) { + if (metadataLocation.startsWith(URI_PREFIX_HTTP) || metadataLocation.startsWith(URI_PREFIX_HTTPS)) + return createNewHTTPMetaDataProvider(metadataLocation, filter, IdForLogging, timer, pool); + + else { + String absoluteMetadataLocation = FileUtils.makeAbsoluteURL( + metadataLocation, + authConfig.getRootConfigFileDir()); + + if (absoluteMetadataLocation.startsWith(URI_PREFIX_FILE)) { + File metadataFile = new File(absoluteMetadataLocation); + if (metadataFile.exists()) + return createNewFileSystemMetaDataProvider(metadataFile, filter, IdForLogging, timer, pool); + + else { + Logger.warn("SAML2 metadata file: " + absoluteMetadataLocation + " not found or not exist"); + return null; + } + + } + } + + Logger.warn("SAML2 metadata has an unsupported metadata location prefix: " + metadataLocation); + return null; + + } + + + /** + * Create a single SAML2 filesystem based metadata provider + * + * @param metadataFile File, where the metadata should be loaded + * @param filter Filters, which should be used to validate the metadata + * @param IdForLogging Id, which is used for Logging + * @param timer {@link Timer} which is used to schedule metadata refresh operations + * @param pool + * + * @return SAML2 Metadata Provider + */ + private MetadataProvider createNewFileSystemMetaDataProvider(File metadataFile, MetadataFilter filter, String IdForLogging, Timer timer, ParserPool pool) { + FilesystemMetadataProvider fileSystemProvider = null; + try { + fileSystemProvider = new FilesystemMetadataProvider(timer, metadataFile); + fileSystemProvider.setParserPool(pool); + fileSystemProvider.setRequireValidMetadata(true); + fileSystemProvider.setMinRefreshDelay(1000*60*15); //15 minutes + fileSystemProvider.setMaxRefreshDelay(1000*60*60*24); //24 hours + //httpProvider.setRefreshDelayFactor(0.1F); + + fileSystemProvider.setMetadataFilter(filter); + fileSystemProvider.initialize(); + + fileSystemProvider.setRequireValidMetadata(true); + + return fileSystemProvider; + + } catch (Exception e) { + Logger.warn( + "Failed to load Metadata file for " + + IdForLogging + "[ " + + "File: " + metadataFile.getAbsolutePath() + + " Msg: " + e.getMessage() + " ]", e); + + + Logger.warn("Can not initialize SAML2 metadata provider from filesystem: " + metadataFile.getAbsolutePath() + + " Reason: " + e.getMessage(), e); + + if (fileSystemProvider != null) + fileSystemProvider.destroy(); + + } + + return null; + + } + + + /** * Create a single SAML2 HTTP metadata provider * @@ -54,16 +157,21 @@ public abstract class SimpleMOAMetadataProvider implements MetadataProvider{ * @param filter Filters, which should be used to validate the metadata * @param IdForLogging Id, which is used for Logging * @param timer {@link Timer} which is used to schedule metadata refresh operations + * @param pool * * @return SAML2 Metadata Provider */ - protected HTTPMetadataProvider createNewHTTPMetaDataProvider(String metadataURL, MetadataFilter filter, String IdForLogging, Timer timer) { + private MetadataProvider createNewHTTPMetaDataProvider(String metadataURL, MetadataFilter filter, String IdForLogging, Timer timer, ParserPool pool) { HTTPMetadataProvider httpProvider = null; //Timer timer= null; MOAHttpClient httpClient = null; try { httpClient = new MOAHttpClient(); + HttpClientParams httpClientParams = new HttpClientParams(); + httpClientParams.setSoTimeout(AuthConfiguration.CONFIG_PROPS_METADATA_SOCKED_TIMEOUT); + httpClient.setParams(httpClientParams); + if (metadataURL.startsWith("https:")) { try { //FIX: change hostname validation default flag to true when httpClient is updated to > 4.4 @@ -88,7 +196,7 @@ public abstract class SimpleMOAMetadataProvider implements MetadataProvider{ // timer = new Timer(true); httpProvider = new HTTPMetadataProvider(timer, httpClient, metadataURL); - httpProvider.setParserPool(new BasicParserPool()); + httpProvider.setParserPool(pool); httpProvider.setRequireValidMetadata(true); httpProvider.setMinRefreshDelay(1000*60*15); //15 minutes httpProvider.setMaxRefreshDelay(1000*60*60*24); //24 hours @@ -115,7 +223,7 @@ public abstract class SimpleMOAMetadataProvider implements MetadataProvider{ + metadataURL + " FAILED.", e); } - Logger.error( + Logger.warn( "Failed to load Metadata file for " + IdForLogging + "[ " + e.getMessage() + " ]", e); diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java index fcf4c3ffa..4df11b35c 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java @@ -16,7 +16,8 @@ public interface AuthConfiguration extends ConfigurationProvider{ public static final String DEFAULT_X509_CHAININGMODE = "pkix"; - + public static final int CONFIG_PROPS_METADATA_SOCKED_TIMEOUT = 20 * 1000; //20 seconds metadata socked timeout + public Properties getGeneralPVP2ProperiesConfig(); diff --git a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java index b35ffdf62..adc2a310b 100644 --- a/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java +++ b/id/server/modules/moa-id-module-elga_mandate_service/src/main/java/at/gv/egovernment/moa/id/auth/modules/elgamandates/utils/ELGAMandateServiceMetadataProvider.java @@ -36,12 +36,11 @@ import org.opensaml.saml2.metadata.provider.MetadataFilter; import org.opensaml.saml2.metadata.provider.MetadataProvider; import org.opensaml.saml2.metadata.provider.MetadataProviderException; import org.opensaml.xml.XMLObject; -import org.springframework.beans.factory.annotation.Autowired; +import org.opensaml.xml.parse.BasicParserPool; import org.springframework.stereotype.Service; import at.gv.egovernment.moa.id.auth.IDestroyableObject; import at.gv.egovernment.moa.id.auth.modules.elgamandates.ELGAMandatesAuthConstants; -import at.gv.egovernment.moa.id.commons.api.AuthConfiguration; import at.gv.egovernment.moa.id.protocols.pvp2x.metadata.SimpleMOAMetadataProvider; import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.MOASPMetadataSignatureFilter; import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.SchemaValidationFilter; @@ -57,8 +56,6 @@ import at.gv.egovernment.moa.util.MiscUtil; @Service("ELGAMandate_MetadataProvider") public class ELGAMandateServiceMetadataProvider extends SimpleMOAMetadataProvider implements IDestroyableObject { - - @Autowired AuthConfiguration authConfig; private ChainingMetadataProvider metadataProvider = new ChainingMetadataProvider(); private Timer timer = null; @@ -256,11 +253,12 @@ public class ELGAMandateServiceMetadataProvider extends SimpleMOAMetadataProvide filter.addFilter(new SchemaValidationFilter(true)); filter.addFilter(new MOASPMetadataSignatureFilter(trustProfileID)); - HTTPMetadataProvider idpMetadataProvider = createNewHTTPMetaDataProvider(metdataURL, + MetadataProvider idpMetadataProvider = createNewMoaMetadataProvider(metdataURL, filter, - ELGAMandatesAuthConstants.MODULE_NAME_FOR_LOGGING, - timer); - + ELGAMandatesAuthConstants.MODULE_NAME_FOR_LOGGING, + timer, + new BasicParserPool()); + if (idpMetadataProvider == null) { Logger.error("Create ELGA Mandate-Service Client FAILED."); throw new MetadataProviderException("Can not initialize ELGA Mandate-Service metadata provider."); -- cgit v1.2.3 From 782b159ec4050a459f8aadf85b68fb2b15fbf1b2 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Mon, 17 Jul 2017 10:25:31 +0200 Subject: refactor MOA eIDAS metadata provider --- .../moa/id/auth/modules/eidas/Constants.java | 1 - .../engine/MOAeIDASChainingMetadataProvider.java | 122 ++++----------------- 2 files changed, 22 insertions(+), 101 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java index 36323f3a5..01b202a88 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java @@ -71,7 +71,6 @@ public class Constants { //timeouts and clock skews public static final int CONFIG_PROPS_SKEWTIME = 2 * 60 * 1000; //2 minutes skew time for response validation - public static final int CONFIG_PROPS_METADATA_SOCKED_TIMEOUT = 20 * 1000; //20 seconds metadata socked timeout public static final long CONFIG_PROPS_METADATA_GARBAGE_TIMEOUT = 7 * 24 * 60 * 60 * 1000; //remove unused eIDAS metadata after 7 days //eIDAS request parameters diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java index 75d57e615..a0330903b 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java @@ -9,11 +9,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Timer; -import javax.net.ssl.SSLHandshakeException; import javax.xml.namespace.QName; -import org.apache.commons.httpclient.MOAHttpClient; -import org.apache.commons.httpclient.params.HttpClientParams; import org.opensaml.saml2.metadata.EntitiesDescriptor; import org.opensaml.saml2.metadata.EntityDescriptor; import org.opensaml.saml2.metadata.RoleDescriptor; @@ -29,13 +26,8 @@ import org.springframework.stereotype.Service; import at.gv.egovernment.moa.id.auth.IDestroyableObject; import at.gv.egovernment.moa.id.auth.IGarbageCollectorProcessing; import at.gv.egovernment.moa.id.auth.modules.eidas.Constants; -import at.gv.egovernment.moa.id.commons.api.AuthConfiguration; -import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException; -import at.gv.egovernment.moa.id.commons.utils.MOAHttpProtocolSocketFactory; -import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory; -import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SchemaValidationException; -import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SignatureValidationException; import at.gv.egovernment.moa.id.protocols.pvp2x.metadata.IMOARefreshableMetadataProvider; +import at.gv.egovernment.moa.id.protocols.pvp2x.metadata.SimpleMOAMetadataProvider; import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.MOASPMetadataSignatureFilter; import at.gv.egovernment.moa.id.saml2.MetadataFilterChain; import at.gv.egovernment.moa.logging.Logger; @@ -43,11 +35,10 @@ import at.gv.egovernment.moa.util.MiscUtil; import eu.eidas.auth.engine.AbstractProtocolEngine; @Service("eIDASMetadataProvider") -public class MOAeIDASChainingMetadataProvider implements ObservableMetadataProvider, +public class MOAeIDASChainingMetadataProvider extends SimpleMOAMetadataProvider implements ObservableMetadataProvider, IGarbageCollectorProcessing, IDestroyableObject, IMOARefreshableMetadataProvider { -// private static MOAeIDASChainingMetadataProvider instance = null; - private static Object mutex = new Object(); + private Timer timer = null; private MetadataProvider internalProvider; private Map lastAccess = null; @@ -77,6 +68,10 @@ public class MOAeIDASChainingMetadataProvider implements ObservableMetadataProvi */ @Override public void fullyDestroy() { + + if (timer != null) + timer.cancel(); + Map loadedproviders = getAllActuallyLoadedProviders(); if (loadedproviders != null) { for (Entry el : loadedproviders.entrySet()) { @@ -188,94 +183,20 @@ public class MOAeIDASChainingMetadataProvider implements ObservableMetadataProvi } } - - - private HTTPMetadataProvider createNewHTTPMetaDataProvider(String metadataURL) { - HTTPMetadataProvider httpProvider = null; - Timer timer= null; - MOAHttpClient httpClient = null; - try { - AuthConfiguration authConfig = AuthConfigurationProviderFactory.getInstance(); - - httpClient = new MOAHttpClient(); - - HttpClientParams httpClientParams = new HttpClientParams(); - httpClientParams.setSoTimeout(Constants.CONFIG_PROPS_METADATA_SOCKED_TIMEOUT); - httpClient.setParams(httpClientParams); - - if (metadataURL.startsWith("https:")) { - try { - //FIX: change hostname validation default flag to true when httpClient is updated to > 4.4 - MOAHttpProtocolSocketFactory protoSocketFactory = new MOAHttpProtocolSocketFactory( - Constants.SSLSOCKETFACTORYNAME, - authConfig.getTrustedCACertificates(), - null, - AuthConfiguration.DEFAULT_X509_CHAININGMODE, - authConfig.isTrustmanagerrevoationchecking(), - authConfig.getRevocationMethodOrder(), - authConfig.getBasicMOAIDConfigurationBoolean( - AuthConfiguration.PROP_KEY_SSL_HOSTNAME_VALIDATION, false)); - - httpClient.setCustomSSLTrustStore(metadataURL, protoSocketFactory); - - } catch (MOAHttpProtocolSocketFactoryException e) { - Logger.warn("MOA SSL-TrustStore can not initialized. Use default Java TrustStore."); - - } - } - + + private MetadataProvider createNewHTTPMetaDataProvider(String metadataURL) { + if (timer == null) timer = new Timer(true); - httpProvider = new HTTPMetadataProvider(timer, httpClient, - metadataURL); - httpProvider.setParserPool(AbstractProtocolEngine.getSecuredParserPool()); - httpProvider.setRequireValidMetadata(true); - httpProvider.setMinRefreshDelay(1000*60*15); //15 minutes - httpProvider.setMaxRefreshDelay(1000*60*60*24); //24 hours - //httpProvider.setRefreshDelayFactor(0.1F); - - //add Metadata filters - MetadataFilterChain filter = new MetadataFilterChain(); - filter.addFilter(new MOASPMetadataSignatureFilter( - authConfig.getBasicMOAIDConfiguration(Constants.CONIG_PROPS_EIDAS_METADATA_VALIDATION_TRUSTSTORE))); - httpProvider.setMetadataFilter(filter); - - httpProvider.initialize(); - - return httpProvider; - - } catch (Throwable e) { - if (e.getCause() != null && e.getCause().getCause() instanceof SSLHandshakeException) { - Logger.warn("SSL-Server certificate for metadata " - + metadataURL + " not trusted.", e); - - } if (e.getCause() != null && e.getCause().getCause() instanceof SignatureValidationException) { - Logger.warn("Signature verification for metadata" - + metadataURL + " FAILED.", e); - - } if (e.getCause() != null && e.getCause().getCause() instanceof SchemaValidationException) { - Logger.warn("Schema validation for metadata " - + metadataURL + " FAILED.", e); - } - - Logger.error( - "Failed to add Metadata file for " - + metadataURL + "[ " - + e.getMessage() + " ]", e); - - if (httpProvider != null) { - Logger.debug("Destroy failed Metadata provider"); - httpProvider.destroy(); - } - - if (timer != null) { - Logger.debug("Destroy Timer."); - timer.cancel(); - } - - - } - return null; + //add Metadata filters + MetadataFilterChain filter = new MetadataFilterChain(); + filter.addFilter(new MOASPMetadataSignatureFilter( + authConfig.getBasicMOAIDConfiguration(Constants.CONIG_PROPS_EIDAS_METADATA_VALIDATION_TRUSTSTORE))); + + return createNewMoaMetadataProvider(metadataURL, filter, + "eIDAS metadata-provider", + timer, AbstractProtocolEngine.getSecuredParserPool()); + } private Map getAllActuallyLoadedProviders() { @@ -310,7 +231,7 @@ public class MOAeIDASChainingMetadataProvider implements ObservableMetadataProvi } else { //load new Metadata Provider ChainingMetadataProvider chainProvider = (ChainingMetadataProvider) internalProvider; - HTTPMetadataProvider newMetadataProvider = createNewHTTPMetaDataProvider(metadataURL); + MetadataProvider newMetadataProvider = createNewHTTPMetaDataProvider(metadataURL); if (newMetadataProvider != null) { chainProvider.addMetadataProvider(newMetadataProvider); @@ -320,7 +241,8 @@ public class MOAeIDASChainingMetadataProvider implements ObservableMetadataProvi + metadataURL + " is added."); return true; - } + } else + Logger.warn("Can not load eIDAS metadata from URL: " + metadataURL); } } else -- cgit v1.2.3 From c4fe089610dba3d6e8929f6e163538dfae0d18da Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Tue, 25 Jul 2017 12:07:59 +0200 Subject: betaversion for a workaround to solve problem with Java8 >= 141 and SHA1 certificates in certificate chain --- .../utils/ssl/MOASSLAlgorithmConstraints.java | 175 ++++++++++++++ .../commons/utils/ssl/MOATrustManagerWrapper.java | 267 +++++++++++++++++++++ .../moa/id/commons/utils/ssl/SSLUtils.java | 4 +- .../commons/validation/MOASSLAlgorithmChecker.java | 226 +++++++++++++++++ 4 files changed, 671 insertions(+), 1 deletion(-) create mode 100644 id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java create mode 100644 id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java create mode 100644 id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java new file mode 100644 index 000000000..8f367598d --- /dev/null +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java @@ -0,0 +1,175 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.commons.utils.ssl; + +import java.security.AlgorithmConstraints; +import java.security.AlgorithmParameters; +import java.security.CryptoPrimitive; +import java.security.Key; +import java.util.Set; + +import javax.net.ssl.SSLEngine; +import javax.net.ssl.SSLSocket; + +/** + * @author tlenz + * + */ +public class MOASSLAlgorithmConstraints implements AlgorithmConstraints { + + private AlgorithmConstraints userAlgConstraints = null; + private AlgorithmConstraints peerAlgConstraints = null; + + private boolean enabledX509DisabledAlgConstraints = true; + + + static final AlgorithmConstraints DEFAULT = new MOASSLAlgorithmConstraints(null); + + + public MOASSLAlgorithmConstraints() + { + + } + + + static final AlgorithmConstraints DEFAULT_SSL_ONLY = new MOASSLAlgorithmConstraints((SSLSocket)null, false); + + MOASSLAlgorithmConstraints(AlgorithmConstraints paramAlgorithmConstraints) + { + this.userAlgConstraints = paramAlgorithmConstraints; + + } + + + MOASSLAlgorithmConstraints(SSLSocket paramSSLSocket, boolean paramBoolean) + { + if (paramSSLSocket != null) { + this.userAlgConstraints = paramSSLSocket.getSSLParameters().getAlgorithmConstraints(); + + } + + if (!(paramBoolean)) + this.enabledX509DisabledAlgConstraints = false; + } + + + MOASSLAlgorithmConstraints(SSLEngine paramSSLEngine, boolean paramBoolean) + { + if (paramSSLEngine != null) { + this.userAlgConstraints = paramSSLEngine.getSSLParameters().getAlgorithmConstraints(); + + } + + if (!(paramBoolean)) + this.enabledX509DisabledAlgConstraints = false; + } + + MOASSLAlgorithmConstraints(SSLSocket paramSSLSocket, String[] paramArrayOfString, boolean paramBoolean) + { + if (paramSSLSocket != null) { + this.userAlgConstraints = paramSSLSocket.getSSLParameters().getAlgorithmConstraints(); + + //this.peerAlgConstraints = new SupportedSignatureAlgorithmConstraints(paramArrayOfString); + + } + + if (!(paramBoolean)) + this.enabledX509DisabledAlgConstraints = false; + } + + +// MOASSLAlgorithmConstraints(SSLEngine paramSSLEngine, String[] paramArrayOfString, boolean paramBoolean) +// { +// if (paramSSLEngine != null) { +// this.userAlgConstraints = paramSSLEngine.getSSLParameters().getAlgorithmConstraints(); +// +// this.peerAlgConstraints = new SupportedSignatureAlgorithmConstraints(paramArrayOfString); +// +// } +// +// if (!(paramBoolean)) +// this.enabledX509DisabledAlgConstraints = false; +// } + + + /* (non-Javadoc) + * @see java.security.AlgorithmConstraints#permits(java.util.Set, java.lang.String, java.security.AlgorithmParameters) + */ + @Override + public boolean permits(Set primitives, String algorithm, AlgorithmParameters parameters) { + boolean bool = true; + + if (this.peerAlgConstraints != null) { + bool = this.peerAlgConstraints.permits(primitives, algorithm, parameters); + + } + + if ((bool) && (this.userAlgConstraints != null)) { + bool = this.userAlgConstraints.permits(primitives, algorithm, parameters); + + } + + return bool; + + } + + /* (non-Javadoc) + * @see java.security.AlgorithmConstraints#permits(java.util.Set, java.security.Key) + */ + @Override + public boolean permits(Set primitives, Key key) { + boolean bool = true; + + if (this.peerAlgConstraints != null) { + bool = this.peerAlgConstraints.permits(primitives, key); + } + + if ((bool) && (this.userAlgConstraints != null)) { + bool = this.userAlgConstraints.permits(primitives, key); + } + + return bool; + + } + + /* (non-Javadoc) + * @see java.security.AlgorithmConstraints#permits(java.util.Set, java.lang.String, java.security.Key, java.security.AlgorithmParameters) + */ + @Override + public boolean permits(Set primitives, String algorithm, Key key, AlgorithmParameters parameters) { + boolean bool = true; + + if (this.peerAlgConstraints != null) { + bool = this.peerAlgConstraints.permits(primitives, algorithm, key, parameters); + + } + + if ((bool) && (this.userAlgConstraints != null)) { + bool = this.userAlgConstraints.permits(primitives, algorithm, key, parameters); + + } + + return bool; + } + +} diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java new file mode 100644 index 000000000..c71d50161 --- /dev/null +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java @@ -0,0 +1,267 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.commons.utils.ssl; + +import java.lang.reflect.Constructor; +import java.net.Socket; +import java.security.AlgorithmConstraints; +import java.security.Timestamp; +import java.security.cert.CertPathValidatorException; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.PKIXCertPathChecker; +import java.security.cert.X509Certificate; +import java.util.Collections; +import java.util.HashSet; + +import javax.net.ssl.SSLEngine; +import javax.net.ssl.SSLSession; +import javax.net.ssl.SSLSocket; +import javax.net.ssl.X509ExtendedTrustManager; +import javax.net.ssl.X509TrustManager; + +import at.gv.egovernment.moa.id.commons.validation.MOASSLAlgorithmChecker; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.MiscUtil; +import sun.security.provider.certpath.AlgorithmChecker; +import sun.security.util.DisabledAlgorithmConstraints; + +/** + * @author tlenz + * + */ +public class MOATrustManagerWrapper extends X509ExtendedTrustManager implements X509TrustManager { + + private X509TrustManager internalTrustManager = null; + + + /** + * + */ + public MOATrustManagerWrapper(X509TrustManager trustManger) { + this.internalTrustManager = trustManger; + + } + + + + /* (non-Javadoc) + * @see javax.net.ssl.X509TrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String) + */ + @Override + public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) + throws CertificateException { + internalTrustManager.checkClientTrusted(paramArrayOfX509Certificate, paramString); + + } + + /* (non-Javadoc) + * @see javax.net.ssl.X509TrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String) + */ + @Override + public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) + throws CertificateException { + internalTrustManager.checkServerTrusted(paramArrayOfX509Certificate, paramString); + + } + + /* (non-Javadoc) + * @see javax.net.ssl.X509TrustManager#getAcceptedIssuers() + */ + @Override + public X509Certificate[] getAcceptedIssuers() { + return internalTrustManager.getAcceptedIssuers(); + } + + /* (non-Javadoc) + * @see javax.net.ssl.X509ExtendedTrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String, java.net.Socket) + */ + @Override + public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, + Socket paramSocket) throws CertificateException { + internalTrustManager.checkClientTrusted(paramArrayOfX509Certificate, paramString); + + checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSocket, true); + + } + + /* (non-Javadoc) + * @see javax.net.ssl.X509ExtendedTrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, java.net.Socket) + */ + @Override + public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, + Socket paramSocket) throws CertificateException { + + internalTrustManager.checkServerTrusted(paramArrayOfX509Certificate, paramString); + + checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSocket, false); + + } + + /* (non-Javadoc) + * @see javax.net.ssl.X509ExtendedTrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String, javax.net.ssl.SSLEngine) + */ + @Override + public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, + SSLEngine paramSSLEngine) throws CertificateException { + internalTrustManager.checkClientTrusted(paramArrayOfX509Certificate, paramString); + + checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSSLEngine, true); + + } + + /* (non-Javadoc) + * @see javax.net.ssl.X509ExtendedTrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, javax.net.ssl.SSLEngine) + */ + @Override + public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, + SSLEngine paramSSLEngine) throws CertificateException { + internalTrustManager.checkServerTrusted(paramArrayOfX509Certificate, paramString); + + checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSSLEngine, false); + } + + + + private void checkAdditionalTrust(X509Certificate[] paramArrayOfX509Certificate, + String paramString, Socket paramSocket, boolean isClient) throws CertificateException { + if ((paramSocket == null) || (!(paramSocket.isConnected())) || (!(paramSocket instanceof SSLSocket))) { + return; + + } + + SSLSocket localSSLSocket = (SSLSocket)paramSocket; + SSLSession localSSLSession = localSSLSocket.getHandshakeSession(); + if (localSSLSession == null) { + throw new CertificateException("No handshake session"); + } + + String endpointIdenfificationAlgo = localSSLSocket.getSSLParameters().getEndpointIdentificationAlgorithm(); + if (MiscUtil.isNotEmpty(endpointIdenfificationAlgo)) { + String peerHost = localSSLSession.getPeerHost(); + checkIdentity(peerHost, paramArrayOfX509Certificate[0], endpointIdenfificationAlgo); + + } + + AlgorithmConstraints localSSLAlgorithmConstraints = new DisabledAlgorithmConstraints("jdk.certpath.disabledAlgorithms"); + checkAlgorithmConstraints(paramArrayOfX509Certificate, localSSLAlgorithmConstraints, isClient); + } + + private void checkAdditionalTrust(X509Certificate[] paramArrayOfX509Certificate, String paramString, + SSLEngine paramSSLEngine, boolean isClient) throws CertificateException { + if (paramSSLEngine != null) { + SSLSession localSSLSession = paramSSLEngine.getHandshakeSession(); + if (localSSLSession == null) { + throw new CertificateException("No handshake session"); + + } + + String str = paramSSLEngine.getSSLParameters().getEndpointIdentificationAlgorithm(); + if ((str != null) && (str.length() != 0)) { + String peerHost = localSSLSession.getPeerHost(); + checkIdentity(peerHost, paramArrayOfX509Certificate[0], str); + + } + + AlgorithmConstraints localSSLAlgorithmConstraints = new DisabledAlgorithmConstraints("jdk.certpath.disabledAlgorithms"); + checkAlgorithmConstraints(paramArrayOfX509Certificate, localSSLAlgorithmConstraints, isClient); + } + } + + private void checkAlgorithmConstraints(X509Certificate[] certificates, + java.security.AlgorithmConstraints algorithmConstraint, boolean isClient) throws CertificateException { + try { + int i = certificates.length - 1; + HashSet localHashSet = new HashSet(); + X509Certificate[] arrayOfX509Certificate = this.internalTrustManager.getAcceptedIssuers(); + + if ((arrayOfX509Certificate != null) && (arrayOfX509Certificate.length > 0)) { + Collections.addAll(localHashSet, arrayOfX509Certificate); + + } + + if (localHashSet.contains(certificates[i])) { + --i; + } + + if (i >= 0) { + PKIXCertPathChecker localAlgorithmChecker = null; + Class algorithCheckerClass = null; + try { + algorithCheckerClass = Class.forName("sun.security.provider.certpath.AlgorithmChecker"); + Constructor algorithCheckerConstructorJava8_141 = algorithCheckerClass.getConstructor(AlgorithmConstraints.class, Timestamp.class, String.class); + localAlgorithmChecker = (AlgorithmChecker) algorithCheckerConstructorJava8_141.newInstance(algorithmConstraint, (Timestamp)null, isClient?"tls client":"tls server"); + Logger.trace("Use SSL AlgorithmChecker from JAVA8 >= 141 ..."); + + } catch (Throwable e) { + try { + Constructor algorithCheckerConstructorJava8_71 = algorithCheckerClass.getConstructor(AlgorithmConstraints.class); + localAlgorithmChecker = (AlgorithmChecker) algorithCheckerConstructorJava8_71.newInstance(algorithmConstraint); + + Logger.trace("Use SSL AlgorithmChecker from JAVA8 < 141 ..."); + + } catch (Throwable e1) { + Logger.error("Can NOT instance JAVA SSL AlgorithmChecker", e1); + Logger.error("USE ONE LEGACY VERSION OF ALGORITHM CHECKER ..."); + localAlgorithmChecker = new MOASSLAlgorithmChecker(); + + } + } + + + localAlgorithmChecker.init(false); + + for (int j = i; j >= 0; --j) { + X509Certificate localX509Certificate = certificates[j]; + + //localAlgorithmChecker.check((Certificate)localX509Certificate, Collections.emptySet()); + localAlgorithmChecker.check((Certificate)localX509Certificate, null); + } + } + } catch (CertPathValidatorException localCertPathValidatorException) { + throw new CertificateException("Certificates does not conform to algorithm constraints"); + + } + } + + private void checkIdentity(String peerHost, X509Certificate paramX509Certificate, String endpointIdenfificationAlgo) + throws CertificateException { + if (MiscUtil.isEmpty(endpointIdenfificationAlgo)) + return; + + if ((peerHost != null) && (peerHost.startsWith("[")) && (peerHost.endsWith("]"))) { + peerHost = peerHost.substring(1, peerHost.length() - 1); + + } + + if (endpointIdenfificationAlgo.equalsIgnoreCase("HTTPS")) { + sun.security.util.HostnameChecker.getInstance((byte)1).match(peerHost, paramX509Certificate); + + } else if ((endpointIdenfificationAlgo.equalsIgnoreCase("LDAP")) || (endpointIdenfificationAlgo.equalsIgnoreCase("LDAPS"))) { + sun.security.util.HostnameChecker.getInstance((byte)2).match(peerHost, paramX509Certificate); + + } else + throw new CertificateException("Unknown identification algorithm: " + endpointIdenfificationAlgo); + } + +} diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java index 109390132..3e793e4d1 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java @@ -147,6 +147,7 @@ public class SSLUtils { SSLContext ctx = SSLContext.getInstance("TLS"); ctx.init(kms, tms, null); ssf = ctx.getSocketFactory(); + // store SSLSocketFactory sslSocketFactories.put(url, ssf); @@ -259,7 +260,8 @@ public class SSLUtils { MOAIDTrustManager.initializeLoggingContext(); MOAIDTrustManager tm = new MOAIDTrustManager(acceptedServerCertURL); tm.init(cfg, profile); - return new TrustManager[] {tm}; + return new TrustManager[] {new MOATrustManagerWrapper(tm)}; + } } diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java new file mode 100644 index 000000000..990b5d3b1 --- /dev/null +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java @@ -0,0 +1,226 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.commons.validation; + +import java.math.BigInteger; +import java.security.AlgorithmConstraints; +import java.security.AlgorithmParameters; +import java.security.CryptoPrimitive; +import java.security.GeneralSecurityException; +import java.security.KeyFactory; +import java.security.PublicKey; +import java.security.cert.CertPathValidatorException; +import java.security.cert.Certificate; +import java.security.cert.CertificateException; +import java.security.cert.CertificateParsingException; +import java.security.cert.PKIXCertPathChecker; +import java.security.cert.PKIXReason; +import java.security.cert.X509Certificate; +import java.security.interfaces.DSAParams; +import java.security.interfaces.DSAPublicKey; +import java.security.spec.DSAPublicKeySpec; +import java.util.Collection; +import java.util.Collections; +import java.util.EnumSet; +import java.util.Set; + +import sun.security.util.DisabledAlgorithmConstraints; +import sun.security.x509.X509CertImpl; + +/** + * @author tlenz + * + */ +public class MOASSLAlgorithmChecker extends PKIXCertPathChecker { + + private final AlgorithmConstraints constraints; + private final PublicKey trustedPubKey; + private PublicKey prevPubKey; + private static final Set SIGNATURE_PRIMITIVE_SET = Collections.unmodifiableSet(EnumSet.of(CryptoPrimitive.SIGNATURE)); + private static final Set KU_PRIMITIVE_SET = Collections.unmodifiableSet(EnumSet.of(CryptoPrimitive.SIGNATURE, CryptoPrimitive.KEY_ENCAPSULATION, CryptoPrimitive.PUBLIC_KEY_ENCRYPTION, CryptoPrimitive.KEY_AGREEMENT)); + + private static final DisabledAlgorithmConstraints certPathDefaultConstraints = new DisabledAlgorithmConstraints("jdk.certpath.disabledAlgorithms"); + + /** + * + */ + public MOASSLAlgorithmChecker() { + this.prevPubKey = null; + this.trustedPubKey = null; + this.constraints = certPathDefaultConstraints; + + } + + public MOASSLAlgorithmChecker(AlgorithmConstraints paramAlgorithmConstraints) { + this.prevPubKey = null; + this.trustedPubKey = null; + this.constraints = paramAlgorithmConstraints; + } + + + /* (non-Javadoc) + * @see java.security.cert.PKIXCertPathChecker#init(boolean) + */ + @Override + public void init(boolean forward) throws CertPathValidatorException { + if (!(forward)) { + if (this.trustedPubKey != null) + this.prevPubKey = this.trustedPubKey; + + else + this.prevPubKey = null; + + } else + throw new CertPathValidatorException("forward checking not supported"); + + } + + /* (non-Javadoc) + * @see java.security.cert.PKIXCertPathChecker#isForwardCheckingSupported() + */ + @Override + public boolean isForwardCheckingSupported() { + return false; + + } + + /* (non-Javadoc) + * @see java.security.cert.PKIXCertPathChecker#getSupportedExtensions() + */ + @Override + public Set getSupportedExtensions() { + return null; + + } + + /* (non-Javadoc) + * @see java.security.cert.PKIXCertPathChecker#check(java.security.cert.Certificate, java.util.Collection) + */ + @Override + public void check(Certificate cert, Collection unresolvedCritExts) throws CertPathValidatorException { + if ((!(cert instanceof X509Certificate)) || (this.constraints == null)) { + return; + + } + + X509CertImpl localX509CertImpl = null; + try { + localX509CertImpl = sun.security.x509.X509CertImpl.toImpl((X509Certificate)cert); + + } catch (CertificateException localCertificateException1) { + throw new CertPathValidatorException(localCertificateException1); + + } + + PublicKey localPublicKey = localX509CertImpl.getPublicKey(); + String str = localX509CertImpl.getSigAlgName(); + + + //check algorithms + AlgorithmParameters localAlgorithmParameters = null; + try { + sun.security.x509.AlgorithmId localAlgorithmId = null; + localAlgorithmId = (sun.security.x509.AlgorithmId)localX509CertImpl.get("x509.algorithm"); + localAlgorithmParameters = localAlgorithmId.getParameters(); + + if (!(this.constraints.permits(SIGNATURE_PRIMITIVE_SET, str, localAlgorithmParameters))) { + throw new CertPathValidatorException("Algorithm constraints check failed: " + str, null, null, -1, CertPathValidatorException.BasicReason.ALGORITHM_CONSTRAINED); + + } + + } catch (CertificateParsingException localCertificateException2) { + throw new CertPathValidatorException(localCertificateException2); + + } + + + //check key usage + boolean[] arrayOfBoolean = localX509CertImpl.getKeyUsage(); + if ((arrayOfBoolean != null) && (arrayOfBoolean.length < 9)) + throw new CertPathValidatorException("incorrect KeyUsage extension", null, null, -1, PKIXReason.INVALID_KEY_USAGE); + + if (arrayOfBoolean != null) { + Set cryptoPrimitives = EnumSet.noneOf(CryptoPrimitive.class); + if ((arrayOfBoolean[0] == true) || (arrayOfBoolean[1] == true) || (arrayOfBoolean[5] == true) || (arrayOfBoolean[6] == true)) { + cryptoPrimitives.add(CryptoPrimitive.SIGNATURE); + + } + + if (arrayOfBoolean[2] == true) { + cryptoPrimitives.add(CryptoPrimitive.KEY_ENCAPSULATION); + + } + + if (arrayOfBoolean[3] == true) { + cryptoPrimitives.add(CryptoPrimitive.PUBLIC_KEY_ENCRYPTION); + + } + + if (arrayOfBoolean[4] == true) { + cryptoPrimitives.add(CryptoPrimitive.KEY_AGREEMENT); + + } + + if ((!(cryptoPrimitives.isEmpty())) && (!(this.constraints.permits(cryptoPrimitives, localPublicKey)))) { + throw new CertPathValidatorException("algorithm constraints check failed", null, null, -1, CertPathValidatorException.BasicReason.ALGORITHM_CONSTRAINED); + + } + } + + //check pubKeys + if (this.prevPubKey != null) { + if ((str != null) && (!(this.constraints.permits(SIGNATURE_PRIMITIVE_SET, str, this.prevPubKey, localAlgorithmParameters)))) { + throw new CertPathValidatorException("Algorithm constraints check failed: " + str, null, null, -1, CertPathValidatorException.BasicReason.ALGORITHM_CONSTRAINED); + + } + + if ((localPublicKey instanceof DSAPublicKey) && (((DSAPublicKey)localPublicKey).getParams() == null)) { + if (!(this.prevPubKey instanceof DSAPublicKey)) { + throw new CertPathValidatorException("Input key is not of a appropriate type for inheriting parameters"); + + } + + DSAParams localObject = ((DSAPublicKey)this.prevPubKey).getParams(); + if (localObject == null) { + throw new CertPathValidatorException("Key parameters missing"); + + } + + try { + BigInteger localBigInteger = ((DSAPublicKey)localPublicKey).getY(); + KeyFactory localKeyFactory = KeyFactory.getInstance("DSA"); + DSAPublicKeySpec localDSAPublicKeySpec = new DSAPublicKeySpec(localBigInteger, ((DSAParams)localObject).getP(), ((DSAParams)localObject).getQ(), ((DSAParams)localObject).getG()); + localPublicKey = localKeyFactory.generatePublic(localDSAPublicKeySpec); + + } catch (GeneralSecurityException localGeneralSecurityException) { + throw new CertPathValidatorException("Unable to generate key with inherited parameters: " + localGeneralSecurityException.getMessage(), localGeneralSecurityException); + + } + } + } + + this.prevPubKey = localPublicKey; + } + + +} -- cgit v1.2.3 From 040e51d335d3af127c3894bd5558a484ddd9b9ea Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Tue, 25 Jul 2017 16:11:25 +0200 Subject: Revert "betaversion for a workaround to solve problem with Java8 >= 141 and SHA1 certificates in certificate chain" This reverts commit c4fe089610dba3d6e8929f6e163538dfae0d18da. --- .../utils/ssl/MOASSLAlgorithmConstraints.java | 175 -------------- .../commons/utils/ssl/MOATrustManagerWrapper.java | 267 --------------------- .../moa/id/commons/utils/ssl/SSLUtils.java | 4 +- .../commons/validation/MOASSLAlgorithmChecker.java | 226 ----------------- 4 files changed, 1 insertion(+), 671 deletions(-) delete mode 100644 id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java delete mode 100644 id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java delete mode 100644 id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java deleted file mode 100644 index 8f367598d..000000000 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOASSLAlgorithmConstraints.java +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright 2014 Federal Chancellery Austria - * MOA-ID has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ -package at.gv.egovernment.moa.id.commons.utils.ssl; - -import java.security.AlgorithmConstraints; -import java.security.AlgorithmParameters; -import java.security.CryptoPrimitive; -import java.security.Key; -import java.util.Set; - -import javax.net.ssl.SSLEngine; -import javax.net.ssl.SSLSocket; - -/** - * @author tlenz - * - */ -public class MOASSLAlgorithmConstraints implements AlgorithmConstraints { - - private AlgorithmConstraints userAlgConstraints = null; - private AlgorithmConstraints peerAlgConstraints = null; - - private boolean enabledX509DisabledAlgConstraints = true; - - - static final AlgorithmConstraints DEFAULT = new MOASSLAlgorithmConstraints(null); - - - public MOASSLAlgorithmConstraints() - { - - } - - - static final AlgorithmConstraints DEFAULT_SSL_ONLY = new MOASSLAlgorithmConstraints((SSLSocket)null, false); - - MOASSLAlgorithmConstraints(AlgorithmConstraints paramAlgorithmConstraints) - { - this.userAlgConstraints = paramAlgorithmConstraints; - - } - - - MOASSLAlgorithmConstraints(SSLSocket paramSSLSocket, boolean paramBoolean) - { - if (paramSSLSocket != null) { - this.userAlgConstraints = paramSSLSocket.getSSLParameters().getAlgorithmConstraints(); - - } - - if (!(paramBoolean)) - this.enabledX509DisabledAlgConstraints = false; - } - - - MOASSLAlgorithmConstraints(SSLEngine paramSSLEngine, boolean paramBoolean) - { - if (paramSSLEngine != null) { - this.userAlgConstraints = paramSSLEngine.getSSLParameters().getAlgorithmConstraints(); - - } - - if (!(paramBoolean)) - this.enabledX509DisabledAlgConstraints = false; - } - - MOASSLAlgorithmConstraints(SSLSocket paramSSLSocket, String[] paramArrayOfString, boolean paramBoolean) - { - if (paramSSLSocket != null) { - this.userAlgConstraints = paramSSLSocket.getSSLParameters().getAlgorithmConstraints(); - - //this.peerAlgConstraints = new SupportedSignatureAlgorithmConstraints(paramArrayOfString); - - } - - if (!(paramBoolean)) - this.enabledX509DisabledAlgConstraints = false; - } - - -// MOASSLAlgorithmConstraints(SSLEngine paramSSLEngine, String[] paramArrayOfString, boolean paramBoolean) -// { -// if (paramSSLEngine != null) { -// this.userAlgConstraints = paramSSLEngine.getSSLParameters().getAlgorithmConstraints(); -// -// this.peerAlgConstraints = new SupportedSignatureAlgorithmConstraints(paramArrayOfString); -// -// } -// -// if (!(paramBoolean)) -// this.enabledX509DisabledAlgConstraints = false; -// } - - - /* (non-Javadoc) - * @see java.security.AlgorithmConstraints#permits(java.util.Set, java.lang.String, java.security.AlgorithmParameters) - */ - @Override - public boolean permits(Set primitives, String algorithm, AlgorithmParameters parameters) { - boolean bool = true; - - if (this.peerAlgConstraints != null) { - bool = this.peerAlgConstraints.permits(primitives, algorithm, parameters); - - } - - if ((bool) && (this.userAlgConstraints != null)) { - bool = this.userAlgConstraints.permits(primitives, algorithm, parameters); - - } - - return bool; - - } - - /* (non-Javadoc) - * @see java.security.AlgorithmConstraints#permits(java.util.Set, java.security.Key) - */ - @Override - public boolean permits(Set primitives, Key key) { - boolean bool = true; - - if (this.peerAlgConstraints != null) { - bool = this.peerAlgConstraints.permits(primitives, key); - } - - if ((bool) && (this.userAlgConstraints != null)) { - bool = this.userAlgConstraints.permits(primitives, key); - } - - return bool; - - } - - /* (non-Javadoc) - * @see java.security.AlgorithmConstraints#permits(java.util.Set, java.lang.String, java.security.Key, java.security.AlgorithmParameters) - */ - @Override - public boolean permits(Set primitives, String algorithm, Key key, AlgorithmParameters parameters) { - boolean bool = true; - - if (this.peerAlgConstraints != null) { - bool = this.peerAlgConstraints.permits(primitives, algorithm, key, parameters); - - } - - if ((bool) && (this.userAlgConstraints != null)) { - bool = this.userAlgConstraints.permits(primitives, algorithm, key, parameters); - - } - - return bool; - } - -} diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java deleted file mode 100644 index c71d50161..000000000 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/MOATrustManagerWrapper.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * Copyright 2014 Federal Chancellery Austria - * MOA-ID has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ -package at.gv.egovernment.moa.id.commons.utils.ssl; - -import java.lang.reflect.Constructor; -import java.net.Socket; -import java.security.AlgorithmConstraints; -import java.security.Timestamp; -import java.security.cert.CertPathValidatorException; -import java.security.cert.Certificate; -import java.security.cert.CertificateException; -import java.security.cert.PKIXCertPathChecker; -import java.security.cert.X509Certificate; -import java.util.Collections; -import java.util.HashSet; - -import javax.net.ssl.SSLEngine; -import javax.net.ssl.SSLSession; -import javax.net.ssl.SSLSocket; -import javax.net.ssl.X509ExtendedTrustManager; -import javax.net.ssl.X509TrustManager; - -import at.gv.egovernment.moa.id.commons.validation.MOASSLAlgorithmChecker; -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.util.MiscUtil; -import sun.security.provider.certpath.AlgorithmChecker; -import sun.security.util.DisabledAlgorithmConstraints; - -/** - * @author tlenz - * - */ -public class MOATrustManagerWrapper extends X509ExtendedTrustManager implements X509TrustManager { - - private X509TrustManager internalTrustManager = null; - - - /** - * - */ - public MOATrustManagerWrapper(X509TrustManager trustManger) { - this.internalTrustManager = trustManger; - - } - - - - /* (non-Javadoc) - * @see javax.net.ssl.X509TrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String) - */ - @Override - public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) - throws CertificateException { - internalTrustManager.checkClientTrusted(paramArrayOfX509Certificate, paramString); - - } - - /* (non-Javadoc) - * @see javax.net.ssl.X509TrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String) - */ - @Override - public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) - throws CertificateException { - internalTrustManager.checkServerTrusted(paramArrayOfX509Certificate, paramString); - - } - - /* (non-Javadoc) - * @see javax.net.ssl.X509TrustManager#getAcceptedIssuers() - */ - @Override - public X509Certificate[] getAcceptedIssuers() { - return internalTrustManager.getAcceptedIssuers(); - } - - /* (non-Javadoc) - * @see javax.net.ssl.X509ExtendedTrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String, java.net.Socket) - */ - @Override - public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, - Socket paramSocket) throws CertificateException { - internalTrustManager.checkClientTrusted(paramArrayOfX509Certificate, paramString); - - checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSocket, true); - - } - - /* (non-Javadoc) - * @see javax.net.ssl.X509ExtendedTrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, java.net.Socket) - */ - @Override - public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, - Socket paramSocket) throws CertificateException { - - internalTrustManager.checkServerTrusted(paramArrayOfX509Certificate, paramString); - - checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSocket, false); - - } - - /* (non-Javadoc) - * @see javax.net.ssl.X509ExtendedTrustManager#checkClientTrusted(java.security.cert.X509Certificate[], java.lang.String, javax.net.ssl.SSLEngine) - */ - @Override - public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, - SSLEngine paramSSLEngine) throws CertificateException { - internalTrustManager.checkClientTrusted(paramArrayOfX509Certificate, paramString); - - checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSSLEngine, true); - - } - - /* (non-Javadoc) - * @see javax.net.ssl.X509ExtendedTrustManager#checkServerTrusted(java.security.cert.X509Certificate[], java.lang.String, javax.net.ssl.SSLEngine) - */ - @Override - public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString, - SSLEngine paramSSLEngine) throws CertificateException { - internalTrustManager.checkServerTrusted(paramArrayOfX509Certificate, paramString); - - checkAdditionalTrust(paramArrayOfX509Certificate, paramString, paramSSLEngine, false); - } - - - - private void checkAdditionalTrust(X509Certificate[] paramArrayOfX509Certificate, - String paramString, Socket paramSocket, boolean isClient) throws CertificateException { - if ((paramSocket == null) || (!(paramSocket.isConnected())) || (!(paramSocket instanceof SSLSocket))) { - return; - - } - - SSLSocket localSSLSocket = (SSLSocket)paramSocket; - SSLSession localSSLSession = localSSLSocket.getHandshakeSession(); - if (localSSLSession == null) { - throw new CertificateException("No handshake session"); - } - - String endpointIdenfificationAlgo = localSSLSocket.getSSLParameters().getEndpointIdentificationAlgorithm(); - if (MiscUtil.isNotEmpty(endpointIdenfificationAlgo)) { - String peerHost = localSSLSession.getPeerHost(); - checkIdentity(peerHost, paramArrayOfX509Certificate[0], endpointIdenfificationAlgo); - - } - - AlgorithmConstraints localSSLAlgorithmConstraints = new DisabledAlgorithmConstraints("jdk.certpath.disabledAlgorithms"); - checkAlgorithmConstraints(paramArrayOfX509Certificate, localSSLAlgorithmConstraints, isClient); - } - - private void checkAdditionalTrust(X509Certificate[] paramArrayOfX509Certificate, String paramString, - SSLEngine paramSSLEngine, boolean isClient) throws CertificateException { - if (paramSSLEngine != null) { - SSLSession localSSLSession = paramSSLEngine.getHandshakeSession(); - if (localSSLSession == null) { - throw new CertificateException("No handshake session"); - - } - - String str = paramSSLEngine.getSSLParameters().getEndpointIdentificationAlgorithm(); - if ((str != null) && (str.length() != 0)) { - String peerHost = localSSLSession.getPeerHost(); - checkIdentity(peerHost, paramArrayOfX509Certificate[0], str); - - } - - AlgorithmConstraints localSSLAlgorithmConstraints = new DisabledAlgorithmConstraints("jdk.certpath.disabledAlgorithms"); - checkAlgorithmConstraints(paramArrayOfX509Certificate, localSSLAlgorithmConstraints, isClient); - } - } - - private void checkAlgorithmConstraints(X509Certificate[] certificates, - java.security.AlgorithmConstraints algorithmConstraint, boolean isClient) throws CertificateException { - try { - int i = certificates.length - 1; - HashSet localHashSet = new HashSet(); - X509Certificate[] arrayOfX509Certificate = this.internalTrustManager.getAcceptedIssuers(); - - if ((arrayOfX509Certificate != null) && (arrayOfX509Certificate.length > 0)) { - Collections.addAll(localHashSet, arrayOfX509Certificate); - - } - - if (localHashSet.contains(certificates[i])) { - --i; - } - - if (i >= 0) { - PKIXCertPathChecker localAlgorithmChecker = null; - Class algorithCheckerClass = null; - try { - algorithCheckerClass = Class.forName("sun.security.provider.certpath.AlgorithmChecker"); - Constructor algorithCheckerConstructorJava8_141 = algorithCheckerClass.getConstructor(AlgorithmConstraints.class, Timestamp.class, String.class); - localAlgorithmChecker = (AlgorithmChecker) algorithCheckerConstructorJava8_141.newInstance(algorithmConstraint, (Timestamp)null, isClient?"tls client":"tls server"); - Logger.trace("Use SSL AlgorithmChecker from JAVA8 >= 141 ..."); - - } catch (Throwable e) { - try { - Constructor algorithCheckerConstructorJava8_71 = algorithCheckerClass.getConstructor(AlgorithmConstraints.class); - localAlgorithmChecker = (AlgorithmChecker) algorithCheckerConstructorJava8_71.newInstance(algorithmConstraint); - - Logger.trace("Use SSL AlgorithmChecker from JAVA8 < 141 ..."); - - } catch (Throwable e1) { - Logger.error("Can NOT instance JAVA SSL AlgorithmChecker", e1); - Logger.error("USE ONE LEGACY VERSION OF ALGORITHM CHECKER ..."); - localAlgorithmChecker = new MOASSLAlgorithmChecker(); - - } - } - - - localAlgorithmChecker.init(false); - - for (int j = i; j >= 0; --j) { - X509Certificate localX509Certificate = certificates[j]; - - //localAlgorithmChecker.check((Certificate)localX509Certificate, Collections.emptySet()); - localAlgorithmChecker.check((Certificate)localX509Certificate, null); - } - } - } catch (CertPathValidatorException localCertPathValidatorException) { - throw new CertificateException("Certificates does not conform to algorithm constraints"); - - } - } - - private void checkIdentity(String peerHost, X509Certificate paramX509Certificate, String endpointIdenfificationAlgo) - throws CertificateException { - if (MiscUtil.isEmpty(endpointIdenfificationAlgo)) - return; - - if ((peerHost != null) && (peerHost.startsWith("[")) && (peerHost.endsWith("]"))) { - peerHost = peerHost.substring(1, peerHost.length() - 1); - - } - - if (endpointIdenfificationAlgo.equalsIgnoreCase("HTTPS")) { - sun.security.util.HostnameChecker.getInstance((byte)1).match(peerHost, paramX509Certificate); - - } else if ((endpointIdenfificationAlgo.equalsIgnoreCase("LDAP")) || (endpointIdenfificationAlgo.equalsIgnoreCase("LDAPS"))) { - sun.security.util.HostnameChecker.getInstance((byte)2).match(peerHost, paramX509Certificate); - - } else - throw new CertificateException("Unknown identification algorithm: " + endpointIdenfificationAlgo); - } - -} diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java index 3e793e4d1..109390132 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/ssl/SSLUtils.java @@ -147,7 +147,6 @@ public class SSLUtils { SSLContext ctx = SSLContext.getInstance("TLS"); ctx.init(kms, tms, null); ssf = ctx.getSocketFactory(); - // store SSLSocketFactory sslSocketFactories.put(url, ssf); @@ -260,8 +259,7 @@ public class SSLUtils { MOAIDTrustManager.initializeLoggingContext(); MOAIDTrustManager tm = new MOAIDTrustManager(acceptedServerCertURL); tm.init(cfg, profile); - return new TrustManager[] {new MOATrustManagerWrapper(tm)}; - + return new TrustManager[] {tm}; } } diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java deleted file mode 100644 index 990b5d3b1..000000000 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/validation/MOASSLAlgorithmChecker.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright 2014 Federal Chancellery Austria - * MOA-ID has been developed in a cooperation between BRZ, the Federal - * Chancellery Austria - ICT staff unit, and Graz University of Technology. - * - * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by - * the European Commission - subsequent versions of the EUPL (the "Licence"); - * You may not use this work except in compliance with the Licence. - * You may obtain a copy of the Licence at: - * http://www.osor.eu/eupl/ - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the Licence is distributed on an "AS IS" basis, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the Licence for the specific language governing permissions and - * limitations under the Licence. - * - * This product combines work with different licenses. See the "NOTICE" text - * file for details on the various modules and licenses. - * The "NOTICE" text file is part of the distribution. Any derivative works - * that you distribute must include a readable copy of the "NOTICE" text file. - */ -package at.gv.egovernment.moa.id.commons.validation; - -import java.math.BigInteger; -import java.security.AlgorithmConstraints; -import java.security.AlgorithmParameters; -import java.security.CryptoPrimitive; -import java.security.GeneralSecurityException; -import java.security.KeyFactory; -import java.security.PublicKey; -import java.security.cert.CertPathValidatorException; -import java.security.cert.Certificate; -import java.security.cert.CertificateException; -import java.security.cert.CertificateParsingException; -import java.security.cert.PKIXCertPathChecker; -import java.security.cert.PKIXReason; -import java.security.cert.X509Certificate; -import java.security.interfaces.DSAParams; -import java.security.interfaces.DSAPublicKey; -import java.security.spec.DSAPublicKeySpec; -import java.util.Collection; -import java.util.Collections; -import java.util.EnumSet; -import java.util.Set; - -import sun.security.util.DisabledAlgorithmConstraints; -import sun.security.x509.X509CertImpl; - -/** - * @author tlenz - * - */ -public class MOASSLAlgorithmChecker extends PKIXCertPathChecker { - - private final AlgorithmConstraints constraints; - private final PublicKey trustedPubKey; - private PublicKey prevPubKey; - private static final Set SIGNATURE_PRIMITIVE_SET = Collections.unmodifiableSet(EnumSet.of(CryptoPrimitive.SIGNATURE)); - private static final Set KU_PRIMITIVE_SET = Collections.unmodifiableSet(EnumSet.of(CryptoPrimitive.SIGNATURE, CryptoPrimitive.KEY_ENCAPSULATION, CryptoPrimitive.PUBLIC_KEY_ENCRYPTION, CryptoPrimitive.KEY_AGREEMENT)); - - private static final DisabledAlgorithmConstraints certPathDefaultConstraints = new DisabledAlgorithmConstraints("jdk.certpath.disabledAlgorithms"); - - /** - * - */ - public MOASSLAlgorithmChecker() { - this.prevPubKey = null; - this.trustedPubKey = null; - this.constraints = certPathDefaultConstraints; - - } - - public MOASSLAlgorithmChecker(AlgorithmConstraints paramAlgorithmConstraints) { - this.prevPubKey = null; - this.trustedPubKey = null; - this.constraints = paramAlgorithmConstraints; - } - - - /* (non-Javadoc) - * @see java.security.cert.PKIXCertPathChecker#init(boolean) - */ - @Override - public void init(boolean forward) throws CertPathValidatorException { - if (!(forward)) { - if (this.trustedPubKey != null) - this.prevPubKey = this.trustedPubKey; - - else - this.prevPubKey = null; - - } else - throw new CertPathValidatorException("forward checking not supported"); - - } - - /* (non-Javadoc) - * @see java.security.cert.PKIXCertPathChecker#isForwardCheckingSupported() - */ - @Override - public boolean isForwardCheckingSupported() { - return false; - - } - - /* (non-Javadoc) - * @see java.security.cert.PKIXCertPathChecker#getSupportedExtensions() - */ - @Override - public Set getSupportedExtensions() { - return null; - - } - - /* (non-Javadoc) - * @see java.security.cert.PKIXCertPathChecker#check(java.security.cert.Certificate, java.util.Collection) - */ - @Override - public void check(Certificate cert, Collection unresolvedCritExts) throws CertPathValidatorException { - if ((!(cert instanceof X509Certificate)) || (this.constraints == null)) { - return; - - } - - X509CertImpl localX509CertImpl = null; - try { - localX509CertImpl = sun.security.x509.X509CertImpl.toImpl((X509Certificate)cert); - - } catch (CertificateException localCertificateException1) { - throw new CertPathValidatorException(localCertificateException1); - - } - - PublicKey localPublicKey = localX509CertImpl.getPublicKey(); - String str = localX509CertImpl.getSigAlgName(); - - - //check algorithms - AlgorithmParameters localAlgorithmParameters = null; - try { - sun.security.x509.AlgorithmId localAlgorithmId = null; - localAlgorithmId = (sun.security.x509.AlgorithmId)localX509CertImpl.get("x509.algorithm"); - localAlgorithmParameters = localAlgorithmId.getParameters(); - - if (!(this.constraints.permits(SIGNATURE_PRIMITIVE_SET, str, localAlgorithmParameters))) { - throw new CertPathValidatorException("Algorithm constraints check failed: " + str, null, null, -1, CertPathValidatorException.BasicReason.ALGORITHM_CONSTRAINED); - - } - - } catch (CertificateParsingException localCertificateException2) { - throw new CertPathValidatorException(localCertificateException2); - - } - - - //check key usage - boolean[] arrayOfBoolean = localX509CertImpl.getKeyUsage(); - if ((arrayOfBoolean != null) && (arrayOfBoolean.length < 9)) - throw new CertPathValidatorException("incorrect KeyUsage extension", null, null, -1, PKIXReason.INVALID_KEY_USAGE); - - if (arrayOfBoolean != null) { - Set cryptoPrimitives = EnumSet.noneOf(CryptoPrimitive.class); - if ((arrayOfBoolean[0] == true) || (arrayOfBoolean[1] == true) || (arrayOfBoolean[5] == true) || (arrayOfBoolean[6] == true)) { - cryptoPrimitives.add(CryptoPrimitive.SIGNATURE); - - } - - if (arrayOfBoolean[2] == true) { - cryptoPrimitives.add(CryptoPrimitive.KEY_ENCAPSULATION); - - } - - if (arrayOfBoolean[3] == true) { - cryptoPrimitives.add(CryptoPrimitive.PUBLIC_KEY_ENCRYPTION); - - } - - if (arrayOfBoolean[4] == true) { - cryptoPrimitives.add(CryptoPrimitive.KEY_AGREEMENT); - - } - - if ((!(cryptoPrimitives.isEmpty())) && (!(this.constraints.permits(cryptoPrimitives, localPublicKey)))) { - throw new CertPathValidatorException("algorithm constraints check failed", null, null, -1, CertPathValidatorException.BasicReason.ALGORITHM_CONSTRAINED); - - } - } - - //check pubKeys - if (this.prevPubKey != null) { - if ((str != null) && (!(this.constraints.permits(SIGNATURE_PRIMITIVE_SET, str, this.prevPubKey, localAlgorithmParameters)))) { - throw new CertPathValidatorException("Algorithm constraints check failed: " + str, null, null, -1, CertPathValidatorException.BasicReason.ALGORITHM_CONSTRAINED); - - } - - if ((localPublicKey instanceof DSAPublicKey) && (((DSAPublicKey)localPublicKey).getParams() == null)) { - if (!(this.prevPubKey instanceof DSAPublicKey)) { - throw new CertPathValidatorException("Input key is not of a appropriate type for inheriting parameters"); - - } - - DSAParams localObject = ((DSAPublicKey)this.prevPubKey).getParams(); - if (localObject == null) { - throw new CertPathValidatorException("Key parameters missing"); - - } - - try { - BigInteger localBigInteger = ((DSAPublicKey)localPublicKey).getY(); - KeyFactory localKeyFactory = KeyFactory.getInstance("DSA"); - DSAPublicKeySpec localDSAPublicKeySpec = new DSAPublicKeySpec(localBigInteger, ((DSAParams)localObject).getP(), ((DSAParams)localObject).getQ(), ((DSAParams)localObject).getG()); - localPublicKey = localKeyFactory.generatePublic(localDSAPublicKeySpec); - - } catch (GeneralSecurityException localGeneralSecurityException) { - throw new CertPathValidatorException("Unable to generate key with inherited parameters: " + localGeneralSecurityException.getMessage(), localGeneralSecurityException); - - } - } - } - - this.prevPubKey = localPublicKey; - } - - -} -- cgit v1.2.3 From 122de0a09f42fcc7e2fa0a429df5da37820fd730 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Tue, 25 Jul 2017 16:12:28 +0200 Subject: workAround to solve problem with IAIK-JCE and SSL algorithm parameter validation --- .../config/ConfigurationProvider.java | 20 ++++++++++++++++++++ .../moa/id/auth/MOAIDAuthInitializer.java | 22 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java index 05ce3344b..c5ae5065f 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/config/ConfigurationProvider.java @@ -63,6 +63,7 @@ import at.gv.egovernment.moa.id.configuration.config.usermanagement.FileBasedUse import at.gv.egovernment.moa.id.configuration.utils.UserRequestCleaner; import at.gv.egovernment.moa.util.FileUtils; import at.gv.egovernment.moa.util.MiscUtil; +import iaik.asn1.structures.AlgorithmID; import iaik.x509.X509Certificate; @@ -150,6 +151,8 @@ public class ConfigurationProvider { UserRequestCleaner.start(); + fixJava8_141ProblemWithSSLAlgorithms(); + log.info("MOA-ID-Configuration initialization completed"); @@ -168,6 +171,23 @@ public class ConfigurationProvider { } + private static void fixJava8_141ProblemWithSSLAlgorithms() { + log.info("Change AlgorithmIDs to fix problems with Java8 >= 141 ..."); + //new AlgorithmID("1.2.840.113549.1.1.4", "md5WithRSAEncryption", new String[] { "MD5withRSA", "MD5/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.5", "sha1WithRSAEncryption", + new String[] { "SHA1withRSA" , "SHA1/RSA", "SHA-1/RSA", "SHA/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.14", "sha224WithRSAEncryption", + new String[] { "SHA224withRSA", "SHA224/RSA", "SHA-224/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.11", "sha256WithRSAEncryption", + new String[] { "SHA256withRSA", "SHA256/RSA", "SHA-256/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.12", "sha384WithRSAEncryption", + new String[] { "SHA384withRSA", "SHA384/RSA", "SHA-384/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.13", "sha512WithRSAEncryption", + new String[] { "SHA512withRSA", "SHA512/RSA", "SHA-512/RSA" }, null, true); + + log.info("Change AlgorithmIDs finished"); + } + @Autowired(required = true) public void setMOAIDConfigurationModul(MOAIDConfigurationModul module) { this.configModule = module; diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java index 5769d99df..65ea2fd90 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java @@ -44,6 +44,7 @@ import at.gv.egovernment.moa.spss.api.Configurator; import at.gv.egovernment.moa.util.MiscUtil; import at.gv.egovernment.moaspss.logging.LoggingContext; import at.gv.egovernment.moaspss.logging.LoggingContextManager; +import iaik.asn1.structures.AlgorithmID; import iaik.pki.PKIException; import iaik.security.ec.provider.ECCelerate; import iaik.security.provider.IAIK; @@ -160,6 +161,8 @@ public class MOAIDAuthInitializer { Security.addProvider(new ECCelerate()); + fixJava8_141ProblemWithSSLAlgorithms(); + if (Logger.isDebugEnabled()) { Logger.debug("Loaded Security Provider:"); Provider[] providerList = Security.getProviders(); @@ -167,5 +170,24 @@ public class MOAIDAuthInitializer { Logger.debug(i + ": " + providerList[i].getName() + " Version " + providerList[i].getVersion()); } + } + + private static void fixJava8_141ProblemWithSSLAlgorithms() { + Logger.info("Change AlgorithmIDs to fix problems with Java8 >= 141 ..."); + //new AlgorithmID("1.2.840.113549.1.1.4", "md5WithRSAEncryption", new String[] { "MD5withRSA", "MD5/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.5", "sha1WithRSAEncryption", + new String[] { "SHA1withRSA" , "SHA1/RSA", "SHA-1/RSA", "SHA/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.14", "sha224WithRSAEncryption", + new String[] { "SHA224withRSA", "SHA224/RSA", "SHA-224/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.11", "sha256WithRSAEncryption", + new String[] { "SHA256withRSA", "SHA256/RSA", "SHA-256/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.12", "sha384WithRSAEncryption", + new String[] { "SHA384withRSA", "SHA384/RSA", "SHA-384/RSA", }, null, true); + new AlgorithmID("1.2.840.113549.1.1.13", "sha512WithRSAEncryption", + new String[] { "SHA512withRSA", "SHA512/RSA", "SHA-512/RSA" }, null, true); + + Logger.info("Change AlgorithmIDs finished"); + } + } -- cgit v1.2.3 From 6ccca3ba6245fe4517a37382eed75ade2edbfd6a Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 26 Jul 2017 10:21:28 +0200 Subject: update MOA-Sig to 3.1.0 update IAIK_JCE to 5.5-RC1 to solve problem with Java JDK 8.141 --- id/moa-spss-container/pom.xml | 53 +++++++++++---------- .../conf/moa-spss/SampleMOASPSSConfiguration.xml | 22 +++++++++ pom.xml | 2 +- repository/MOA/spss/common/3.1.0/common-3.1.0.jar | Bin 0 -> 200140 bytes .../server/moa-sig-lib/3.1.0/moa-sig-lib-3.1.0.jar | Bin 0 -> 355238 bytes .../MOA/spss/tsl_lib/2.0.0/tsl_lib-2.0.0.jar | Bin 0 -> 801936 bytes .../eidas-commons/1.3.0/eidas-commons-1.3.0.jar | Bin 0 -> 253187 bytes .../1.3.0/eidas-configmodule-1.3.0.jar | Bin 0 -> 64854 bytes .../1.3.0/eidas-encryption-1.3.0.jar | Bin 0 -> 21006 bytes .../1.3.0/eidas-light-commons-1.3.0.jar | Bin 0 -> 102259 bytes .../1.3.0/eidas-saml-engine-1.3.0.jar | Bin 0 -> 587558 bytes ...das-specific-communication-definition-1.3.0.jar | Bin 0 -> 5514 bytes .../eidas-specific/1.3.0/eidas-specific-1.3.0.jar | Bin 0 -> 32852 bytes .../iaik_cpades/2.3_moa/iaik_cpades-2.3_moa.jar | Bin 0 -> 129045 bytes .../0.9_moa/iaik_cpxlevel-0.9_moa.jar | Bin 0 -> 135880 bytes .../5.5_MOA_RC1/iaik_jce_full-5.5_MOA_RC1.jar | Bin 0 -> 1283804 bytes .../iaik/prod/iaik_moa/2.04/iaik_moa-2.04.jar | Bin 0 -> 523085 bytes .../1.00_moa/iaik_pki_module-1.00_moa.jar | Bin 0 -> 587551 bytes .../1.01_moa/iaik_pki_module-1.01_moa.jar | Bin 0 -> 587665 bytes .../1.02_moa/iaik_pki_module-1.02_moa.jar | Bin 0 -> 598025 bytes .../1.1.1_moa/iaik_pki_module-1.1.1_moa.jar | Bin 587665 -> 0 bytes .../1.1_moa/iaik_pki_module-1.1_moa.jar | Bin 587551 -> 0 bytes .../prod/iaik_sva/1.0.2_moa/iaik_sva-1.0.2_moa.jar | Bin 0 -> 125590 bytes .../iaik_xades/2.12_moa/iaik_xades-2.12_moa.jar | Bin 0 -> 325736 bytes .../iaik_xsect/2.12_moa/iaik_xsect-2.12_moa.jar | Bin 0 -> 440168 bytes 25 files changed, 52 insertions(+), 25 deletions(-) create mode 100644 repository/MOA/spss/common/3.1.0/common-3.1.0.jar create mode 100644 repository/MOA/spss/server/moa-sig-lib/3.1.0/moa-sig-lib-3.1.0.jar create mode 100644 repository/MOA/spss/tsl_lib/2.0.0/tsl_lib-2.0.0.jar create mode 100644 repository/eu/eidas/eidas-commons/1.3.0/eidas-commons-1.3.0.jar create mode 100644 repository/eu/eidas/eidas-configmodule/1.3.0/eidas-configmodule-1.3.0.jar create mode 100644 repository/eu/eidas/eidas-encryption/1.3.0/eidas-encryption-1.3.0.jar create mode 100644 repository/eu/eidas/eidas-light-commons/1.3.0/eidas-light-commons-1.3.0.jar create mode 100644 repository/eu/eidas/eidas-saml-engine/1.3.0/eidas-saml-engine-1.3.0.jar create mode 100644 repository/eu/eidas/eidas-specific-communication-definition/1.3.0/eidas-specific-communication-definition-1.3.0.jar create mode 100644 repository/eu/eidas/eidas-specific/1.3.0/eidas-specific-1.3.0.jar create mode 100644 repository/iaik/prod/iaik_cpades/2.3_moa/iaik_cpades-2.3_moa.jar create mode 100644 repository/iaik/prod/iaik_cpxlevel/0.9_moa/iaik_cpxlevel-0.9_moa.jar create mode 100644 repository/iaik/prod/iaik_jce_full/5.5_MOA_RC1/iaik_jce_full-5.5_MOA_RC1.jar create mode 100644 repository/iaik/prod/iaik_moa/2.04/iaik_moa-2.04.jar create mode 100644 repository/iaik/prod/iaik_pki_module/1.00_moa/iaik_pki_module-1.00_moa.jar create mode 100644 repository/iaik/prod/iaik_pki_module/1.01_moa/iaik_pki_module-1.01_moa.jar create mode 100644 repository/iaik/prod/iaik_pki_module/1.02_moa/iaik_pki_module-1.02_moa.jar delete mode 100644 repository/iaik/prod/iaik_pki_module/1.1.1_moa/iaik_pki_module-1.1.1_moa.jar delete mode 100644 repository/iaik/prod/iaik_pki_module/1.1_moa/iaik_pki_module-1.1_moa.jar create mode 100644 repository/iaik/prod/iaik_sva/1.0.2_moa/iaik_sva-1.0.2_moa.jar create mode 100644 repository/iaik/prod/iaik_xades/2.12_moa/iaik_xades-2.12_moa.jar create mode 100644 repository/iaik/prod/iaik_xsect/2.12_moa/iaik_xsect-2.12_moa.jar diff --git a/id/moa-spss-container/pom.xml b/id/moa-spss-container/pom.xml index 61e72989f..fe6ea0c47 100644 --- a/id/moa-spss-container/pom.xml +++ b/id/moa-spss-container/pom.xml @@ -47,7 +47,7 @@ MOA.spss.server moa-sig-lib - 3.0.1 + 3.1.0 commons-logging @@ -65,18 +65,28 @@ MOA.spss common - 3.0.0 - + 3.1.0 + + + MOA.spss + tsl_lib + 2.0.0 + iaik.prod iaik_cms 5.1 - + iaik.prod iaik_cpades - 2.2b3_tmp - + 2.3_moa + + + iaik.prod + iaik_cpxlevel + 0.9_moa + iaik.prod iaik_eccelerate @@ -86,12 +96,12 @@ iaik.prod iaik_eccelerate_addon 3.01_eval - + iaik.prod iaik_eccelerate_cms 3.01 - + iaik.prod iaik_jce_full @@ -101,46 +111,41 @@ iaik.prod iaik_jsse 4.4 - + iaik.prod iaik_moa - 2.01 - + 2.04 + iaik.prod iaik_pki_module - 1.1.1_moa - + 1.02_moa + iaik.prod iaik_sva - 1.0.1_moa - - - iaik.prod - iaik_tsl - 1.1_moa - + 1.0.2_moa + iaik.prod iaik_tsp 2.31_eval - + iaik.prod iaik_util 0.23 - + iaik.prod iaik_xades - 2.11_moa + 2.12_moa iaik.prod iaik_xsect - 2.11_moa + 2.12_moa diff --git a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml index d2facbd1a..31fc8a16c 100644 --- a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml +++ b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml @@ -3,6 +3,8 @@ + + 30 true true @@ -42,6 +44,13 @@ C-PEPS-Test trustProfiles/C-PEPS-Test + + + + C-PEPS @@ -86,6 +95,19 @@ + + + MOAIDTransformAuthBlockTable_DE_2.0 diff --git a/pom.xml b/pom.xml index 17ea3499e..22857637d 100644 --- a/pom.xml +++ b/pom.xml @@ -574,7 +574,7 @@ iaik.prod iaik_jce_full - 5.3_MOA + 5.5_MOA_RC1 compile diff --git a/repository/MOA/spss/common/3.1.0/common-3.1.0.jar b/repository/MOA/spss/common/3.1.0/common-3.1.0.jar new file mode 100644 index 000000000..e5156cac5 Binary files /dev/null and b/repository/MOA/spss/common/3.1.0/common-3.1.0.jar differ diff --git a/repository/MOA/spss/server/moa-sig-lib/3.1.0/moa-sig-lib-3.1.0.jar b/repository/MOA/spss/server/moa-sig-lib/3.1.0/moa-sig-lib-3.1.0.jar new file mode 100644 index 000000000..16a373164 Binary files /dev/null and b/repository/MOA/spss/server/moa-sig-lib/3.1.0/moa-sig-lib-3.1.0.jar differ diff --git a/repository/MOA/spss/tsl_lib/2.0.0/tsl_lib-2.0.0.jar b/repository/MOA/spss/tsl_lib/2.0.0/tsl_lib-2.0.0.jar new file mode 100644 index 000000000..49d3af710 Binary files /dev/null and b/repository/MOA/spss/tsl_lib/2.0.0/tsl_lib-2.0.0.jar differ diff --git a/repository/eu/eidas/eidas-commons/1.3.0/eidas-commons-1.3.0.jar b/repository/eu/eidas/eidas-commons/1.3.0/eidas-commons-1.3.0.jar new file mode 100644 index 000000000..0eacbb483 Binary files /dev/null and b/repository/eu/eidas/eidas-commons/1.3.0/eidas-commons-1.3.0.jar differ diff --git a/repository/eu/eidas/eidas-configmodule/1.3.0/eidas-configmodule-1.3.0.jar b/repository/eu/eidas/eidas-configmodule/1.3.0/eidas-configmodule-1.3.0.jar new file mode 100644 index 000000000..47cdae276 Binary files /dev/null and b/repository/eu/eidas/eidas-configmodule/1.3.0/eidas-configmodule-1.3.0.jar differ diff --git a/repository/eu/eidas/eidas-encryption/1.3.0/eidas-encryption-1.3.0.jar b/repository/eu/eidas/eidas-encryption/1.3.0/eidas-encryption-1.3.0.jar new file mode 100644 index 000000000..6675ef55e Binary files /dev/null and b/repository/eu/eidas/eidas-encryption/1.3.0/eidas-encryption-1.3.0.jar differ diff --git a/repository/eu/eidas/eidas-light-commons/1.3.0/eidas-light-commons-1.3.0.jar b/repository/eu/eidas/eidas-light-commons/1.3.0/eidas-light-commons-1.3.0.jar new file mode 100644 index 000000000..899361e24 Binary files /dev/null and b/repository/eu/eidas/eidas-light-commons/1.3.0/eidas-light-commons-1.3.0.jar differ diff --git a/repository/eu/eidas/eidas-saml-engine/1.3.0/eidas-saml-engine-1.3.0.jar b/repository/eu/eidas/eidas-saml-engine/1.3.0/eidas-saml-engine-1.3.0.jar new file mode 100644 index 000000000..2cc760bf7 Binary files /dev/null and b/repository/eu/eidas/eidas-saml-engine/1.3.0/eidas-saml-engine-1.3.0.jar differ diff --git a/repository/eu/eidas/eidas-specific-communication-definition/1.3.0/eidas-specific-communication-definition-1.3.0.jar b/repository/eu/eidas/eidas-specific-communication-definition/1.3.0/eidas-specific-communication-definition-1.3.0.jar new file mode 100644 index 000000000..83b96ecba Binary files /dev/null and b/repository/eu/eidas/eidas-specific-communication-definition/1.3.0/eidas-specific-communication-definition-1.3.0.jar differ diff --git a/repository/eu/eidas/eidas-specific/1.3.0/eidas-specific-1.3.0.jar b/repository/eu/eidas/eidas-specific/1.3.0/eidas-specific-1.3.0.jar new file mode 100644 index 000000000..54a23e8c4 Binary files /dev/null and b/repository/eu/eidas/eidas-specific/1.3.0/eidas-specific-1.3.0.jar differ diff --git a/repository/iaik/prod/iaik_cpades/2.3_moa/iaik_cpades-2.3_moa.jar b/repository/iaik/prod/iaik_cpades/2.3_moa/iaik_cpades-2.3_moa.jar new file mode 100644 index 000000000..4965bfe90 Binary files /dev/null and b/repository/iaik/prod/iaik_cpades/2.3_moa/iaik_cpades-2.3_moa.jar differ diff --git a/repository/iaik/prod/iaik_cpxlevel/0.9_moa/iaik_cpxlevel-0.9_moa.jar b/repository/iaik/prod/iaik_cpxlevel/0.9_moa/iaik_cpxlevel-0.9_moa.jar new file mode 100644 index 000000000..3caa16109 Binary files /dev/null and b/repository/iaik/prod/iaik_cpxlevel/0.9_moa/iaik_cpxlevel-0.9_moa.jar differ diff --git a/repository/iaik/prod/iaik_jce_full/5.5_MOA_RC1/iaik_jce_full-5.5_MOA_RC1.jar b/repository/iaik/prod/iaik_jce_full/5.5_MOA_RC1/iaik_jce_full-5.5_MOA_RC1.jar new file mode 100644 index 000000000..4f0e90372 Binary files /dev/null and b/repository/iaik/prod/iaik_jce_full/5.5_MOA_RC1/iaik_jce_full-5.5_MOA_RC1.jar differ diff --git a/repository/iaik/prod/iaik_moa/2.04/iaik_moa-2.04.jar b/repository/iaik/prod/iaik_moa/2.04/iaik_moa-2.04.jar new file mode 100644 index 000000000..98ee49d54 Binary files /dev/null and b/repository/iaik/prod/iaik_moa/2.04/iaik_moa-2.04.jar differ diff --git a/repository/iaik/prod/iaik_pki_module/1.00_moa/iaik_pki_module-1.00_moa.jar b/repository/iaik/prod/iaik_pki_module/1.00_moa/iaik_pki_module-1.00_moa.jar new file mode 100644 index 000000000..6e13efa81 Binary files /dev/null and b/repository/iaik/prod/iaik_pki_module/1.00_moa/iaik_pki_module-1.00_moa.jar differ diff --git a/repository/iaik/prod/iaik_pki_module/1.01_moa/iaik_pki_module-1.01_moa.jar b/repository/iaik/prod/iaik_pki_module/1.01_moa/iaik_pki_module-1.01_moa.jar new file mode 100644 index 000000000..cc0705915 Binary files /dev/null and b/repository/iaik/prod/iaik_pki_module/1.01_moa/iaik_pki_module-1.01_moa.jar differ diff --git a/repository/iaik/prod/iaik_pki_module/1.02_moa/iaik_pki_module-1.02_moa.jar b/repository/iaik/prod/iaik_pki_module/1.02_moa/iaik_pki_module-1.02_moa.jar new file mode 100644 index 000000000..cc32a7470 Binary files /dev/null and b/repository/iaik/prod/iaik_pki_module/1.02_moa/iaik_pki_module-1.02_moa.jar differ diff --git a/repository/iaik/prod/iaik_pki_module/1.1.1_moa/iaik_pki_module-1.1.1_moa.jar b/repository/iaik/prod/iaik_pki_module/1.1.1_moa/iaik_pki_module-1.1.1_moa.jar deleted file mode 100644 index cc0705915..000000000 Binary files a/repository/iaik/prod/iaik_pki_module/1.1.1_moa/iaik_pki_module-1.1.1_moa.jar and /dev/null differ diff --git a/repository/iaik/prod/iaik_pki_module/1.1_moa/iaik_pki_module-1.1_moa.jar b/repository/iaik/prod/iaik_pki_module/1.1_moa/iaik_pki_module-1.1_moa.jar deleted file mode 100644 index 6e13efa81..000000000 Binary files a/repository/iaik/prod/iaik_pki_module/1.1_moa/iaik_pki_module-1.1_moa.jar and /dev/null differ diff --git a/repository/iaik/prod/iaik_sva/1.0.2_moa/iaik_sva-1.0.2_moa.jar b/repository/iaik/prod/iaik_sva/1.0.2_moa/iaik_sva-1.0.2_moa.jar new file mode 100644 index 000000000..9500d67bc Binary files /dev/null and b/repository/iaik/prod/iaik_sva/1.0.2_moa/iaik_sva-1.0.2_moa.jar differ diff --git a/repository/iaik/prod/iaik_xades/2.12_moa/iaik_xades-2.12_moa.jar b/repository/iaik/prod/iaik_xades/2.12_moa/iaik_xades-2.12_moa.jar new file mode 100644 index 000000000..31daa1997 Binary files /dev/null and b/repository/iaik/prod/iaik_xades/2.12_moa/iaik_xades-2.12_moa.jar differ diff --git a/repository/iaik/prod/iaik_xsect/2.12_moa/iaik_xsect-2.12_moa.jar b/repository/iaik/prod/iaik_xsect/2.12_moa/iaik_xsect-2.12_moa.jar new file mode 100644 index 000000000..8a2dd52c8 Binary files /dev/null and b/repository/iaik/prod/iaik_xsect/2.12_moa/iaik_xsect-2.12_moa.jar differ -- cgit v1.2.3 From f912da9959267d214bb10a2be8e412af731141ed Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 26 Jul 2017 10:24:55 +0200 Subject: refactor MOA metadataprovider to load metadata from file system --- .../moa/id/auth/IPostStartupInitializable.java | 41 ++++++++++++++++++++++ .../moa/id/auth/MOAIDAuthInitializer.java | 2 +- .../PropertyBasedAuthConfigurationProvider.java | 5 +++ .../pvp2x/metadata/SimpleMOAMetadataProvider.java | 9 +++-- .../resources/properties/id_messages_de.properties | 2 +- .../moa/id/commons/api/AuthConfiguration.java | 10 ++++++ .../moa/id/commons/utils/KeyValueUtils.java | 22 ++++++++++++ .../moa/id/auth/MOAIDAuthSpringInitializer.java | 16 ++++++++- .../moa/id/auth/modules/eidas/Constants.java | 2 ++ .../engine/MOAeIDASChainingMetadataProvider.java | 30 +++++++++++++++- 10 files changed, 130 insertions(+), 9 deletions(-) create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/IPostStartupInitializable.java diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/IPostStartupInitializable.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/IPostStartupInitializable.java new file mode 100644 index 000000000..d918be463 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/IPostStartupInitializable.java @@ -0,0 +1,41 @@ +/* + * Copyright 2014 Federal Chancellery Austria + * MOA-ID has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ +package at.gv.egovernment.moa.id.auth; + + +/** + * + * @author tlenz + * + * Interface initialize a Object when the MOA-ID-Auth start-up process is fully completed + * + */ +public interface IPostStartupInitializable { + + /** + * This method is called once when MOA-ID-Auth start-up process is fully completed + * + */ + public void executeAfterStartup(); + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java index 65ea2fd90..3d45e2468 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java @@ -127,7 +127,7 @@ public class MOAIDAuthInitializer { Random.seedRandom(); Logger.debug("Random-number generator is seeded."); - // Initialize configuration provider + // Initialize configuration provider for non-spring managed parts AuthConfiguration authConf = AuthConfigurationProviderFactory.reload(rootContext); //test, if MOA-ID is already configured diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java index 7e0f48744..35d052acd 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/PropertyBasedAuthConfigurationProvider.java @@ -235,6 +235,11 @@ public class PropertyBasedAuthConfigurationProvider extends ConfigurationProvide return properties.getProperty(key, defaultValue); } + + public Map getBasicMOAIDConfigurationWithPrefix(final String prefix) { + return KeyValueUtils.getSubSetWithPrefix(KeyValueUtils.concertPropertiesToMap(properties), prefix); + + } /* (non-Javadoc) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java index e060e18e1..6c2235654 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/SimpleMOAMetadataProvider.java @@ -39,7 +39,6 @@ import org.springframework.beans.factory.annotation.Autowired; import at.gv.egovernment.moa.id.commons.api.AuthConfiguration; import at.gv.egovernment.moa.id.commons.ex.MOAHttpProtocolSocketFactoryException; import at.gv.egovernment.moa.id.commons.utils.MOAHttpProtocolSocketFactory; -import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProviderFactory; import at.gv.egovernment.moa.id.protocols.pvp2x.PVPConstants; import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SchemaValidationException; import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.filter.SignatureValidationException; @@ -177,12 +176,12 @@ public abstract class SimpleMOAMetadataProvider implements MetadataProvider{ //FIX: change hostname validation default flag to true when httpClient is updated to > 4.4 MOAHttpProtocolSocketFactory protoSocketFactory = new MOAHttpProtocolSocketFactory( PVPConstants.SSLSOCKETFACTORYNAME, - AuthConfigurationProviderFactory.getInstance().getTrustedCACertificates(), + authConfig.getTrustedCACertificates(), null, AuthConfiguration.DEFAULT_X509_CHAININGMODE, - AuthConfigurationProviderFactory.getInstance().isTrustmanagerrevoationchecking(), - AuthConfigurationProviderFactory.getInstance().getRevocationMethodOrder(), - AuthConfigurationProviderFactory.getInstance().getBasicMOAIDConfigurationBoolean( + authConfig.isTrustmanagerrevoationchecking(), + authConfig.getRevocationMethodOrder(), + authConfig.getBasicMOAIDConfigurationBoolean( AuthConfiguration.PROP_KEY_SSL_HOSTNAME_VALIDATION, false)); httpClient.setCustomSSLTrustStore(metadataURL, protoSocketFactory); diff --git a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties index 1a2f0d1d3..50b2c5ece 100644 --- a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties +++ b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties @@ -53,7 +53,7 @@ auth.32=Federated authentication FAILED. No configuration for IDP {0} auth.33=Federated authentication FAILED. Configuration of IDP {0} does not allow inbound messages. auth.34=Federated authentication FAILED. Configuration of IDP {0} is marked as BusinessService-IDP, but Public-Service attributes are requested. -init.00=MOA ID Authentisierung wurde erfolgreich gestartet +init.00=MOA-ID-Auth wurde erfolgreich gestartet init.01=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround\: SSL ist m\u00F6glicherweise nicht verf\u00FCgbar init.02=Fehler beim Starten des Service MOA-ID-Auth init.04=Fehler beim Datenbankzugriff mit der SessionID {0} diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java index 4df11b35c..07b07d980 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/AuthConfiguration.java @@ -47,6 +47,16 @@ public interface AuthConfiguration extends ConfigurationProvider{ */ public String getBasicMOAIDConfiguration(final String key, final String defaultValue); + /** + * Get a set of configuration values from basic file based MOA-ID configuration that starts with this prefix + *

+ * Important: The configuration values must be of type String! + * + * @param prefix Prefix of the configuration key + * @return Map without prefix, but never null + */ + public Map getBasicMOAIDConfigurationWithPrefix(final String prefix); + public int getTransactionTimeOut(); public int getSSOCreatedTimeOut(); public int getSSOUpdatedTimeOut(); diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/KeyValueUtils.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/KeyValueUtils.java index bc567e5d2..40ef5a23a 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/KeyValueUtils.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/utils/KeyValueUtils.java @@ -29,6 +29,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Properties; import java.util.Set; import org.apache.commons.lang3.StringUtils; @@ -44,6 +45,27 @@ public class KeyValueUtils { public static final String KEY_DELIMITER = "."; public static final String CSV_DELIMITER = ","; + /** + * Convert Java properties into a Map + *

+ * Important: The key/values from properties must be of type String! + * + * @param properties + * @return + */ + public static Map concertPropertiesToMap(Properties properties) { + return new HashMap((Map) properties); + + //INFO Java8 solution ;) + // return properties.entrySet().stream().collect( +// Collectors.toMap( +// e -> e.getKey().toString(), +// e -> e.getValue().toString() +// ) +// ); + + } + /** * Extract the first child of an input key after a the prefix * diff --git a/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthSpringInitializer.java b/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthSpringInitializer.java index 07ba6a89e..b6fd8de8e 100644 --- a/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthSpringInitializer.java +++ b/id/server/moa-id-spring-initializer/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthSpringInitializer.java @@ -1,5 +1,8 @@ package at.gv.egovernment.moa.id.auth; +import java.util.Map; +import java.util.Map.Entry; + import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; @@ -147,8 +150,19 @@ public class MOAIDAuthSpringInitializer implements WebApplicationInitializer { // servletContext.addFilter("vHost RequestFilter", new VHostUrlRewriteServletFilter(rootContext)) // .addMappingForUrlPatterns(null, false, "/*"); - Logger.info("Basic Context initalisation finished --> Start MOA-ID-Auth initialisation process ..."); + Logger.info("Basic Context initalisation finished --> Start MOA-ID-Auth initialization process ..."); MOAIDAuthInitializer.initialize(rootContext); + + + //initialize object that implements the IPostStartupInitializeable interface + Map objForInitialization = rootContext.getBeansOfType(IPostStartupInitializable.class); + for (Entry el : objForInitialization.entrySet()) { + Logger.debug("Starting post start-up initialization of '" + el.getKey() + "' ..." ); + el.getValue().executeAfterStartup(); + Logger.info("Post start-up initialization of '" + el.getKey() + "' finished." ); + + } + Logger.info(MOAIDMessageProvider.getInstance().getMessage( "init.00", null)); Logger.info("MOA-ID-Auth initialization finished."); diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java index 01b202a88..adf6c4979 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java @@ -67,6 +67,8 @@ public class Constants { public static final String CONIG_PROPS_EIDAS_NODE_COUNTRY = CONIG_PROPS_EIDAS_NODE + ".country"; public static final String CONIG_PROPS_EIDAS_NODE_LoA = CONIG_PROPS_EIDAS_NODE + ".LoA"; + public static final String CONIG_PROPS_EIDAS_METADATA_URLS_LIST_PREFIX = CONIG_PROPS_EIDAS_PREFIX + ".metadata.url"; + //timeouts and clock skews diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java index a0330903b..76cc12e44 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java @@ -25,18 +25,20 @@ import org.springframework.stereotype.Service; import at.gv.egovernment.moa.id.auth.IDestroyableObject; import at.gv.egovernment.moa.id.auth.IGarbageCollectorProcessing; +import at.gv.egovernment.moa.id.auth.IPostStartupInitializable; import at.gv.egovernment.moa.id.auth.modules.eidas.Constants; import at.gv.egovernment.moa.id.protocols.pvp2x.metadata.IMOARefreshableMetadataProvider; import at.gv.egovernment.moa.id.protocols.pvp2x.metadata.SimpleMOAMetadataProvider; import at.gv.egovernment.moa.id.protocols.pvp2x.verification.metadata.MOASPMetadataSignatureFilter; import at.gv.egovernment.moa.id.saml2.MetadataFilterChain; import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.FileUtils; import at.gv.egovernment.moa.util.MiscUtil; import eu.eidas.auth.engine.AbstractProtocolEngine; @Service("eIDASMetadataProvider") public class MOAeIDASChainingMetadataProvider extends SimpleMOAMetadataProvider implements ObservableMetadataProvider, - IGarbageCollectorProcessing, IDestroyableObject, IMOARefreshableMetadataProvider { + IGarbageCollectorProcessing, IDestroyableObject, IMOARefreshableMetadataProvider, IPostStartupInitializable{ private Timer timer = null; @@ -62,6 +64,31 @@ public class MOAeIDASChainingMetadataProvider extends SimpleMOAMetadataProvider lastAccess = new HashMap(); } + + /* (non-Javadoc) + * @see at.gv.egovernment.moa.id.auth.IPostStartupInitializable#executeAfterStartup() + */ + @Override + public void executeAfterStartup() { + initializeEidasMetadataFromFileSystem(); + + } + + protected void initializeEidasMetadataFromFileSystem() { + Map metadataToLoad = authConfig.getBasicMOAIDConfigurationWithPrefix(Constants.CONIG_PROPS_EIDAS_METADATA_URLS_LIST_PREFIX); + if (!metadataToLoad.isEmpty()) { + Logger.info("Load static configurated eIDAS metadata ... "); + for (String metaatalocation : metadataToLoad.values()) { + String absMetadataLocation = FileUtils.makeAbsoluteURL(metaatalocation, authConfig.getRootConfigFileDir()); + Logger.info(" Load eIDAS metadata from: " + absMetadataLocation); + refreshMetadataProvider(absMetadataLocation); + + } + + Logger.info("Load static configurated eIDAS metadata finished "); + } + } + /* (non-Javadoc) * @see at.gv.egovernment.moa.id.auth.IDestroyableObject#fullyDestroy() @@ -358,4 +385,5 @@ public class MOAeIDASChainingMetadataProvider extends SimpleMOAMetadataProvider if (observer != null) observer.onEvent(this); } + } -- cgit v1.2.3 From f84bcfbcc5563a3784b6218e41c27ec3432e58a6 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 26 Jul 2017 10:25:32 +0200 Subject: switch to eIDAS SAML-engine 1.3.0-final --- id/server/modules/moa-id-module-eIDAS/pom.xml | 10 +++++----- .../id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/pom.xml b/id/server/modules/moa-id-module-eIDAS/pom.xml index 58f6584ae..5bdead8b2 100644 --- a/id/server/modules/moa-id-module-eIDAS/pom.xml +++ b/id/server/modules/moa-id-module-eIDAS/pom.xml @@ -12,11 +12,11 @@ ${basedir}/../../../../repository - 1.3.0-SNAPSHOT - 1.3.0-SNAPSHOT - 1.3.0-SNAPSHOT - 1.3.0-SNAPSHOT - 1.3.0-SNAPSHOT + 1.3.0 + 1.3.0 + 1.3.0 + 1.3.0 + 1.3.0 diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java index 45ba3d64e..a31bbaf02 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java @@ -58,6 +58,7 @@ public class ReceiveAuthnResponseTask extends AbstractAuthServletTask { IAuthenticationResponse samlResp = engine.unmarshallResponseAndValidate(decSamlToken, request.getRemoteHost(), Constants.CONFIG_PROPS_SKEWTIME, + Constants.CONFIG_PROPS_SKEWTIME, pendingReq.getAuthURL() + Constants.eIDAS_HTTP_ENDPOINT_METADATA); if (samlResp.isEncrypted()) { -- cgit v1.2.3 From 98d740f873ac66522f3ebfb02a2433c98fde3a1d Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 26 Jul 2017 15:35:05 +0200 Subject: fix bug in PVP metadata generator that prohibits SHA256 hash algorithms in combination with eIDAS saml-engine --- .../moa/id/protocols/pvp2x/builder/PVPMetadataBuilder.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPMetadataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPMetadataBuilder.java index e2f8664d8..e2ac50e5e 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPMetadataBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/builder/PVPMetadataBuilder.java @@ -71,6 +71,7 @@ import org.w3c.dom.Document; import at.gv.egovernment.moa.id.commons.api.exceptions.ConfigurationException; import at.gv.egovernment.moa.id.protocols.pvp2x.config.IPVPMetadataBuilderConfiguration; +import at.gv.egovernment.moa.id.protocols.pvp2x.config.MOADefaultBootstrap; import at.gv.egovernment.moa.id.protocols.pvp2x.signer.AbstractCredentialProvider; import at.gv.egovernment.moa.id.protocols.pvp2x.signer.CredentialsNotAvailableException; import at.gv.egovernment.moa.id.protocols.pvp2x.utils.SAML2Utils; @@ -153,8 +154,7 @@ public class PVPMetadataBuilder { Credential metadataSignCred = config.getMetadataSigningCredentials(); Signature signature = AbstractCredentialProvider.getIDPSignature(metadataSignCred); SecurityHelper.prepareSignatureParams(signature, metadataSignCred, null, null); - - + //initialize XML document builder DocumentBuilder builder; DocumentBuilderFactory factory = DocumentBuilderFactory @@ -173,8 +173,11 @@ public class PVPMetadataBuilder { entitiesDescriptor.setValidUntil(date.plusHours(config.getMetadataValidUntil())); entitiesDescriptor.getEntityDescriptors().add(entityDescriptor); + //load default PVP security configurations + MOADefaultBootstrap.initializeDefaultPVPConfiguration(); entitiesDescriptor.setSignature(signature); + //marshall document Marshaller out = Configuration.getMarshallerFactory() .getMarshaller(entitiesDescriptor); -- cgit v1.2.3 From ac7930ec5d3505dc9ef47fef045d6b5bae53eadb Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 26 Jul 2017 15:35:42 +0200 Subject: fix some bugs in combination with eIDAS saml-engine 1.3 --- .../java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java | 3 ++- .../modules/eidas/engine/validation/MoaEidasConditionsValidator.java | 4 ++-- .../moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java | 4 ++-- .../gv/egovernment/moa/id/protocols/eidas/EidasMetaDataRequest.java | 1 + 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java index adf6c4979..c0101b553 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/Constants.java @@ -72,7 +72,8 @@ public class Constants { //timeouts and clock skews - public static final int CONFIG_PROPS_SKEWTIME = 2 * 60 * 1000; //2 minutes skew time for response validation + public static final long CONFIG_PROPS_SKEWTIME_BEFORE = -2 * 60 * 1000; //5 minutes skew time for response validation + public static final long CONFIG_PROPS_SKEWTIME_AFTER = 2 * 60 * 1000; //5 minutes skew time for response validation public static final long CONFIG_PROPS_METADATA_GARBAGE_TIMEOUT = 7 * 24 * 60 * 60 * 1000; //remove unused eIDAS metadata after 7 days //eIDAS request parameters diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/validation/MoaEidasConditionsValidator.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/validation/MoaEidasConditionsValidator.java index d9453322f..9895ca79f 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/validation/MoaEidasConditionsValidator.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/validation/MoaEidasConditionsValidator.java @@ -56,7 +56,7 @@ public class MoaEidasConditionsValidator extends ConditionsSpecValidator { throw new ValidationException("NotBefore is required."); } - if (conditions.getNotBefore().minusMillis(Constants.CONFIG_PROPS_SKEWTIME).isAfterNow()) { + if (conditions.getNotBefore().plusMillis((int)Constants.CONFIG_PROPS_SKEWTIME_BEFORE).isAfterNow()) { throw new ValidationException("Current time is before NotBefore condition"); } @@ -64,7 +64,7 @@ public class MoaEidasConditionsValidator extends ConditionsSpecValidator { throw new ValidationException("NotOnOrAfter is required."); } - if (conditions.getNotOnOrAfter().isBeforeNow()) { + if (conditions.getNotOnOrAfter().plusMillis((int)Constants.CONFIG_PROPS_SKEWTIME_AFTER).isBeforeNow()) { throw new ValidationException("Current time is after NotOnOrAfter condition"); } diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java index a31bbaf02..17e112c4c 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/tasks/ReceiveAuthnResponseTask.java @@ -57,8 +57,8 @@ public class ReceiveAuthnResponseTask extends AbstractAuthServletTask { //validate SAML token IAuthenticationResponse samlResp = engine.unmarshallResponseAndValidate(decSamlToken, request.getRemoteHost(), - Constants.CONFIG_PROPS_SKEWTIME, - Constants.CONFIG_PROPS_SKEWTIME, + Constants.CONFIG_PROPS_SKEWTIME_BEFORE, + Constants.CONFIG_PROPS_SKEWTIME_AFTER, pendingReq.getAuthURL() + Constants.eIDAS_HTTP_ENDPOINT_METADATA); if (samlResp.isEncrypted()) { diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EidasMetaDataRequest.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EidasMetaDataRequest.java index bfe410fc2..cc9b09107 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EidasMetaDataRequest.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/EidasMetaDataRequest.java @@ -126,6 +126,7 @@ public class EidasMetaDataRequest implements IAction { metadataConfigBuilder.entityID(metadata_url); metadataConfigBuilder.assertionConsumerUrl(sp_return_url); + metadataConfigBuilder.addProtocolBinding(SAMLConstants.SAML2_POST_BINDING_URI); metadataConfigBuilder.addProtocolBindingLocation( SAMLConstants.SAML2_POST_BINDING_URI, pendingReq.getAuthURL() + Constants.eIDAS_HTTP_ENDPOINT_IDP_COLLEAGUEREQUEST); -- cgit v1.2.3 From 22665d0bb596d772cf6cb81ba458b75d8b455324 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 27 Jul 2017 09:49:10 +0200 Subject: update logging behavior of eIDAS metadata provider implementation --- .../engine/MOAeIDASChainingMetadataProvider.java | 27 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java index 76cc12e44..490dc9dcf 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/engine/MOAeIDASChainingMetadataProvider.java @@ -15,6 +15,7 @@ import org.opensaml.saml2.metadata.EntitiesDescriptor; import org.opensaml.saml2.metadata.EntityDescriptor; import org.opensaml.saml2.metadata.RoleDescriptor; import org.opensaml.saml2.metadata.provider.ChainingMetadataProvider; +import org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider; import org.opensaml.saml2.metadata.provider.HTTPMetadataProvider; import org.opensaml.saml2.metadata.provider.MetadataFilter; import org.opensaml.saml2.metadata.provider.MetadataProvider; @@ -163,8 +164,8 @@ public class MOAeIDASChainingMetadataProvider extends SimpleMOAMetadataProvider + " after timeout."); } else - Logger.warn("eIDAS metadata for EntityID: " + expired - + " is marked as unsed, but no loaded metadata provider is found."); + Logger.info("eIDAS metadata for EntityID: " + expired + + " is marked as expired, but no currently loaded HTTPMetadataProvider metadata provider is found."); } } @@ -229,15 +230,31 @@ public class MOAeIDASChainingMetadataProvider extends SimpleMOAMetadataProvider private Map getAllActuallyLoadedProviders() { Map loadedproviders = new HashMap(); ChainingMetadataProvider chainProvider = (ChainingMetadataProvider) internalProvider; - + //make a Map of all actually loaded HTTPMetadataProvider List providers = chainProvider.getProviders(); for (MetadataProvider provider : providers) { if (provider instanceof HTTPMetadataProvider) { HTTPMetadataProvider httpprovider = (HTTPMetadataProvider) provider; loadedproviders.put(httpprovider.getMetadataURI(), httpprovider); - - } + + } else if (provider instanceof FilesystemMetadataProvider) { + String entityID = "'!!NO-ENTITYID!!'"; + try { + if (provider.getMetadata() instanceof EntityDescriptor) + entityID = ((EntityDescriptor)provider.getMetadata()).getEntityID(); + + Logger.debug("Skip eIDAS metadata: " + entityID + " because it is loaded from local Filesystem"); + + } catch (MetadataProviderException e) { + Logger.info("Collect currently loaded eIDAS metadata provider has an internel process error: " + e.getMessage()); + + } + + } else + Logger.info("Skip " + provider.getClass().getName() + " from list of currently loaded " + + "eIDAS metadata provider"); + } return loadedproviders; -- cgit v1.2.3 From fab8bb66ea62eb23e806ad280008c5f722d684ec Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 27 Jul 2017 16:58:46 +0200 Subject: add eIDAS to StatisticLogger.java --- .../at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java | 6 +++++- .../at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java index 6f700d1cb..b57e6ed69 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java @@ -289,7 +289,11 @@ public class StatisticLogger implements IStatisticLogger{ if (moasession != null) { if (MiscUtil.isNotEmpty(moasession.getBkuURL())) { dblog.setBkuurl(moasession.getBkuURL()); - dblog.setBkutype(findBKUType(moasession.getBkuURL(), dbOA)); + if (moasession.isForeigner()) { + dblog.setBkutype(IOAAuthParameters.EIDAS); + + } else + dblog.setBkutype(findBKUType(moasession.getBkuURL(), dbOA)); } dblog.setMandatelogin(moasession.isMandateUsed()); diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java index 1aea8d7b6..971e401ca 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java @@ -42,6 +42,7 @@ public interface IOAAuthParameters { public static final String HANDYBKU = "handy"; public static final String LOCALBKU = "local"; public static final String INDERFEDERATEDIDP = "interfederated"; + public static final String EIDAS = "eIDAS"; /** * Get the full key/value configuration for this online application -- cgit v1.2.3 From 4c59c85ac46957ed4610b9f2c19467cf8026705d Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Mon, 28 Aug 2017 16:05:54 +0200 Subject: catch possible NullPointerException --- .../moa/id/protocols/pvp2x/verification/EntityVerifier.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/EntityVerifier.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/EntityVerifier.java index 2ded32bac..d05d180e1 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/EntityVerifier.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/verification/EntityVerifier.java @@ -55,6 +55,12 @@ public class EntityVerifier { try { IOAAuthParameters oa = AuthConfigurationProviderFactory.getInstance().getOnlineApplicationParameter(entityID); + if (oa == null) { + Logger.debug("No OnlineApplication with EntityID: " + entityID); + return null; + + } + String certBase64 = oa.getConfigurationValue(MOAIDConfigurationConstants.SERVICE_PROTOCOLS_PVP2X_CERTIFICATE); if (MiscUtil.isNotEmpty(certBase64)) { return Base64Utils.decode(certBase64, false); -- cgit v1.2.3 From 6af6c5fdffb071ce407a303cf3fd307359df1ef1 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Mon, 28 Aug 2017 16:29:40 +0200 Subject: update IAIK libs --- id/moa-spss-container/pom.xml | 17 ++++++++++------- .../moa/id/util/ECDSAKeyValueConverter.java | 4 ++-- repository/MOA/spss/common/3.1.1/common-3.1.1.jar | Bin 0 -> 204661 bytes .../server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar | Bin 0 -> 359993 bytes .../4.02_eval/iaik_eccelerate-4.02_eval.jar | Bin 0 -> 498090 bytes .../5.5_MOA_RC3/iaik_jce_full-5.5_MOA_RC3.jar | Bin 0 -> 1284778 bytes repository/iaik/prod/iaik_moa/2.05/iaik_moa-2.05.jar | Bin 0 -> 523141 bytes .../1.03_moa/iaik_pki_module-1.03_moa.jar | Bin 0 -> 597929 bytes 8 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 repository/MOA/spss/common/3.1.1/common-3.1.1.jar create mode 100644 repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar create mode 100644 repository/iaik/prod/iaik_eccelerate/4.02_eval/iaik_eccelerate-4.02_eval.jar create mode 100644 repository/iaik/prod/iaik_jce_full/5.5_MOA_RC3/iaik_jce_full-5.5_MOA_RC3.jar create mode 100644 repository/iaik/prod/iaik_moa/2.05/iaik_moa-2.05.jar create mode 100644 repository/iaik/prod/iaik_pki_module/1.03_moa/iaik_pki_module-1.03_moa.jar diff --git a/id/moa-spss-container/pom.xml b/id/moa-spss-container/pom.xml index fe6ea0c47..6cf5d41b3 100644 --- a/id/moa-spss-container/pom.xml +++ b/id/moa-spss-container/pom.xml @@ -47,7 +47,7 @@ MOA.spss.server moa-sig-lib - 3.1.0 + 3.1.1 commons-logging @@ -65,7 +65,7 @@ MOA.spss common - 3.1.0 + 3.1.1 MOA.spss @@ -90,13 +90,16 @@ iaik.prod iaik_eccelerate - 3.1_eval + 4.02_eval - + + + + iaik.prod iaik_eccelerate_cms @@ -115,12 +118,12 @@ iaik.prod iaik_moa - 2.04 + 2.05 iaik.prod iaik_pki_module - 1.02_moa + 1.03_moa iaik.prod diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ECDSAKeyValueConverter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ECDSAKeyValueConverter.java index f37ae0b0b..d30ce4924 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ECDSAKeyValueConverter.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ECDSAKeyValueConverter.java @@ -44,9 +44,9 @@ import iaik.security.ec.common.ECParameterSpec; import iaik.security.ec.common.ECPublicKey; import iaik.security.ec.common.ECStandardizedParameterFactory; import iaik.security.ec.common.EllipticCurve; +import iaik.security.ec.math.field.AbstractPrimeField; import iaik.security.ec.math.field.Field; import iaik.security.ec.math.field.FieldElement; -import iaik.security.ec.math.field.PrimeField; public class ECDSAKeyValueConverter { @@ -221,7 +221,7 @@ public class ECDSAKeyValueConverter // Value xValue = FieldFactory.getInstance().getPrimeFieldValue(new BigInteger(publicKeyXStr, 10)); // publicKeyPointX = field.newElement(xValue); - PrimeField pf = (PrimeField) field; + AbstractPrimeField pf = (AbstractPrimeField) field; publicKeyPointX = pf.newElement(new BigInteger(publicKeyXStr, 10)); // Value yValue = FieldFactory.getInstance().getPrimeFieldValue(new BigInteger(publicKeyYStr, 10)); // publicKeyPointY = field.newElement(yValue); diff --git a/repository/MOA/spss/common/3.1.1/common-3.1.1.jar b/repository/MOA/spss/common/3.1.1/common-3.1.1.jar new file mode 100644 index 000000000..a83531535 Binary files /dev/null and b/repository/MOA/spss/common/3.1.1/common-3.1.1.jar differ diff --git a/repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar b/repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar new file mode 100644 index 000000000..8d11602cf Binary files /dev/null and b/repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar differ diff --git a/repository/iaik/prod/iaik_eccelerate/4.02_eval/iaik_eccelerate-4.02_eval.jar b/repository/iaik/prod/iaik_eccelerate/4.02_eval/iaik_eccelerate-4.02_eval.jar new file mode 100644 index 000000000..9727ab3a0 Binary files /dev/null and b/repository/iaik/prod/iaik_eccelerate/4.02_eval/iaik_eccelerate-4.02_eval.jar differ diff --git a/repository/iaik/prod/iaik_jce_full/5.5_MOA_RC3/iaik_jce_full-5.5_MOA_RC3.jar b/repository/iaik/prod/iaik_jce_full/5.5_MOA_RC3/iaik_jce_full-5.5_MOA_RC3.jar new file mode 100644 index 000000000..f86ded1b4 Binary files /dev/null and b/repository/iaik/prod/iaik_jce_full/5.5_MOA_RC3/iaik_jce_full-5.5_MOA_RC3.jar differ diff --git a/repository/iaik/prod/iaik_moa/2.05/iaik_moa-2.05.jar b/repository/iaik/prod/iaik_moa/2.05/iaik_moa-2.05.jar new file mode 100644 index 000000000..51dc3f045 Binary files /dev/null and b/repository/iaik/prod/iaik_moa/2.05/iaik_moa-2.05.jar differ diff --git a/repository/iaik/prod/iaik_pki_module/1.03_moa/iaik_pki_module-1.03_moa.jar b/repository/iaik/prod/iaik_pki_module/1.03_moa/iaik_pki_module-1.03_moa.jar new file mode 100644 index 000000000..e30f05843 Binary files /dev/null and b/repository/iaik/prod/iaik_pki_module/1.03_moa/iaik_pki_module-1.03_moa.jar differ -- cgit v1.2.3 From 392fa736715b79709c24a0ed03a3bdc3f7ec0b69 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Mon, 28 Aug 2017 16:30:07 +0200 Subject: update other libs and switch version to 3.2.3 --- pom.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 22857637d..59ac9b4b6 100644 --- a/pom.xml +++ b/pom.xml @@ -22,19 +22,19 @@ --> - 3.2.3-Snapshot + 3.2.3 - 3.2.3-Snapshot - 3.2.3-Snapshot + 3.2.3 + 3.2.3 2.0.1 - 2.3.3-Snapshot + 2.3.3 2.0.6 1.2 - 4.3.7.RELEASE + 4.3.10.RELEASE 2.19.1 2.6.6 @@ -42,12 +42,12 @@ 2.0.8 - 5.2.8.Final + 5.2.10.Final - 3.1.10 - 2.5.10.1 + 3.1.12 + 2.5.10.1 2.0.0 @@ -574,7 +574,7 @@ iaik.prod iaik_jce_full - 5.5_MOA_RC1 + 5.5_MOA_RC3 compile -- cgit v1.2.3 From b45f0fe1efd4572b86689b6de9c3be1748fdafac Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Mon, 28 Aug 2017 16:40:52 +0200 Subject: update history.txt and add readme_3.2.3.txt --- id/history.txt | 6 + id/readme_3.2.3.txt | 731 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 737 insertions(+) create mode 100644 id/readme_3.2.3.txt diff --git a/id/history.txt b/id/history.txt index befe0ffbc..1869e28cb 100644 --- a/id/history.txt +++ b/id/history.txt @@ -1,5 +1,11 @@ Dieses Dokument zeigt die Veränderungen und Erweiterungen von MOA-ID auf. +Version MOA-ID Release 3.2.3: Änderungen seit Version MOA-ID 3.2.2 +- Änderungen + - Bug-Fix - Possible problem in combination with IAIK_JCE and JAVA JDK >= 8u141 + - Bug-Fix - Wrong logging entries + - Stabilitsverbesserungen + Version MOA-ID Release 3.2.2: Änderungen seit Version MOA-ID 3.2.1 - Änderungen - Security-Fix - Struts2 (CVE-2017-5638) diff --git a/id/readme_3.2.3.txt b/id/readme_3.2.3.txt new file mode 100644 index 000000000..a1582805d --- /dev/null +++ b/id/readme_3.2.3.txt @@ -0,0 +1,731 @@ +=============================================================================== +MOA ID Version Release 3.2.3 - Wichtige Informationen zur Installation +=============================================================================== + +------------------------------------------------------------------------------- +A. Neuerungen/Änderungen +------------------------------------------------------------------------------- + +Mit MOA ID Version 3.2.3 wurden folgende Neuerungen und Änderungen eingeführt, +die jetzt erstmals in der Veröffentlichung enthalten sind (siehe auch +history.txt im gleichen Verzeichnis). + +- Änderungen + - Behebung eines möglichen Problems mit JAVA JDK 8u141 + - Bug-Fixes + - Stabilitätsverbesserungen + +------------------------------------------------------------------------------- +B. Durchführung eines Updates +------------------------------------------------------------------------------- + +Es wird generell eine Neuinstallation lt. Handbuch empfohlen! Dennoch ist auch +eine Aktualisierung bestehender Installationen möglich. Je nachdem von welcher +MOA-ID Version ausgegangen wird ergibt sich eine Kombination der nachfolgend +angebebenen Updateschritte. + +Hinweis: Wenn Sie die bestehende Konfiguration von MOA-ID 2.x.x in MOA-ID 3.2.x +reimportieren möchten, so muss diese vor dem Update mit Hilfe der import/export +Funktion der grafischen Konfigurationsoberfläche in eine Datei exportiert werden. +Diese Datei dient dann als Basis für den Import in MOA-ID 3.2.x. + +............................................................................... +A.1 Durchführung eines Updates von Version 3.2.x auf Version 3.2.3 +............................................................................... +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-3.2.3.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war + als auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach. + +7. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das + Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr + unterstuetzt). + +8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.1 Durchführung eines Updates von Version 3.1.x auf Version 3.2.3 +............................................................................... +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-3.2.3.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war + als auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach. + +7. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das + Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr + unterstuetzt). + +8. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth + Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties + a.) moasession.jpaVendorAdapter.generateDdl=true + moasession.dbcp.connectionProperties= + moasession.dbcp.initialSize=5 + moasession.dbcp.maxActive=100 + moasession.dbcp.maxIdle=8 + moasession.dbcp.minIdle=5 + moasession.dbcp.maxWaitMillis=-1 + moasession.dbcp.testOnBorrow=true + moasession.dbcp.testOnReturn=false + moasession.dbcp.testWhileIdle=false + moasession.dbcp.validationQuery=select 1 + b.) advancedlogging.jpaVendorAdapter.generateDdl=true + advancedlogging.dbcp.initialSize=0 + advancedlogging.dbcp.maxActive=50 + advancedlogging.dbcp.maxIdle=8 + advancedlogging.dbcp.minIdle=0 + advancedlogging.dbcp.maxWaitMillis=-1 + advancedlogging.dbcp.testOnBorrow=true + advancedlogging.dbcp.testOnReturn=false + advancedlogging.dbcp.testWhileIdle=false + advancedlogging.dbcp.validationQuery=SELECT 1 + c.) *.hibernate.connection.url=... um den GET Parameter '&serverTimezone=UTC' erweitern + d.) configuration.ssl.validation.revocation.method.order=crl,ocsp + e.) Zusätzliche neu, aber optionale Parameter finden Sie in der Beispielkonfiguration + +9. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.1 Durchführung eines Updates von Version 3.0.x auf Version 3.2.3 +............................................................................... +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-3.2.2.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war + als auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach. + +7. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das + Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr + unterstuetzt). + +8. Update der TrustStores für WebService Zugriffe. + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\certs\ca-certs + in das Verzeichnis CATALINA_HOME\conf\moa-id\certs\ca-certs. + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\certs\certstore\toBeAdded + in das Verzeichnis CATALINA_HOME\conf\moa-id\certs\certstore\toBeAdded. + +9. Hinzufügen der zusätzlichen Konfigurationsparameter in der + MOA-ID-Configuration Konfigurationsdatei + CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties + a.) dbcp.validationQuery=..... (SQL Query zum Validieren der + Datenbankverbindung + z.B: "SELECT 1" für mySQL + "select 1 from dual" für OracleDB) + +10. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth + Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties + a.) configuration.dbcp.validationQuery=..... (SQL Query zum + Validieren der Datenbankverbindung + z.B: "SELECT 1" für mySQL + "select 1 from dual" für OracleDB) + b.) moasession.jpaVendorAdapter.generateDdl=true + moasession.dbcp.connectionProperties= + moasession.dbcp.initialSize=5 + moasession.dbcp.maxActive=100 + moasession.dbcp.maxIdle=8 + moasession.dbcp.minIdle=5 + moasession.dbcp.maxWaitMillis=-1 + moasession.dbcp.testOnBorrow=true + moasession.dbcp.testOnReturn=false + moasession.dbcp.testWhileIdle=false + moasession.dbcp.validationQuery=select 1 + c.) advancedlogging.jpaVendorAdapter.generateDdl=true + advancedlogging.dbcp.initialSize=0 + advancedlogging.dbcp.maxActive=50 + advancedlogging.dbcp.maxIdle=8 + advancedlogging.dbcp.minIdle=0 + advancedlogging.dbcp.maxWaitMillis=-1 + advancedlogging.dbcp.testOnBorrow=true + advancedlogging.dbcp.testOnReturn=false + advancedlogging.dbcp.testWhileIdle=false + advancedlogging.dbcp.validationQuery=SELECT 1 + d.) *.hibernate.connection.url=... um den GET Parameter '&serverTimezone=UTC' erweitern + e.) configuration.ssl.validation.revocation.method.order=crl,ocsp + f.) Zusätzliche neu, aber optionale Parameter finden Sie in der Beispielkonfigration + +11. Update der Default html-Templates für die Bürgerkartenauswahl. + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates. + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates. + +12. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.3 Durchführung eines Updates von Version 2.2.1 auf Version 3.2.3 +............................................................................... + +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-3.2.2.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und + moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth + und das komplette Verzeichnis moa-id-configuration. + +4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis + CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +7. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach. + +8. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das + Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr + unterstuetzt). + +9. Update des Cert-Stores. + Kopieren Sie den Inhalt des Verzeichnisses + MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie + vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann + bejahen sie das. + +10. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen + wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile + beibehalten wollen, dann gehen Sie vor, wie in Punkt b). + + a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: + + 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles. + 2) Kopieren Sie das Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis + CATALINA_HOME\conf\moa-spss. + + b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie + folgt vor, um die Profile auf den aktuellen Stand zu bringen: + + 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den + entsprechenden Profilen im Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren + Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt + der einzelnen Profile aus der Distribution + (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden + Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles) + kopieren und dabei die vorhandenen gleichnamigen Zertifikate + überschreiben), also z.B: Kopieren des Inhalts von + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach + CATALINA_HOME\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw. + +11. Update der Default html-Templates für die Bürgerkartenauswahl. + + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates. + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates. + +12. Update der STORK Konfiguration + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork + in das Verzeichnis CATALINA_HOME\conf\moa-id\stork. + b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration -> + 2.4 Konfiguration des SamlEngines an. + +13. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei + CATALINA_HOME\conf\moa-id\moa-id.properties + +14. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Configration Konfigurationsdatei + CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties + +15. Hinzufügen der zusätzlichen Konfigurationsdatei in der MOA-ID-Configuration + CATALINA_HOME\conf\moa-id-configuration\userdatabase.properties + +16. Update der Tomcat Start-Skripts: + - Die Konfigurationsdateien für MOA-ID-Auth und MOA-ID-Configuration müssen + nur als URI (file:/...) übergeben werden. + +17. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.4 Durchführung eines Updates von Version 2.2.0 auf Version 2.2.1 +............................................................................... +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.2.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und + moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth + und das komplette Verzeichnis moa-id-configuration. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Update des Cert-Stores. + Kopieren Sie den Inhalt des Verzeichnisses + MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie + vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann + bejahen sie das. + +7. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen + wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile + beibehalten wollen, dann gehen Sie vor, wie in Punkt b). + + a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: + + 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles. + 2) Kopieren Sie das Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis + CATALINA_HOME\conf\moa-spss. + + b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie + folgt vor, um die Profile auf den aktuellen Stand zu bringen: + + 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den + entsprechenden Profilen im Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren + Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt + der einzelnen Profile aus der Distribution + (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden + Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles) + kopieren und dabei die vorhandenen gleichnamigen Zertifikate + überschreiben), also z.B: Kopieren des Inhalts von + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach + CATALINA_HOME\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw. + +8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + +............................................................................... +B.1 Durchführung eines Updates von Version 2.1.2 auf Version 2.2.0 +............................................................................... + 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.2.0.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und + moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth + und das komplette Verzeichnis moa-id-configuration. + +4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis + CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach. + +6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +8. Kopieren der folgenden Dateien: + Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der + Datei bevor Sie diese durch die neue Version ersetzen. + a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml -> + CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml + b.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_outgoing.xml -> + CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_outgoing.xml + +9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks + (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt. + Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell + verwendeten KeyStore ab. + +10. Update des Cert-Stores. + Kopieren Sie den Inhalt des Verzeichnisses + MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie + vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann + bejahen sie das. + +11. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen + wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile + beibehalten wollen, dann gehen Sie vor, wie in Punkt b). + + a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: + + 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles. + 2) Kopieren Sie das Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis + CATALINA_HOME\conf\moa-spss. + + b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie + folgt vor, um die Profile auf den aktuellen Stand zu bringen: + + 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den + entsprechenden Profilen im Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren + Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt + der einzelnen Profile aus der Distribution + (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden + Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles) + kopieren und dabei die vorhandenen gleichnamigen Zertifikate + überschreiben), also z.B: Kopieren des Inhalts von + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach + CATALINA_HOME\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw. + + +12. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + +............................................................................... +B.2 Durchführung eines Updates von Version 2.1.1 auf Version 2.1.2 +............................................................................... + 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.2.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Dateien moa-id-auth.war und + moa-id-configuration.war als auch das komplette Verzeichnis moa-id-auth + und das komplette Verzeichnis moa-id-configuration. + +4. Erstellen Sie eine Sicherungskopie aller "*.jar"-Dateien im Verzeichnis + CATALINA_HOME_ID\endorsed und loeschen Sie diese Dateien danach. + +5. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\endorsed in das + Verzeichnis CATALINA_HOME_ID\endorsed + +6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +8. Kopieren der folgenden Dateien + a.) MOA_ID_AUTH_INST/conf/moa-id/stork/StorkSamlEngine_VIDP.xml -> + CATALINA_HOME/conf/moa-id/stork/StorkSamlEngine_VIDP.xml + Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der + Datei slo_template.html bevor Sie diese durch die neue Version ersetzen. + +9. Dem STORK KeyStores unter MOA_ID_AUTH_INST/conf/moa-id/keys/storkDemoKeys.jks + (Passwort=local-demo) wurden neue vertrauenswürdige Zertifikate hinzugefügt. + Gleichen Sie bei Bedarf die Zertifikate dieses KeyStores mit Ihrem aktuell + verwendeten KeyStore ab. + +10. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.3 Durchführung eines Updates von Version 2.1.0 auf Version 2.1.1 +............................................................................... + 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und loeschen Sie diese Dateien danach. + +4. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_AUTH_INST\ext in das + Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.4.x wird nicht mehr + unterstuetzt). + +5. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +6. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +7. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +8. Hinzufügen der zusätzlichen Konfigurationsparameter in der + MOA-ID-Configuration Konfigurationsdatei + CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties + a.) general.moaconfig.key=..... (Passwort zum Ver- und + Entschlüsseln von Konfigurationsparametern in der Datenbank) + +9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth + Konfigurationsdatei CATALINA_HOME\conf\moa-id\moa-id.properties + a.) configuration.moaconfig.key=..... (Passwort zum Ver- und + Entschlüsseln von Konfigurationsparametern in der Datenbank) + +10. Kopieren der folgenden Dateien + a.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html -> + CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html + Sollte die Datei bereits vorhanden sein erstellen Sie ein Backup der + Datei slo_template.html bevor Sie diese durch die neue Version ersetzen. + +11. Update des Cert-Stores. + Kopieren Sie den Inhalt des Verzeichnisses + MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie + vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann + bejahen sie das. + +12. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen + wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile + beibehalten wollen, dann gehen Sie vor, wie in Punkt b). + + a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: + + 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles. + 2) Kopieren Sie das Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis + CATALINA_HOME\conf\moa-spss. + + b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie + folgt vor, um die Profile auf den aktuellen Stand zu bringen: + + 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den + entsprechenden Profilen im Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren + Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt + der einzelnen Profile aus der Distribution + (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden + Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles) + kopieren und dabei die vorhandenen gleichnamigen Zertifikate + überschreiben), also z.B: Kopieren des Inhalts von + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach + CATALINA_HOME\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw. + +13. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.4 Durchführung eines Updates von Version 2.0.1 auf Version 2.1.0 +............................................................................... + 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.1.0.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Update der STORK Konfiguration + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork + in das Verzeichnis CATALINA_HOME\conf\moa-id\stork. + b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration -> + 2.4 Konfiguration des SamlEngines an. + +7. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Configuration Konfigurationsdatei + CATALINA_HOME\conf\moa-id-configuration\moa-id-configtool.properties + a.) general.ssl.certstore=certs/certstore + b.) general.ssl.truststore=certs/truststore + +8. Kopieren des folgenden zusätzlichen Ordners MOA_ID_AUTH_INST/conf/moa-id-configuration/certs + nach CATALINA_HOME\conf\moa-id-configuration\ + +9. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei + CATALINA_HOME\conf\moa-id\moa-id.properties und Anpassung an das zu verwendeten Schlüsselpaar. + a.) protocols.pvp2.idp.ks.assertion.encryption.alias=pvp_assertion + protocols.pvp2.idp.ks.assertion.encryption.keypassword=password + +10. Kopieren der folgenden zusätzlichen Ordner aus MOA_ID_AUTH_INST/conf/moa-id/ + nach CATALINA_HOME\conf\moa-id\ + a.) MOA_ID_AUTH_INST/conf/moa-id/SLTemplates -> CATALINA_HOME\conf\moa-id\ + b.) MOA_ID_AUTH_INST/conf/moa-id/htmlTemplates/slo_template.html -> + CATALINA_HOME/conf/moa-id/htmlTemplates/slo_template.html + +11. Neuinitialisieren des Datenbank Schema für die MOA-Session. Hierfür stehen + zwei Varianten zur Verfügung. + a.) Ändern Sie in der Konfigurationsdatei für das Modul MOA-ID-Auth + CATALINA_HOME\conf\moa-id\moa-id.properties die Zeile + moasession.hibernate.hbm2ddl.auto=update + zu + moasession.hibernate.hbm2ddl.auto=create + Danach werden die Tabellen beim nächsten Startvorgang neu generiert. + + b.) Löschen Sie alle Tabellen aus dem Datenbank Schema für die MOA-Sessixson + Informationen per Hand. Alle Tabellen werden beim nächsten Start autmatisch neu generiert. + +12 . Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.5 Durchführung eines Updates von Version 2.0-RC1 auf Version 2.0.1 +............................................................................... + +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA-ID-Auth (moa-id-auth-2.0.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + Für MOA ID Proxy: + Entpacken Sie die Distribution von MOA-ID-Proxy (moa-id-proxy-2.0.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_PROXY_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-configuration.war nach + CATALINA_HOME_ID/webapps. + +6. Update des Cert-Stores. + Kopieren Sie den Inhalt des Verzeichnisses + MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie + vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann + bejahen sie das. + +7. Update der Trust-Profile. Wenn Sie Ihre alten Trust-Profile durch die Neuen ersetzen + wollen, dann gehen Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile + beibehalten wollen, dann gehen Sie vor, wie in Punkt b). + + a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: + + 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles. + 2) Kopieren Sie das Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis + CATALINA_HOME\conf\moa-spss. + + b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie + folgt vor, um die Profile auf den aktuellen Stand zu bringen: + + 1) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den + entsprechenden Profilen im Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren + Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt + der einzelnen Profile aus der Distribution + (MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden + Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles) + kopieren und dabei die vorhandenen gleichnamigen Zertifikate + überschreiben), also z.B: Kopieren des Inhalts von + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach + CATALINA_HOME\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw. + +8. Update der Default html-Templates für die Bürgerkartenauswahl. + + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id\htmlTemplates. + b.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id-configuration\htmlTemplates + in das Verzeichnis CATALINA_HOME\conf\moa-id-configuration\htmlTemplates. + +9. Update der STORK Konfiguration + a.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\conf\moa-id\stork + in das Verzeichnis CATALINA_HOME\conf\moa-id\stork. + b.) Passen Sie die STORK Konfiguration laut Handbuch -> Konfiguration -> + 2.4 Konfiguration des SamlEngines an. + +10. Hinzufügen der zusätzlichen Konfigurationsparameter in der MOA-ID-Auth Konfigurationsdatei + CATALINA_HOME\conf\moa-id\moa-id.properties + + a.) configuration.validation.certificate.QC.ignore=false + b.) protocols.pvp2.assertion.encryption.active=false + +11. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der Konfiguration. + + +............................................................................... +B.6 Durchführung eines Updates von Version <= 1.5.1 +............................................................................... + +Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen +Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter +Zuhilfenahme Ihrer bisherigen Konfiguration an. + -- cgit v1.2.3 From 211fd182136ba3def6b31f6acd86b91c1521d092 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 6 Sep 2017 12:38:50 +0200 Subject: update StatisticLogger to handle unknown BKUTypes --- .../gv/egovernment/moa/id/advancedlogging/StatisticLogger.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java index b57e6ed69..55b1a7c9a 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/advancedlogging/StatisticLogger.java @@ -69,6 +69,7 @@ public class StatisticLogger implements IStatisticLogger{ private static final String GENERIC_LOCALBKU = ":3496/https-security-layer-request"; private static final String GENERIC_HANDYBKU = "https://www.handy-signatur.at/"; + private static final String GENERIC_ONLINE_BKU = "bkuonline"; private static final String MANTATORTYPE_JUR = "jur"; private static final String MANTATORTYPE_NAT = "nat"; @@ -422,8 +423,13 @@ public class StatisticLogger implements IStatisticLogger{ return IOAAuthParameters.HANDYBKU; } - Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.ONLINEBKU); - return IOAAuthParameters.ONLINEBKU; + if (bkuURL.contains(GENERIC_ONLINE_BKU)) { + Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.ONLINEBKU); + return IOAAuthParameters.ONLINEBKU; + } + + Logger.debug("BKUURL " + bkuURL + " is mapped to " + IOAAuthParameters.AUTHTYPE_OTHERS); + return IOAAuthParameters.AUTHTYPE_OTHERS; } } -- cgit v1.2.3 From 41275a296c73a5ecb29d52829116f4b6e99ce006 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 6 Sep 2017 12:39:48 +0200 Subject: add xsd schema for eIDAS specific SAML2 extensions --- .../java/at/gv/egovernment/moa/util/Constants.java | 9 ++++++- .../resources/schemas/eIDAS_saml_extensions.xsd | 31 ++++++++++++++++++++++ .../auth/modules/eidas/utils/SAMLEngineUtils.java | 4 +++ .../resources/schema/eIDAS_saml_extensions.xsd | 31 ++++++++++++++++++++++ 4 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 id/server/moa-id-commons/src/main/resources/resources/schemas/eIDAS_saml_extensions.xsd create mode 100644 id/server/modules/moa-id-module-eIDAS/src/main/resources/schema/eIDAS_saml_extensions.xsd diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/util/Constants.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/util/Constants.java index 129478270..2a4e3b362 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/util/Constants.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/util/Constants.java @@ -394,6 +394,12 @@ public interface Constants { public static final String SAML2_METADATA_SCHEMA_LOCATION = SCHEMA_ROOT + "saml-schema-metadata-2.0.xsd"; + + /* Prefix and Schema definition for eIDAS specific SAML2 extensions*/ + public static final String SAML2_eIDAS_EXTENSIONS_PREFIX = "eidas"; + public static final String SAML2_eIDAS_EXTENSIONS = "http://eidas.europa.eu/saml-extensions"; + public static final String SAML2_eIDAS_EXTENSIONS_SCHEMA_LOCATION = SCHEMA_ROOT + "eIDAS_saml_extensions.xsd"; + /** * Contains all namespaces and local schema locations for XML schema * definitions relevant for MOA. For use in validating XML parsers. @@ -427,7 +433,8 @@ public interface Constants { + (STORK_NS_URI + " " + STORK_SCHEMA_LOCATION + " ") + (STORKP_NS_URI + " " + STORKP_SCHEMA_LOCATION + " ") + (SAML2_METADATA_URI + " " + SAML2_METADATA_SCHEMA_LOCATION + " ") - + (XENC_NS_URI + " " + XENC_SCHEMA_LOCATION); + + (XENC_NS_URI + " " + XENC_SCHEMA_LOCATION) + + (SAML2_eIDAS_EXTENSIONS + " " + SAML2_eIDAS_EXTENSIONS_SCHEMA_LOCATION); /** URN prefix for bPK and wbPK. */ public static final String URN_PREFIX = "urn:publicid:gv.at"; diff --git a/id/server/moa-id-commons/src/main/resources/resources/schemas/eIDAS_saml_extensions.xsd b/id/server/moa-id-commons/src/main/resources/resources/schemas/eIDAS_saml_extensions.xsd new file mode 100644 index 000000000..76b82a267 --- /dev/null +++ b/id/server/moa-id-commons/src/main/resources/resources/schemas/eIDAS_saml_extensions.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java index d469ca28c..02a5df098 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/SAMLEngineUtils.java @@ -28,6 +28,7 @@ import java.net.URL; import java.util.HashMap; import java.util.Map; +import org.opensaml.common.xml.SAMLSchemaBuilder; import org.opensaml.xml.ConfigurationException; import org.opensaml.xml.XMLConfigurator; @@ -107,6 +108,9 @@ public class SAMLEngineUtils { //overwrite eIDAS response validator suite because Condition-Valitator has not time jitter initOpenSAMLConfig("own-saml-eidasnode-config.xml"); + //add eIDAS specific SAML2 extensions to eIDAS Schema validatior + SAMLSchemaBuilder.addExtensionSchema( + at.gv.egovernment.moa.util.Constants.SAML2_eIDAS_EXTENSIONS_SCHEMA_LOCATION); eIDASEngine = engine; diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/resources/schema/eIDAS_saml_extensions.xsd b/id/server/modules/moa-id-module-eIDAS/src/main/resources/schema/eIDAS_saml_extensions.xsd new file mode 100644 index 000000000..76b82a267 --- /dev/null +++ b/id/server/modules/moa-id-module-eIDAS/src/main/resources/schema/eIDAS_saml_extensions.xsd @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3 From e36b3381215d1e29ba83658314e22085a3daff14 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 6 Sep 2017 14:30:42 +0200 Subject: fix wrong entries in eIDAS metadata extensions --- .../moa/id/auth/modules/eidas/utils/NewMoaEidasMetadata.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/NewMoaEidasMetadata.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/NewMoaEidasMetadata.java index d0c003b31..bb52d2ffe 100644 --- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/NewMoaEidasMetadata.java +++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/auth/modules/eidas/utils/NewMoaEidasMetadata.java @@ -168,12 +168,12 @@ public class NewMoaEidasMetadata { } private void generateDigest(Extensions eidasExtensions) throws EIDASSAMLEngineException { - if (!(StringUtils.isEmpty(this.params.getDigestMethods()))) { - Set signatureMethods = EIDASUtil.parseSemicolonSeparatedList(this.params.getDigestMethods()); + if (!(StringUtils.isEmpty(this.params.getSigningMethods()))) { + Set signatureMethods = EIDASUtil.parseSemicolonSeparatedList(this.params.getSigningMethods()); Set digestMethods = new HashSet(); for (String signatureMethod : signatureMethods) { digestMethods.add(CertificateUtil.validateDigestAlgorithm(signatureMethod)); - } + } for (String digestMethod : digestMethods) { DigestMethod dm = (DigestMethod) BuilderFactoryUtil.buildXmlObject(DigestMethod.DEF_ELEMENT_NAME); if (dm != null) { @@ -203,7 +203,7 @@ public class NewMoaEidasMetadata { generateDigest(eidasExtensions); if (!(StringUtils.isEmpty(this.params.getSigningMethods()))) { - Set signMethods = EIDASUtil.parseSemicolonSeparatedList(this.params.getDigestMethods()); + Set signMethods = EIDASUtil.parseSemicolonSeparatedList(this.params.getSigningMethods()); for (String signMethod : signMethods) { SigningMethod sm = (SigningMethod) BuilderFactoryUtil .buildXmlObject(SigningMethod.DEF_ELEMENT_NAME); -- cgit v1.2.3 From cfc0d2f6db21b4a07ef80ec31d589cbeb1f32a92 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 6 Sep 2017 14:31:25 +0200 Subject: add static variable and update demo OA --- .../egovernment/moa/id/demoOA/Configuration.java | 8 + .../at/gv/egovernment/moa/id/demoOA/Constants.java | 1 + .../moa/id/demoOA/servlet/pvp2/Authenticate.java | 119 ++++++----- .../moa/id/demoOA/servlet/pvp2/BuildMetadata.java | 11 +- .../id/demoOA/servlet/pvp2/DemoApplication.java | 225 ++++++++++++--------- .../moa/id/commons/api/IOAAuthParameters.java | 1 + 6 files changed, 220 insertions(+), 145 deletions(-) diff --git a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Configuration.java b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Configuration.java index 95347c265..09069ac7f 100644 --- a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Configuration.java +++ b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Configuration.java @@ -174,6 +174,14 @@ public class Configuration { } + public boolean useRedirectBindingRequest() { + return Boolean.parseBoolean(props.getProperty("general.login.pvp2.binding.req.redirect", "true")); + } + + public boolean useRedirectBindingResponse() { + return Boolean.parseBoolean(props.getProperty("general.login.pvp2.binding.resp.redirect", "false")); + } + public void initializePVP2Login() throws ConfigurationException { if (!pvp2logininitialzied) initalPVP2Login(); diff --git a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Constants.java b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Constants.java index d6d2b32da..00e7c3619 100644 --- a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Constants.java +++ b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/Constants.java @@ -34,4 +34,5 @@ public class Constants { public static final String SESSION_NAMEID = "pvp2nameID"; public static final String SESSION_NAMEIDFORMAT = "pvp2nameIDFormat"; + } diff --git a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java index 2641797ed..4c909ff80 100644 --- a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java +++ b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/Authenticate.java @@ -34,11 +34,15 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import org.apache.commons.lang3.RandomUtils; +import org.apache.velocity.app.VelocityEngine; +import org.apache.velocity.runtime.RuntimeConstants; import org.joda.time.DateTime; import org.opensaml.common.SAMLObject; import org.opensaml.common.binding.BasicSAMLMessageContext; import org.opensaml.common.impl.SecureRandomIdentifierGenerator; import org.opensaml.common.xml.SAMLConstants; +import org.opensaml.saml2.binding.encoding.HTTPPostEncoder; import org.opensaml.saml2.binding.encoding.HTTPRedirectDeflateEncoder; import org.opensaml.saml2.core.AuthnContextClassRef; import org.opensaml.saml2.core.AuthnContextComparisonTypeEnumeration; @@ -107,8 +111,13 @@ public class Authenticate extends HttpServlet { SecureRandomIdentifierGenerator gen = new SecureRandomIdentifierGenerator(); authReq.setID(gen.generateIdentifier()); + String relayState = String.valueOf(RandomUtils.nextLong()); - authReq.setAssertionConsumerServiceIndex(0); + if (config.useRedirectBindingResponse()) + authReq.setAssertionConsumerServiceIndex(1); + else + authReq.setAssertionConsumerServiceIndex(0); + authReq.setAttributeConsumingServiceIndex(0); authReq.setIssueInstant(new DateTime()); @@ -152,17 +161,24 @@ public class Authenticate extends HttpServlet { for (SingleSignOnService sss : idpEntity.getIDPSSODescriptor(SAMLConstants.SAML20P_NS).getSingleSignOnServices()) { -// //Get the service address for the binding you wish to use -// if (sss.getBinding().equals(SAMLConstants.SAML2_POST_BINDING_URI)) { -// redirectEndpoint = sss; -// } + //Get the service address for the binding you wish to use + if (sss.getBinding().equals(SAMLConstants.SAML2_POST_BINDING_URI) && !config.useRedirectBindingRequest()) { + redirectEndpoint = sss; + } //Get the service address for the binding you wish to use - if (sss.getBinding().equals(SAMLConstants.SAML2_REDIRECT_BINDING_URI)) { + if (sss.getBinding().equals(SAMLConstants.SAML2_REDIRECT_BINDING_URI) && config.useRedirectBindingRequest()) { redirectEndpoint = sss; } } + + if (redirectEndpoint == null) { + log.warn("Can not find valid EndPoint for SAML2 response"); + throw new ConfigurationException("Can not find valid EndPoint for SAML2 response"); + + } + authReq.setDestination(redirectEndpoint.getLocation()); //authReq.setDestination("http://test.test.test"); @@ -195,49 +211,54 @@ public class Authenticate extends HttpServlet { signer.setSigningCredential(authcredential); authReq.setSignature(signer); - //generate Http-POST Binding message -// VelocityEngine engine = new VelocityEngine(); -// engine.setProperty(RuntimeConstants.ENCODING_DEFAULT, "UTF-8"); -// engine.setProperty(RuntimeConstants.OUTPUT_ENCODING, "UTF-8"); -// engine.setProperty(RuntimeConstants.ENCODING_DEFAULT, "UTF-8"); -// engine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath"); -// engine.setProperty("classpath.resource.loader.class", -// "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); -// engine.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, -// "org.apache.velocity.runtime.log.SimpleLog4JLogSystem"); -// engine.init(); -// -// HTTPPostEncoder encoder = new HTTPPostEncoder(engine, -// "templates/pvp_postbinding_template.html"); -// HttpServletResponseAdapter responseAdapter = new HttpServletResponseAdapter( -// response, true); -// BasicSAMLMessageContext context = new BasicSAMLMessageContext(); -// SingleSignOnService service = new SingleSignOnServiceBuilder() -// .buildObject(); -// service.setBinding("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"); -// service.setLocation(redirectEndpoint.getLocation());; -// -// context.setOutboundSAMLMessageSigningCredential(authcredential); -// context.setPeerEntityEndpoint(service); -// context.setOutboundSAMLMessage(authReq); -// context.setOutboundMessageTransport(responseAdapter); - - //generate Redirect Binding message - HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder(); - HttpServletResponseAdapter responseAdapter = new HttpServletResponseAdapter( - response, true); - BasicSAMLMessageContext context = new BasicSAMLMessageContext(); - SingleSignOnService service = new SingleSignOnServiceBuilder() - .buildObject(); - service.setBinding(SAMLConstants.SAML2_REDIRECT_BINDING_URI); - service.setLocation(redirectEndpoint.getLocation()); - context.setOutboundSAMLMessageSigningCredential(authcredential); - context.setPeerEntityEndpoint(service); - context.setOutboundSAMLMessage(authReq); - context.setOutboundMessageTransport(responseAdapter); - //context.setRelayState(relayState); - - encoder.encode(context); + + if (!config.useRedirectBindingRequest()) { + //generate Http-POST Binding message + VelocityEngine engine = new VelocityEngine(); + engine.setProperty(RuntimeConstants.ENCODING_DEFAULT, "UTF-8"); + engine.setProperty(RuntimeConstants.OUTPUT_ENCODING, "UTF-8"); + engine.setProperty(RuntimeConstants.ENCODING_DEFAULT, "UTF-8"); + engine.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath"); + engine.setProperty("classpath.resource.loader.class", + "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); + engine.setProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM_CLASS, + "org.apache.velocity.runtime.log.SimpleLog4JLogSystem"); + engine.init(); + + HTTPPostEncoder encoder = new HTTPPostEncoder(engine, + "templates/pvp_postbinding_template.html"); + HttpServletResponseAdapter responseAdapter = new HttpServletResponseAdapter( + response, true); + BasicSAMLMessageContext context = new BasicSAMLMessageContext(); + SingleSignOnService service = new SingleSignOnServiceBuilder() + .buildObject(); + service.setBinding("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"); + service.setLocation(redirectEndpoint.getLocation());; + context.setOutboundSAMLMessageSigningCredential(authcredential); + context.setPeerEntityEndpoint(service); + context.setOutboundSAMLMessage(authReq); + context.setOutboundMessageTransport(responseAdapter); + context.setRelayState(relayState); + encoder.encode(context); + + } else { + //generate Redirect Binding message + HTTPRedirectDeflateEncoder encoder = new HTTPRedirectDeflateEncoder(); + HttpServletResponseAdapter responseAdapter = new HttpServletResponseAdapter( + response, true); + BasicSAMLMessageContext context = new BasicSAMLMessageContext(); + SingleSignOnService service = new SingleSignOnServiceBuilder() + .buildObject(); + service.setBinding(SAMLConstants.SAML2_REDIRECT_BINDING_URI); + service.setLocation(redirectEndpoint.getLocation()); + context.setOutboundSAMLMessageSigningCredential(authcredential); + context.setPeerEntityEndpoint(service); + context.setOutboundSAMLMessage(authReq); + context.setOutboundMessageTransport(responseAdapter); + context.setRelayState(relayState); + encoder.encode(context); + + } } catch (Exception e) { log.warn("Authentication Request can not be generated", e); diff --git a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java index 75b54cfc4..d28f94fd6 100644 --- a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java +++ b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/BuildMetadata.java @@ -234,13 +234,20 @@ public class BuildMetadata extends HttpServlet { //set HTTP-POST Binding assertion consumer service AssertionConsumerService postassertionConsumerService = - SAML2Utils.createSAMLObject(AssertionConsumerService.class); - + SAML2Utils.createSAMLObject(AssertionConsumerService.class); postassertionConsumerService.setIndex(0); postassertionConsumerService.setBinding(SAMLConstants.SAML2_POST_BINDING_URI); postassertionConsumerService.setLocation(serviceURL + Constants.SERVLET_PVP2ASSERTION); spSSODescriptor.getAssertionConsumerServices().add(postassertionConsumerService); + //set HTTP-Redirect Binding assertion consumer service + AssertionConsumerService redirectassertionConsumerService = + SAML2Utils.createSAMLObject(AssertionConsumerService.class); + redirectassertionConsumerService.setIndex(1); + redirectassertionConsumerService.setBinding(SAMLConstants.SAML2_REDIRECT_BINDING_URI); + redirectassertionConsumerService.setLocation(serviceURL + Constants.SERVLET_PVP2ASSERTION); + spSSODescriptor.getAssertionConsumerServices().add(redirectassertionConsumerService); + //set Single Log-Out service SingleLogoutService sloService = SAML2Utils.createSAMLObject(SingleLogoutService.class); sloService.setBinding(SAMLConstants.SAML2_REDIRECT_BINDING_URI); diff --git a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/DemoApplication.java b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/DemoApplication.java index cfc170011..31a3be7e2 100644 --- a/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/DemoApplication.java +++ b/id/oa/src/main/java/at/gv/egovernment/moa/id/demoOA/servlet/pvp2/DemoApplication.java @@ -38,6 +38,9 @@ import org.opensaml.common.SAMLObject; import org.opensaml.common.binding.BasicSAMLMessageContext; import org.opensaml.common.xml.SAMLConstants; import org.opensaml.saml2.binding.decoding.HTTPPostDecoder; +import org.opensaml.saml2.binding.decoding.HTTPRedirectDeflateDecoder; +import org.opensaml.saml2.binding.security.SAML2AuthnRequestsSignedRule; +import org.opensaml.saml2.binding.security.SAML2HTTPRedirectDeflateSignatureRule; import org.opensaml.saml2.core.Attribute; import org.opensaml.saml2.core.AttributeStatement; import org.opensaml.saml2.core.EncryptedAssertion; @@ -46,10 +49,14 @@ import org.opensaml.saml2.core.StatusCode; import org.opensaml.saml2.encryption.Decrypter; import org.opensaml.saml2.encryption.EncryptedElementTypeEncryptedKeyResolver; import org.opensaml.saml2.metadata.IDPSSODescriptor; +import org.opensaml.saml2.metadata.SPSSODescriptor; import org.opensaml.security.MetadataCredentialResolver; import org.opensaml.security.MetadataCredentialResolverFactory; import org.opensaml.security.MetadataCriteria; import org.opensaml.security.SAMLSignatureProfileValidator; +import org.opensaml.ws.security.SecurityPolicyResolver; +import org.opensaml.ws.security.provider.BasicSecurityPolicy; +import org.opensaml.ws.security.provider.StaticSecurityPolicyResolver; import org.opensaml.ws.transport.http.HttpServletRequestAdapter; import org.opensaml.xml.encryption.ChainingEncryptedKeyResolver; import org.opensaml.xml.encryption.InlineEncryptedKeyResolver; @@ -101,11 +108,40 @@ public class DemoApplication extends HttpServlet { return; } - if (method.equals("POST")) { - - try { - Configuration config = Configuration.getInstance(); + try { + Configuration config = Configuration.getInstance(); + Response samlResponse = null; + + if (method.equals("GET")) { + HTTPRedirectDeflateDecoder decode = new HTTPRedirectDeflateDecoder(new BasicParserPool()); + BasicSAMLMessageContext messageContext = new BasicSAMLMessageContext(); + + messageContext.setInboundMessageTransport(new HttpServletRequestAdapter(request)); + messageContext.setPeerEntityRole(SPSSODescriptor.DEFAULT_ELEMENT_NAME); + + messageContext.setMetadataProvider(config.getMetaDataProvier()); + + MetadataCredentialResolver resolver = new MetadataCredentialResolver(config.getMetaDataProvier()); + List keyInfoProvider = new ArrayList(); + keyInfoProvider.add(new DSAKeyValueProvider()); + keyInfoProvider.add(new RSAKeyValueProvider()); + keyInfoProvider.add(new InlineX509DataProvider()); + KeyInfoCredentialResolver keyInfoResolver = new BasicProviderKeyInfoCredentialResolver( + keyInfoProvider); + ExplicitKeySignatureTrustEngine engine = new ExplicitKeySignatureTrustEngine( + resolver, keyInfoResolver); + + SAML2HTTPRedirectDeflateSignatureRule signatureRule = new SAML2HTTPRedirectDeflateSignatureRule(engine); + SAML2AuthnRequestsSignedRule signedRole = new SAML2AuthnRequestsSignedRule(); + BasicSecurityPolicy policy = new BasicSecurityPolicy(); + policy.getPolicyRules().add(signatureRule); + policy.getPolicyRules().add(signedRole); + SecurityPolicyResolver resolver1 = new StaticSecurityPolicyResolver(policy); + messageContext.setSecurityPolicyResolver(resolver1); + decode.decode(messageContext); + + } else if (method.equals("POST")) { //Decode with HttpPost Binding HTTPPostDecoder decode = new HTTPPostDecoder(new BasicParserPool()); BasicSAMLMessageContext messageContext = new BasicSAMLMessageContext(); @@ -114,7 +150,7 @@ public class DemoApplication extends HttpServlet { request)); decode.decode(messageContext); - Response samlResponse = (Response) messageContext.getInboundMessage(); + samlResponse = (Response) messageContext.getInboundMessage(); Signature sign = samlResponse.getSignature(); if (sign == null) { @@ -148,116 +184,117 @@ public class DemoApplication extends HttpServlet { ExplicitKeySignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credentialResolver, keyInfoResolver); trustEngine.validate(sign, criteriaSet); - log.info("PVP2 Assertion is valid"); + log.info("PVP2 Assertion with POST-Binding is valid"); - //set assertion - org.w3c.dom.Document doc = SAML2Utils.asDOMDocument(samlResponse); - String assertion = DOMUtils.serializeNode(doc); - bean.setAssertion(assertion); + } else { + bean.setErrorMessage("Die Demoapplikation unterstützt nur SAML2 POST-Binding."); + setAnser(request, response, bean); + return; - if (samlResponse.getStatus().getStatusCode().getValue().equals(StatusCode.SUCCESS_URI)) { + } - List saml2assertions = new ArrayList(); - - //check encrypted Assertion - List encryAssertionList = samlResponse.getEncryptedAssertions(); - if (encryAssertionList != null && encryAssertionList.size() > 0) { - //decrypt assertions - - log.debug("Found encryped assertion. Start decryption ..."); - - KeyStore keyStore = config.getPVP2KeyStore(); - - X509Credential authDecCredential = new KeyStoreX509CredentialAdapter( - keyStore, - config.getPVP2KeystoreAuthRequestEncryptionKeyAlias(), - config.getPVP2KeystoreAuthRequestEncryptionKeyPassword().toCharArray()); - - - StaticKeyInfoCredentialResolver skicr = - new StaticKeyInfoCredentialResolver(authDecCredential); - - ChainingEncryptedKeyResolver encryptedKeyResolver = new ChainingEncryptedKeyResolver(); - encryptedKeyResolver.getResolverChain().add( new InlineEncryptedKeyResolver() ); - encryptedKeyResolver.getResolverChain().add( new EncryptedElementTypeEncryptedKeyResolver() ); - encryptedKeyResolver.getResolverChain().add( new SimpleRetrievalMethodEncryptedKeyResolver() ); - - Decrypter samlDecrypter = - new Decrypter(null, skicr, encryptedKeyResolver); - - for (EncryptedAssertion encAssertion : encryAssertionList) { - saml2assertions.add(samlDecrypter.decrypt(encAssertion)); - - } - - log.debug("Assertion decryption finished. "); - - } else { - saml2assertions = samlResponse.getAssertions(); + //set assertion + org.w3c.dom.Document doc = SAML2Utils.asDOMDocument(samlResponse); + String assertion = DOMUtils.serializeNode(doc); + bean.setAssertion(assertion); + + if (samlResponse.getStatus().getStatusCode().getValue().equals(StatusCode.SUCCESS_URI)) { + + List saml2assertions = new ArrayList(); - } + //check encrypted Assertion + List encryAssertionList = samlResponse.getEncryptedAssertions(); + if (encryAssertionList != null && encryAssertionList.size() > 0) { + //decrypt assertions - String givenName = null; - String familyName = null; - String birthday = null; + log.debug("Found encryped assertion. Start decryption ..."); - for (org.opensaml.saml2.core.Assertion saml2assertion : saml2assertions) { - - //loop through the nodes to get what we want - List attributeStatements = saml2assertion.getAttributeStatements(); - for (int i = 0; i < attributeStatements.size(); i++) - { - List attributes = attributeStatements.get(i).getAttributes(); - for (int x = 0; x < attributes.size(); x++) - { - String strAttributeName = attributes.get(x).getDOM().getAttribute("Name"); + KeyStore keyStore = config.getPVP2KeyStore(); + + X509Credential authDecCredential = new KeyStoreX509CredentialAdapter( + keyStore, + config.getPVP2KeystoreAuthRequestEncryptionKeyAlias(), + config.getPVP2KeystoreAuthRequestEncryptionKeyPassword().toCharArray()); + + + StaticKeyInfoCredentialResolver skicr = + new StaticKeyInfoCredentialResolver(authDecCredential); + + ChainingEncryptedKeyResolver encryptedKeyResolver = new ChainingEncryptedKeyResolver(); + encryptedKeyResolver.getResolverChain().add( new InlineEncryptedKeyResolver() ); + encryptedKeyResolver.getResolverChain().add( new EncryptedElementTypeEncryptedKeyResolver() ); + encryptedKeyResolver.getResolverChain().add( new SimpleRetrievalMethodEncryptedKeyResolver() ); + + Decrypter samlDecrypter = + new Decrypter(null, skicr, encryptedKeyResolver); + + for (EncryptedAssertion encAssertion : encryAssertionList) { + saml2assertions.add(samlDecrypter.decrypt(encAssertion)); - if (strAttributeName.equals(PVPConstants.PRINCIPAL_NAME_NAME)) - familyName = attributes.get(x).getAttributeValues().get(0).getDOM().getFirstChild().getNodeValue(); - if (strAttributeName.equals(PVPConstants.GIVEN_NAME_NAME)) - givenName = attributes.get(x).getAttributeValues().get(0).getDOM().getFirstChild().getNodeValue(); - - if (strAttributeName.equals(PVPConstants.BIRTHDATE_NAME)) { - birthday = attributes.get(x).getAttributeValues().get(0).getDOM().getFirstChild().getNodeValue(); - } - } - } - request.getSession().setAttribute(Constants.SESSION_NAMEIDFORMAT, - saml2assertion.getSubject().getNameID().getFormat()); - request.getSession().setAttribute(Constants.SESSION_NAMEID, - saml2assertion.getSubject().getNameID().getValue()); - } - - bean.setDateOfBirth(birthday); - bean.setFamilyName(familyName); - bean.setGivenName(givenName); - bean.setLogin(true); - - setAnser(request, response, bean); - return; + log.debug("Assertion decryption finished. "); } else { - bean.setErrorMessage("Der Anmeldevorgang wurde abgebrochen.
Eine genaue Beschreibung des Fehlers finden Sie in der darunterliegenden Assertion."); - setAnser(request, response, bean); - return; + saml2assertions = samlResponse.getAssertions(); + + } + + String givenName = null; + String familyName = null; + String birthday = null; + + for (org.opensaml.saml2.core.Assertion saml2assertion : saml2assertions) { + + //loop through the nodes to get what we want + List attributeStatements = saml2assertion.getAttributeStatements(); + for (int i = 0; i < attributeStatements.size(); i++) + { + List attributes = attributeStatements.get(i).getAttributes(); + for (int x = 0; x < attributes.size(); x++) + { + String strAttributeName = attributes.get(x).getDOM().getAttribute("Name"); + + if (strAttributeName.equals(PVPConstants.PRINCIPAL_NAME_NAME)) + familyName = attributes.get(x).getAttributeValues().get(0).getDOM().getFirstChild().getNodeValue(); + if (strAttributeName.equals(PVPConstants.GIVEN_NAME_NAME)) + givenName = attributes.get(x).getAttributeValues().get(0).getDOM().getFirstChild().getNodeValue(); + + if (strAttributeName.equals(PVPConstants.BIRTHDATE_NAME)) { + birthday = attributes.get(x).getAttributeValues().get(0).getDOM().getFirstChild().getNodeValue(); + } + } + } + request.getSession().setAttribute(Constants.SESSION_NAMEIDFORMAT, + saml2assertion.getSubject().getNameID().getFormat()); + request.getSession().setAttribute(Constants.SESSION_NAMEID, + saml2assertion.getSubject().getNameID().getValue()); } + + bean.setDateOfBirth(birthday); + bean.setFamilyName(familyName); + bean.setGivenName(givenName); + bean.setLogin(true); + + setAnser(request, response, bean); + return; + - } catch (Exception e) { - log.warn(e); - bean.setErrorMessage("Internal Error: " + e.getMessage()); + } else { + bean.setErrorMessage("Der Anmeldevorgang wurde abgebrochen.
Eine genaue Beschreibung des Fehlers finden Sie in der darunterliegenden Assertion."); setAnser(request, response, bean); return; + } - } else { - bean.setErrorMessage("Die Demoapplikation unterstützt nur SAML2 POST-Binding."); + } catch (Exception e) { + log.warn(e); + bean.setErrorMessage("Internal Error: " + e.getMessage()); setAnser(request, response, bean); return; - } + } private void setAnser(HttpServletRequest request, HttpServletResponse response, ApplicationBean answersBean) throws ServletException, IOException { diff --git a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java index 971e401ca..bba6d0541 100644 --- a/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java +++ b/id/server/moa-id-commons/src/main/java/at/gv/egovernment/moa/id/commons/api/IOAAuthParameters.java @@ -43,6 +43,7 @@ public interface IOAAuthParameters { public static final String LOCALBKU = "local"; public static final String INDERFEDERATEDIDP = "interfederated"; public static final String EIDAS = "eIDAS"; + public static final String AUTHTYPE_OTHERS = "others"; /** * Get the full key/value configuration for this online application -- cgit v1.2.3 From 98e5c09745c58ef1b04132a9c92c60143332540e Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Wed, 6 Sep 2017 14:32:27 +0200 Subject: switch to eIDAS SAML-engine 1.4.0-RC1 --- id/server/modules/moa-id-module-eIDAS/pom.xml | 10 +++++----- .../1.4.0-SNAPSHOT/eidas-commons-1.4.0-SNAPSHOT.jar | Bin 0 -> 252060 bytes .../eidas-configmodule-1.4.0-SNAPSHOT.jar | Bin 0 -> 64872 bytes .../1.4.0-SNAPSHOT/eidas-encryption-1.4.0-SNAPSHOT.jar | Bin 0 -> 21023 bytes .../eidas-light-commons-1.4.0-SNAPSHOT.jar | Bin 0 -> 102277 bytes .../eidas-saml-engine-1.4.0-SNAPSHOT.jar | Bin 0 -> 589078 bytes ...pecific-communication-definition-1.4.0-SNAPSHOT.jar | Bin 0 -> 5531 bytes .../1.4.0-SNAPSHOT/eidas-specific-1.4.0-SNAPSHOT.jar | Bin 0 -> 32876 bytes 8 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 repository/eu/eidas/eidas-commons/1.4.0-SNAPSHOT/eidas-commons-1.4.0-SNAPSHOT.jar create mode 100644 repository/eu/eidas/eidas-configmodule/1.4.0-SNAPSHOT/eidas-configmodule-1.4.0-SNAPSHOT.jar create mode 100644 repository/eu/eidas/eidas-encryption/1.4.0-SNAPSHOT/eidas-encryption-1.4.0-SNAPSHOT.jar create mode 100644 repository/eu/eidas/eidas-light-commons/1.4.0-SNAPSHOT/eidas-light-commons-1.4.0-SNAPSHOT.jar create mode 100644 repository/eu/eidas/eidas-saml-engine/1.4.0-SNAPSHOT/eidas-saml-engine-1.4.0-SNAPSHOT.jar create mode 100644 repository/eu/eidas/eidas-specific-communication-definition/1.4.0-SNAPSHOT/eidas-specific-communication-definition-1.4.0-SNAPSHOT.jar create mode 100644 repository/eu/eidas/eidas-specific/1.4.0-SNAPSHOT/eidas-specific-1.4.0-SNAPSHOT.jar diff --git a/id/server/modules/moa-id-module-eIDAS/pom.xml b/id/server/modules/moa-id-module-eIDAS/pom.xml index 5bdead8b2..f3d8eeb36 100644 --- a/id/server/modules/moa-id-module-eIDAS/pom.xml +++ b/id/server/modules/moa-id-module-eIDAS/pom.xml @@ -12,11 +12,11 @@ ${basedir}/../../../../repository - 1.3.0 - 1.3.0 - 1.3.0 - 1.3.0 - 1.3.0 + 1.4.0-SNAPSHOT + 1.4.0-SNAPSHOT + 1.4.0-SNAPSHOT + 1.4.0-SNAPSHOT + 1.4.0-SNAPSHOT diff --git a/repository/eu/eidas/eidas-commons/1.4.0-SNAPSHOT/eidas-commons-1.4.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-commons/1.4.0-SNAPSHOT/eidas-commons-1.4.0-SNAPSHOT.jar new file mode 100644 index 000000000..0da2486b6 Binary files /dev/null and b/repository/eu/eidas/eidas-commons/1.4.0-SNAPSHOT/eidas-commons-1.4.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-configmodule/1.4.0-SNAPSHOT/eidas-configmodule-1.4.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-configmodule/1.4.0-SNAPSHOT/eidas-configmodule-1.4.0-SNAPSHOT.jar new file mode 100644 index 000000000..a0e3f3daf Binary files /dev/null and b/repository/eu/eidas/eidas-configmodule/1.4.0-SNAPSHOT/eidas-configmodule-1.4.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-encryption/1.4.0-SNAPSHOT/eidas-encryption-1.4.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-encryption/1.4.0-SNAPSHOT/eidas-encryption-1.4.0-SNAPSHOT.jar new file mode 100644 index 000000000..a6ec48dda Binary files /dev/null and b/repository/eu/eidas/eidas-encryption/1.4.0-SNAPSHOT/eidas-encryption-1.4.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-light-commons/1.4.0-SNAPSHOT/eidas-light-commons-1.4.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-light-commons/1.4.0-SNAPSHOT/eidas-light-commons-1.4.0-SNAPSHOT.jar new file mode 100644 index 000000000..af63d8bd7 Binary files /dev/null and b/repository/eu/eidas/eidas-light-commons/1.4.0-SNAPSHOT/eidas-light-commons-1.4.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-saml-engine/1.4.0-SNAPSHOT/eidas-saml-engine-1.4.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-saml-engine/1.4.0-SNAPSHOT/eidas-saml-engine-1.4.0-SNAPSHOT.jar new file mode 100644 index 000000000..d72a32406 Binary files /dev/null and b/repository/eu/eidas/eidas-saml-engine/1.4.0-SNAPSHOT/eidas-saml-engine-1.4.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-specific-communication-definition/1.4.0-SNAPSHOT/eidas-specific-communication-definition-1.4.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-specific-communication-definition/1.4.0-SNAPSHOT/eidas-specific-communication-definition-1.4.0-SNAPSHOT.jar new file mode 100644 index 000000000..c2029c366 Binary files /dev/null and b/repository/eu/eidas/eidas-specific-communication-definition/1.4.0-SNAPSHOT/eidas-specific-communication-definition-1.4.0-SNAPSHOT.jar differ diff --git a/repository/eu/eidas/eidas-specific/1.4.0-SNAPSHOT/eidas-specific-1.4.0-SNAPSHOT.jar b/repository/eu/eidas/eidas-specific/1.4.0-SNAPSHOT/eidas-specific-1.4.0-SNAPSHOT.jar new file mode 100644 index 000000000..e14f033bd Binary files /dev/null and b/repository/eu/eidas/eidas-specific/1.4.0-SNAPSHOT/eidas-specific-1.4.0-SNAPSHOT.jar differ -- cgit v1.2.3 From 02ea379722e57b38a185b7886eb4e39421fb4371 Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 7 Sep 2017 09:10:03 +0200 Subject: update Struts2 to current version --- .../moa/id/configuration/filter/AuthenticationFilter.java | 10 ++++++---- pom.xml | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java index 67fef3b1d..c69998fa2 100644 --- a/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java +++ b/id/ConfigWebTool/src/main/java/at/gv/egovernment/moa/id/configuration/filter/AuthenticationFilter.java @@ -28,9 +28,6 @@ import java.util.Date; import java.util.StringTokenizer; import java.util.regex.Pattern; -import org.apache.commons.lang.StringUtils; -import org.apache.log4j.Logger; - import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; @@ -42,6 +39,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; + import at.gv.egovernment.moa.id.config.webgui.exception.ConfigurationException; import at.gv.egovernment.moa.id.configuration.Constants; import at.gv.egovernment.moa.id.configuration.auth.AuthenticatedUser; @@ -205,7 +205,9 @@ public class AuthenticationFilter implements Filter{ filterchain.doFilter(req, resp); } catch (Exception e) { - + + log.error("Servlet filter catchs an unhandled exception! Msg: " + e.getMessage(), e); + //String redirectURL = "./index.action"; //HttpServletResponse httpResp = (HttpServletResponse) resp; //redirectURL = httpResp.encodeRedirectURL(redirectURL); diff --git a/pom.xml b/pom.xml index 59ac9b4b6..28a4d2508 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,7 @@ 3.1.12 - 2.5.10.1 + 2.5.13 2.0.0 @@ -62,7 +62,7 @@ 4.12 2.5 - 3.5 + 3.6 4.1 3.2.2 2.9.4 @@ -574,7 +574,7 @@ iaik.prod iaik_jce_full - 5.5_MOA_RC3 + 5.5_MOA compile -- cgit v1.2.3 From b61d91cedc7ff94c45cd39fbd5345d4ac746e87d Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 7 Sep 2017 09:10:55 +0200 Subject: update MOA-Sig and IAIK libs to solve some problems with JDK8u141 and certificate validation --- id/moa-spss-container/pom.xml | 13 ++++++------- repository/MOA/spss/common/3.1.1/common-3.1.1.jar | Bin 204661 -> 205455 bytes .../server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar | Bin 359993 -> 360062 bytes .../4.02/iaik_eccelerate_addon-4.02.jar | Bin 0 -> 91739 bytes .../4.02/iaik_eccelerate_cms-4.02.jar | Bin 0 -> 4819 bytes .../5.5_MOA/iaik_jce_full-5.5_MOA.jar | Bin 0 -> 1283804 bytes .../1.04_moa/iaik_pki_module-1.04_moa.jar | Bin 0 -> 598049 bytes 7 files changed, 6 insertions(+), 7 deletions(-) create mode 100644 repository/iaik/prod/iaik_eccelerate_addon/4.02/iaik_eccelerate_addon-4.02.jar create mode 100644 repository/iaik/prod/iaik_eccelerate_cms/4.02/iaik_eccelerate_cms-4.02.jar create mode 100644 repository/iaik/prod/iaik_jce_full/5.5_MOA/iaik_jce_full-5.5_MOA.jar create mode 100644 repository/iaik/prod/iaik_pki_module/1.04_moa/iaik_pki_module-1.04_moa.jar diff --git a/id/moa-spss-container/pom.xml b/id/moa-spss-container/pom.xml index 6cf5d41b3..085c731fd 100644 --- a/id/moa-spss-container/pom.xml +++ b/id/moa-spss-container/pom.xml @@ -93,17 +93,16 @@ 4.02_eval
- - + 4.02 +
iaik.prod iaik_eccelerate_cms - 3.01 + 4.02 iaik.prod @@ -120,10 +119,10 @@ iaik_moa 2.05 - + iaik.prod iaik_pki_module - 1.03_moa + 1.04_moa iaik.prod diff --git a/repository/MOA/spss/common/3.1.1/common-3.1.1.jar b/repository/MOA/spss/common/3.1.1/common-3.1.1.jar index a83531535..8ed197e5c 100644 Binary files a/repository/MOA/spss/common/3.1.1/common-3.1.1.jar and b/repository/MOA/spss/common/3.1.1/common-3.1.1.jar differ diff --git a/repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar b/repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar index 8d11602cf..cefe9fa17 100644 Binary files a/repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar and b/repository/MOA/spss/server/moa-sig-lib/3.1.1/moa-sig-lib-3.1.1.jar differ diff --git a/repository/iaik/prod/iaik_eccelerate_addon/4.02/iaik_eccelerate_addon-4.02.jar b/repository/iaik/prod/iaik_eccelerate_addon/4.02/iaik_eccelerate_addon-4.02.jar new file mode 100644 index 000000000..75446fc37 Binary files /dev/null and b/repository/iaik/prod/iaik_eccelerate_addon/4.02/iaik_eccelerate_addon-4.02.jar differ diff --git a/repository/iaik/prod/iaik_eccelerate_cms/4.02/iaik_eccelerate_cms-4.02.jar b/repository/iaik/prod/iaik_eccelerate_cms/4.02/iaik_eccelerate_cms-4.02.jar new file mode 100644 index 000000000..b788f053e Binary files /dev/null and b/repository/iaik/prod/iaik_eccelerate_cms/4.02/iaik_eccelerate_cms-4.02.jar differ diff --git a/repository/iaik/prod/iaik_jce_full/5.5_MOA/iaik_jce_full-5.5_MOA.jar b/repository/iaik/prod/iaik_jce_full/5.5_MOA/iaik_jce_full-5.5_MOA.jar new file mode 100644 index 000000000..4f0e90372 Binary files /dev/null and b/repository/iaik/prod/iaik_jce_full/5.5_MOA/iaik_jce_full-5.5_MOA.jar differ diff --git a/repository/iaik/prod/iaik_pki_module/1.04_moa/iaik_pki_module-1.04_moa.jar b/repository/iaik/prod/iaik_pki_module/1.04_moa/iaik_pki_module-1.04_moa.jar new file mode 100644 index 000000000..e9bec1497 Binary files /dev/null and b/repository/iaik/prod/iaik_pki_module/1.04_moa/iaik_pki_module-1.04_moa.jar differ -- cgit v1.2.3 From a512ce06caa134ea978ca54a87a8b78d5c10bf1c Mon Sep 17 00:00:00 2001 From: Thomas Lenz Date: Thu, 7 Sep 2017 09:11:18 +0200 Subject: update readme_3.2.3.txt and history.txt --- id/history.txt | 5 +++-- id/readme_3.2.3.txt | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/id/history.txt b/id/history.txt index 1869e28cb..1734d69e9 100644 --- a/id/history.txt +++ b/id/history.txt @@ -2,9 +2,10 @@ Dieses Dokument zeigt die Ver Version MOA-ID Release 3.2.3: Änderungen seit Version MOA-ID 3.2.2 - Änderungen - - Bug-Fix - Possible problem in combination with IAIK_JCE and JAVA JDK >= 8u141 + - Bug-Fix - Possible problem in combination with IAIK_JCE and JAVA JDK >= 8u141 + - Bug-Fix - Possible thread looking during certificate validation - Bug-Fix - Wrong logging entries - - Stabilitsverbesserungen + - Stability improvements Version MOA-ID Release 3.2.2: Änderungen seit Version MOA-ID 3.2.1 - Änderungen diff --git a/id/readme_3.2.3.txt b/id/readme_3.2.3.txt index a1582805d..edb75f6de 100644 --- a/id/readme_3.2.3.txt +++ b/id/readme_3.2.3.txt @@ -12,6 +12,7 @@ history.txt im gleichen Verzeichnis). - Änderungen - Behebung eines möglichen Problems mit JAVA JDK 8u141 + - Behebung eines möglichen Thread Look Problems während Zertifikatsprüfung - Bug-Fixes - Stabilitätsverbesserungen -- cgit v1.2.3