From ece7d18cf35374bf4e26d041799cda8f791c89f8 Mon Sep 17 00:00:00 2001 From: gregor Date: Mon, 7 Jul 2003 10:58:37 +0000 Subject: Initial commit git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@2 d688527b-c9ab-4aba-bd8d-4036d912da1d --- common/.checkstyle | 7 + common/.classpath | 22 + common/.cvsignore | 1 + common/.project | 17 + common/build.xml | 78 + common/data/test/security/cacerts | Bin 0 -> 7365 bytes .../data/test/security/cacerts+gt_cybertrust_root | Bin 0 -> 7918 bytes .../client-certs/sicher-demo(buergerkarte).p12 | Bin 0 -> 3804 bytes .../test/security/client-certs/sicher-demo.cer | Bin 0 -> 1870 bytes common/data/test/security/client.keystore | Bin 0 -> 2503 bytes .../data/test/security/server-certs/baltimore.cer | Bin 0 -> 693 bytes .../security/server-certs/gte_cybertrust_root.cer | Bin 0 -> 510 bytes common/data/test/security/server.keystore.tomcat | Bin 0 -> 1973 bytes .../CreateXMLSignatureResponse.xml | 59 + common/data/test/xml/CreateXMLSignature/Req000.xml | 19 + common/data/test/xml/CreateXMLSignature/Req001.xml | 52 + common/data/test/xml/CreateXMLSignature/Req002.xml | 48 + common/data/test/xml/CreateXMLSignature/Req004.xml | 34 + .../TestGeneratorCX0.001.Req.xml | 17 + .../TestGeneratorCX0.007.Req.xml | 19 + .../TestGeneratorCX0.008.Req.xml | 19 + .../TestGeneratorCX0.010.Req.xml | 20 + .../TestGeneratorCX2.005.Req.xml | 1 + .../data/test/xml/CreateXMLSignature/invalid.xml | 20 + .../data/test/xml/Infobox/InfoboxReadResponse.xml | 97 + .../test/xml/Infobox/InfoboxReadResponseMOA4.xml | 105 + common/data/test/xml/VerifyCMSSignature/Req000.xml | 46 + common/data/test/xml/VerifyCMSSignature/Req001.xml | 15 + .../TestGeneratorVC0.001.Req.xml | 41 + .../TestGeneratorVC0.002.Req.xml | 47 + .../TestGeneratorVC0.006.Req.xml | 32 + .../CertInfoVerifyXMLSignatureRequest.xml | 105 + common/data/test/xml/VerifyXMLSignature/Req000.xml | 46 + common/data/test/xml/VerifyXMLSignature/Req001.xml | 49 + common/data/test/xml/VerifyXMLSignature/Req002.xml | 63 + .../VerifyXMLSignature/TestGeneratorVX.001.Req.xml | 54 + .../VerifyXMLSignature/TestGeneratorVX.002.Req.xml | 53 + .../VerifyXMLSignature/TestGeneratorVX.006.Req.xml | 70 + .../xml/VerifyXMLSignature/VerifySAMLRequest.xml | 38 + .../commons-logging-1.0.2/commons-logging-api.jar | Bin 0 -> 18404 bytes .../lib/commons-logging-1.0.2/commons-logging.jar | Bin 0 -> 26388 bytes common/lib/iaik-ecc/iaik_ecc.jar | Bin 0 -> 101004 bytes common/lib/iaik-jce-3.01/iaik_jce_full.jar | Bin 0 -> 630313 bytes common/lib/jaxen-1.0/jaxen-core.jar | Bin 0 -> 160967 bytes common/lib/jaxen-1.0/jaxen-dom.jar | Bin 0 -> 13707 bytes common/lib/jaxen-1.0/saxpath.jar | Bin 0 -> 23563 bytes common/lib/jaxp-1.2_01/dom.jar | Bin 0 -> 26710 bytes common/lib/jaxp-1.2_01/jaxp-api.jar | Bin 0 -> 27052 bytes common/lib/jaxp-1.2_01/sax.jar | Bin 0 -> 26206 bytes common/lib/jsse-1.0.3_01/jcert.jar | Bin 0 -> 11321 bytes common/lib/jsse-1.0.3_01/jnet.jar | Bin 0 -> 5830 bytes common/lib/jsse-1.0.3_01/jsse.jar | Bin 0 -> 512635 bytes common/lib/junit-3.8.1/junit.jar | Bin 0 -> 121070 bytes common/lib/xalan-j-2.2/xalan.jar | Bin 0 -> 923866 bytes common/lib/xerces-j-2.0.2/xercesImpl.jar | Bin 0 -> 933730 bytes common/lib/xerces-j-2.0.2/xmlParserAPIs.jar | Bin 0 -> 78440 bytes .../properties/common_messages_de.properties | 16 + common/res/resources/schemas/Core.20020225.xsd | 399 ++++ common/res/resources/schemas/Core.20020831.xsd | 153 ++ common/res/resources/schemas/ECDSAKeyValue.xsd | 122 + .../resources/schemas/MOA-ID-Configuration-1.1.xsd | 305 +++ common/res/resources/schemas/MOA-SPSS-1.1.xsd | 430 ++++ .../schemas/MOA-SPSS-Configuration-1.0.xsd | 208 ++ common/res/resources/schemas/PersonData.xsd | 426 ++++ common/res/resources/schemas/PersonName-1_2.xsd | 115 + common/res/resources/schemas/PostalAddress-1_2.xsd | 95 + common/res/resources/schemas/TelcomNumber-1_0.xsd | 89 + .../res/resources/schemas/XMLSchema-instance.xsd | 37 + common/res/resources/schemas/XMLSchema.dtd | 402 ++++ .../schemas/cs-sstc-schema-assertion-01.xsd | 194 ++ .../schemas/cs-sstc-schema-protocol-01.xsd | 127 ++ common/res/resources/schemas/datatypes.dtd | 203 ++ .../schemas/exclusive-canonicalization.xsd | 22 + common/res/resources/schemas/xml.xsd | 83 + .../res/resources/schemas/xmldsig-core-schema.xsd | 264 +++ common/res/resources/schemas/xmldsig-filter2.xsd | 38 + .../src/at/gv/egovernment/moa/logging/LogMsg.java | 43 + .../src/at/gv/egovernment/moa/logging/Logger.java | 175 ++ .../gv/egovernment/moa/logging/LoggingContext.java | 46 + .../moa/logging/LoggingContextManager.java | 56 + .../at/gv/egovernment/moa/util/Base64Utils.java | 109 + .../src/at/gv/egovernment/moa/util/BoolUtils.java | 24 + .../gv/egovernment/moa/util/CollectionUtils.java | 36 + .../src/at/gv/egovernment/moa/util/Constants.java | 218 ++ .../src/at/gv/egovernment/moa/util/DOMUtils.java | 806 +++++++ .../at/gv/egovernment/moa/util/DateTimeUtils.java | 326 +++ .../egovernment/moa/util/EntityResolverChain.java | 52 + .../src/at/gv/egovernment/moa/util/FileUtils.java | 87 + .../at/gv/egovernment/moa/util/KeyStoreUtils.java | 134 ++ .../gv/egovernment/moa/util/MOADefaultHandler.java | 82 + .../gv/egovernment/moa/util/MOAEntityResolver.java | 103 + .../gv/egovernment/moa/util/MOAErrorHandler.java | 85 + .../src/at/gv/egovernment/moa/util/MOATimer.java | 110 + .../gv/egovernment/moa/util/MessageProvider.java | 63 + .../src/at/gv/egovernment/moa/util/Messages.java | 117 + .../egovernment/moa/util/NodeIteratorAdapter.java | 87 + .../gv/egovernment/moa/util/NodeListAdapter.java | 44 + .../egovernment/moa/util/ResourceBundleChain.java | 66 + .../src/at/gv/egovernment/moa/util/SSLUtils.java | 222 ++ .../egovernment/moa/util/StreamEntityResolver.java | 64 + .../at/gv/egovernment/moa/util/StreamUtils.java | 116 + .../src/at/gv/egovernment/moa/util/URLDecoder.java | 60 + .../src/at/gv/egovernment/moa/util/URLEncoder.java | 63 + .../at/gv/egovernment/moa/util/XPathException.java | 58 + .../src/at/gv/egovernment/moa/util/XPathUtils.java | 415 ++++ .../src/test/at/gv/egovernment/moa/AllTests.java | 38 + .../test/at/gv/egovernment/moa/MOATestCase.java | 75 + .../at/gv/egovernment/moa/util/DOMUtilsTest.java | 137 ++ .../gv/egovernment/moa/util/DateTimeUtilsTest.java | 104 + .../gv/egovernment/moa/util/KeyStoreUtilsTest.java | 90 + .../at/gv/egovernment/moa/util/SSLUtilsTest.java | 160 ++ .../at/gv/egovernment/moa/util/URLDecoderTest.java | 29 + .../at/gv/egovernment/moa/util/URLEncoderTest.java | 43 + .../moa/util/XMLGrammarBuilderTest.java | 99 + .../at/gv/egovernment/moa/util/XPathUtilsTest.java | 51 + spss.server/.checkstyle | 8 + spss.server/.classpath | 36 + spss.server/.cvsignore | 1 + spss.server/.project | 19 + spss.server/.tomcatplugin | 8 + spss.server/build.xml | 415 ++++ .../deploy/conf/moa-spss/MOA-SPSSConfiguration.xml | 68 + .../data/deploy/conf/moa-spss/MinimalSPConfig.xml | 4 + .../data/deploy/conf/moa-spss/MinimalSSConfig.xml | 17 + .../74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 | Bin 0 -> 987 bytes .../797AB396782981343C312F9A0F5CD87FCE159C37 | Bin 0 -> 883 bytes .../data/deploy/conf/moa-spss/keys/ecc(ego).p12 | Bin 0 -> 1234 bytes .../keys/test-ee2003_normal(buergerkarte).p12 | Bin 0 -> 3077 bytes .../data/deploy/conf/moa-spss/log4j.properties | 40 + .../trustProfiles/trustProfile1/IAIKRoot.cer | Bin 0 -> 883 bytes spss.server/data/deploy/tomcat/moa-env.bat | 14 + spss.server/data/deploy/tomcat/moa-env.sh | 12 + spss.server/data/deploy/tomcat/server.mod_jk.xml | 166 ++ spss.server/data/deploy/tomcat/server.xml | 169 ++ .../data/deploy/tomcat/uriworkermap.properties | 4 + spss.server/data/deploy/tomcat/workers.properties | 6 + spss.server/data/deploy/tools/certtool.bat | 25 + spss.server/data/deploy/tools/certtool.sh | 20 + .../test/conf/moa-spss/MOA-SPSSConfiguration.xml | 178 ++ .../74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 | Bin 0 -> 987 bytes .../797AB396782981343C312F9A0F5CD87FCE159C37 | Bin 0 -> 883 bytes .../keys/Beispielservice_1(password=bspsrv1).p12 | Bin 0 -> 3847 bytes .../data/test/conf/moa-spss/keys/DSA.512.p12 | Bin 0 -> 2467 bytes .../data/test/conf/moa-spss/keys/ecc(ego).p12 | Bin 0 -> 1234 bytes .../test/conf/moa-spss/keys/normal-eeExpired.p12 | Bin 0 -> 2797 bytes .../moa-spss/keys/sicher-demo(buergerkarte).p12 | Bin 0 -> 3077 bytes .../keys/test-ee2003_normal(buergerkarte).p12 | Bin 0 -> 3077 bytes .../moa-spss/keys/test-ee2003_normal_verw_oid.p12 | Bin 0 -> 3062 bytes .../data/test/conf/moa-spss/profiles/CSEP.xml | 5 + .../conf/moa-spss/profiles/CX1_bookprofile.xsl | 1 + .../conf/moa-spss/profiles/SupplementProfile1.xml | 10 + .../conf/moa-spss/profiles/SupplementProfile2.xml | 8 + .../moa-spss/profiles/TransformsInfoProfile1.xml | 1 + .../profiles/TransformsInfoProfile1MOAID.xml | 19 + .../moa-spss/profiles/TransformsInfoProfile2.xml | 7 + .../profiles/TransformsInfoProfile2MOAID.xml | 3 + .../TrustProfile1/Buergerkarte01Root.cer | Bin 0 -> 876 bytes .../trustprofiles/TrustProfile1/C.CA.DS.cer | Bin 0 -> 1136 bytes .../trustprofiles/TrustProfile1/IAIKRoot.cer | Bin 0 -> 883 bytes .../TrustProfile1/IAIKRootMusterbehoerde.cer | Bin 0 -> 863 bytes .../trustprofiles/TrustProfile1/TestPersonMOA4.cer | Bin 0 -> 1321 bytes .../TrustProfile1/a-sign-TEST-Premium-Enc-01.cer | Bin 0 -> 1136 bytes .../TrustProfile1/a-sign-TEST-nQual-01.cer | Bin 0 -> 994 bytes .../trustprofiles/TrustProfile1/ecdsaroot_der.cer | Bin 0 -> 540 bytes .../moa-spss/trustprofiles/TrustProfile1/hsm.cer | 13 + .../trustprofiles/TrustProfile1/moahsmcert.cer | 13 + .../data/test/security/A-Trust-nQual-01.p7b | Bin 0 -> 908 bytes spss.server/data/test/security/client.cer | Bin 0 -> 697 bytes spss.server/data/test/security/client.keystore | Bin 0 -> 1904 bytes spss.server/data/test/security/server.cer | Bin 0 -> 698 bytes spss.server/data/test/security/server.crt.pem | 14 + spss.server/data/test/security/server.key.pem | 18 + spss.server/data/test/security/server.keystore | Bin 0 -> 1904 bytes spss.server/data/test/security/server.pfx | Bin 0 -> 1743 bytes .../data/test/xml/CreateXMLSignature/Req000.xml | 19 + .../data/test/xml/CreateXMLSignature/Req001.xml | 52 + .../data/test/xml/CreateXMLSignature/Req002.xml | 48 + .../data/test/xml/CreateXMLSignature/Req004.xml | 34 + .../TestGeneratorCX0.001.Req.xml | 17 + .../TestGeneratorCX0.004.Req.xml | 17 + .../TestGeneratorCX0.005.Req.xml | 17 + .../TestGeneratorCX0.007.Req.xml | 19 + .../TestGeneratorCX0.008.Req.xml | 19 + .../TestGeneratorCX0.009.Req.xml | 17 + .../TestGeneratorCX0.010.Req.xml | 20 + .../TestGeneratorCX0.014.Req.xml | 17 + .../TestGeneratorCX0.015.Req.xml | 27 + .../TestGeneratorCX0.018.Req.xml | 29 + .../TestGeneratorCX0.057.Req.xml | 19 + .../TestGeneratorCX1.001.Req.xml | 46 + .../TestGeneratorCX1.003.Req.xml | 1 + .../TestGeneratorCX1.004.Req.xml | 1 + .../TestGeneratorCX1.009.Req.xml | 1 + .../TestGeneratorCX1.011.Req.xml | 1 + .../TestGeneratorCX2.001.Req.xml | 1 + .../TestGeneratorCX2.004.Req.xml | 1 + .../TestGeneratorCX2.006.Req.xml | 1 + .../data/test/xml/CreateXMLSignature/invalid.xml | 20 + .../data/test/xml/VerifyCMSSignature/Req000.xml | 46 + .../data/test/xml/VerifyCMSSignature/Req001.xml | 15 + .../TestGeneratorVC0.001.Req.xml | 41 + .../TestGeneratorVC0.002.Req.xml | 47 + .../TestGeneratorVC0.003.Req.xml | 41 + .../TestGeneratorVC0.004.Req.xml | 41 + .../TestGeneratorVC0.005.Req.xml | 41 + .../TestGeneratorVC0.006.Req.xml | 32 + .../TestGeneratorVC0.007.Req.xml | 37 + .../TestGeneratorVC0.008.Req.xml | 41 + .../TestGeneratorVC0.009.Req.xml | 41 + .../TestGeneratorVC0.010.Req.xml | 41 + .../TestGeneratorVC0.011.Req.xml | 49 + .../data/test/xml/VerifyXMLSignature/Req000.xml | 46 + .../data/test/xml/VerifyXMLSignature/Req001.xml | 49 + .../data/test/xml/VerifyXMLSignature/Req002.xml | 63 + .../VerifyXMLSignature/TestGeneratorVX.001.Req.xml | 53 + .../VerifyXMLSignature/TestGeneratorVX.002.Req.xml | 52 + .../VerifyXMLSignature/TestGeneratorVX.003.Req.xml | 53 + .../VerifyXMLSignature/TestGeneratorVX.004.Req.xml | 52 + .../VerifyXMLSignature/TestGeneratorVX.005.Req.xml | 12 + .../VerifyXMLSignature/TestGeneratorVX.007.Req.xml | 85 + .../VerifyXMLSignature/TestGeneratorVX.106.Req.xml | 52 + .../VerifyXMLSignature/TestGeneratorVX.201.Req.xml | 59 + .../VerifyXMLSignature/TestGeneratorVX.203.Req.xml | 64 + .../VerifyXMLSignature/TestGeneratorVX.252.Req.xml | 163 ++ .../VerifyXMLSignature/TestGeneratorVX.359.Req.xml | 18 + .../VerifyXMLSignatureRequestID.xml | 37 + .../VerifyXMLSignatureRequestID1.xml | 37 + .../xml/VerifyXMLSignature/moa-id-request1.xml | 103 + .../xml/VerifyXMLSignature/moa-id-request2.xml | 30 + .../data/test/xml/VerifyXMLSignature/testsig.xml | 99 + spss.server/data/test/xml/dsigTransform/base64.xml | 3 + .../test/xml/dsigTransform/canonicalization.xml | 3 + .../dsigTransform/canonicalizationWithComments.xml | 3 + .../data/test/xml/dsigTransform/enveloped.xml | 3 + .../dsigTransform/exclusiveCanonicalization.xml | 5 + .../test/xml/dsigTransform/illegalAlgorithm.xml | 3 + .../data/test/xml/dsigTransform/transforms.xml | 26 + spss.server/data/test/xml/dsigTransform/xpath.xml | 4 + spss.server/data/test/xml/dsigTransform/xpath2.xml | 7 + .../test/xml/dsigTransform/xpath2Different.xml | 6 + .../data/test/xml/dsigTransform/xpathDifferent.xml | 4 + spss.server/data/test/xml/dsigTransform/xslt.xml | 20 + .../data/test/xml/dsigTransform/xsltDifferent.xml | 16 + .../data/test/xml/dsigTransform/xsltEqual.xml | 20 + .../doc/api-doc-internal/allclasses-frame.html | 265 +++ .../at/gv/egovernment/moa/logging/LogMsg.html | 223 ++ .../at/gv/egovernment/moa/logging/Logger.html | 480 ++++ .../gv/egovernment/moa/logging/LoggingContext.html | 269 +++ .../moa/logging/LoggingContextManager.html | 262 +++ .../egovernment/moa/logging/class-use/LogMsg.html | 95 + .../egovernment/moa/logging/class-use/Logger.html | 95 + .../moa/logging/class-use/LoggingContext.html | 147 ++ .../logging/class-use/LoggingContextManager.html | 131 ++ .../gv/egovernment/moa/logging/package-frame.html | 32 + .../egovernment/moa/logging/package-summary.html | 121 + .../gv/egovernment/moa/logging/package-tree.html | 104 + .../at/gv/egovernment/moa/logging/package-use.html | 128 ++ .../moa/spss/MOAApplicationException.html | 245 ++ .../at/gv/egovernment/moa/spss/MOAException.html | 378 ++++ .../egovernment/moa/spss/MOASystemException.html | 247 ++ .../spss/class-use/MOAApplicationException.html | 423 ++++ .../moa/spss/class-use/MOAException.html | 324 +++ .../moa/spss/class-use/MOASystemException.html | 231 ++ .../at/gv/egovernment/moa/spss/package-frame.html | 30 + .../gv/egovernment/moa/spss/package-summary.html | 120 + .../at/gv/egovernment/moa/spss/package-tree.html | 111 + .../at/gv/egovernment/moa/spss/package-use.html | 273 +++ .../spss/server/config/ConfigurationException.html | 240 ++ .../server/config/ConfigurationPartsBuilder.html | 578 +++++ .../spss/server/config/ConfigurationProvider.html | 803 +++++++ .../moa/spss/server/config/DistributionPoint.html | 268 +++ .../spss/server/config/HardwareCryptoModule.html | 263 +++ .../moa/spss/server/config/HardwareKeyModule.html | 276 +++ .../moa/spss/server/config/IssuerAndSerial.html | 338 +++ .../moa/spss/server/config/KeyGroup.html | 263 +++ .../moa/spss/server/config/KeyGroupEntry.html | 335 +++ .../moa/spss/server/config/KeyModule.html | 245 ++ .../moa/spss/server/config/SoftwareKeyModule.html | 256 +++ .../moa/spss/server/config/TrustProfile.html | 241 ++ .../config/class-use/ConfigurationException.html | 212 ++ .../class-use/ConfigurationPartsBuilder.html | 95 + .../config/class-use/ConfigurationProvider.html | 451 ++++ .../server/config/class-use/DistributionPoint.html | 129 ++ .../config/class-use/HardwareCryptoModule.html | 129 ++ .../server/config/class-use/HardwareKeyModule.html | 129 ++ .../server/config/class-use/IssuerAndSerial.html | 147 ++ .../moa/spss/server/config/class-use/KeyGroup.html | 95 + .../server/config/class-use/KeyGroupEntry.html | 95 + .../spss/server/config/class-use/KeyModule.html | 139 ++ .../server/config/class-use/SoftwareKeyModule.html | 129 ++ .../spss/server/config/class-use/TrustProfile.html | 131 ++ .../moa/spss/server/config/package-frame.html | 57 + .../moa/spss/server/config/package-summary.html | 165 ++ .../moa/spss/server/config/package-tree.html | 115 + .../moa/spss/server/config/package-use.html | 333 +++ .../CMSSignatureVerificationProfileImpl.html | 247 ++ .../CMSSignatureVerificationProfileImpl.html | 95 + .../spss/server/iaik/cmsverify/package-frame.html | 26 + .../server/iaik/cmsverify/package-summary.html | 107 + .../spss/server/iaik/cmsverify/package-tree.html | 105 + .../spss/server/iaik/cmsverify/package-use.html | 95 + .../config/AbstractKeyModuleConfigurationImpl.html | 231 ++ .../config/AbstractObservableConfiguration.html | 270 +++ .../iaik/config/ArchiveConfigurationImpl.html | 276 +++ .../iaik/config/CRLDistributionPointAdapter.html | 273 +++ .../iaik/config/CertStoreConfigurationImpl.html | 248 ++ .../server/iaik/config/ConfigurationDataImpl.html | 293 +++ .../iaik/config/DataBaseArchiveParameterImpl.html | 226 ++ .../config/DirectoryCertStoreParametersImpl.html | 320 +++ .../HardwareCryptoModuleConfigurationImpl.html | 272 +++ .../config/HardwareKeyModuleConfigurationImpl.html | 293 +++ .../spss/server/iaik/config/IaikConfigurator.html | 238 ++ .../spss/server/iaik/config/LoggerConfigImpl.html | 259 +++ .../server/iaik/config/PKIConfigurationImpl.html | 294 +++ .../iaik/config/RevocationConfigurationImpl.html | 274 +++ .../config/SoftwareKeyModuleConfigurationImpl.html | 301 +++ .../iaik/config/ValidationConfigurationImpl.html | 291 +++ .../AbstractKeyModuleConfigurationImpl.html | 142 ++ .../class-use/AbstractObservableConfiguration.html | 159 ++ .../config/class-use/ArchiveConfigurationImpl.html | 95 + .../class-use/CRLDistributionPointAdapter.html | 95 + .../class-use/CertStoreConfigurationImpl.html | 95 + .../config/class-use/ConfigurationDataImpl.html | 95 + .../class-use/DataBaseArchiveParameterImpl.html | 95 + .../DirectoryCertStoreParametersImpl.html | 95 + .../HardwareCryptoModuleConfigurationImpl.html | 95 + .../HardwareKeyModuleConfigurationImpl.html | 95 + .../iaik/config/class-use/IaikConfigurator.html | 95 + .../iaik/config/class-use/LoggerConfigImpl.html | 95 + .../config/class-use/PKIConfigurationImpl.html | 95 + .../class-use/RevocationConfigurationImpl.html | 95 + .../SoftwareKeyModuleConfigurationImpl.html | 95 + .../class-use/ValidationConfigurationImpl.html | 95 + .../moa/spss/server/iaik/config/package-frame.html | 56 + .../spss/server/iaik/config/package-summary.html | 179 ++ .../moa/spss/server/iaik/config/package-tree.html | 123 + .../moa/spss/server/iaik/config/package-use.html | 128 ++ .../moa/spss/server/iaik/pki/PKIProfileImpl.html | 388 ++++ .../server/iaik/pki/class-use/PKIProfileImpl.html | 95 + .../moa/spss/server/iaik/pki/package-frame.html | 26 + .../moa/spss/server/iaik/pki/package-summary.html | 107 + .../moa/spss/server/iaik/pki/package-tree.html | 105 + .../moa/spss/server/iaik/pki/package-use.html | 95 + .../pki/pathvalidation/ValidationProfileImpl.html | 374 +++ .../class-use/ValidationProfileImpl.html | 95 + .../iaik/pki/pathvalidation/package-frame.html | 26 + .../iaik/pki/pathvalidation/package-summary.html | 107 + .../iaik/pki/pathvalidation/package-tree.html | 105 + .../iaik/pki/pathvalidation/package-use.html | 95 + .../iaik/pki/revocation/RevocationProfileImpl.html | 272 +++ .../class-use/RevocationProfileImpl.html | 95 + .../server/iaik/pki/revocation/package-frame.html | 26 + .../iaik/pki/revocation/package-summary.html | 108 + .../server/iaik/pki/revocation/package-tree.html | 105 + .../server/iaik/pki/revocation/package-use.html | 95 + .../store/truststore/TrustStoreProfileImpl.html | 365 +++ .../class-use/TrustStoreProfileImpl.html | 95 + .../iaik/pki/store/truststore/package-frame.html | 26 + .../iaik/pki/store/truststore/package-summary.html | 107 + .../iaik/pki/store/truststore/package-tree.html | 105 + .../iaik/pki/store/truststore/package-use.html | 95 + .../server/iaik/xml/Base64TransformationImpl.html | 259 +++ .../server/iaik/xml/ByteArrayDataObjectImpl.html | 274 +++ .../server/iaik/xml/ByteStreamDataObjectImpl.html | 269 +++ .../spss/server/iaik/xml/CanonicalizationImpl.html | 259 +++ .../moa/spss/server/iaik/xml/DataObjectImpl.html | 381 ++++ .../xml/EnvelopedSignatureTransformationImpl.html | 256 +++ .../iaik/xml/ExclusiveCanonicalizationImpl.html | 316 +++ .../moa/spss/server/iaik/xml/SigningTimeImpl.html | 226 ++ .../spss/server/iaik/xml/TransformationImpl.html | 281 +++ .../spss/server/iaik/xml/XMLDataObjectImpl.html | 269 +++ .../server/iaik/xml/XMLNodeListDataObjectImpl.html | 271 +++ .../moa/spss/server/iaik/xml/XMLSignatureImpl.html | 249 ++ .../moa/spss/server/iaik/xml/XPath2FilterImpl.html | 398 ++++ .../server/iaik/xml/XPath2TransformationImpl.html | 339 +++ .../server/iaik/xml/XPathTransformationImpl.html | 379 ++++ .../server/iaik/xml/XSLTTransformationImpl.html | 328 +++ .../xml/class-use/Base64TransformationImpl.html | 95 + .../xml/class-use/ByteArrayDataObjectImpl.html | 95 + .../xml/class-use/ByteStreamDataObjectImpl.html | 95 + .../iaik/xml/class-use/CanonicalizationImpl.html | 95 + .../server/iaik/xml/class-use/DataObjectImpl.html | 155 ++ .../EnvelopedSignatureTransformationImpl.html | 95 + .../class-use/ExclusiveCanonicalizationImpl.html | 95 + .../server/iaik/xml/class-use/SigningTimeImpl.html | 95 + .../iaik/xml/class-use/TransformationImpl.html | 184 ++ .../iaik/xml/class-use/XMLDataObjectImpl.html | 95 + .../xml/class-use/XMLNodeListDataObjectImpl.html | 95 + .../iaik/xml/class-use/XMLSignatureImpl.html | 95 + .../iaik/xml/class-use/XPath2FilterImpl.html | 95 + .../xml/class-use/XPath2TransformationImpl.html | 95 + .../xml/class-use/XPathTransformationImpl.html | 95 + .../iaik/xml/class-use/XSLTTransformationImpl.html | 95 + .../moa/spss/server/iaik/xml/package-frame.html | 56 + .../moa/spss/server/iaik/xml/package-summary.html | 173 ++ .../moa/spss/server/iaik/xml/package-tree.html | 124 + .../moa/spss/server/iaik/xml/package-use.html | 128 ++ .../iaik/xmlsign/DataObjectTreatmentImpl.html | 500 ++++ .../xmlsign/XMLSignatureCreationProfileImpl.html | 678 ++++++ .../xmlsign/XMLSignatureInsertionLocationImpl.html | 252 +++ .../xmlsign/class-use/DataObjectTreatmentImpl.html | 95 + .../class-use/XMLSignatureCreationProfileImpl.html | 95 + .../XMLSignatureInsertionLocationImpl.html | 95 + .../spss/server/iaik/xmlsign/package-frame.html | 30 + .../spss/server/iaik/xmlsign/package-summary.html | 116 + .../moa/spss/server/iaik/xmlsign/package-tree.html | 107 + .../moa/spss/server/iaik/xmlsign/package-use.html | 95 + .../XMLSignatureVerificationProfileImpl.html | 470 ++++ .../XMLSignatureVerificationProfileImpl.html | 95 + .../spss/server/iaik/xmlverify/package-frame.html | 26 + .../server/iaik/xmlverify/package-summary.html | 106 + .../spss/server/iaik/xmlverify/package-tree.html | 105 + .../spss/server/iaik/xmlverify/package-use.html | 95 + .../moa/spss/server/init/ConfiguratorImpl.html | 269 +++ .../moa/spss/server/init/SystemInitializer.html | 214 ++ .../server/init/class-use/ConfiguratorImpl.html | 95 + .../server/init/class-use/SystemInitializer.html | 95 + .../moa/spss/server/init/package-frame.html | 28 + .../moa/spss/server/init/package-summary.html | 110 + .../moa/spss/server/init/package-tree.html | 106 + .../moa/spss/server/init/package-use.html | 95 + .../invoke/CMSSignatureVerificationInvoker.html | 251 +++ .../CMSSignatureVerificationProfileFactory.html | 227 ++ .../invoke/CreateXMLSignatureResponseBuilder.html | 270 +++ .../moa/spss/server/invoke/DataObjectFactory.html | 424 ++++ .../spss/server/invoke/ExternalURIResolver.html | 264 +++ .../spss/server/invoke/IaikExceptionMapper.html | 356 +++ .../moa/spss/server/invoke/InvokerUtils.html | 224 ++ .../moa/spss/server/invoke/ProfileMapper.html | 352 +++ .../spss/server/invoke/ServiceContextUtils.html | 238 ++ .../invoke/SignatureCreationServiceImpl.html | 234 ++ .../invoke/SignatureVerificationServiceImpl.html | 259 +++ .../spss/server/invoke/TransformationFactory.html | 274 +++ .../invoke/VerifyCMSSignatureResponseBuilder.html | 243 ++ .../invoke/VerifyXMLSignatureResponseBuilder.html | 252 +++ .../server/invoke/XMLSignatureCreationInvoker.html | 260 +++ .../invoke/XMLSignatureCreationProfileFactory.html | 233 ++ .../invoke/XMLSignatureVerificationInvoker.html | 255 +++ .../XMLSignatureVerificationProfileFactory.html | 252 +++ .../class-use/CMSSignatureVerificationInvoker.html | 131 ++ .../CMSSignatureVerificationProfileFactory.html | 95 + .../CreateXMLSignatureResponseBuilder.html | 95 + .../server/invoke/class-use/DataObjectFactory.html | 131 ++ .../invoke/class-use/ExternalURIResolver.html | 95 + .../invoke/class-use/IaikExceptionMapper.html | 131 ++ .../spss/server/invoke/class-use/InvokerUtils.html | 95 + .../server/invoke/class-use/ProfileMapper.html | 95 + .../invoke/class-use/ServiceContextUtils.html | 95 + .../class-use/SignatureCreationServiceImpl.html | 95 + .../SignatureVerificationServiceImpl.html | 95 + .../invoke/class-use/TransformationFactory.html | 131 ++ .../VerifyCMSSignatureResponseBuilder.html | 95 + .../VerifyXMLSignatureResponseBuilder.html | 95 + .../class-use/XMLSignatureCreationInvoker.html | 131 ++ .../XMLSignatureCreationProfileFactory.html | 95 + .../class-use/XMLSignatureVerificationInvoker.html | 131 ++ .../XMLSignatureVerificationProfileFactory.html | 95 + .../moa/spss/server/invoke/package-frame.html | 60 + .../moa/spss/server/invoke/package-summary.html | 202 ++ .../moa/spss/server/invoke/package-tree.html | 108 + .../moa/spss/server/invoke/package-use.html | 163 ++ .../moa/spss/server/logging/IaikLog.html | 518 +++++ .../moa/spss/server/logging/IaikLogFactory.html | 278 +++ .../moa/spss/server/logging/IaikLogMsg.html | 229 ++ .../moa/spss/server/logging/TransactionId.html | 249 ++ .../moa/spss/server/logging/class-use/IaikLog.html | 95 + .../server/logging/class-use/IaikLogFactory.html | 95 + .../spss/server/logging/class-use/IaikLogMsg.html | 95 + .../server/logging/class-use/TransactionId.html | 95 + .../moa/spss/server/logging/package-frame.html | 32 + .../moa/spss/server/logging/package-summary.html | 120 + .../moa/spss/server/logging/package-tree.html | 108 + .../moa/spss/server/logging/package-use.html | 95 + .../moa/spss/server/service/AxisHandler.html | 303 +++ .../spss/server/service/ConfigurationServlet.html | 307 +++ .../server/service/RevocationArchiveCleaner.html | 226 ++ .../moa/spss/server/service/ServiceUtils.html | 240 ++ .../server/service/SignatureCreationService.html | 220 ++ .../service/SignatureVerificationService.html | 242 ++ .../spss/server/service/class-use/AxisHandler.html | 95 + .../service/class-use/ConfigurationServlet.html | 95 + .../class-use/RevocationArchiveCleaner.html | 95 + .../server/service/class-use/ServiceUtils.html | 95 + .../class-use/SignatureCreationService.html | 95 + .../class-use/SignatureVerificationService.html | 95 + .../moa/spss/server/service/package-frame.html | 36 + .../moa/spss/server/service/package-summary.html | 129 ++ .../moa/spss/server/service/package-tree.html | 114 + .../moa/spss/server/service/package-use.html | 95 + .../moa/spss/server/tools/CertTool.html | 272 +++ .../moa/spss/server/tools/class-use/CertTool.html | 95 + .../moa/spss/server/tools/package-frame.html | 26 + .../moa/spss/server/tools/package-summary.html | 109 + .../moa/spss/server/tools/package-tree.html | 104 + .../moa/spss/server/tools/package-use.html | 95 + .../server/transaction/TransactionContext.html | 304 +++ .../transaction/TransactionContextManager.html | 266 +++ .../server/transaction/TransactionIDGenerator.html | 230 ++ .../transaction/class-use/TransactionContext.html | 147 ++ .../class-use/TransactionContextManager.html | 131 ++ .../class-use/TransactionIDGenerator.html | 95 + .../moa/spss/server/transaction/package-frame.html | 30 + .../spss/server/transaction/package-summary.html | 118 + .../moa/spss/server/transaction/package-tree.html | 104 + .../moa/spss/server/transaction/package-use.html | 129 ++ .../moa/spss/server/util/IdGenerator.html | 248 ++ .../spss/server/util/class-use/IdGenerator.html | 129 ++ .../moa/spss/server/util/package-frame.html | 26 + .../moa/spss/server/util/package-summary.html | 106 + .../moa/spss/server/util/package-tree.html | 104 + .../moa/spss/server/util/package-use.html | 121 + .../egovernment/moa/spss/util/MessageProvider.html | 250 ++ .../moa/spss/util/class-use/MessageProvider.html | 133 ++ .../egovernment/moa/spss/util/package-frame.html | 26 + .../egovernment/moa/spss/util/package-summary.html | 106 + .../gv/egovernment/moa/spss/util/package-tree.html | 104 + .../gv/egovernment/moa/spss/util/package-use.html | 121 + .../at/gv/egovernment/moa/util/Base64Utils.html | 289 +++ .../at/gv/egovernment/moa/util/BoolUtils.html | 221 ++ .../gv/egovernment/moa/util/CollectionUtils.html | 222 ++ .../at/gv/egovernment/moa/util/Constants.html | 1007 +++++++++ .../at/gv/egovernment/moa/util/DOMUtils.html | 650 ++++++ .../at/gv/egovernment/moa/util/DateTimeUtils.html | 241 ++ .../egovernment/moa/util/EntityResolverChain.html | 250 ++ .../at/gv/egovernment/moa/util/FileUtils.html | 324 +++ .../at/gv/egovernment/moa/util/KeyStoreUtils.html | 302 +++ .../gv/egovernment/moa/util/MOADefaultHandler.html | 328 +++ .../gv/egovernment/moa/util/MOAEntityResolver.html | 242 ++ .../gv/egovernment/moa/util/MOAErrorHandler.html | 282 +++ .../at/gv/egovernment/moa/util/MOATimer.html | 326 +++ .../gv/egovernment/moa/util/MessageProvider.html | 252 +++ .../at/gv/egovernment/moa/util/Messages.html | 229 ++ .../egovernment/moa/util/NodeIteratorAdapter.html | 362 +++ .../gv/egovernment/moa/util/NodeListAdapter.html | 249 ++ .../egovernment/moa/util/ResourceBundleChain.html | 240 ++ .../at/gv/egovernment/moa/util/SSLUtils.html | 408 ++++ .../egovernment/moa/util/StreamEntityResolver.html | 237 ++ .../at/gv/egovernment/moa/util/StreamUtils.html | 265 +++ .../at/gv/egovernment/moa/util/URLDecoder.html | 221 ++ .../at/gv/egovernment/moa/util/URLEncoder.html | 221 ++ .../at/gv/egovernment/moa/util/XPathException.html | 284 +++ .../at/gv/egovernment/moa/util/XPathUtils.html | 543 +++++ .../moa/util/class-use/Base64Utils.html | 95 + .../egovernment/moa/util/class-use/BoolUtils.html | 95 + .../moa/util/class-use/CollectionUtils.html | 95 + .../egovernment/moa/util/class-use/Constants.html | 95 + .../egovernment/moa/util/class-use/DOMUtils.html | 95 + .../moa/util/class-use/DateTimeUtils.html | 95 + .../moa/util/class-use/EntityResolverChain.html | 95 + .../egovernment/moa/util/class-use/FileUtils.html | 95 + .../moa/util/class-use/KeyStoreUtils.html | 95 + .../moa/util/class-use/MOADefaultHandler.html | 95 + .../moa/util/class-use/MOAEntityResolver.html | 95 + .../moa/util/class-use/MOAErrorHandler.html | 95 + .../egovernment/moa/util/class-use/MOATimer.html | 131 ++ .../moa/util/class-use/MessageProvider.html | 133 ++ .../egovernment/moa/util/class-use/Messages.html | 95 + .../moa/util/class-use/NodeIteratorAdapter.html | 95 + .../moa/util/class-use/NodeListAdapter.html | 95 + .../moa/util/class-use/ResourceBundleChain.html | 95 + .../egovernment/moa/util/class-use/SSLUtils.html | 95 + .../moa/util/class-use/StreamEntityResolver.html | 95 + .../moa/util/class-use/StreamUtils.html | 95 + .../egovernment/moa/util/class-use/URLDecoder.html | 95 + .../egovernment/moa/util/class-use/URLEncoder.html | 95 + .../moa/util/class-use/XPathException.html | 222 ++ .../egovernment/moa/util/class-use/XPathUtils.html | 95 + .../at/gv/egovernment/moa/util/package-frame.html | 92 + .../gv/egovernment/moa/util/package-summary.html | 242 ++ .../at/gv/egovernment/moa/util/package-tree.html | 127 ++ .../at/gv/egovernment/moa/util/package-use.html | 135 ++ .../doc/api-doc-internal/deprecated-list.html | 93 + spss.server/doc/api-doc-internal/help-doc.html | 152 ++ spss.server/doc/api-doc-internal/index-all.html | 2380 ++++++++++++++++++++ spss.server/doc/api-doc-internal/index.html | 25 + .../doc/api-doc-internal/overview-frame.html | 76 + .../doc/api-doc-internal/overview-summary.html | 249 ++ .../doc/api-doc-internal/overview-tree.html | 200 ++ spss.server/doc/api-doc-internal/package-list | 21 + spss.server/doc/api-doc-internal/packages.html | 26 + .../doc/api-doc-internal/serialized-form.html | 246 ++ spss.server/doc/api-doc-internal/stylesheet.css | 29 + spss.server/doc/moa-spss.htm | 7 + spss.server/doc/moa_images/east.gif | Bin 0 -> 966 bytes spss.server/doc/moa_images/idle.gif | Bin 0 -> 869 bytes spss.server/doc/moa_images/moa_diagramm1.jpg | Bin 0 -> 60602 bytes spss.server/doc/moa_images/moa_thema.gif | Bin 0 -> 25120 bytes spss.server/doc/moa_images/north.gif | Bin 0 -> 967 bytes spss.server/doc/moa_images/pfeil.gif | Bin 0 -> 843 bytes spss.server/doc/moa_images/print.gif | Bin 0 -> 211 bytes spss.server/doc/moa_images/select.gif | Bin 0 -> 880 bytes spss.server/doc/moa_images/south.gif | Bin 0 -> 965 bytes spss.server/doc/moa_images/transdot.gif | Bin 0 -> 43 bytes spss.server/doc/moa_images/west.gif | Bin 0 -> 966 bytes spss.server/doc/moa_spss/APIClientExample.txt | 100 + spss.server/doc/moa_spss/HTTPClientExample.txt | 121 + .../doc/moa_spss/HTTPSClientExampleClientAuth.txt | 139 ++ .../doc/moa_spss/HTTPSClientExampleServerAuth.txt | 143 ++ spss.server/doc/moa_spss/MOA-SPSS-1.1.pdf | Bin 0 -> 314346 bytes spss.server/doc/moa_spss/MOA-SPSS-1.1.xsd | 430 ++++ .../doc/moa_spss/MOA-SPSS-Configuration-1.0.xsd | 208 ++ .../examples/conf/MOA-SPSSConfiguration.xml | 67 + .../doc/moa_spss/examples/conf/MinimalSPConfig.xml | 4 + .../doc/moa_spss/examples/conf/MinimalSSConfig.xml | 17 + .../doc/moa_spss/examples/conf/keys/ecc(ego).p12 | Bin 0 -> 1234 bytes .../conf/keys/test-ee2003_normal(buergerkarte).p12 | Bin 0 -> 3077 bytes .../conf/trustProfiles/trustProfile1/IAIKRoot.cer | Bin 0 -> 883 bytes .../CreateXMLSignatureRequest1.xml | 18 + .../CreateXMLSignatureRequest2.xml | 90 + .../CreateXMLSignatureResponse1.xml | 24 + .../CreateXMLSignatureResponse2.xml | 2 + .../requestsResponses/TestDatenGenerator.zip | Bin 0 -> 1219 bytes .../VerifyCMSSignatureRequest.xml | 28 + .../VerifyCMSSignatureResponse.xml | 22 + .../VerifyXMLSignatureRequest1.xml | 8 + .../VerifyXMLSignatureRequest2.xml | 60 + .../VerifyXMLSignatureResponse1.xml | 22 + .../VerifyXMLSignatureResponse2.xml | 62 + .../examples/testclient/APIClientExample.java | 100 + .../examples/testclient/HTTPClientExample.java | 120 + .../testclient/HTTPSClientExampleClientAuth.java | 139 ++ .../testclient/HTTPSClientExampleServerAuth.java | 143 ++ .../moa_spss/examples/testclient/client.keystore | Bin 0 -> 1974 bytes .../examples/testclient/example_request.xml | 19 + spss.server/doc/moa_spss/faqs.htm | 100 + spss.server/doc/moa_spss/links.htm | 122 + spss.server/doc/moa_spss/moa.htm | 177 ++ spss.server/doc/moa_spss/sp-admin.htm | 300 +++ spss.server/doc/moa_spss/sp-admin_1.htm | 355 +++ spss.server/doc/moa_spss/sp-admin_2.htm | 536 +++++ spss.server/doc/moa_spss/sp-admin_3.htm | 237 ++ spss.server/doc/moa_spss/sp-admin_4.htm | 183 ++ spss.server/doc/moa_spss/sp-anwendung.htm | 1079 +++++++++ spss.server/lib/axis-1.0/axis.jar | Bin 0 -> 1101593 bytes spss.server/lib/axis-1.0/jaxrpc.jar | Bin 0 -> 35635 bytes spss.server/lib/axis-1.0/saaj.jar | Bin 0 -> 18463 bytes spss.server/lib/axis-1.0/wsdl4j.jar | Bin 0 -> 109356 bytes .../commons-discovery-0.2/commons-discovery.jar | Bin 0 -> 71442 bytes .../commons-logging-1.0.2/commons-logging-api.jar | Bin 0 -> 18404 bytes .../lib/commons-logging-1.0.2/commons-logging.jar | Bin 0 -> 26388 bytes spss.server/lib/iDoclet-1.0/iDoclet.jar | Bin 0 -> 103752 bytes spss.server/lib/iaik-moa-1.07/iaik-moa-full.jar | Bin 0 -> 577906 bytes .../lib/iaik-moa-1.07/iaikPkcs11Provider.jar | Bin 0 -> 281608 bytes .../lib/iaik-moa-1.07/iaikPkcs11Wrapper.jar | Bin 0 -> 250749 bytes spss.server/lib/iaik-moa-1.07/iaik_cms.jar | Bin 0 -> 195000 bytes spss.server/lib/iaik-moa-1.07/iaik_ecc.jar | Bin 0 -> 101004 bytes spss.server/lib/iaik-moa-1.07/iaik_jce_full.jar | Bin 0 -> 637549 bytes spss.server/lib/iaik-moa-1.07/ixsil.jar | Bin 0 -> 216616 bytes .../signed/iaikPkcs11Provider_signed.jar | Bin 0 -> 292951 bytes spss.server/lib/iaik-moa-1.07/signed/iaik_ecc.jar | Bin 0 -> 85245 bytes .../lib/iaik-moa-1.07/signed/iaik_jce_full.jar | Bin 0 -> 636153 bytes .../lib/iaik-moa-1.07/win32/pkcs11wrapper.dll | Bin 0 -> 73728 bytes spss.server/lib/jaxen-1.0/jaxen-core.jar | Bin 0 -> 160967 bytes spss.server/lib/jaxen-1.0/jaxen-dom.jar | Bin 0 -> 13707 bytes spss.server/lib/jaxen-1.0/saxpath.jar | Bin 0 -> 23563 bytes spss.server/lib/jaxp-1.2_01/dom.jar | Bin 0 -> 26710 bytes spss.server/lib/jaxp-1.2_01/jaxp-api.jar | Bin 0 -> 27052 bytes spss.server/lib/jaxp-1.2_01/sax.jar | Bin 0 -> 26206 bytes spss.server/lib/jsse-1.0.3_01/jcert.jar | Bin 0 -> 11321 bytes spss.server/lib/jsse-1.0.3_01/jnet.jar | Bin 0 -> 5830 bytes spss.server/lib/jsse-1.0.3_01/jsse.jar | Bin 0 -> 512635 bytes spss.server/lib/junit-3.8.1/junit.jar | Bin 0 -> 121070 bytes spss.server/lib/log4j-1.2.7/log4j-1.2.7.jar | Bin 0 -> 350677 bytes spss.server/lib/postgres-jdbc2-7.3/pg73jdbc2.jar | Bin 0 -> 163980 bytes .../lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip | Bin 0 -> 31362 bytes spss.server/lib/xalan-j-2.2/bsf.jar | Bin 0 -> 105573 bytes spss.server/lib/xalan-j-2.2/xalan.jar | Bin 0 -> 923866 bytes spss.server/lib/xerces-j-2.0.2/xercesImpl.jar | Bin 0 -> 933730 bytes spss.server/lib/xerces-j-2.0.2/xmlParserAPIs.jar | Bin 0 -> 78440 bytes .../properties/spss_messages_de.properties | 140 ++ spss.server/res/resources/security/cacerts | Bin 0 -> 7365 bytes .../res/resources/wsdl/MOA-SP-SS-1.0-20020829.wsdl | 97 + spss.server/server-config.wsdd | 49 + .../moa/spss/MOAApplicationException.java | 41 + .../at/gv/egovernment/moa/spss/MOAException.java | 164 ++ .../egovernment/moa/spss/MOASystemException.java | 40 + .../gv/egovernment/moa/spss/api/Configurator.java | 60 + .../gv/egovernment/moa/spss/api/SPSSFactory.java | 993 ++++++++ .../moa/spss/api/SignatureCreationService.java | 57 + .../moa/spss/api/SignatureVerificationService.java | 69 + .../moa/spss/api/cmsverify/CMSContent.java | 28 + .../spss/api/cmsverify/CMSContentExcplicit.java | 19 + .../spss/api/cmsverify/CMSContentReference.java | 17 + .../moa/spss/api/cmsverify/CMSDataObject.java | 25 + .../api/cmsverify/VerifyCMSSignatureRequest.java | 52 + .../api/cmsverify/VerifyCMSSignatureResponse.java | 21 + .../VerifyCMSSignatureResponseElement.java | 32 + .../moa/spss/api/common/Base64Transform.java | 13 + .../spss/api/common/CanonicalizationTransform.java | 17 + .../moa/spss/api/common/CheckResult.java | 25 + .../egovernment/moa/spss/api/common/Content.java | 37 + .../moa/spss/api/common/ContentBinary.java | 21 + .../moa/spss/api/common/ContentReference.java | 11 + .../moa/spss/api/common/ContentXML.java | 19 + .../moa/spss/api/common/ElementSelector.java | 28 + .../api/common/EnvelopedSignatureTransform.java | 15 + .../common/ExclusiveCanonicalizationTransform.java | 27 + .../egovernment/moa/spss/api/common/MetaInfo.java | 31 + .../moa/spss/api/common/SignerInfo.java | 43 + .../egovernment/moa/spss/api/common/Transform.java | 16 + .../moa/spss/api/common/X509IssuerSerial.java | 25 + .../spss/api/common/XMLDataObjectAssociation.java | 25 + .../moa/spss/api/common/XPathFilter.java | 38 + .../moa/spss/api/common/XPathFilter2Transform.java | 25 + .../moa/spss/api/common/XPathTransform.java | 30 + .../moa/spss/api/common/XSLTTransform.java | 23 + .../moa/spss/api/impl/Base64TransformImpl.java | 22 + .../moa/spss/api/impl/CMSContentExplicitImpl.java | 40 + .../moa/spss/api/impl/CMSContentReferenceImpl.java | 38 + .../moa/spss/api/impl/CMSDataObjectImpl.java | 46 + .../api/impl/CanonicalizationTransformImpl.java | 25 + .../moa/spss/api/impl/CheckResultImpl.java | 52 + .../moa/spss/api/impl/ContentBinaryImpl.java | 40 + .../egovernment/moa/spss/api/impl/ContentImpl.java | 28 + .../moa/spss/api/impl/ContentReferenceImpl.java | 24 + .../moa/spss/api/impl/ContentXMLImpl.java | 40 + ...ateSignatureEnvironmentProfileExplicitImpl.java | 66 + .../CreateSignatureEnvironmentProfileIDImpl.java | 39 + .../moa/spss/api/impl/CreateSignatureInfoImpl.java | 50 + .../spss/api/impl/CreateSignatureLocationImpl.java | 31 + .../spss/api/impl/CreateTransformsInfoImpl.java | 51 + .../CreateTransformsInfoProfileExplicitImpl.java | 62 + .../impl/CreateTransformsInfoProfileIDImpl.java | 38 + .../api/impl/CreateXMLSignatureRequestImpl.java | 53 + .../api/impl/CreateXMLSignatureResponseImpl.java | 37 + .../moa/spss/api/impl/DataObjectInfoImpl.java | 79 + .../moa/spss/api/impl/ElementSelectorImpl.java | 47 + .../api/impl/EnvelopedSignatureTransformImpl.java | 22 + .../moa/spss/api/impl/ErrorResponseImpl.java | 52 + .../ExclusiveCanonicalizationTransformImpl.java | 48 + .../spss/api/impl/ManifestRefsCheckResultImpl.java | 44 + .../api/impl/ManifestRefsCheckResultInfoImpl.java | 32 + .../moa/spss/api/impl/MetaInfoImpl.java | 59 + .../moa/spss/api/impl/ReferenceInfoImpl.java | 38 + .../spss/api/impl/ReferencesCheckResultImpl.java | 46 + .../api/impl/ReferencesCheckResultInfoImpl.java | 46 + .../moa/spss/api/impl/SPSSFactoryImpl.java | 559 +++++ .../api/impl/SignatureEnvironmentResponseImpl.java | 41 + .../api/impl/SignatureManifestCheckParamsImpl.java | 52 + .../moa/spss/api/impl/SignerInfoImpl.java | 81 + .../moa/spss/api/impl/SingleSignatureInfoImpl.java | 49 + .../api/impl/SupplementProfileExplicitImpl.java | 39 + .../moa/spss/api/impl/SupplementProfileIDImpl.java | 37 + .../moa/spss/api/impl/TransformImpl.java | 26 + .../api/impl/TransformParameterBinaryImpl.java | 42 + .../moa/spss/api/impl/TransformParameterImpl.java | 25 + .../spss/api/impl/TransformParameterURIImpl.java | 24 + .../spss/api/impl/TransformPatameterHashImpl.java | 54 + .../api/impl/VerifyCMSSignatureRequestImpl.java | 93 + .../VerifyCMSSignatureResponseElementImpl.java | 62 + .../api/impl/VerifyCMSSinatureResponseImpl.java | 37 + .../moa/spss/api/impl/VerifySignatureInfoImpl.java | 47 + .../spss/api/impl/VerifySignatureLocationImpl.java | 15 + .../spss/api/impl/VerifyTransformsDataImpl.java | 36 + .../VerifyTransformsInfoProfileExplicitImpl.java | 61 + .../impl/VerifyTransformsInfoProfileIDImpl.java | 38 + .../api/impl/VerifyXMLSignatureRequestImpl.java | 113 + .../api/impl/VerifyXMLSignatureResponseImpl.java | 134 ++ .../moa/spss/api/impl/X509IssuerSerialImpl.java | 45 + .../api/impl/XMLDataObjectAssociationImpl.java | 45 + .../spss/api/impl/XPathFilter2TransformImpl.java | 43 + .../moa/spss/api/impl/XPathFilterImpl.java | 64 + .../moa/spss/api/impl/XPathTransformImpl.java | 59 + .../moa/spss/api/impl/XSLTransformImpl.java | 37 + .../xmlbind/CreateXMLSignatureRequestParser.java | 288 +++ .../xmlbind/CreateXMLSignatureResponseBuilder.java | 119 + .../moa/spss/api/xmlbind/ProfileParser.java | 285 +++ .../moa/spss/api/xmlbind/RequestParserUtils.java | 147 ++ .../moa/spss/api/xmlbind/ResponseBuilderUtils.java | 213 ++ .../moa/spss/api/xmlbind/TransformParser.java | 251 +++ .../xmlbind/VerifyCMSSignatureRequestParser.java | 169 ++ .../xmlbind/VerifyCMSSignatureResponseBuilder.java | 101 + .../xmlbind/VerifyXMLSignatureRequestParser.java | 275 +++ .../xmlbind/VerifyXMLSignatureResponseBuilder.java | 300 +++ .../xmlsign/CreateSignatureEnvironmentProfile.java | 30 + .../CreateSignatureEnvironmentProfileExplicit.java | 30 + .../CreateSignatureEnvironmentProfileID.java | 20 + .../moa/spss/api/xmlsign/CreateSignatureInfo.java | 25 + .../spss/api/xmlsign/CreateSignatureLocation.java | 23 + .../moa/spss/api/xmlsign/CreateTransformsInfo.java | 27 + .../api/xmlsign/CreateTransformsInfoProfile.java | 28 + .../CreateTransformsInfoProfileExplicit.java | 26 + .../api/xmlsign/CreateTransformsInfoProfileID.java | 18 + .../api/xmlsign/CreateXMLSignatureRequest.java | 26 + .../api/xmlsign/CreateXMLSignatureResponse.java | 20 + .../xmlsign/CreateXMLSignatureResponseElement.java | 29 + .../moa/spss/api/xmlsign/DataObjectInfo.java | 48 + .../moa/spss/api/xmlsign/ErrorResponse.java | 24 + .../api/xmlsign/SignatureEnvironmentResponse.java | 20 + .../moa/spss/api/xmlsign/SingleSignatureInfo.java | 32 + .../api/xmlverify/ManifestRefsCheckResult.java | 24 + .../api/xmlverify/ManifestRefsCheckResultInfo.java | 19 + .../moa/spss/api/xmlverify/ReferenceInfo.java | 19 + .../spss/api/xmlverify/ReferencesCheckResult.java | 23 + .../api/xmlverify/ReferencesCheckResultInfo.java | 25 + .../xmlverify/SignatureManifestCheckParams.java | 26 + .../moa/spss/api/xmlverify/SupplementProfile.java | 28 + .../api/xmlverify/SupplementProfileExplicit.java | 19 + .../spss/api/xmlverify/SupplementProfileID.java | 18 + .../moa/spss/api/xmlverify/TransformParameter.java | 40 + .../api/xmlverify/TransformParameterBinary.java | 21 + .../spss/api/xmlverify/TransformParameterHash.java | 26 + .../spss/api/xmlverify/TransformParameterURI.java | 12 + .../spss/api/xmlverify/VerifySignatureInfo.java | 27 + .../api/xmlverify/VerifySignatureLocation.java | 13 + .../api/xmlverify/VerifyTransformsInfoProfile.java | 28 + .../VerifyTransformsInfoProfileExplicit.java | 25 + .../xmlverify/VerifyTransformsInfoProfileID.java | 18 + .../api/xmlverify/VerifyXMLSignatureRequest.java | 55 + .../api/xmlverify/VerifyXMLSignatureResponse.java | 60 + .../src/at/gv/egovernment/moa/spss/overview.htm | 155 ++ .../spss/server/config/ConfigurationException.java | 34 + .../server/config/ConfigurationPartsBuilder.java | 956 ++++++++ .../spss/server/config/ConfigurationProvider.java | 666 ++++++ .../moa/spss/server/config/DistributionPoint.java | 134 ++ .../spss/server/config/HardwareCryptoModule.java | 60 + .../moa/spss/server/config/HardwareKeyModule.java | 59 + .../moa/spss/server/config/IssuerAndSerial.java | 115 + .../moa/spss/server/config/KeyGroup.java | 69 + .../moa/spss/server/config/KeyGroupEntry.java | 106 + .../moa/spss/server/config/KeyModule.java | 41 + .../moa/spss/server/config/SoftwareKeyModule.java | 48 + .../moa/spss/server/config/TrustProfile.java | 43 + .../CMSSignatureVerificationProfileImpl.java | 37 + .../config/AbstractKeyModuleConfigurationImpl.java | 36 + .../config/AbstractObservableConfiguration.java | 48 + .../iaik/config/ArchiveConfigurationImpl.java | 62 + .../iaik/config/CRLDistributionPointAdapter.java | 54 + .../iaik/config/CertStoreConfigurationImpl.java | 54 + .../server/iaik/config/ConfigurationDataImpl.java | 121 + .../iaik/config/DataBaseArchiveParameterImpl.java | 33 + .../config/DirectoryCertStoreParametersImpl.java | 81 + .../HardwareCryptoModuleConfigurationImpl.java | 51 + .../config/HardwareKeyModuleConfigurationImpl.java | 55 + .../spss/server/iaik/config/IaikConfigurator.java | 162 ++ .../spss/server/iaik/config/LoggerConfigImpl.java | 34 + .../server/iaik/config/PKIConfigurationImpl.java | 85 + .../iaik/config/RevocationConfigurationImpl.java | 73 + .../config/SoftwareKeyModuleConfigurationImpl.java | 75 + .../iaik/config/ValidationConfigurationImpl.java | 56 + .../moa/spss/server/iaik/pki/PKIProfileImpl.java | 127 ++ .../pki/pathvalidation/ValidationProfileImpl.java | 113 + .../iaik/pki/revocation/RevocationProfileImpl.java | 65 + .../store/truststore/TrustStoreProfileImpl.java | 119 + .../server/iaik/xml/Base64TransformationImpl.java | 43 + .../server/iaik/xml/ByteArrayDataObjectImpl.java | 54 + .../server/iaik/xml/ByteStreamDataObjectImpl.java | 49 + .../spss/server/iaik/xml/CanonicalizationImpl.java | 43 + .../moa/spss/server/iaik/xml/DataObjectImpl.java | 87 + .../xml/EnvelopedSignatureTransformationImpl.java | 42 + .../iaik/xml/ExclusiveCanonicalizationImpl.java | 71 + .../moa/spss/server/iaik/xml/SigningTimeImpl.java | 34 + .../spss/server/iaik/xml/TransformationImpl.java | 43 + .../spss/server/iaik/xml/XMLDataObjectImpl.java | 46 + .../server/iaik/xml/XMLNodeListDataObjectImpl.java | 47 + .../moa/spss/server/iaik/xml/XMLSignatureImpl.java | 43 + .../moa/spss/server/iaik/xml/XPath2FilterImpl.java | 116 + .../server/iaik/xml/XPath2TransformationImpl.java | 82 + .../server/iaik/xml/XPathTransformationImpl.java | 98 + .../server/iaik/xml/XSLTTransformationImpl.java | 168 ++ .../iaik/xmlsign/DataObjectTreatmentImpl.java | 150 ++ .../xmlsign/XMLSignatureCreationProfileImpl.java | 276 +++ .../xmlsign/XMLSignatureInsertionLocationImpl.java | 45 + .../XMLSignatureVerificationProfileImpl.java | 131 ++ .../moa/spss/server/init/ConfiguratorImpl.java | 42 + .../moa/spss/server/init/SystemInitializer.java | 122 + .../invoke/CMSSignatureVerificationInvoker.java | 207 ++ .../CMSSignatureVerificationProfileFactory.java | 61 + .../invoke/CreateXMLSignatureResponseBuilder.java | 71 + .../moa/spss/server/invoke/DataObjectFactory.java | 717 ++++++ .../spss/server/invoke/ExternalURIResolver.java | 127 ++ .../spss/server/invoke/IaikExceptionMapper.java | 267 +++ .../moa/spss/server/invoke/InvokerUtils.java | 63 + .../moa/spss/server/invoke/ProfileMapper.java | 249 ++ .../spss/server/invoke/ServiceContextUtils.java | 51 + .../invoke/SignatureCreationServiceImpl.java | 45 + .../invoke/SignatureVerificationServiceImpl.java | 72 + .../spss/server/invoke/TransformationFactory.java | 258 +++ .../invoke/VerifyCMSSignatureResponseBuilder.java | 86 + .../invoke/VerifyXMLSignatureResponseBuilder.java | 317 +++ .../server/invoke/XMLSignatureCreationInvoker.java | 522 +++++ .../invoke/XMLSignatureCreationProfileFactory.java | 448 ++++ .../invoke/XMLSignatureVerificationInvoker.java | 580 +++++ .../XMLSignatureVerificationProfileFactory.java | 147 ++ .../moa/spss/server/logging/IaikLog.java | 126 ++ .../moa/spss/server/logging/IaikLogFactory.java | 42 + .../moa/spss/server/logging/IaikLogMsg.java | 54 + .../moa/spss/server/logging/TransactionId.java | 38 + .../moa/spss/server/service/AxisHandler.java | 252 +++ .../spss/server/service/ConfigurationServlet.java | 120 + .../server/service/RevocationArchiveCleaner.java | 83 + .../moa/spss/server/service/ServiceUtils.java | 72 + .../server/service/SignatureCreationService.java | 90 + .../service/SignatureVerificationService.java | 130 ++ .../moa/spss/server/tools/CertTool.java | 242 ++ .../server/transaction/TransactionContext.java | 90 + .../transaction/TransactionContextManager.java | 62 + .../server/transaction/TransactionIDGenerator.java | 51 + .../moa/spss/server/util/IdGenerator.java | 61 + .../egovernment/moa/spss/util/MessageProvider.java | 65 + .../test/at/gv/egovernment/moa/spss/AllTests.java | 41 + .../at/gv/egovernment/moa/spss/SPSSTestCase.java | 82 + .../egovernment/moa/spss/api/xmlbind/AllTests.java | 24 + .../CreateXMLSignatureRequestParserTest.java | 71 + .../moa/spss/api/xmlbind/TransformParserTest.java | 113 + .../VerifyCMSSignatureRequestParserTest.java | 61 + .../VerifyXMLSignatureRequestParserTest.java | 81 + .../server/config/ConfigurationProviderTest.java | 184 ++ .../iaik/config/ConfigurationDataImplTest.java | 149 ++ .../server/iaik/config/IaikConfiguratorTest.java | 36 + .../moa/spss/server/invoke/AllTests.java | 25 + .../CMSSignatureVerificationInvokerTest.java | 63 + .../spss/server/invoke/DataObjectFactoryTest.java | 178 ++ .../server/invoke/TransformationFactoryTest.java | 201 ++ .../invoke/XMLSignatureCreationInvokerTest.java | 63 + .../XMLSignatureVerificationInvokerTest.java | 61 + .../moa/spss/server/tools/CertToolTest.java | 50 + spss.server/web.xml | 48 + 918 files changed, 103349 insertions(+) create mode 100644 common/.checkstyle create mode 100644 common/.classpath create mode 100644 common/.cvsignore create mode 100644 common/.project create mode 100644 common/build.xml create mode 100644 common/data/test/security/cacerts create mode 100644 common/data/test/security/cacerts+gt_cybertrust_root create mode 100644 common/data/test/security/client-certs/sicher-demo(buergerkarte).p12 create mode 100644 common/data/test/security/client-certs/sicher-demo.cer create mode 100644 common/data/test/security/client.keystore create mode 100644 common/data/test/security/server-certs/baltimore.cer create mode 100644 common/data/test/security/server-certs/gte_cybertrust_root.cer create mode 100644 common/data/test/security/server.keystore.tomcat create mode 100644 common/data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml create mode 100644 common/data/test/xml/CreateXMLSignature/Req000.xml create mode 100644 common/data/test/xml/CreateXMLSignature/Req001.xml create mode 100644 common/data/test/xml/CreateXMLSignature/Req002.xml create mode 100644 common/data/test/xml/CreateXMLSignature/Req004.xml create mode 100644 common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml create mode 100644 common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml create mode 100644 common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml create mode 100644 common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml create mode 100644 common/data/test/xml/CreateXMLSignature/TestGeneratorCX2.005.Req.xml create mode 100644 common/data/test/xml/CreateXMLSignature/invalid.xml create mode 100644 common/data/test/xml/Infobox/InfoboxReadResponse.xml create mode 100644 common/data/test/xml/Infobox/InfoboxReadResponseMOA4.xml create mode 100644 common/data/test/xml/VerifyCMSSignature/Req000.xml create mode 100644 common/data/test/xml/VerifyCMSSignature/Req001.xml create mode 100644 common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml create mode 100644 common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml create mode 100644 common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/Req000.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/Req001.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/Req002.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.006.Req.xml create mode 100644 common/data/test/xml/VerifyXMLSignature/VerifySAMLRequest.xml create mode 100644 common/lib/commons-logging-1.0.2/commons-logging-api.jar create mode 100644 common/lib/commons-logging-1.0.2/commons-logging.jar create mode 100644 common/lib/iaik-ecc/iaik_ecc.jar create mode 100644 common/lib/iaik-jce-3.01/iaik_jce_full.jar create mode 100644 common/lib/jaxen-1.0/jaxen-core.jar create mode 100644 common/lib/jaxen-1.0/jaxen-dom.jar create mode 100644 common/lib/jaxen-1.0/saxpath.jar create mode 100644 common/lib/jaxp-1.2_01/dom.jar create mode 100644 common/lib/jaxp-1.2_01/jaxp-api.jar create mode 100644 common/lib/jaxp-1.2_01/sax.jar create mode 100644 common/lib/jsse-1.0.3_01/jcert.jar create mode 100644 common/lib/jsse-1.0.3_01/jnet.jar create mode 100644 common/lib/jsse-1.0.3_01/jsse.jar create mode 100644 common/lib/junit-3.8.1/junit.jar create mode 100644 common/lib/xalan-j-2.2/xalan.jar create mode 100644 common/lib/xerces-j-2.0.2/xercesImpl.jar create mode 100644 common/lib/xerces-j-2.0.2/xmlParserAPIs.jar create mode 100644 common/res/resources/properties/common_messages_de.properties create mode 100644 common/res/resources/schemas/Core.20020225.xsd create mode 100644 common/res/resources/schemas/Core.20020831.xsd create mode 100644 common/res/resources/schemas/ECDSAKeyValue.xsd create mode 100644 common/res/resources/schemas/MOA-ID-Configuration-1.1.xsd create mode 100644 common/res/resources/schemas/MOA-SPSS-1.1.xsd create mode 100644 common/res/resources/schemas/MOA-SPSS-Configuration-1.0.xsd create mode 100644 common/res/resources/schemas/PersonData.xsd create mode 100644 common/res/resources/schemas/PersonName-1_2.xsd create mode 100644 common/res/resources/schemas/PostalAddress-1_2.xsd create mode 100644 common/res/resources/schemas/TelcomNumber-1_0.xsd create mode 100644 common/res/resources/schemas/XMLSchema-instance.xsd create mode 100644 common/res/resources/schemas/XMLSchema.dtd create mode 100644 common/res/resources/schemas/cs-sstc-schema-assertion-01.xsd create mode 100644 common/res/resources/schemas/cs-sstc-schema-protocol-01.xsd create mode 100644 common/res/resources/schemas/datatypes.dtd create mode 100644 common/res/resources/schemas/exclusive-canonicalization.xsd create mode 100644 common/res/resources/schemas/xml.xsd create mode 100644 common/res/resources/schemas/xmldsig-core-schema.xsd create mode 100644 common/res/resources/schemas/xmldsig-filter2.xsd create mode 100644 common/src/at/gv/egovernment/moa/logging/LogMsg.java create mode 100644 common/src/at/gv/egovernment/moa/logging/Logger.java create mode 100644 common/src/at/gv/egovernment/moa/logging/LoggingContext.java create mode 100644 common/src/at/gv/egovernment/moa/logging/LoggingContextManager.java create mode 100644 common/src/at/gv/egovernment/moa/util/Base64Utils.java create mode 100644 common/src/at/gv/egovernment/moa/util/BoolUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/CollectionUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/Constants.java create mode 100644 common/src/at/gv/egovernment/moa/util/DOMUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/DateTimeUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/EntityResolverChain.java create mode 100644 common/src/at/gv/egovernment/moa/util/FileUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/KeyStoreUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/MOADefaultHandler.java create mode 100644 common/src/at/gv/egovernment/moa/util/MOAEntityResolver.java create mode 100644 common/src/at/gv/egovernment/moa/util/MOAErrorHandler.java create mode 100644 common/src/at/gv/egovernment/moa/util/MOATimer.java create mode 100644 common/src/at/gv/egovernment/moa/util/MessageProvider.java create mode 100644 common/src/at/gv/egovernment/moa/util/Messages.java create mode 100644 common/src/at/gv/egovernment/moa/util/NodeIteratorAdapter.java create mode 100644 common/src/at/gv/egovernment/moa/util/NodeListAdapter.java create mode 100644 common/src/at/gv/egovernment/moa/util/ResourceBundleChain.java create mode 100644 common/src/at/gv/egovernment/moa/util/SSLUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/StreamEntityResolver.java create mode 100644 common/src/at/gv/egovernment/moa/util/StreamUtils.java create mode 100644 common/src/at/gv/egovernment/moa/util/URLDecoder.java create mode 100644 common/src/at/gv/egovernment/moa/util/URLEncoder.java create mode 100644 common/src/at/gv/egovernment/moa/util/XPathException.java create mode 100644 common/src/at/gv/egovernment/moa/util/XPathUtils.java create mode 100644 common/src/test/at/gv/egovernment/moa/AllTests.java create mode 100644 common/src/test/at/gv/egovernment/moa/MOATestCase.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/DOMUtilsTest.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/SSLUtilsTest.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/URLDecoderTest.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/URLEncoderTest.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java create mode 100644 common/src/test/at/gv/egovernment/moa/util/XPathUtilsTest.java create mode 100644 spss.server/.checkstyle create mode 100644 spss.server/.classpath create mode 100644 spss.server/.cvsignore create mode 100644 spss.server/.project create mode 100644 spss.server/.tomcatplugin create mode 100644 spss.server/build.xml create mode 100644 spss.server/data/deploy/conf/moa-spss/MOA-SPSSConfiguration.xml create mode 100644 spss.server/data/deploy/conf/moa-spss/MinimalSPConfig.xml create mode 100644 spss.server/data/deploy/conf/moa-spss/MinimalSSConfig.xml create mode 100644 spss.server/data/deploy/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 create mode 100644 spss.server/data/deploy/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 create mode 100644 spss.server/data/deploy/conf/moa-spss/keys/ecc(ego).p12 create mode 100644 spss.server/data/deploy/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 create mode 100644 spss.server/data/deploy/conf/moa-spss/log4j.properties create mode 100644 spss.server/data/deploy/conf/moa-spss/trustProfiles/trustProfile1/IAIKRoot.cer create mode 100644 spss.server/data/deploy/tomcat/moa-env.bat create mode 100644 spss.server/data/deploy/tomcat/moa-env.sh create mode 100644 spss.server/data/deploy/tomcat/server.mod_jk.xml create mode 100644 spss.server/data/deploy/tomcat/server.xml create mode 100644 spss.server/data/deploy/tomcat/uriworkermap.properties create mode 100644 spss.server/data/deploy/tomcat/workers.properties create mode 100644 spss.server/data/deploy/tools/certtool.bat create mode 100644 spss.server/data/deploy/tools/certtool.sh create mode 100644 spss.server/data/test/conf/moa-spss/MOA-SPSSConfiguration.xml create mode 100644 spss.server/data/test/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 create mode 100644 spss.server/data/test/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 create mode 100644 spss.server/data/test/conf/moa-spss/keys/Beispielservice_1(password=bspsrv1).p12 create mode 100644 spss.server/data/test/conf/moa-spss/keys/DSA.512.p12 create mode 100644 spss.server/data/test/conf/moa-spss/keys/ecc(ego).p12 create mode 100644 spss.server/data/test/conf/moa-spss/keys/normal-eeExpired.p12 create mode 100644 spss.server/data/test/conf/moa-spss/keys/sicher-demo(buergerkarte).p12 create mode 100644 spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 create mode 100644 spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal_verw_oid.p12 create mode 100644 spss.server/data/test/conf/moa-spss/profiles/CSEP.xml create mode 100644 spss.server/data/test/conf/moa-spss/profiles/CX1_bookprofile.xsl create mode 100644 spss.server/data/test/conf/moa-spss/profiles/SupplementProfile1.xml create mode 100644 spss.server/data/test/conf/moa-spss/profiles/SupplementProfile2.xml create mode 100644 spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1.xml create mode 100644 spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1MOAID.xml create mode 100644 spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2.xml create mode 100644 spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2MOAID.xml create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/Buergerkarte01Root.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/C.CA.DS.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRootMusterbehoerde.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/TestPersonMOA4.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-nQual-01.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/ecdsaroot_der.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/hsm.cer create mode 100644 spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/moahsmcert.cer create mode 100644 spss.server/data/test/security/A-Trust-nQual-01.p7b create mode 100644 spss.server/data/test/security/client.cer create mode 100644 spss.server/data/test/security/client.keystore create mode 100644 spss.server/data/test/security/server.cer create mode 100644 spss.server/data/test/security/server.crt.pem create mode 100644 spss.server/data/test/security/server.key.pem create mode 100644 spss.server/data/test/security/server.keystore create mode 100644 spss.server/data/test/security/server.pfx create mode 100644 spss.server/data/test/xml/CreateXMLSignature/Req000.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/Req001.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/Req002.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/Req004.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.004.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.005.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.009.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.014.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.015.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.018.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.057.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.001.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.003.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.004.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.009.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.011.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.001.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.004.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.006.Req.xml create mode 100644 spss.server/data/test/xml/CreateXMLSignature/invalid.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/Req000.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/Req001.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.003.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.004.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.005.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.007.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.008.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.009.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.010.Req.xml create mode 100644 spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.011.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/Req000.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/Req001.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/Req002.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.003.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.004.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.005.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.007.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.106.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.201.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.203.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.252.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.359.Req.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID1.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/moa-id-request1.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/moa-id-request2.xml create mode 100644 spss.server/data/test/xml/VerifyXMLSignature/testsig.xml create mode 100644 spss.server/data/test/xml/dsigTransform/base64.xml create mode 100644 spss.server/data/test/xml/dsigTransform/canonicalization.xml create mode 100644 spss.server/data/test/xml/dsigTransform/canonicalizationWithComments.xml create mode 100644 spss.server/data/test/xml/dsigTransform/enveloped.xml create mode 100644 spss.server/data/test/xml/dsigTransform/exclusiveCanonicalization.xml create mode 100644 spss.server/data/test/xml/dsigTransform/illegalAlgorithm.xml create mode 100644 spss.server/data/test/xml/dsigTransform/transforms.xml create mode 100644 spss.server/data/test/xml/dsigTransform/xpath.xml create mode 100644 spss.server/data/test/xml/dsigTransform/xpath2.xml create mode 100644 spss.server/data/test/xml/dsigTransform/xpath2Different.xml create mode 100644 spss.server/data/test/xml/dsigTransform/xpathDifferent.xml create mode 100644 spss.server/data/test/xml/dsigTransform/xslt.xml create mode 100644 spss.server/data/test/xml/dsigTransform/xsltDifferent.xml create mode 100644 spss.server/data/test/xml/dsigTransform/xsltEqual.xml create mode 100644 spss.server/doc/api-doc-internal/allclasses-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LogMsg.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/Logger.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContext.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContextManager.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LogMsg.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/Logger.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContext.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContextManager.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAApplicationException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOASystemException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAApplicationException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOASystemException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/DistributionPoint.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroup.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/TrustProfile.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationPartsBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationProvider.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/DistributionPoint.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareCryptoModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareKeyModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/IssuerAndSerial.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroup.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroupEntry.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/SoftwareKeyModule.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/TrustProfile.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/class-use/CMSSignatureVerificationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractKeyModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractObservableConfiguration.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ArchiveConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CRLDistributionPointAdapter.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CertStoreConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ConfigurationDataImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DataBaseArchiveParameterImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DirectoryCertStoreParametersImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareCryptoModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareKeyModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/IaikConfigurator.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/LoggerConfigImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/PKIConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/RevocationConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/SoftwareKeyModuleConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ValidationConfigurationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/class-use/PKIProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/class-use/ValidationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/class-use/RevocationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/class-use/TrustStoreProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/Base64TransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteArrayDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteStreamDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/CanonicalizationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/DataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/EnvelopedSignatureTransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ExclusiveCanonicalizationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/SigningTimeImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/TransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLNodeListDataObjectImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLSignatureImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2FilterImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2TransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPathTransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XSLTTransformationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/DataObjectTreatmentImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureCreationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureInsertionLocationImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/class-use/XMLSignatureVerificationProfileImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/SystemInitializer.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/ConfiguratorImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/SystemInitializer.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationInvoker.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationProfileFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CreateXMLSignatureResponseBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/DataObjectFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ExternalURIResolver.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/IaikExceptionMapper.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/InvokerUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ProfileMapper.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ServiceContextUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureCreationServiceImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureVerificationServiceImpl.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/TransformationFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyCMSSignatureResponseBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyXMLSignatureResponseBuilder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationInvoker.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationProfileFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationInvoker.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationProfileFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLog.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/TransactionId.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLog.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogFactory.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogMsg.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/TransactionId.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/AxisHandler.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ServiceUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/AxisHandler.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ConfigurationServlet.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/RevocationArchiveCleaner.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ServiceUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureCreationService.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureVerificationService.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/CertTool.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/class-use/CertTool.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContext.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContextManager.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionIDGenerator.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/IdGenerator.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/class-use/IdGenerator.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/MessageProvider.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/class-use/MessageProvider.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-use.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Base64Utils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/BoolUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/CollectionUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Constants.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DOMUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DateTimeUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/EntityResolverChain.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/FileUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/KeyStoreUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOADefaultHandler.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAEntityResolver.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAErrorHandler.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOATimer.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MessageProvider.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Messages.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeIteratorAdapter.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeListAdapter.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/ResourceBundleChain.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/SSLUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamEntityResolver.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLDecoder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLEncoder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Base64Utils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/BoolUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/CollectionUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Constants.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DOMUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DateTimeUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/EntityResolverChain.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/FileUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/KeyStoreUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOADefaultHandler.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAEntityResolver.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAErrorHandler.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOATimer.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MessageProvider.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Messages.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeIteratorAdapter.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeListAdapter.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/ResourceBundleChain.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/SSLUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamEntityResolver.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLDecoder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLEncoder.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathException.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathUtils.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-frame.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-summary.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-tree.html create mode 100644 spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-use.html create mode 100644 spss.server/doc/api-doc-internal/deprecated-list.html create mode 100644 spss.server/doc/api-doc-internal/help-doc.html create mode 100644 spss.server/doc/api-doc-internal/index-all.html create mode 100644 spss.server/doc/api-doc-internal/index.html create mode 100644 spss.server/doc/api-doc-internal/overview-frame.html create mode 100644 spss.server/doc/api-doc-internal/overview-summary.html create mode 100644 spss.server/doc/api-doc-internal/overview-tree.html create mode 100644 spss.server/doc/api-doc-internal/package-list create mode 100644 spss.server/doc/api-doc-internal/packages.html create mode 100644 spss.server/doc/api-doc-internal/serialized-form.html create mode 100644 spss.server/doc/api-doc-internal/stylesheet.css create mode 100644 spss.server/doc/moa-spss.htm create mode 100644 spss.server/doc/moa_images/east.gif create mode 100644 spss.server/doc/moa_images/idle.gif create mode 100644 spss.server/doc/moa_images/moa_diagramm1.jpg create mode 100644 spss.server/doc/moa_images/moa_thema.gif create mode 100644 spss.server/doc/moa_images/north.gif create mode 100644 spss.server/doc/moa_images/pfeil.gif create mode 100644 spss.server/doc/moa_images/print.gif create mode 100644 spss.server/doc/moa_images/select.gif create mode 100644 spss.server/doc/moa_images/south.gif create mode 100644 spss.server/doc/moa_images/transdot.gif create mode 100644 spss.server/doc/moa_images/west.gif create mode 100644 spss.server/doc/moa_spss/APIClientExample.txt create mode 100644 spss.server/doc/moa_spss/HTTPClientExample.txt create mode 100644 spss.server/doc/moa_spss/HTTPSClientExampleClientAuth.txt create mode 100644 spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt create mode 100644 spss.server/doc/moa_spss/MOA-SPSS-1.1.pdf create mode 100644 spss.server/doc/moa_spss/MOA-SPSS-1.1.xsd create mode 100644 spss.server/doc/moa_spss/MOA-SPSS-Configuration-1.0.xsd create mode 100644 spss.server/doc/moa_spss/examples/conf/MOA-SPSSConfiguration.xml create mode 100644 spss.server/doc/moa_spss/examples/conf/MinimalSPConfig.xml create mode 100644 spss.server/doc/moa_spss/examples/conf/MinimalSSConfig.xml create mode 100644 spss.server/doc/moa_spss/examples/conf/keys/ecc(ego).p12 create mode 100644 spss.server/doc/moa_spss/examples/conf/keys/test-ee2003_normal(buergerkarte).p12 create mode 100644 spss.server/doc/moa_spss/examples/conf/trustProfiles/trustProfile1/IAIKRoot.cer create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest1.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest2.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse1.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse2.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/TestDatenGenerator.zip create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureRequest.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureResponse.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest1.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest2.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse1.xml create mode 100644 spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse2.xml create mode 100644 spss.server/doc/moa_spss/examples/testclient/APIClientExample.java create mode 100644 spss.server/doc/moa_spss/examples/testclient/HTTPClientExample.java create mode 100644 spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleClientAuth.java create mode 100644 spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java create mode 100644 spss.server/doc/moa_spss/examples/testclient/client.keystore create mode 100644 spss.server/doc/moa_spss/examples/testclient/example_request.xml create mode 100644 spss.server/doc/moa_spss/faqs.htm create mode 100644 spss.server/doc/moa_spss/links.htm create mode 100644 spss.server/doc/moa_spss/moa.htm create mode 100644 spss.server/doc/moa_spss/sp-admin.htm create mode 100644 spss.server/doc/moa_spss/sp-admin_1.htm create mode 100644 spss.server/doc/moa_spss/sp-admin_2.htm create mode 100644 spss.server/doc/moa_spss/sp-admin_3.htm create mode 100644 spss.server/doc/moa_spss/sp-admin_4.htm create mode 100644 spss.server/doc/moa_spss/sp-anwendung.htm create mode 100644 spss.server/lib/axis-1.0/axis.jar create mode 100644 spss.server/lib/axis-1.0/jaxrpc.jar create mode 100644 spss.server/lib/axis-1.0/saaj.jar create mode 100644 spss.server/lib/axis-1.0/wsdl4j.jar create mode 100644 spss.server/lib/commons-discovery-0.2/commons-discovery.jar create mode 100644 spss.server/lib/commons-logging-1.0.2/commons-logging-api.jar create mode 100644 spss.server/lib/commons-logging-1.0.2/commons-logging.jar create mode 100644 spss.server/lib/iDoclet-1.0/iDoclet.jar create mode 100644 spss.server/lib/iaik-moa-1.07/iaik-moa-full.jar create mode 100644 spss.server/lib/iaik-moa-1.07/iaikPkcs11Provider.jar create mode 100644 spss.server/lib/iaik-moa-1.07/iaikPkcs11Wrapper.jar create mode 100644 spss.server/lib/iaik-moa-1.07/iaik_cms.jar create mode 100644 spss.server/lib/iaik-moa-1.07/iaik_ecc.jar create mode 100644 spss.server/lib/iaik-moa-1.07/iaik_jce_full.jar create mode 100644 spss.server/lib/iaik-moa-1.07/ixsil.jar create mode 100644 spss.server/lib/iaik-moa-1.07/signed/iaikPkcs11Provider_signed.jar create mode 100644 spss.server/lib/iaik-moa-1.07/signed/iaik_ecc.jar create mode 100644 spss.server/lib/iaik-moa-1.07/signed/iaik_jce_full.jar create mode 100644 spss.server/lib/iaik-moa-1.07/win32/pkcs11wrapper.dll create mode 100644 spss.server/lib/jaxen-1.0/jaxen-core.jar create mode 100644 spss.server/lib/jaxen-1.0/jaxen-dom.jar create mode 100644 spss.server/lib/jaxen-1.0/saxpath.jar create mode 100644 spss.server/lib/jaxp-1.2_01/dom.jar create mode 100644 spss.server/lib/jaxp-1.2_01/jaxp-api.jar create mode 100644 spss.server/lib/jaxp-1.2_01/sax.jar create mode 100644 spss.server/lib/jsse-1.0.3_01/jcert.jar create mode 100644 spss.server/lib/jsse-1.0.3_01/jnet.jar create mode 100644 spss.server/lib/jsse-1.0.3_01/jsse.jar create mode 100644 spss.server/lib/junit-3.8.1/junit.jar create mode 100644 spss.server/lib/log4j-1.2.7/log4j-1.2.7.jar create mode 100644 spss.server/lib/postgres-jdbc2-7.3/pg73jdbc2.jar create mode 100644 spss.server/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip create mode 100644 spss.server/lib/xalan-j-2.2/bsf.jar create mode 100644 spss.server/lib/xalan-j-2.2/xalan.jar create mode 100644 spss.server/lib/xerces-j-2.0.2/xercesImpl.jar create mode 100644 spss.server/lib/xerces-j-2.0.2/xmlParserAPIs.jar create mode 100644 spss.server/res/resources/properties/spss_messages_de.properties create mode 100644 spss.server/res/resources/security/cacerts create mode 100644 spss.server/res/resources/wsdl/MOA-SP-SS-1.0-20020829.wsdl create mode 100644 spss.server/server-config.wsdd create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/MOAApplicationException.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/MOAException.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/MOASystemException.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/Configurator.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/SPSSFactory.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/SignatureCreationService.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/Base64Transform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/CheckResult.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/Content.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentBinary.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentReference.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentXML.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/ElementSelector.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/MetaInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/SignerInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/Transform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathFilter.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathTransform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/overview.htm create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyGroup.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyModule.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/config/TrustProfile.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLog.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/logging/TransactionId.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/service/AxisHandler.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/tools/CertTool.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/server/util/IdGenerator.java create mode 100644 spss.server/src/at/gv/egovernment/moa/spss/util/MessageProvider.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/AllTests.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java create mode 100644 spss.server/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java create mode 100644 spss.server/web.xml diff --git a/common/.checkstyle b/common/.checkstyle new file mode 100644 index 000000000..4c2833e81 --- /dev/null +++ b/common/.checkstyle @@ -0,0 +1,7 @@ + + + + + + + diff --git a/common/.classpath b/common/.classpath new file mode 100644 index 000000000..ea4983052 --- /dev/null +++ b/common/.classpath @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/.cvsignore b/common/.cvsignore new file mode 100644 index 000000000..ba077a403 --- /dev/null +++ b/common/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/common/.project b/common/.project new file mode 100644 index 000000000..16d715d11 --- /dev/null +++ b/common/.project @@ -0,0 +1,17 @@ + + + MOA common + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/common/build.xml b/common/build.xml new file mode 100644 index 000000000..cc9ff17f2 --- /dev/null +++ b/common/build.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/data/test/security/cacerts b/common/data/test/security/cacerts new file mode 100644 index 000000000..6eeaba418 Binary files /dev/null and b/common/data/test/security/cacerts differ diff --git a/common/data/test/security/cacerts+gt_cybertrust_root b/common/data/test/security/cacerts+gt_cybertrust_root new file mode 100644 index 000000000..a639bfe44 Binary files /dev/null and b/common/data/test/security/cacerts+gt_cybertrust_root differ diff --git a/common/data/test/security/client-certs/sicher-demo(buergerkarte).p12 b/common/data/test/security/client-certs/sicher-demo(buergerkarte).p12 new file mode 100644 index 000000000..362b610d1 Binary files /dev/null and b/common/data/test/security/client-certs/sicher-demo(buergerkarte).p12 differ diff --git a/common/data/test/security/client-certs/sicher-demo.cer b/common/data/test/security/client-certs/sicher-demo.cer new file mode 100644 index 000000000..46268923a Binary files /dev/null and b/common/data/test/security/client-certs/sicher-demo.cer differ diff --git a/common/data/test/security/client.keystore b/common/data/test/security/client.keystore new file mode 100644 index 000000000..9882db636 Binary files /dev/null and b/common/data/test/security/client.keystore differ diff --git a/common/data/test/security/server-certs/baltimore.cer b/common/data/test/security/server-certs/baltimore.cer new file mode 100644 index 000000000..514c65c51 Binary files /dev/null and b/common/data/test/security/server-certs/baltimore.cer differ diff --git a/common/data/test/security/server-certs/gte_cybertrust_root.cer b/common/data/test/security/server-certs/gte_cybertrust_root.cer new file mode 100644 index 000000000..bcbddd2f3 Binary files /dev/null and b/common/data/test/security/server-certs/gte_cybertrust_root.cer differ diff --git a/common/data/test/security/server.keystore.tomcat b/common/data/test/security/server.keystore.tomcat new file mode 100644 index 000000000..37e7cf47d Binary files /dev/null and b/common/data/test/security/server.keystore.tomcat differ diff --git a/common/data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml b/common/data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml new file mode 100644 index 000000000..5a4759b7a --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml @@ -0,0 +1,59 @@ + + + + + http://localhost:8080/moa-id-auth/ + + + gb + + + https://localhost:9443/ + + + + + +Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben: +
+ + + + + + +
Name:
Zeit:
Applikation:
Geschäftsbereich:
Anmeldeserver:
+ + +
+
us9gT0wkEOgg2KCLGT5Z4i0tW30=
id('refetsi')/etsi:QualifyingProperties/etsi:SignedPropertiesc/r6XEssLoHZerXUdQQUKvZ/aVY=
fCl9QrTFBxygAnRFEJZU/mHuKNgQip50IrjBJKI79+L2XBR1W0M41akciraauQ0n +FkIJPL4wnoupoXeWrpt7ycp9xMHVdZUNYXiPStHhi0ElhFppPjaN6Mn+1W25ofy0 +YRapLXeDdGIxe5wSgTTBhAWbJAgusQ8bQY9vZnyW8TU=MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU +MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt +IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU +LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu +Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT +AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox +GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4 +edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/ +t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/ +Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw +JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB +BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv +b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et +c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq +KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv +Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg +ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw +ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl +bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u +bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE +GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B +AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2 +Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL +PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf ++5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW +KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1 +Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==2003-04-02T12:55:33ZFrhu1o4mL4gQHdJcU0xSA/h4COE=CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT6455text/html
+
\ No newline at end of file diff --git a/common/data/test/xml/CreateXMLSignature/Req000.xml b/common/data/test/xml/CreateXMLSignature/Req000.xml new file mode 100644 index 000000000..ea250dab6 --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/Req000.xml @@ -0,0 +1,19 @@ + + + PKCS12RSAKey1 + + + + my xml data + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/common/data/test/xml/CreateXMLSignature/Req001.xml b/common/data/test/xml/CreateXMLSignature/Req001.xml new file mode 100644 index 000000000..bc8f976a0 --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/Req001.xml @@ -0,0 +1,52 @@ + + + + + validKeyIdentifier(RSAinPKCS12) + + + + + testdaten + + + + + + + + + + + + text/xml + + + + + + + + diff --git a/common/data/test/xml/CreateXMLSignature/Req002.xml b/common/data/test/xml/CreateXMLSignature/Req002.xml new file mode 100644 index 000000000..1fb5ea72d --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/Req002.xml @@ -0,0 +1,48 @@ + + + + + validKeyIdentifier(RSAinPKCS12) + + + + + testdaten + + + + + text/xml + + + + + + + + daten + + + + /Envelop + + + + + + + diff --git a/common/data/test/xml/CreateXMLSignature/Req004.xml b/common/data/test/xml/CreateXMLSignature/Req004.xml new file mode 100644 index 000000000..dfc9c11fe --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/Req004.xml @@ -0,0 +1,34 @@ + + + pkcs12rsakey1 + + + + + + Gesundheitliche Auswirkungen elektronischer Signaturen + Ellipse + Kurvenreich + 1951-04-16 + Hinterm Berg + 6-930-21512-12 + + + + + + + + /data:book/data:first-name + + + + text/html + + + + + + + + diff --git a/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml new file mode 100644 index 000000000..f32a6e4e1 --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml @@ -0,0 +1,17 @@ + + PKCS12RSAKey1 + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml new file mode 100644 index 000000000..ad98c02fb --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml @@ -0,0 +1,19 @@ + + PKCS12RSAKey1 + + + + Dies sind Testdaten + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml new file mode 100644 index 000000000..ace117fd9 --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml @@ -0,0 +1,19 @@ + + PKCS12RSAKey1 + + + + RGllcyBzaW5kIFRlc3RkYXRlbg== + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml new file mode 100644 index 000000000..120f76ee0 --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml @@ -0,0 +1,20 @@ + + + PKCS12RSAKey1 + + + + Dies sind Testdaten + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/common/data/test/xml/CreateXMLSignature/TestGeneratorCX2.005.Req.xml b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX2.005.Req.xml new file mode 100644 index 000000000..f12a6f587 --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/TestGeneratorCX2.005.Req.xml @@ -0,0 +1 @@ +PKCS12RSAKey1text/plainDies sind Testdaten//data:Document \ No newline at end of file diff --git a/common/data/test/xml/CreateXMLSignature/invalid.xml b/common/data/test/xml/CreateXMLSignature/invalid.xml new file mode 100644 index 000000000..ea635b943 --- /dev/null +++ b/common/data/test/xml/CreateXMLSignature/invalid.xml @@ -0,0 +1,20 @@ + + + validKeyIdentifier(RSAinPKCS12) + some invalid element + + + + testdaten + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/common/data/test/xml/Infobox/InfoboxReadResponse.xml b/common/data/test/xml/Infobox/InfoboxReadResponse.xml new file mode 100644 index 000000000..a35b7f209 --- /dev/null +++ b/common/data/test/xml/Infobox/InfoboxReadResponse.xml @@ -0,0 +1,97 @@ + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + + + 123456789012 + http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl + + + Hermann + Muster + + 1968-10-22 + + + + + + + + 0v1Ftf7WXgoexx0Jo/GrlExHOHnQIEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EM +A6P18Z/YyTIuP7fNGzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7a +f2daYYuO8dycQw3xg6U= + AQAB + + + + + + + i2qa56X4fpYeXqFLXAcQljGU3+DWnVgNrAxI9gn2bMeFWtLXE2SFa6qvl9EymUl0noBlFn0q9DWp +AsyeLnRhzCAXJeSxiwsUEloOvcQCV0DfW2UVq0Y9bVlJ8KifJ2AS+5BxZ21mkc/VYx5Qz6EYjPrn +pIpdAwR9sw5xnIvTySc= + AQAB + + + +not(ancestor-or-self::pr:Identification)s7TfoZrYo36OMdlxGxuIfAw/wr8=ancestor-or-self::dsig:ManifestdO+RSn4xLHT3cuq8uopFtZyUBqo=MFbZ5wA5cq0UezYFDXted5uqXubWFxxRwZawGh73XEAGxAbJsT/IEQmrTQThPRHNWW5RPGxVlPDz +5BmjberdaWlgJlbyKf3b/WpNNJYptQ7ijrXlsQoCzjfiQy37NEfvHEcxHQOA6sa42C+dFKsKIvmP +3mZkRYWJDxxsVzI7E+Y=MIIDaDCCAtWgAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTE5NDRaFw0w +MzEyMzEyMjU5MzBaMIGOMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu +aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG +A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxGzAZBgNVBAMTEk1PQSBU +ZXN0IENBIC0gUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjHuFphE3 ++UkTe2OcIFWUDLzhPl1j2dH4sMPAhDK09/0i+aWrdtQW9yHktu/7+LTiCiPeevT0 +lGMGDcWMSoSm66tYmpxei6YojCFIaVdJFtXZ7x1o7e7jTDVRLMfdZ5lI1sQ7loIY +hOE0OmlYOkn4AI6xMtJtsca45rV8wW7qm8kCAwEAAaOB2zCB2DAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAnsB +ATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxy +IFRlc3R6d2Vja2UgZ2VlaWduZXQuMB0GA1UdDgQWBBRDC612dCgZetTmAKyV6DII +NkOoYTAWBgcqKAAKAQEBBAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZ +etTmAKyV6DIINkOoYTAJBgUrDgMCHQUAA4GBAHj0xBNWGYLijaocjOX1AkL+r+G2 +fZsX4z3S/2eEvtUp+EUHaOPMLTS0MIP1nwj5f4ZluAIrDLXihqMdi4xRv0W6QYbN +aDxICNz3/QbrzMlFPeC8odesdRlT+GGswX0ZGUtVIZm1HVhxRk5ZEW2pr2afo5c0 +Btxup/kgjGMnnS7CMIIDiTCCAvagAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTI1MTRaFw0w +MzEyMzEyMjU5MzBaMIGZMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu +aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG +A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxJjAkBgNVBAMTHU1PQSBU +ZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCw7ULOYSNji09Ein7Ar4j3Rjxjq05spBmZDmbSomEZMnGEtVTyIRzKc8ia +2kcXUMz5MEoFaVmvqRim31m20T21uvHFIs86gqzC/prOAz7V7HWok5F+9M/5gR1S +BvpdqiEAXYeRXFPiOe8XSmpwhic7+n2jfuoBeYiRBEMGoP1DkwIDAQABo4HxMIHu +MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMBEGCWCGSAGG+EIB +AQQEAwIBAjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwIC +MDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2Vl +aWduZXQuMB0GA1UdDgQWBBSeRWvUfxEjKZSfxImJr/fpBDtMmTAWBgcqKAAKAQEB +BAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZetTmAKyV6DIINkOoYTAJ +BgUrDgMCHQUAA4GBAIMa4C2z3SbkcjEiMNAsHKaKUCJkBbMtNaab6U/cwwYmG6nl +ga7xyEmbfY2SKzOqkcIwuv83Tma3rcr1f+OLUeGUaGLHt2Pl1a/s8BZGQZHWvLXv +7hV4RceEUHzVGAfvDD8iBJqBmfq/z/fBPFsgSup4nO1YECkDYfQ+sqCIP4ikMIIDZzCCAtSgAwIBAgIBADAJBgUrDgMCHQUAMIGZMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +JjAkBgNVBAMTHU1PQSBUZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMB4XDTAzMDIx +MTE1MzI0NVoXDTAzMDgxMTE0MzI0NVowgYUxCzAJBgNVBAYTAkFUMSYwJAYDVQQK +FB1CdW5kZXNtaW5pc3Rlcml1bSBm/HIgSW5uZXJlczEgMB4GA1UECxMXWmVudHJh +bGVzIE1lbGRlcmVnaXN0ZXIxLDAqBgNVBAMTI1Rlc3QgU2lnbmF0dXJkaWVuc3Qg +UGVyc29uZW5iaW5kdW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEzkpk +QjbGjZwssN1+vMBE/ALMcA8LWFcILI3uxXaTSWGfTiLo9ECfzjuwYJG7FjEaeWrW +nPEcp4VfMNocrm3T7Hw/ikpE5/+FsfTzD4MpIwwUPd/CUfA5vDNXK5CiP7qKKR1e +vATO2s6lfDul+CS/eEbwzKmUQvZGrJggxg2m5wIDAQABo4HYMIHVMAwGA1UdEwEB +/wQCMAAwDgYDVR0PAQH/BAQDAgbAMF0GA1UdIARWMFQwUgYMKwYBBAGVEgECAwEB +MEIwQAYIKwYBBQUHAgIwNBoyRGllc2VzIFplcnRpZmlrYXQgaXN0IG51ciBm/HIg +VGVzdHp3ZWNrZSBnZWVpZ25ldC4wHQYDVR0OBBYEFIpEyv43H3EtiGr4I7Z34bWj +v2z6MBYGByooAAoBAQEECwwJQk1PTFMtSUtUMB8GA1UdIwQYMBaAFJ5Fa9R/ESMp +lJ/EiYmv9+kEO0yZMAkGBSsOAwIdBQADgYEAfMBJRy/kp8HQa0lGIBfFrWNpxVPv +RsIu+N4IiFrswrsoQoMAh6IqNyzSdq7rJC08xsDkXe5HOwkb+2zGKYoC3aQ/J/zr +BGkg6ec4tOaS/VSdEQeTL1L30r2faTffWLUV3GrzL7pM7jN470hB1w8F6Hc3LCI7 +kFfp23o/juVtJNw=BqzfCB7dNg4G3u4YaxpD1tALdKI= \ No newline at end of file diff --git a/common/data/test/xml/Infobox/InfoboxReadResponseMOA4.xml b/common/data/test/xml/Infobox/InfoboxReadResponseMOA4.xml new file mode 100644 index 000000000..8d7b5afde --- /dev/null +++ b/common/data/test/xml/Infobox/InfoboxReadResponseMOA4.xml @@ -0,0 +1,105 @@ + + + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + + + 123456789012 + http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl + + + Hermann + Muster + + 1968-10-22 + + + + + + + + 0v1Ftf7WXgoexx0Jo/GrlExHOHnQIEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EM +A6P18Z/YyTIuP7fNGzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7a +f2daYYuO8dycQw3xg6U= + AQAB + + + + + + + i2qa56X4fpYeXqFLXAcQljGU3+DWnVgNrAxI9gn2bMeFWtLXE2SFa6qvl9EymUl0noBlFn0q9DWp +AsyeLnRhzCAXJeSxiwsUEloOvcQCV0DfW2UVq0Y9bVlJ8KifJ2AS+5BxZ21mkc/VYx5Qz6EYjPrn +pIpdAwR9sw5xnIvTySc= + AQAB + + + +not(ancestor-or-self::pr:Identification)s7TfoZrYo36OMdlxGxuIfAw/wr8=ancestor-or-self::dsig:ManifestdO+RSn4xLHT3cuq8uopFtZyUBqo=MFbZ5wA5cq0UezYFDXted5uqXubWFxxRwZawGh73XEAGxAbJsT/IEQmrTQThPRHNWW5RPGxVlPDz +5BmjberdaWlgJlbyKf3b/WpNNJYptQ7ijrXlsQoCzjfiQy37NEfvHEcxHQOA6sa42C+dFKsKIvmP +3mZkRYWJDxxsVzI7E+Y=MIIDaDCCAtWgAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTE5NDRaFw0w +MzEyMzEyMjU5MzBaMIGOMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu +aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG +A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxGzAZBgNVBAMTEk1PQSBU +ZXN0IENBIC0gUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjHuFphE3 ++UkTe2OcIFWUDLzhPl1j2dH4sMPAhDK09/0i+aWrdtQW9yHktu/7+LTiCiPeevT0 +lGMGDcWMSoSm66tYmpxei6YojCFIaVdJFtXZ7x1o7e7jTDVRLMfdZ5lI1sQ7loIY +hOE0OmlYOkn4AI6xMtJtsca45rV8wW7qm8kCAwEAAaOB2zCB2DAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAnsB +ATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxy +IFRlc3R6d2Vja2UgZ2VlaWduZXQuMB0GA1UdDgQWBBRDC612dCgZetTmAKyV6DII +NkOoYTAWBgcqKAAKAQEBBAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZ +etTmAKyV6DIINkOoYTAJBgUrDgMCHQUAA4GBAHj0xBNWGYLijaocjOX1AkL+r+G2 +fZsX4z3S/2eEvtUp+EUHaOPMLTS0MIP1nwj5f4ZluAIrDLXihqMdi4xRv0W6QYbN +aDxICNz3/QbrzMlFPeC8odesdRlT+GGswX0ZGUtVIZm1HVhxRk5ZEW2pr2afo5c0 +Btxup/kgjGMnnS7CMIIDiTCCAvagAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTI1MTRaFw0w +MzEyMzEyMjU5MzBaMIGZMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu +aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG +A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxJjAkBgNVBAMTHU1PQSBU +ZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCw7ULOYSNji09Ein7Ar4j3Rjxjq05spBmZDmbSomEZMnGEtVTyIRzKc8ia +2kcXUMz5MEoFaVmvqRim31m20T21uvHFIs86gqzC/prOAz7V7HWok5F+9M/5gR1S +BvpdqiEAXYeRXFPiOe8XSmpwhic7+n2jfuoBeYiRBEMGoP1DkwIDAQABo4HxMIHu +MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMBEGCWCGSAGG+EIB +AQQEAwIBAjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwIC +MDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2Vl +aWduZXQuMB0GA1UdDgQWBBSeRWvUfxEjKZSfxImJr/fpBDtMmTAWBgcqKAAKAQEB +BAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZetTmAKyV6DIINkOoYTAJ +BgUrDgMCHQUAA4GBAIMa4C2z3SbkcjEiMNAsHKaKUCJkBbMtNaab6U/cwwYmG6nl +ga7xyEmbfY2SKzOqkcIwuv83Tma3rcr1f+OLUeGUaGLHt2Pl1a/s8BZGQZHWvLXv +7hV4RceEUHzVGAfvDD8iBJqBmfq/z/fBPFsgSup4nO1YECkDYfQ+sqCIP4ikMIIDZzCCAtSgAwIBAgIBADAJBgUrDgMCHQUAMIGZMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +JjAkBgNVBAMTHU1PQSBUZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMB4XDTAzMDIx +MTE1MzI0NVoXDTAzMDgxMTE0MzI0NVowgYUxCzAJBgNVBAYTAkFUMSYwJAYDVQQK +FB1CdW5kZXNtaW5pc3Rlcml1bSBm/HIgSW5uZXJlczEgMB4GA1UECxMXWmVudHJh +bGVzIE1lbGRlcmVnaXN0ZXIxLDAqBgNVBAMTI1Rlc3QgU2lnbmF0dXJkaWVuc3Qg +UGVyc29uZW5iaW5kdW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEzkpk +QjbGjZwssN1+vMBE/ALMcA8LWFcILI3uxXaTSWGfTiLo9ECfzjuwYJG7FjEaeWrW +nPEcp4VfMNocrm3T7Hw/ikpE5/+FsfTzD4MpIwwUPd/CUfA5vDNXK5CiP7qKKR1e +vATO2s6lfDul+CS/eEbwzKmUQvZGrJggxg2m5wIDAQABo4HYMIHVMAwGA1UdEwEB +/wQCMAAwDgYDVR0PAQH/BAQDAgbAMF0GA1UdIARWMFQwUgYMKwYBBAGVEgECAwEB +MEIwQAYIKwYBBQUHAgIwNBoyRGllc2VzIFplcnRpZmlrYXQgaXN0IG51ciBm/HIg +VGVzdHp3ZWNrZSBnZWVpZ25ldC4wHQYDVR0OBBYEFIpEyv43H3EtiGr4I7Z34bWj +v2z6MBYGByooAAoBAQEECwwJQk1PTFMtSUtUMB8GA1UdIwQYMBaAFJ5Fa9R/ESMp +lJ/EiYmv9+kEO0yZMAkGBSsOAwIdBQADgYEAfMBJRy/kp8HQa0lGIBfFrWNpxVPv +RsIu+N4IiFrswrsoQoMAh6IqNyzSdq7rJC08xsDkXe5HOwkb+2zGKYoC3aQ/J/zr +BGkg6ec4tOaS/VSdEQeTL1L30r2faTffWLUV3GrzL7pM7jN470hB1w8F6Hc3LCI7 +kFfp23o/juVtJNw=BqzfCB7dNg4G3u4YaxpD1tALdKI= \ No newline at end of file diff --git a/common/data/test/xml/VerifyCMSSignature/Req000.xml b/common/data/test/xml/VerifyCMSSignature/Req000.xml new file mode 100644 index 000000000..9866113ea --- /dev/null +++ b/common/data/test/xml/VerifyCMSSignature/Req000.xml @@ -0,0 +1,46 @@ + + + + + 2001-12-17T09:30:47-05:00 + U3Zlbg== + + + text/plain + anyURI + + + U3Zlbg== + + + TrustProfile1 + + + diff --git a/common/data/test/xml/VerifyCMSSignature/Req001.xml b/common/data/test/xml/VerifyCMSSignature/Req001.xml new file mode 100644 index 000000000..17c2b0879 --- /dev/null +++ b/common/data/test/xml/VerifyCMSSignature/Req001.xml @@ -0,0 +1,15 @@ + + + 2001-12-17T09:30:47-05:00 + MIIF5QYJKoZIhvcNAQcCoIIF1jCCBdICAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFUaGlzIGlzIGEgbWVzc2FnZaCCA9swggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMxMjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYMKwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzWj8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQADgYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMjI1MTIzMzI1WjAjBgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAoTw/ezMjs4lYuIEWfx3YRHHbOuzgcVtNp97SaViu4GXCoGR6EetYT2ZhNNJq34BkUXV1DTSc1pPRZhkXy5WjpsXX96QDyBjvoev+0NLfdsogNTfVjlcOfBol3+btuwyNz/4KK/owRYsmxqaFKyA3PAgsq4fje2jyxiwtkZWa1eA== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml b/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml new file mode 100644 index 000000000..573677265 --- /dev/null +++ b/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml @@ -0,0 +1,41 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml b/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml new file mode 100644 index 000000000..9752e2b91 --- /dev/null +++ b/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml @@ -0,0 +1,47 @@ + + + 2001-12-17T09:30:47-05:00 + MIIHPwYJKoZIhvcNAQcCoIIHMDCCBywCAQExGTAJBgUrDgMCGgUAMAwGCCqGSIb3DQIFBQAwCwYJ +KoZIhvcNAQcBoIID2zCCA9cwggNEoAMCAQICBgDzJH01OzAJBgUrDgMCHQUAMIGsMQswCQYDVQQG +EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu +c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp +b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQTAeFw0wMzAy +MDMxNjIwNTVaFw0wMzEyMzAyMjU5MzBaMIGYMQswCQYDVQQGEwJBVDEmMCQGA1UEChMdR1JBWiBV +TklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBsaWVkIElu +Zm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRgwFgYDVQQDFA9Jc29sZGUg +QvxyZ2VyaW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOd5tKp4Ojvc1SALidtj7PdV/qXX +YTIgPT9ELrDHsUPkBJH3uN5xBSE6FGd7rqAEBXfp+DFzOg+vLWXLRlOTuFuQKv2xIyOHnyB0tBE4 +c4DQMpqpk/WfSCBIapv9Y4UOEl01t98t1595cdug4k3gKX7bkAd/PGJVfkbPq08hfYkVAgMBAAGj +ggEcMIIBGDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDARBglghkgBhvhCAQEEBAMCBSAw +ZwYDVR0gBGAwXjBcBgwrBgEEAZUSAQJ7AQEwTDBKBggrBgEFBQcCAjA+GjxUaGlzIGNlcnRpZmlj +YXRlIG9ubHkgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMwPAYDVR0fBDUw +MzAxoC+gLYYraHR0cDovL3d3dy5pYWlrLmF0L3Rlc3RDQS9pYWlrX3Rlc3Rfc2lnLmNybDAdBgNV +HQ4EFgQUKDrqCMUvDNaPw02ZCVLNJZzeQO0wHwYDVR0jBBgwFoAUTCCwVgIM94gKloilFLRRzDq1 +8r8wCQYFKw4DAh0FAAOBgQAmPNaPJs2/GArkzIHqZckpuZwJMY7L9U+Z/x889XC30gyWdB8jU1cf +xg7M2Pg8dvDHVvugy6PZ1j0hP+D/pPR1yXv8BMgL+ODq476cxhio6qHN1/L+K8zKOjAUTZbrtJt8 +taZLU1f6uGolg/52xl3a5/wKCgLzkgEN0Hul/nU/9TGCAx4wggG5AgEBMIG3MIGsMQswCQYDVQQG +EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu +c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp +b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQQIGAPMkfTU7 +MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0w +MzAzMDMxNDQyMTNaMCMGCSqGSIb3DQEJBDEWBBSyytIeh9vVfxoZKOQBO1b7VTu4KjANBgkqhkiG +9w0BAQEFAASBgH9XPWNyTcZiKDGu72e58cm/hGLIHc8UZvIda2LClBFRLnTbCRQj4vnPCwmek34C +UGbwpxoK8e/DVfXit1ggk6c/Ce+W6hZOHYaW9lypozvPOuwmyT4wehR+tW0/qfy5OO7VDcHvl5Js +2lXpuDqWzPuvikZjXsNmmV3IuKHRTBfaMIIBXQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNV +BAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3Ig +QXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UE +CxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAMBggqhkiG9w0C +BQUAMA0GCSqGSIb3DQEBAQUABIGAO/8oo+LJbhlUrsbfF/phaqu7MaMcxlBR8F2xsLbvs+YuZ42c +xFwAUN1lGwKY+GvDmB97XQQxnuMGjFDaaBSWmMhlkJ56u7x8lYQhmbD79kMJgOdMcNdJ6nMxf5ZW +yFMx3nKvQgDlF8ReKZsDvmd/vcMMvB+lVEEPkNpHtqGLBAQ= + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml b/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml new file mode 100644 index 000000000..9f8b3c9a4 --- /dev/null +++ b/common/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml @@ -0,0 +1,32 @@ + + + 2001-12-17T09:30:47-05:00 + MIIF5QYJKoZIhvcNAQcCoIIF1jCCBdICAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFU +aGlzIGlzIGEgbWVzc2FnZaCCA9swggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDEL +MAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYD +VQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21t +dW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0Ew +HhcNMDMwMjAzMTYyMDU1WhcNMDMxMjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQP +SXNvbGRlIEL8cmdlcmluMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nb +Y+z3Vf6l12EyID0/RC6wx7FD5ASR97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMj +h58gdLQROHOA0DKaqZP1n0ggSGqb/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2J +FQIDAQABo4IBHDCCARgwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEB +BAQDAgUgMGcGA1UdIARgMF4wXAYMKwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBj +ZXJ0aWZpY2F0ZSBvbmx5IG1heSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwG +A1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5j +cmwwHQYDVR0OBBYEFCg66gjFLwzWj8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaI +pRS0Ucw6tfK/MAkGBSsOAwIdBQADgYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IM +lnQfI1NXH8YOzNj4PHbwx1b7oMuj2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjow +FE2W67SbfLWmS1NX+rhqJYP+dsZd2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDEL +MAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYD +VQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21t +dW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EC +BgDzJH01OzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B +CQUxDxcNMDMwMzAzMTQ0MjEzWjAjBgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCow +DQYJKoZIhvcNAQEBBQAEgYB/Vz1jck3GYigxru9nufHJv4RiyB3PFGbyHWtiwpQRUS502wkUI+L5 +zwsJnpN+AlBm8KcaCvHvw1X14rdYIJOnPwnvluoWTh2GlvZcqaM7zzrsJsk+MHoUfrVtP6n8uTju +1Q3B75eSbNpV6bg6lsz7r4pGY17DZpldyLih0UwX2g== + TrustProfile1 + diff --git a/common/data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml b/common/data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml new file mode 100644 index 000000000..304ac576f --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml @@ -0,0 +1,105 @@ + + + + + + + + + + + + + id('signed-data')/node() + + + + joe8kJGuT6HW64VyPcsGYShbqI4= + + + + + id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties + + + + SMDKSVy/XjV5JUn7V6XHvmazk2A= + + + OELjlPDvKq4WE8PseUz7jhYdfDXl1u/5v150wwLomtBVFgdjoBpcS8DGbinmh/86 +HdH0lsZXDIiaQokxy8kEV68rgo1w9FnVXbrBu6CSGBJlF4jtpJPcMct3Nh4Mus2G +DKe+75vELbvdQQO3OlVlX8n9hYR5Q0OhmJCZkxxvYZo= + + + MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU +MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt +IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU +LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu +Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT +AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox +GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4 +edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/ +t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/ +Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw +JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB +BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv +b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et +c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq +KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv +Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg +ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw +ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl +bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u +bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE +GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B +AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2 +Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL +PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf ++5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW +KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1 +Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA== + + + + + +Information über Wurzelzertifikate + + + + + + + + 2003-04-10T06:29:52Z + + + + + Frhu1o4mL4gQHdJcU0xSA/h4COE= + + + CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT + 6455 + + + + + + + + + + text/html + + + + + + + + + //dsig:Signature + + diff --git a/common/data/test/xml/VerifyXMLSignature/Req000.xml b/common/data/test/xml/VerifyXMLSignature/Req000.xml new file mode 100644 index 000000000..2ed8acff9 --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/Req000.xml @@ -0,0 +1,46 @@ + + + + + 2002-12-01T09:30:47-05:00 + + + + + + + + + + U3Zlbg== + + + U3Zlbg== + + + + //dsig:Signature + + + TrustProfile1 + + + diff --git a/common/data/test/xml/VerifyXMLSignature/Req001.xml b/common/data/test/xml/VerifyXMLSignature/Req001.xml new file mode 100644 index 000000000..7cb71f6d2 --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/Req001.xml @@ -0,0 +1,49 @@ + + + + + 2002-12-01T09:30:47-05:00 + + + + + + + + + + U3Zlbg== + + + U3Zlbg== + + + + anValidXPathExpression + + + + + text/plain + aValidURI + + + U3Zlbg== + + + + aValidSupplementProfileID + aValidTrustProfileID + + + diff --git a/common/data/test/xml/VerifyXMLSignature/Req002.xml b/common/data/test/xml/VerifyXMLSignature/Req002.xml new file mode 100644 index 000000000..a834f1225 --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/Req002.xml @@ -0,0 +1,63 @@ + + + + + 2002-12-01T09:30:47-05:00 + + + + + + + + + + U3Zlbg== + + + U3Zlbg== + + + + anValidXPathExpression + + + + + + + + + + + PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8dGVzdD48L3Rlc3Q+ + + + validID + + + aValidTrustProfileID + + + diff --git a/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml b/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml new file mode 100644 index 000000000..d6e7390e9 --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml @@ -0,0 +1,54 @@ + + + 2003-03-04T13:40:03+01:00 + + + +O3POtgZXrGmw+2btYrduSvptSdo=uBvOjC5KqIE1kJlrmm6BarlFxN5Hw8CIOQirPNQaFhasC8CoRtV6I8nC3ukIfbGv +ZgrB8pAomCB7iRx26ofjKyl853IsJEd8Vba5dDopFMRkgUs5F6p9VWc/P4mtmG2T +PhRggb9/vc385obikEPop1MqlgyPFojyiZrLxeRRtrQ=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + //dsig:Signature + + + TrustProfile1 + diff --git a/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml b/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml new file mode 100644 index 000000000..7178fe842 --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml @@ -0,0 +1,53 @@ + + + + + +O3POtgZXrGmw+2btYrduSvptSdo=uBvOjC5KqIE1kJlrmm6BarlFxN5Hw8CIOQirPNQaFhasC8CoRtV6I8nC3ukIfbGv +ZgrB8pAomCB7iRx26ofjKyl853IsJEd8Vba5dDopFMRkgUs5F6p9VWc/P4mtmG2T +PhRggb9/vc385obikEPop1MqlgyPFojyiZrLxeRRtrQ=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + //dsig:Signature + + + TrustProfile1 + diff --git a/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.006.Req.xml b/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.006.Req.xml new file mode 100644 index 000000000..f1d2829a9 --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/TestGeneratorVX.006.Req.xml @@ -0,0 +1,70 @@ + + + 2003-03-12T18:14:19+01:00 + + + +W3OgtGHJLYYnhOXqmZIW05FU5oo=KRE56cFvvz8z3CO6JGcSLVnfzBk8onz2Ri6P5q+oNLUuP/7Pzl9kImZTophZyDkW +dh70iJ1XOKJM69WKzEtd0MhgGh4JkW6hjoaIxCjPjfE6RhUJpNSdzXSCt3izf+/p +B9dQ6nukJrDJP73qUxtBo/j/tUmbG2sxANwCtvXmHBk=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/12jmj7l5rSw0yVb/vlWAYkK/YBwk=Dies sind Testdaten +daten + + + //dsig:Signature + + + + + + + + + + + + + + + + TrustProfile1 + diff --git a/common/data/test/xml/VerifyXMLSignature/VerifySAMLRequest.xml b/common/data/test/xml/VerifyXMLSignature/VerifySAMLRequest.xml new file mode 100644 index 000000000..49a6e946c --- /dev/null +++ b/common/data/test/xml/VerifyXMLSignature/VerifySAMLRequest.xml @@ -0,0 +1,38 @@ + + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + + + 123456789012 + http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl + + + Hermann + Muster + + 1968-10-22 + + + + + + + + 0v1Ftf7WXgoexx0Jo/GrlExHOHnQIEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EM A6P18Z/YyTIuP7fNGzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7a f2daYYuO8dycQw3xg6U= + AQAB + + + + + + + i2qa56X4fpYeXqFLXAcQljGU3+DWnVgNrAxI9gn2bMeFWtLXE2SFa6qvl9EymUl0noBlFn0q9DWp AsyeLnRhzCAXJeSxiwsUEloOvcQCV0DfW2UVq0Y9bVlJ8KifJ2AS+5BxZ21mkc/VYx5Qz6EYjPrn pIpdAwR9sw5xnIvTySc= + AQAB + + + +not(ancestor-or-self::pr:Identification)s7TfoZrYo36OMdlxGxuIfAw/wr8=ancestor-or-self::dsig:ManifestdO+RSn4xLHT3cuq8uopFtZyUBqo=MFbZ5wA5cq0UezYFDXted5uqXubWFxxRwZawGh73XEAGxAbJsT/IEQmrTQThPRHNWW5RPGxVlPDz 5BmjberdaWlgJlbyKf3b/WpNNJYptQ7ijrXlsQoCzjfiQy37NEfvHEcxHQOA6sa42C+dFKsKIvmP 3mZkRYWJDxxsVzI7E+Y=MIIDaDCCAtWgAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTE5NDRaFw0w MzEyMzEyMjU5MzBaMIGOMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxGzAZBgNVBAMTEk1PQSBU ZXN0IENBIC0gUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjHuFphE3 +UkTe2OcIFWUDLzhPl1j2dH4sMPAhDK09/0i+aWrdtQW9yHktu/7+LTiCiPeevT0 lGMGDcWMSoSm66tYmpxei6YojCFIaVdJFtXZ7x1o7e7jTDVRLMfdZ5lI1sQ7loIY hOE0OmlYOkn4AI6xMtJtsca45rV8wW7qm8kCAwEAAaOB2zCB2DAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAnsB ATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxy IFRlc3R6d2Vja2UgZ2VlaWduZXQuMB0GA1UdDgQWBBRDC612dCgZetTmAKyV6DII NkOoYTAWBgcqKAAKAQEBBAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZ etTmAKyV6DIINkOoYTAJBgUrDgMCHQUAA4GBAHj0xBNWGYLijaocjOX1AkL+r+G2 fZsX4z3S/2eEvtUp+EUHaOPMLTS0MIP1nwj5f4ZluAIrDLXihqMdi4xRv0W6QYbN aDxICNz3/QbrzMlFPeC8odesdRlT+GGswX0ZGUtVIZm1HVhxRk5ZEW2pr2afo5c0 Btxup/kgjGMnnS7CMIIDiTCCAvagAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTI1MTRaFw0w MzEyMzEyMjU5MzBaMIGZMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxJjAkBgNVBAMTHU1PQSBU ZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCw7ULOYSNji09Ein7Ar4j3Rjxjq05spBmZDmbSomEZMnGEtVTyIRzKc8ia 2kcXUMz5MEoFaVmvqRim31m20T21uvHFIs86gqzC/prOAz7V7HWok5F+9M/5gR1S BvpdqiEAXYeRXFPiOe8XSmpwhic7+n2jfuoBeYiRBEMGoP1DkwIDAQABo4HxMIHu MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMBEGCWCGSAGG+EIB AQQEAwIBAjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwIC MDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2Vl aWduZXQuMB0GA1UdDgQWBBSeRWvUfxEjKZSfxImJr/fpBDtMmTAWBgcqKAAKAQEB BAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZetTmAKyV6DIINkOoYTAJ BgUrDgMCHQUAA4GBAIMa4C2z3SbkcjEiMNAsHKaKUCJkBbMtNaab6U/cwwYmG6nl ga7xyEmbfY2SKzOqkcIwuv83Tma3rcr1f+OLUeGUaGLHt2Pl1a/s8BZGQZHWvLXv 7hV4RceEUHzVGAfvDD8iBJqBmfq/z/fBPFsgSup4nO1YECkDYfQ+sqCIP4ikMIIDZzCCAtSgAwIBAgIBADAJBgUrDgMCHQUAMIGZMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx JjAkBgNVBAMTHU1PQSBUZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMB4XDTAzMDIx MTE1MzI0NVoXDTAzMDgxMTE0MzI0NVowgYUxCzAJBgNVBAYTAkFUMSYwJAYDVQQK FB1CdW5kZXNtaW5pc3Rlcml1bSBm/HIgSW5uZXJlczEgMB4GA1UECxMXWmVudHJh bGVzIE1lbGRlcmVnaXN0ZXIxLDAqBgNVBAMTI1Rlc3QgU2lnbmF0dXJkaWVuc3Qg UGVyc29uZW5iaW5kdW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEzkpk QjbGjZwssN1+vMBE/ALMcA8LWFcILI3uxXaTSWGfTiLo9ECfzjuwYJG7FjEaeWrW nPEcp4VfMNocrm3T7Hw/ikpE5/+FsfTzD4MpIwwUPd/CUfA5vDNXK5CiP7qKKR1e vATO2s6lfDul+CS/eEbwzKmUQvZGrJggxg2m5wIDAQABo4HYMIHVMAwGA1UdEwEB /wQCMAAwDgYDVR0PAQH/BAQDAgbAMF0GA1UdIARWMFQwUgYMKwYBBAGVEgECAwEB MEIwQAYIKwYBBQUHAgIwNBoyRGllc2VzIFplcnRpZmlrYXQgaXN0IG51ciBm/HIg VGVzdHp3ZWNrZSBnZWVpZ25ldC4wHQYDVR0OBBYEFIpEyv43H3EtiGr4I7Z34bWj v2z6MBYGByooAAoBAQEECwwJQk1PTFMtSUtUMB8GA1UdIwQYMBaAFJ5Fa9R/ESMp lJ/EiYmv9+kEO0yZMAkGBSsOAwIdBQADgYEAfMBJRy/kp8HQa0lGIBfFrWNpxVPv RsIu+N4IiFrswrsoQoMAh6IqNyzSdq7rJC08xsDkXe5HOwkb+2zGKYoC3aQ/J/zr BGkg6ec4tOaS/VSdEQeTL1L30r2faTffWLUV3GrzL7pM7jN470hB1w8F6Hc3LCI7 kFfp23o/juVtJNw=BqzfCB7dNg4G3u4YaxpD1tALdKI= //dsig:Signature TrustProfile1 diff --git a/common/lib/commons-logging-1.0.2/commons-logging-api.jar b/common/lib/commons-logging-1.0.2/commons-logging-api.jar new file mode 100644 index 000000000..d6ad90330 Binary files /dev/null and b/common/lib/commons-logging-1.0.2/commons-logging-api.jar differ diff --git a/common/lib/commons-logging-1.0.2/commons-logging.jar b/common/lib/commons-logging-1.0.2/commons-logging.jar new file mode 100644 index 000000000..aca1e4132 Binary files /dev/null and b/common/lib/commons-logging-1.0.2/commons-logging.jar differ diff --git a/common/lib/iaik-ecc/iaik_ecc.jar b/common/lib/iaik-ecc/iaik_ecc.jar new file mode 100644 index 000000000..c4771bbe8 Binary files /dev/null and b/common/lib/iaik-ecc/iaik_ecc.jar differ diff --git a/common/lib/iaik-jce-3.01/iaik_jce_full.jar b/common/lib/iaik-jce-3.01/iaik_jce_full.jar new file mode 100644 index 000000000..e560d2621 Binary files /dev/null and b/common/lib/iaik-jce-3.01/iaik_jce_full.jar differ diff --git a/common/lib/jaxen-1.0/jaxen-core.jar b/common/lib/jaxen-1.0/jaxen-core.jar new file mode 100644 index 000000000..e52bf679c Binary files /dev/null and b/common/lib/jaxen-1.0/jaxen-core.jar differ diff --git a/common/lib/jaxen-1.0/jaxen-dom.jar b/common/lib/jaxen-1.0/jaxen-dom.jar new file mode 100644 index 000000000..1a9926357 Binary files /dev/null and b/common/lib/jaxen-1.0/jaxen-dom.jar differ diff --git a/common/lib/jaxen-1.0/saxpath.jar b/common/lib/jaxen-1.0/saxpath.jar new file mode 100644 index 000000000..2b43955ba Binary files /dev/null and b/common/lib/jaxen-1.0/saxpath.jar differ diff --git a/common/lib/jaxp-1.2_01/dom.jar b/common/lib/jaxp-1.2_01/dom.jar new file mode 100644 index 000000000..f91f80a8b Binary files /dev/null and b/common/lib/jaxp-1.2_01/dom.jar differ diff --git a/common/lib/jaxp-1.2_01/jaxp-api.jar b/common/lib/jaxp-1.2_01/jaxp-api.jar new file mode 100644 index 000000000..7a3295ee6 Binary files /dev/null and b/common/lib/jaxp-1.2_01/jaxp-api.jar differ diff --git a/common/lib/jaxp-1.2_01/sax.jar b/common/lib/jaxp-1.2_01/sax.jar new file mode 100644 index 000000000..9ffb844e5 Binary files /dev/null and b/common/lib/jaxp-1.2_01/sax.jar differ diff --git a/common/lib/jsse-1.0.3_01/jcert.jar b/common/lib/jsse-1.0.3_01/jcert.jar new file mode 100644 index 000000000..d33134214 Binary files /dev/null and b/common/lib/jsse-1.0.3_01/jcert.jar differ diff --git a/common/lib/jsse-1.0.3_01/jnet.jar b/common/lib/jsse-1.0.3_01/jnet.jar new file mode 100644 index 000000000..e1d340093 Binary files /dev/null and b/common/lib/jsse-1.0.3_01/jnet.jar differ diff --git a/common/lib/jsse-1.0.3_01/jsse.jar b/common/lib/jsse-1.0.3_01/jsse.jar new file mode 100644 index 000000000..123188c5e Binary files /dev/null and b/common/lib/jsse-1.0.3_01/jsse.jar differ diff --git a/common/lib/junit-3.8.1/junit.jar b/common/lib/junit-3.8.1/junit.jar new file mode 100644 index 000000000..674d71e89 Binary files /dev/null and b/common/lib/junit-3.8.1/junit.jar differ diff --git a/common/lib/xalan-j-2.2/xalan.jar b/common/lib/xalan-j-2.2/xalan.jar new file mode 100644 index 000000000..8dd6dca25 Binary files /dev/null and b/common/lib/xalan-j-2.2/xalan.jar differ diff --git a/common/lib/xerces-j-2.0.2/xercesImpl.jar b/common/lib/xerces-j-2.0.2/xercesImpl.jar new file mode 100644 index 000000000..f25d73cd7 Binary files /dev/null and b/common/lib/xerces-j-2.0.2/xercesImpl.jar differ diff --git a/common/lib/xerces-j-2.0.2/xmlParserAPIs.jar b/common/lib/xerces-j-2.0.2/xmlParserAPIs.jar new file mode 100644 index 000000000..c1fa1d645 Binary files /dev/null and b/common/lib/xerces-j-2.0.2/xmlParserAPIs.jar differ diff --git a/common/res/resources/properties/common_messages_de.properties b/common/res/resources/properties/common_messages_de.properties new file mode 100644 index 000000000..ac05b7996 --- /dev/null +++ b/common/res/resources/properties/common_messages_de.properties @@ -0,0 +1,16 @@ +# 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. + + +# +# Messages private to the MOA common subsystem +# + +parser.00=Leichter Fehler beim Parsen: {0}, SystemID={1}, Zeile={2}, Spalte={3} +parser.01=Fehler beim Parsen: {0}, SystemID={1}, Zeile={2}, Spalte={3} +parser.02=Schwerer Fehler beim Parsen: {0}, SystemID={1}, Zeile={2}, Spalte={3} + +xpath.00=Fehler beim Auswerten des XPath-Ausdruckes: {0} + +datetime.00=Fehler beim Parsen der DateTime \ No newline at end of file diff --git a/common/res/resources/schemas/Core.20020225.xsd b/common/res/resources/schemas/Core.20020225.xsd new file mode 100644 index 000000000..2797cf612 --- /dev/null +++ b/common/res/resources/schemas/Core.20020225.xsd @@ -0,0 +1,399 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/Core.20020831.xsd b/common/res/resources/schemas/Core.20020831.xsd new file mode 100644 index 000000000..6ec40be63 --- /dev/null +++ b/common/res/resources/schemas/Core.20020831.xsd @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/ECDSAKeyValue.xsd b/common/res/resources/schemas/ECDSAKeyValue.xsd new file mode 100644 index 000000000..833d327f2 --- /dev/null +++ b/common/res/resources/schemas/ECDSAKeyValue.xsd @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/MOA-ID-Configuration-1.1.xsd b/common/res/resources/schemas/MOA-ID-Configuration-1.1.xsd new file mode 100644 index 000000000..50c77a401 --- /dev/null +++ b/common/res/resources/schemas/MOA-ID-Configuration-1.1.xsd @@ -0,0 +1,305 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter der Authentisierungs-Komponente + + + + + enthält Konfigurationsparameter der Proxy-Komponente + + + + + + enthält Parameter für die Kommunikation zw. Proxykomponente und Authenttisierungskomponente + + + + + + enthält Parameter für die SOAP-Verbindung von der Proxy-Komponente zur Auth-Komponente (vgl. AuthComponent/MOA-SP/ConnectionParameter) + + + + + + + + + + + enthält Parameter für die OA + + + + + + + + + + + + spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung + + + + + + ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden + + + + + + + + + + + + + + + + verweist auf ein Verzeichnis, das vertrauenswürdige CA (Zwischen-CA, Wurzel-CA) Zertifikate enthält. + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter für die Kommunikation mit dem Security-Layer + + + + + + das Attribut filename verweist auf eine Datei mit globalem Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks inkludiert + + + + + + + + + + + enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA SP Modul + + + + + + enthält Parameter für die SOAP-Verbindung von der AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben werden; wird das Element nicht verwendet dann wird MOA-SP über das API aufgerufen + + + + + enthält Parameter für die Ãœberprüfung der Personenbindung + + + + + + + + + + enthält Parameter für die Ãœberprüfung des AUTH-Blocks + + + + + + + + + + + + + + enthält Informationen über akzeptierte Signers des IdentityLinks + + + + + + akzeptierte Signer des IdentityLinks werden per X509SubjectName (Kodierung nach RFC 2253) identifiziert + + + + + + + + + + + + + enthält Parameter über die OA, die die Authentisierungs-Komponente betreffen + + + + + + + + + + enthält Parameter über die OA, die die Proxy-Komponente betreffen + + + + + + enthält Parameter über die OA, die die Proxy-Komponente betreffen + + + + + + + + + + + + + + + + URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der TLS-Verbindung enthält (keine CA-Zertifikate) + + + + + + + + + + + + URL zu einem KeyStore, der den privaten Schlüssel, der für die TLS-Client-Authentisierung verwendetwird, enthält + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/MOA-SPSS-1.1.xsd b/common/res/resources/schemas/MOA-SPSS-1.1.xsd new file mode 100644 index 000000000..809842cf9 --- /dev/null +++ b/common/res/resources/schemas/MOA-SPSS-1.1.xsd @@ -0,0 +1,430 @@ + + + + + + + + + + + + + + + + + + + + + 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/common/res/resources/schemas/MOA-SPSS-Configuration-1.0.xsd b/common/res/resources/schemas/MOA-SPSS-Configuration-1.0.xsd new file mode 100644 index 000000000..8eb488f48 --- /dev/null +++ b/common/res/resources/schemas/MOA-SPSS-Configuration-1.0.xsd @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dient zum Konfigurieren von HW Crypto-Module via PKCS#11 (s. iaik.server.modules.crypto.HarwwareCryptoModuleConfiguration) + + + + + + + + + + dient zum Konfigurieren von HW Key-Module via PKCS#11 (s. iaik.server. modules.crypto.HardwareKeyModuleConfiguration + + + + + + + + + + + dient zum Konfigurieren von SW Key-Module via PKCS#12 Dateien (s. iaik. server.modules.crypto.SoftwareKeyModuleConfiguration + + + + + + + + + + definiert eine Gruppe von Keys + + + + + + Ein Schlüssel wird bezeichnet durch ein Tripel bestehend aus der ID des KeyModules (siehe z.B. SoftwareKeyModule/@id), sowie Issuer und Seriennummer des zum Schlüssel gehörigen Zertifikats + + + + + + + + + + + + + + + ordnet oben definierte KeyGroups Online-Applikationen zu, die diese KeyGroups verwenden dürfen + + + + + + wenn das Element nicht auftritt, dann können die zugeordneten KeyGroups von allen Online-Applikationen verwendet werden + + + + + + + + + + + + + spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung + + + + + + ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden + + + + + + + + + + + + + + + + spezifiziert die Dauer, die Revozierungsinformation archiviert werden muss in Tagen + + + + + + + + spezifiziert CRL Distribution Points + + + + + + spezifiziert die CA, für die der u.a. DP verwendet werden soll + + + + + das Attribut reasonCodes enthält eine Liste von möglichen reasonCodes lt. RFC 3280: unspecified, keyCompromise, cACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold, removeFromCRL, privilegeWithdrawn, aACompromise + + + + + + + + + + + + + ordnet eine Datei, die ein CreateTransformsInfoProfile-Element enthält, einer id zu + + + + + + + + + ordnet eine Datei, die ein CreateSignatureEnvironmentProfile-Element enthält, einer id zu + + + + + + + + + ordnet eine Datei, die ein VerifyTransformsInfoProfile-Element enthält, einer id zu + + + + + + + + + ordnet eine Datei, die ein SupplementProfile-Element enthält, einer id zu + + + + + + + + + ordnet ein Verzeichnis, das vertrauenswürdige Zertifikate enthält einer id zu + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/PersonData.xsd b/common/res/resources/schemas/PersonData.xsd new file mode 100644 index 000000000..0e3bc6b3b --- /dev/null +++ b/common/res/resources/schemas/PersonData.xsd @@ -0,0 +1,426 @@ + + + + + + + + + + + + + unique identifier + + + + + actual value of the identifier. + + + + + + + + + + + + type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...) + + + + + authority, which is reponsible for generation of the identifier (eg university in case of 'MatrikelNummer') + + + + + any additional properties + + + + + + + + + + element of person type + + + + + main structure of person data + + + + + unique identification entities + + + + + + + + + + element of physical person type + + + + + physical person + + + + + + + data related to the person's name + + + + + Former name, Artist name, changes of Given name ... + + + + + + + + + + + + status of a person in the cycle of life + + + + + gender + + + + + date of birth + + + + + place of birth + + + + + country of birth + + + + + nationality of Person (Staatsbürgerschaft) + + + + + confession (religion) of Person + + + + + relatives (parents, ...) + + + + + + type of the relationship + + + + + + + + + any additional properties + + + + + + + + + element of corporate body type + + + + + juridical person, organisation + + + + + + + category (eg organisation, function, sector, ...) + + + + + name of corporate body (whole name) + + + + + alternative names of corporate body (abbreviations, short name, synonyms, ...) + + + + + type of company (eg AG, OHG, ...) + + + + + part of an organisation, see also X.500 ou (eg departement, section, branch, ...) + + + + + any additional properties + + + + + + + + + + element of signed person datastructure type + + + + + signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements). + + + + + + + + + one or more electronic signatures applied on fields above + + + + + + + + any additional properties + + + + + + + + + + + + + simple type for sex (gender) of person + + + + + + + + + + simple type for dates (union), which may omit day and/or month + + + + + + simple type for marital status of a person + + + + + + + + + + + pattern type for enlargement of type definitions + + + + + + + + known relations (family + functional) + + + + + + + + + + + + + + + + known + any other relation + + + + + + known types of alternative names + + + + + + + + + + + + known + any other alternative name types + + + + + + + element of address type + + + + + main structure of address data + + + + + unique identification entities + + + + + + + + + element of postal address type + + + + + postal address + + + + + + + type of address - category (eg 'Wohnsitz', 'Zentrale', ...) + + + + + + any additional properties + + + + + + + + + element of telephone address type + + + + + phone numbers + + + + + + + type of phononumber - category (eg 'Festnetz', 'Mobile', 'fax', ...) + + + + + phonenumber + + + + + any additional properties + + + + + + + + + element of internet address type + + + + + internet based communication + + + + + + + certificate for secure communication + + + + + email-Address, Web, FTP, LDAP, ... + + + + + any additional properties + + + + + + + diff --git a/common/res/resources/schemas/PersonName-1_2.xsd b/common/res/resources/schemas/PersonName-1_2.xsd new file mode 100644 index 000000000..347ed3d7f --- /dev/null +++ b/common/res/resources/schemas/PersonName-1_2.xsd @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/PostalAddress-1_2.xsd b/common/res/resources/schemas/PostalAddress-1_2.xsd new file mode 100644 index 000000000..b3d89abbb --- /dev/null +++ b/common/res/resources/schemas/PostalAddress-1_2.xsd @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/TelcomNumber-1_0.xsd b/common/res/resources/schemas/TelcomNumber-1_0.xsd new file mode 100644 index 000000000..f89702aeb --- /dev/null +++ b/common/res/resources/schemas/TelcomNumber-1_0.xsd @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/XMLSchema-instance.xsd b/common/res/resources/schemas/XMLSchema-instance.xsd new file mode 100644 index 000000000..f47577b8a --- /dev/null +++ b/common/res/resources/schemas/XMLSchema-instance.xsd @@ -0,0 +1,37 @@ + + + + + + + +]> + + + +

XML Schema instance namespace

+

See the XML Schema + Recommendation for an introduction

+ + +
+ $Date: 2001/03/16 20:25:57 $
+ $Id: XMLSchema-instance.xsd,v 1.4 2001/03/16 20:25:57 ht Exp $ +
+
+ +

This schema should never be used as such: + the XML + Schema Recommendation forbids the declaration of + attributes in this namespace

+
+
+ + + + + +
diff --git a/common/res/resources/schemas/XMLSchema.dtd b/common/res/resources/schemas/XMLSchema.dtd new file mode 100644 index 000000000..e8e8f7625 --- /dev/null +++ b/common/res/resources/schemas/XMLSchema.dtd @@ -0,0 +1,402 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +%xs-datatypes; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/cs-sstc-schema-assertion-01.xsd b/common/res/resources/schemas/cs-sstc-schema-assertion-01.xsd new file mode 100644 index 000000000..8bc5af147 --- /dev/null +++ b/common/res/resources/schemas/cs-sstc-schema-assertion-01.xsd @@ -0,0 +1,194 @@ + + + + + + + Document identifier: cs-sstc-schema-assertion-01 + Location: http://www.oasis-open.org/committees/security/docs/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/cs-sstc-schema-protocol-01.xsd b/common/res/resources/schemas/cs-sstc-schema-protocol-01.xsd new file mode 100644 index 000000000..ecad05b0f --- /dev/null +++ b/common/res/resources/schemas/cs-sstc-schema-protocol-01.xsd @@ -0,0 +1,127 @@ + + + + + + + + Document identifier: cs-sstc-schema-protocol-01 + Location: http://www.oasis-open.org/committees/security/docs/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/datatypes.dtd b/common/res/resources/schemas/datatypes.dtd new file mode 100644 index 000000000..8e48553be --- /dev/null +++ b/common/res/resources/schemas/datatypes.dtd @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/exclusive-canonicalization.xsd b/common/res/resources/schemas/exclusive-canonicalization.xsd new file mode 100644 index 000000000..57338b763 --- /dev/null +++ b/common/res/resources/schemas/exclusive-canonicalization.xsd @@ -0,0 +1,22 @@ + + + + + + + + \ No newline at end of file diff --git a/common/res/resources/schemas/xml.xsd b/common/res/resources/schemas/xml.xsd new file mode 100644 index 000000000..79dbc02ba --- /dev/null +++ b/common/res/resources/schemas/xml.xsd @@ -0,0 +1,83 @@ + + + + + + + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + + + + + This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang or xml:space attributes + on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes + + + + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2001/03/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself. In other words, if the XML Schema namespace changes, the version + of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2001/03/xml.xsd will not change. + + + + + + In due course, we should install the relevant ISO 2- and 3-letter + codes as the enumerated possible values . . . + + + + + + + + + + + + + + + See http://www.w3.org/TR/xmlbase/ for + information about this attribute. + + + + + + + + + + diff --git a/common/res/resources/schemas/xmldsig-core-schema.xsd b/common/res/resources/schemas/xmldsig-core-schema.xsd new file mode 100644 index 000000000..a7e302373 --- /dev/null +++ b/common/res/resources/schemas/xmldsig-core-schema.xsd @@ -0,0 +1,264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/res/resources/schemas/xmldsig-filter2.xsd b/common/res/resources/schemas/xmldsig-filter2.xsd new file mode 100644 index 000000000..330eafd19 --- /dev/null +++ b/common/res/resources/schemas/xmldsig-filter2.xsd @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/src/at/gv/egovernment/moa/logging/LogMsg.java b/common/src/at/gv/egovernment/moa/logging/LogMsg.java new file mode 100644 index 000000000..4d04fc72d --- /dev/null +++ b/common/src/at/gv/egovernment/moa/logging/LogMsg.java @@ -0,0 +1,43 @@ +package at.gv.egovernment.moa.logging; + +/** + * A unified message type to log messages from inside the MOA subsystem. + * + * @author Patrick Peck + * @version $Id$ + */ +public class LogMsg { + /** The message to log. */ + private Object message; + + /** + * Create a LogMsg object. + * + * @param message The actual message to log. May be null. + */ + public LogMsg(Object message) { + 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(); + LoggingContext ctx = + LoggingContextManager.getInstance().getLoggingContext(); + String tid = ctx != null ? ctx.getTransactionID() : null; + String nodeId = ctx != null ? ctx.getNodeID() : null; + + msg.append("TID="); + msg.append(tid != null ? tid : ""); + msg.append(" NID="); + msg.append(nodeId != null ? nodeId : ""); + msg.append(" MSG="); + msg.append(message != null ? message.toString() : ""); + + return msg.toString(); + } +} diff --git a/common/src/at/gv/egovernment/moa/logging/Logger.java b/common/src/at/gv/egovernment/moa/logging/Logger.java new file mode 100644 index 000000000..eb7aa5634 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/logging/Logger.java @@ -0,0 +1,175 @@ +package at.gv.egovernment.moa.logging; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * A utility class acting as a facade to the logging subsystem. + * + * Configure the logging defaultHierarchy that the Logger uses by + * calling setHierarchy once before calling any of the logging + * output functions. + * + * @author Patrick Peck + * @version $Id$ + */ +public class Logger { + + /** The default logging hierarchy. */ + private static String defaultHierarchy = ""; + + /** + * Get the Log object for the default hierarchy. + * + * @return The Log object to write log messages to. + */ + private static Log getLog() { + return LogFactory.getLog(defaultHierarchy); + } + + /** + * Get the Log object for a given hierarchy. + * + * @param hierarchy The logging hierarchy for which to return the logger. + * @return The Log object to write log messages to. + */ + private static Log getLog(String hierarchy) { + return LogFactory.getLog(hierarchy); + } + + /** + * Set the default hierarchy to which the Logger should send its + * logging output. + * @param hierarchy The logging defaultHierarchy. + */ + public static void setHierarchy(String hierarchy) { + defaultHierarchy = hierarchy; + } + + /** + * Test, if the trace log level is enabled. + * + * @return boolean true, if tracing output is enabled + * false otherwise. + */ + public static boolean isTraceEnabled() { + return getLog().isTraceEnabled(); + } + + /** + * Test, if the trace log level is enabled for a given hierarchy. + * + * @param hierarchy requested log hierarchy + * @return boolean true, if tracing output is enabled + * false otherwise. + */ + public static boolean isTraceEnabled(String hierarchy) { + return getLog(hierarchy).isTraceEnabled(); + } + + /** + * Trace a message. + * + * @param message The message to trace. + */ + public static void trace(Object message) { + getLog().trace(message); + } + + /** + * Test, if the debug log level is enabled. + * + * @return boolean true, if debug output is enabled + * false otherwise. + */ + public static boolean isDebugEnabled() { + return getLog().isDebugEnabled(); + } + + /** + * Test, if the debug log level is enabled for a given hierarchy. + * + * @param hierarchy requested log hierarchy + * @return boolean true, if debug output is enabled + * false otherwise. + */ + public static boolean isDebugEnabled(String hierarchy) { + return getLog(hierarchy).isDebugEnabled(); + } + + /** + * Log a debug message. + * + * @param message The message to log. + */ + public static void debug(Object message) { + getLog().debug(message); + } + + /** + * Log an info message. + * + * @param message The message to log. + */ + public static void info(Object message) { + getLog().info(message); + } + + /** + * Log a warning message. + * + * @param message The message to log. + */ + public static void warn(Object message) { + getLog().warn(message); + } + + /** + * Log a warning message. + * + * @param message The message to log. + * @param t An exception that may be the cause of the warning. + */ + public static void warn(Object message, Throwable t) { + getLog().warn(message, t); + } + + /** + * Log an error message. + * + * @param message The message to log. + */ + public static void error(Object message) { + getLog().error(message); + } + + /** + * Log an error message. + * + * @param message The message to log. + * @param t An exception that may be the cause of the error. + */ + public static void error(Object message, Throwable t) { + getLog().error(message, t); + } + + /** + * Log a fatal error message. + * + * @param message The message to log. + */ + public static void fatal(Object message) { + getLog().fatal(message); + } + + /** + * Log a fatal error message. + * + * @param message The message to log. + * @param t An exception that may be the cause of the error. + */ + public static void fatal(Object message, Throwable t) { + getLog().fatal(message, t); + } + +} diff --git a/common/src/at/gv/egovernment/moa/logging/LoggingContext.java b/common/src/at/gv/egovernment/moa/logging/LoggingContext.java new file mode 100644 index 000000000..42d8db06e --- /dev/null +++ b/common/src/at/gv/egovernment/moa/logging/LoggingContext.java @@ -0,0 +1,46 @@ +package at.gv.egovernment.moa.logging; + +/** + * Encapsulates contextual information (i.e. per request information) for + * logging purposes. + * + * @author Patrick Peck + * @version $Id$ + */ +public class LoggingContext { + /** The name of the node ID system property. */ + public static final String NODE_ID_PROPERTY = "moa.node-id"; + + /** The current transaction ID. */ + private String transactionID; + /** The node ID. */ + private String nodeID; + + /** + * Create a new LoggingContext. + * + * @param transactionID The transaction ID. May be null. + */ + public LoggingContext(String transactionID) { + this.transactionID = transactionID; + this.nodeID = System.getProperty(NODE_ID_PROPERTY); + } + + /** + * Return the transaction ID. + * + * @return The transaction ID. + */ + public String getTransactionID() { + return transactionID; + } + + /** + * Return the node ID. + * + * @return The node ID. + */ + public String getNodeID() { + return nodeID; + } +} diff --git a/common/src/at/gv/egovernment/moa/logging/LoggingContextManager.java b/common/src/at/gv/egovernment/moa/logging/LoggingContextManager.java new file mode 100644 index 000000000..2bbe6caa1 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/logging/LoggingContextManager.java @@ -0,0 +1,56 @@ +package at.gv.egovernment.moa.logging; + +/** + * Provides each thread with a single instance of LoggingContext. + * + * @author Patrick Peck + * @version $Id$ + */ +public class LoggingContextManager { + /** The single instance of this class. */ + private static LoggingContextManager instance = null; + + /** The LoggingContext for each thread. */ + private ThreadLocal context; + + /** + * Get the single instance of the LoggingContextManager class. + * + * @return LoggingContextManager The single instance. + */ + public static synchronized LoggingContextManager getInstance() { + if (instance == null) { + instance = new LoggingContextManager(); + } + return instance; + } + + /** + * Creates a new LoggingContextManager. + * + * Protected to disallow direct instantiation. + */ + protected LoggingContextManager() { + context = new ThreadLocal(); + } + + /** + * Set the LoggingContext context for the current thread. + * + * @param ctx The LoggingContext for the current thread. + */ + public void setLoggingContext(LoggingContext ctx) { + context.set(ctx); + } + + /** + * Return the LoggingContext for the current thread. + * + * @return LoggingContext The LoggingContext for the current + * thread, or null if none has been set. + */ + public LoggingContext getLoggingContext() { + return (LoggingContext) context.get(); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/Base64Utils.java b/common/src/at/gv/egovernment/moa/util/Base64Utils.java new file mode 100644 index 000000000..ba2c4fb0e --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/Base64Utils.java @@ -0,0 +1,109 @@ +package at.gv.egovernment.moa.util; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; + +import iaik.utils.Base64InputStream; +import iaik.utils.Base64OutputStream; + +/** + * Utitility functions for encoding/decoding Base64 strings. + * + * @author Patrick Peck + * @version $Id$ + */ +public class Base64Utils { + + /** + * Read the bytes encoded in a Base64 encoded String. + * + * @param base64String The String containing the Base64 encoded + * bytes. + * @param ignoreInvalidChars Whether to ignore invalid Base64 characters. + * @return byte[] The raw bytes contained in the base64String. + * @throws IOException Failed to read the Base64 data. + */ + public static byte[] decode(String base64String, boolean ignoreInvalidChars) + throws IOException { + + Base64InputStream in = + new Base64InputStream( + new ByteArrayInputStream(base64String.getBytes("UTF-8")), + ignoreInvalidChars); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + byte[] bytes = new byte[256]; + int bytesRead; + + while ((bytesRead = in.read(bytes)) > 0) { + out.write(bytes, 0, bytesRead); + } + + return out.toByteArray(); + } + + /** + * Read the bytes encoded in a Base64 encoded String and provide + * them via an InputStream. + * + * @param base64String The String containing the Base64 encoded + * bytes. + * @param ignoreInvalidChars Whether to ignore invalid Base64 characters. + * @return The InputStream from which the binary content of the + * base64String can be read. + */ + public static InputStream decodeToStream( + String base64String, + boolean ignoreInvalidChars) { + + try { + ByteArrayInputStream bin = + new ByteArrayInputStream(base64String.getBytes("UTF-8")); + Base64InputStream in = new Base64InputStream(bin, ignoreInvalidChars); + + return in; + } catch (UnsupportedEncodingException e) { + // cannot occur, since UTF-8 is required to be supported by every JRE + return null; + } + } + + /** + * Convert a byte array to a Base64 encoded String. + * + * @param bytes The bytes to encode. + * @return String The Base64 encoded representation of the bytes. + * @throws IOException Failed to write the bytes as Base64 data. + */ + public static String encode(byte[] bytes) throws IOException { + return encode(new ByteArrayInputStream(bytes)); + } + + /** + * Convert the data contained in the given stream to a Base64 encoded + * String. + * + * @param inputStream The stream containing the data to encode. + * @return The Base64 encoded data of inputStream, as a + * String. + * @throws IOException Failed to convert the data in the stream. + */ + public static String encode(InputStream inputStream) throws IOException { + ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); + Base64OutputStream base64Stream = new Base64OutputStream(byteStream); + byte[] bytes = new byte[256]; + int bytesRead; + + while ((bytesRead = inputStream.read(bytes)) > 0) { + base64Stream.write(bytes, 0, bytesRead); + } + base64Stream.flush(); + base64Stream.close(); + inputStream.close(); + + return byteStream.toString("UTF-8"); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/BoolUtils.java b/common/src/at/gv/egovernment/moa/util/BoolUtils.java new file mode 100644 index 000000000..fcd39b4dd --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/BoolUtils.java @@ -0,0 +1,24 @@ +package at.gv.egovernment.moa.util; + +/** + * Utility class for parsing XML schema boolean values. + * + * @author Patrick Peck + * @version $Id$ + */ +public class BoolUtils { + + /** + * Return the boolean value of an xsd:boolean type of DOM + * element/attribute. + * + * @param boolStr The value of the xsd:boolean element/attribute. + * @return true, if boolStr equals + * "true" or "1;". Otherwise, + * false is returned. + */ + public static boolean valueOf(String boolStr) { + return "true".equals(boolStr) || "1".equals(boolStr); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/CollectionUtils.java b/common/src/at/gv/egovernment/moa/util/CollectionUtils.java new file mode 100644 index 000000000..5329dcbd2 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/CollectionUtils.java @@ -0,0 +1,36 @@ +package at.gv.egovernment.moa.util; + +import java.util.Iterator; +import java.util.List; + +/** + * Various utility methods for dealing with java.util.Collection + * classes. + * + * @author Patrick Peck + * @version $Id$ + */ +public class CollectionUtils { + + /** + * Convert a List of Number objects to an + * int array. + * + * @param nums The List containing the numbers whose integer + * value to put into the result. + * @return The int values of the Numbers contained + * in nums. + */ + public static int[] toIntArray(List nums) { + int[] result = new int[nums.size()]; + Iterator iter; + int i; + + for (i = 0, iter = nums.iterator(); iter.hasNext(); i++) { + Number num = (Number) iter.next(); + result[i] = num.intValue(); + } + + return result; + } +} diff --git a/common/src/at/gv/egovernment/moa/util/Constants.java b/common/src/at/gv/egovernment/moa/util/Constants.java new file mode 100644 index 000000000..681bed55b --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/Constants.java @@ -0,0 +1,218 @@ +package at.gv.egovernment.moa.util; + +/** + * Contains various constants used throughout the system. + * + * @author Patrick Peck + * @version $Id$ + */ +public interface Constants { + /** Root location of the schema files. */ + public static final String SCHEMA_ROOT = "/resources/schemas/"; + + /** URI of the MOA XML namespace. */ + public static final String MOA_NS_URI = + "http://reference.e-government.gv.at/namespace/moa/20020822#"; + + /** Prefix used for the MOA XML namespace */ + public static final String MOA_PREFIX = "moa"; + + /** Local location of the MOA XML schema definition. */ + public static final String MOA_SCHEMA_LOCATION = + SCHEMA_ROOT + "MOA-SPSS-1.1.xsd"; + + /** URI of the MOA configuration XML namespace. */ + public static final String MOA_CONFIG_NS_URI = + "http://reference.e-government.gv.at/namespace/moaconfig/20021122#"; + + /** URI of the MOA ID configuration XML namespace. */ + public static final String MOA_ID_CONFIG_NS_URI = + "http://www.buergerkarte.at/namespaces/moaconfig#"; + + /** Prefix used for the MOA configuration XML namespace */ + public static final String MOA_CONFIG_PREFIX = "conf"; + + /** Prefix used for the MOA configuration XML namespace */ + public static final String MOA_ID_CONFIG_PREFIX = "confID"; + + /** Local location of the MOA configuration XML schema definition. */ + public static final String MOA_CONFIG_SCHEMA_LOCATION = + SCHEMA_ROOT + "MOA-SPSS-Configuration-1.0.xsd"; + + /** Local location of the MOA ID configuration XML schema definition. */ + public static final String MOA_ID_CONFIG_SCHEMA_LOCATION = + SCHEMA_ROOT + "MOA-ID-Configuration-1.1.xsd"; + + /** URI of the Security Layer 1.0 namespace. */ + public static final String SL10_NS_URI = + "http://www.buergerkarte.at/namespaces/securitylayer/20020225#"; + + /** Prefix used for the Security Layer 1.0 XML namespace */ + public static final String SL10_PREFIX = "sl10"; + + /** Local location of the Security Layer 1.0 XML schema definition */ + public static final String SL10_SCHEMA_LOCATION = + SCHEMA_ROOT + "Core.20020225.xsd"; + + /** URI of the Security Layer 1.1 XML namespace */ + public static final String SL11_NS_URI = + "http://www.buergerkarte.at/namespaces/securitylayer/20020831#"; + + /** Prefix used for the Security Layer 1.1 XML namespace */ + public static final String SL11_PREFIX = "sl11"; + + /** Local location of the Security Layer 1.1 XML schema definition */ + public static final String SL11_SCHEMA_LOCATION = + SCHEMA_ROOT + "Core.20020831.xsd"; + + /** URI of the ECDSA XML namespace */ + public static final String ECDSA_NS_URI = + "http://www.buergerkarte.at/namespaces/ecdsa/200206030#"; + + /** Prefix used for ECDSA namespace */ + public static final String ECDSA_PREFIX = "ecdsa"; + + /** Local location of ECDSA XML schema definition */ + public static final String ECDSA_SCHEMA_LOCATION = + SCHEMA_ROOT + "ECDSAKeyValue.xsd"; + + /** URI of the PersonData XML namespace. */ + public static final String PD_NS_URI = + "http://reference.e-government.gv.at/namespace/persondata/20020228#"; + + /** Prefix used for the PersonData XML namespace */ + public static final String PD_PREFIX = "pr"; + + /** Local location of the PersonData XML schema definition */ + public static final String PD_SCHEMA_LOCATION = + SCHEMA_ROOT + "PersonData.xsd"; + + /** URI of the SAML namespace. */ + public static final String SAML_NS_URI = + "urn:oasis:names:tc:SAML:1.0:assertion"; + + /** Prefix used for the SAML XML namespace */ + public static final String SAML_PREFIX = "saml"; + + /** Local location of the SAML XML schema definition. */ + public static final String SAML_SCHEMA_LOCATION = + SCHEMA_ROOT + "cs-sstc-schema-assertion-01.xsd"; + + /** URI of the SAML request-response protocol namespace. */ + public static final String SAMLP_NS_URI = + "urn:oasis:names:tc:SAML:1.0:protocol"; + + /** Prefix used for the SAML request-response protocol namespace */ + public static final String SAMLP_PREFIX = "samlp"; + + /** Local location of the SAML request-response protocol schema definition. */ + public static final String SAMLP_SCHEMA_LOCATION = + SCHEMA_ROOT + "cs-sstc-schema-protocol-01.xsd"; + + /** URI of the XML namespace. */ + public static final String XML_NS_URI = + "http://www.w3.org/XML/1998/namespace"; + + /** Prefix used for the XML namespace */ + public static final String XML_PREFIX = "xml"; + + /** Local location of the XML schema definition. */ + public static final String XML_SCHEMA_LOCATION = SCHEMA_ROOT + "xml.xsd"; + + /** URI of the XMLNS namespace */ + public static final String XMLNS_NS_URI = "http://www.w3.org/2000/xmlns/"; + + /** Prefix used for the XSI namespace */ + public static final String XSI_PREFIX = "xsi"; + + /** Local location of the XSI schema definition. */ + public static final String XSI_SCHEMA_LOCATION = + SCHEMA_ROOT + "XMLSchema-instance.xsd"; + + /** URI of the XSI XMLNS namespace */ + public static final String XSI_NS_URI = + "http://www.w3.org/2001/XMLSchema-instance"; + + /** URI of the XSLT XML namespace */ + public static final String XSLT_NS_URI = + "http://www.w3.org/1999/XSL/Transform"; + + /** Prefix used for the XSLT XML namespace */ + public static final String XSLT_PREFIX = "xsl"; + + /** URI of the XMLDSig XML namespace. */ + public static final String DSIG_NS_URI = "http://www.w3.org/2000/09/xmldsig#"; + + /** Prefix used for the XMLDSig XML namespace */ + public static final String DSIG_PREFIX = "dsig"; + + /** Local location of the XMLDSig XML schema. */ + public static final String DSIG_SCHEMA_LOCATION = + SCHEMA_ROOT + "xmldsig-core-schema.xsd"; + + /** URI of the XMLDSig XPath Filter XML namespace. */ + public static final String DSIG_FILTER2_NS_URI = + "http://www.w3.org/2002/06/xmldsig-filter2"; + + /** Prefix used for the XMLDSig XPath Filter XML namespace */ + public static final String DSIG_FILTER2_PREFIX = "dsig-filter2"; + + /** Local location of the XMLDSig XPath Filter XML schema definition. */ + public static final String DSIG_FILTER2_SCHEMA_LOCATION = + SCHEMA_ROOT + "xmldsig-filter2.xsd"; + + /** URI of the Exclusive Canonicalization XML namespace */ + public static final String DSIG_EC_NS_URI = + "http://www.w3.org/2001/10/xml-exc-c14n#"; + + /** Prefix used for the Exclusive Canonicalization XML namespace */ + public static final String DSIG_EC_PREFIX = "ec"; + + /** Local location of the Exclusive Canonicalizaion XML schema definition */ + public static final String DSIG_EC_SCHEMA_LOCATION = + SCHEMA_ROOT + "exclusive-canonicalization.xsd"; + + /** + * Contains all namespaces and local schema locations for XML schema + * definitions relevant for MOA. For use in validating XML parsers. + */ + public static final String ALL_SCHEMA_LOCATIONS = + (MOA_NS_URI + " " + MOA_SCHEMA_LOCATION + " ") + + (MOA_CONFIG_NS_URI + " " + MOA_CONFIG_SCHEMA_LOCATION + " ") + + (MOA_ID_CONFIG_NS_URI + " " + MOA_ID_CONFIG_SCHEMA_LOCATION + " ") + + (SL10_NS_URI + " " + SL10_SCHEMA_LOCATION + " ") + + (SL11_NS_URI + " " + SL11_SCHEMA_LOCATION + " ") + + (ECDSA_NS_URI + " " + ECDSA_SCHEMA_LOCATION + " ") + + (PD_NS_URI + " " + PD_SCHEMA_LOCATION + " ") + + (SAML_NS_URI + " " + SAML_SCHEMA_LOCATION + " ") + + (SAMLP_NS_URI + " " + SAMLP_SCHEMA_LOCATION + " ") + + (XML_NS_URI + " " + XML_SCHEMA_LOCATION + " ") + + (XSI_NS_URI + " " + XSI_SCHEMA_LOCATION + " ") + + (DSIG_NS_URI + " " + DSIG_SCHEMA_LOCATION + " ") + + (DSIG_FILTER2_NS_URI + " " + DSIG_FILTER2_SCHEMA_LOCATION + " ") + + (DSIG_EC_NS_URI + " " + DSIG_EC_SCHEMA_LOCATION); + + /** Security Layer manifest type URI. */ + public static final String SL_MANIFEST_TYPE_URI = + "http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest"; + + /** URI of the SHA1 digest algorithm */ + public static final String SHA1_URI = + "http://www.w3.org/2000/09/xmldsig#sha1"; + + /** URI of the Canonical XML algorithm */ + public static final String C14N_URI = + "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"; + + /** URI of the Canoncial XML with comments algorithm */ + public static final String C14N_WITH_COMMENTS_URI = + "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"; + + /** URI of the Exclusive Canonical XML algorithm */ + public static final String EXC_C14N_URI = + "http://www.w3.org/2001/10/xml-exc-c14n#"; + + /** URI of the Exclusive Canonical XML with commments algorithm */ + public static final String EXC_C14N_WITH_COMMENTS_URI = + "http://www.w3.org/2001/10/xml-exc-c14n#WithComments"; +} diff --git a/common/src/at/gv/egovernment/moa/util/DOMUtils.java b/common/src/at/gv/egovernment/moa/util/DOMUtils.java new file mode 100644 index 000000000..6da99037e --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/DOMUtils.java @@ -0,0 +1,806 @@ +package at.gv.egovernment.moa.util; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.DocumentFragment; +import org.w3c.dom.Element; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import org.apache.xerces.parsers.DOMParser; +import org.apache.xerces.parsers.SAXParser; +import org.apache.xerces.parsers.XMLGrammarPreparser; +import org.apache.xerces.util.SymbolTable; +import org.apache.xerces.util.XMLGrammarPoolImpl; +import org.apache.xerces.xni.grammars.XMLGrammarDescription; +import org.apache.xerces.xni.grammars.XMLGrammarPool; +import org.apache.xerces.xni.parser.XMLInputSource; +import org.xml.sax.EntityResolver; +import org.xml.sax.ErrorHandler; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +/** + * Various utility functions for handling XML DOM trees. + * + * The parsing methods in this class make use of some features internal to the + * Xerces DOM parser, mainly for performance reasons. As soon as JAXP + * (currently at version 1.2) is better at schema handling, it should be used as + * the parser interface. + * + * @author Patrick Peck + * @version $Id$ + */ +public class DOMUtils { + + /** Feature URI for namespace aware parsing. */ + private static final String NAMESPACES_FEATURE = + "http://xml.org/sax/features/namespaces"; + /** Feature URI for validating parsing. */ + private static final String VALIDATION_FEATURE = + "http://xml.org/sax/features/validation"; + /** Feature URI for schema validating parsing. */ + private static final String SCHEMA_VALIDATION_FEATURE = + "http://apache.org/xml/features/validation/schema"; + /** Feature URI for normalization of element/attribute values. */ + private static final String NORMALIZED_VALUE_FEATURE = + "http://apache.org/xml/features/validation/schema/normalized-value"; + /** Feature URI for parsing ignorable whitespace. */ + private static final String INCLUDE_IGNORABLE_WHITESPACE_FEATURE = + "http://apache.org/xml/features/dom/include-ignorable-whitespace"; + /** Feature URI for creating EntityReference nodes in the DOM tree. */ + private static final String CREATE_ENTITY_REF_NODES_FEATURE = + "http://apache.org/xml/features/dom/create-entity-ref-nodes"; + /** Property URI for providing external schema locations. */ + private static final String EXTERNAL_SCHEMA_LOCATION_PROPERTY = + "http://apache.org/xml/properties/schema/external-schemaLocation"; + /** Property URI for providing the external schema location for elements + * without a namespace. */ + private static final String EXTERNAL_NO_NAMESPACE_SCHEMA_LOCATION_PROPERTY = + "http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation"; + /** Property URI for the Xerces grammar pool. */ + private static final String GRAMMAR_POOL = + org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX + + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY; + /** A prime number for initializing the symbol table. */ + private static final int BIG_PRIME = 2039; + /** Symbol table for the grammar pool. */ + private static SymbolTable symbolTable = new SymbolTable(BIG_PRIME); + /** Xerces schema grammar pool. */ + private static XMLGrammarPool grammarPool = new XMLGrammarPoolImpl(); + + /** + * Preparse a schema and add it to the schema pool. + * + * @param inputStream An InputStream providing the contents of + * the schema. + * @param systemId The systemId to use for the schema. + * @throws IOException An error occurred reading the schema. + */ + public static void addSchemaToPool(InputStream inputStream, String systemId) + throws IOException { + XMLGrammarPreparser preparser; + + // unlock the pool so that we can add another grammar + grammarPool.unlockPool(); + + // prepare the preparser + preparser = new XMLGrammarPreparser(symbolTable); + preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null); + preparser.setProperty(GRAMMAR_POOL, grammarPool); + preparser.setFeature(NAMESPACES_FEATURE, true); + preparser.setFeature(VALIDATION_FEATURE, true); + + // add the grammar to the pool + preparser.preparseGrammar( + XMLGrammarDescription.XML_SCHEMA, + new XMLInputSource(null, systemId, null, inputStream, null)); + + // lock the pool again so that schemas are not added automatically + grammarPool.lockPool(); + } + + /** + * Parse an XML document from an InputStream. + * + * @param inputStream The InputStream containing the XML + * document. + * @param validating If true, parse validating. + * @param externalSchemaLocations A String containing namespace + * URI to schema location pairs, the same way it is accepted by the xsi: + * schemaLocation attribute. + * @param externalNoNamespaceSchemaLocation The schema location of the + * schema for elements without a namespace, the same way it is accepted by the + * xsi:noNamespaceSchemaLocation attribute. + * @param entityResolver An EntityResolver to resolve external + * entities (schemas and DTDs). If null, it will not be set. + * @param errorHandler An ErrorHandler to decide what to do + * with parsing errors. If null, it will not be set. + * @return The parsed XML document as a DOM tree. + * @throws SAXException An error occurred parsing the document. + * @throws IOException An error occurred reading the document. + * @throws ParserConfigurationException An error occurred configuring the XML + * parser. + */ + public static Document parseDocument( + InputStream inputStream, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation, + EntityResolver entityResolver, + ErrorHandler errorHandler) + throws SAXException, IOException, ParserConfigurationException { + + DOMParser parser; + + // create the DOM parser + if (symbolTable != null) { + parser = new DOMParser(symbolTable, grammarPool); + } else { + parser = new DOMParser(); + } + + // set parser features and properties + parser.setFeature(NAMESPACES_FEATURE, true); + parser.setFeature(VALIDATION_FEATURE, validating); + parser.setFeature(SCHEMA_VALIDATION_FEATURE, validating); + parser.setFeature(NORMALIZED_VALUE_FEATURE, false); + parser.setFeature(INCLUDE_IGNORABLE_WHITESPACE_FEATURE, true); + parser.setFeature(CREATE_ENTITY_REF_NODES_FEATURE, false); + + if (validating) { + if (externalSchemaLocations != null) { + parser.setProperty( + EXTERNAL_SCHEMA_LOCATION_PROPERTY, + externalSchemaLocations); + } + if (externalNoNamespaceSchemaLocation != null) { + parser.setProperty( + EXTERNAL_NO_NAMESPACE_SCHEMA_LOCATION_PROPERTY, + externalNoNamespaceSchemaLocation); + } + } + + // set entity resolver and error handler + if (entityResolver != null) { + parser.setEntityResolver(entityResolver); + } + if (errorHandler != null) { + parser.setErrorHandler(errorHandler); + } + + // parse the document and return it + parser.parse(new InputSource(inputStream)); + + return parser.getDocument(); + } + + /** + * Parse an XML document from an InputStream. + * + * It uses a MOAEntityResolver as the EntityResolver + * and a MOAErrorHandler as the ErrorHandler. + * + * @param inputStream The InputStream containing the XML + * document. + * @param validating If true, parse validating. + * @param externalSchemaLocations A String containing namespace + * URI to schema location pairs, the same way it is accepted by the xsi: + * schemaLocation attribute. + * @param externalNoNamespaceSchemaLocation The schema location of the + * schema for elements without a namespace, the same way it is accepted by the + * xsi:noNamespaceSchemaLocation attribute. + * @return The parsed XML document as a DOM tree. + * @throws SAXException An error occurred parsing the document. + * @throws IOException An error occurred reading the document. + * @throws ParserConfigurationException An error occurred configuring the XML + * parser. + */ + public static Document parseDocument( + InputStream inputStream, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + throws SAXException, IOException, ParserConfigurationException { + + return parseDocument( + inputStream, + validating, + externalSchemaLocations, + externalNoNamespaceSchemaLocation, + new MOAEntityResolver(), + new MOAErrorHandler()); + } + + /** + * Parse an XML document from a String. + * + * It uses a MOAEntityResolver as the EntityResolver + * and a MOAErrorHandler as the ErrorHandler. + * + * @param xmlString The String containing the XML document. + * @param encoding The encoding of the XML document. + * @param validating If true, parse validating. + * @param externalSchemaLocations A String containing namespace + * URI to schema location pairs, the same way it is accepted by the xsi: + * schemaLocation attribute. + * @param externalNoNamespaceSchemaLocation The schema location of the + * schema for elements without a namespace, the same way it is accepted by the + * xsi:noNamespaceSchemaLocation attribute. + * @return The parsed XML document as a DOM tree. + * @throws SAXException An error occurred parsing the document. + * @throws IOException An error occurred reading the document. + * @throws ParserConfigurationException An error occurred configuring the XML + * parser. + */ + public static Document parseDocument( + String xmlString, + String encoding, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + throws SAXException, IOException, ParserConfigurationException { + + InputStream in = new ByteArrayInputStream(xmlString.getBytes(encoding)); + return parseDocument( + in, + validating, + externalSchemaLocations, + externalNoNamespaceSchemaLocation); + } + + /** + * Parse an UTF-8 encoded XML document from a String. + * + * @param xmlString The String containing the XML document. + * @param validating If true, parse validating. + * @param externalSchemaLocations A String containing namespace + * URI to schema location pairs, the same way it is accepted by the xsi: + * schemaLocation attribute. + * @param externalNoNamespaceSchemaLocation The schema location of the + * schema for elements without a namespace, the same way it is accepted by the + * xsi:noNamespaceSchemaLocation attribute. + * @return The parsed XML document as a DOM tree. + * @throws SAXException An error occurred parsing the document. + * @throws IOException An error occurred reading the document. + * @throws ParserConfigurationException An error occurred configuring the XML + * parser. + */ + public static Document parseDocument( + String xmlString, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + throws SAXException, IOException, ParserConfigurationException { + + return parseDocument( + xmlString, + "UTF-8", + validating, + externalSchemaLocations, + externalNoNamespaceSchemaLocation); + } + + /** + * A convenience method to parse an XML document validating. + * + * @param inputStream The InputStream containing the XML + * document. + * @return The root element of the parsed XML document. + * @throws SAXException An error occurred parsing the document. + * @throws IOException An error occurred reading the document. + * @throws ParserConfigurationException An error occurred configuring the XML + * parser. + */ + public static Element parseXmlValidating(InputStream inputStream) + throws ParserConfigurationException, SAXException, IOException { + return DOMUtils + .parseDocument(inputStream, true, Constants.ALL_SCHEMA_LOCATIONS, null) + .getDocumentElement(); + } + + /** + * Schema validate a given DOM element. + * + * @param element The element to validate. + * @param externalSchemaLocations A String containing namespace + * URI to schema location pairs, the same way it is accepted by the xsi: + * schemaLocation attribute. + * @param externalNoNamespaceSchemaLocation The schema location of the + * schema for elements without a namespace, the same way it is accepted by the + * xsi:noNamespaceSchemaLocation attribute. + * @return true, if the element validates against + * the schemas declared in it. + * @throws SAXException An error occurred parsing the document. + * @throws IOException An error occurred reading the document from its + * serialized representation. + * @throws ParserConfigurationException An error occurred configuring the XML + * @throws TransformerException An error occurred serializing the element. + */ + public static boolean validateElement( + Element element, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + throws + ParserConfigurationException, + IOException, + SAXException, + TransformerException { + + byte[] docBytes; + SAXParser parser; + + // create the SAX parser + if (symbolTable != null) { + parser = new SAXParser(symbolTable, grammarPool); + } else { + parser = new SAXParser(); + } + + // serialize the document + docBytes = serializeNode(element, "UTF-8"); + + // set up parser features and attributes + parser.setFeature(NAMESPACES_FEATURE, true); + parser.setFeature(VALIDATION_FEATURE, true); + parser.setFeature(SCHEMA_VALIDATION_FEATURE, true); + if (externalSchemaLocations != null) { + parser.setProperty( + EXTERNAL_SCHEMA_LOCATION_PROPERTY, + externalSchemaLocations); + } + if (externalNoNamespaceSchemaLocation != null) { + parser.setProperty( + EXTERNAL_NO_NAMESPACE_SCHEMA_LOCATION_PROPERTY, + "externalNoNamespaceSchemaLocation"); + } + + // set up entity resolver and error handler + parser.setEntityResolver(new MOAEntityResolver()); + parser.setErrorHandler(new MOAErrorHandler()); + + // parse validating + parser.parse(new InputSource(new ByteArrayInputStream(docBytes))); + return true; + } + + /** + * Serialize the given DOM node. + * + * The node will be serialized using the UTF-8 encoding. + * + * @param node The node to serialize. + * @return String The String representation of the given DOM + * node. + * @throws TransformerException An error occurred transforming the + * node to a String. + * @throws IOException An IO error occurred writing the node to a byte array. + */ + public static String serializeNode(Node node) + throws TransformerException, IOException { + return new String(serializeNode(node, "UTF-8"), "UTF-8"); + } + + /** + * Serialize the given DOM node to a byte array. + * + * @param node The node to serialize. + * @param xmlEncoding The XML encoding to use. + * @return The serialized node, as a byte array. Using a compatible encoding + * this can easily be converted into a String. + * @throws TransformerException An error occurred transforming the node to a + * byte array. + * @throws IOException An IO error occurred writing the node to a byte array. + */ + public static byte[] serializeNode(Node node, String xmlEncoding) + throws TransformerException, IOException { + + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + ByteArrayOutputStream bos = new ByteArrayOutputStream(16384); + + transformer.setOutputProperty(OutputKeys.METHOD, "xml"); + transformer.setOutputProperty(OutputKeys.ENCODING, xmlEncoding); + transformer.transform(new DOMSource(node), new StreamResult(bos)); + + bos.flush(); + bos.close(); + + return bos.toByteArray(); + } + + /** + * Return the text that a node contains. + * + * This routine: + *
    + *
  • Ignores comments and processing instructions.
  • + *
  • Concatenates TEXT nodes, CDATA nodes, and the results recursively + * processing EntityRef nodes.
  • + *
  • Ignores any element nodes in the sublist. (Other possible options are + * to recurse into element sublists or throw an exception.)
  • + *
+ * + * @param node A DOM node from which to extract text. + * @return A String representing its contents. + */ + public static String getText(Node node) { + if (!node.hasChildNodes()) { + return ""; + } + + StringBuffer result = new StringBuffer(); + NodeList list = node.getChildNodes(); + + for (int i = 0; i < list.getLength(); i++) { + Node subnode = list.item(i); + if (subnode.getNodeType() == Node.TEXT_NODE) { + result.append(subnode.getNodeValue()); + } else if (subnode.getNodeType() == Node.CDATA_SECTION_NODE) { + result.append(subnode.getNodeValue()); + } else if (subnode.getNodeType() == Node.ENTITY_REFERENCE_NODE) { + // Recurse into the subtree for text + // (and ignore comments) + result.append(getText(subnode)); + } + } + return result.toString(); + } + + /** + * Build the namespace prefix to namespace URL mapping in effect for a given + * node. + * + * @param node The context node for which build the map. + * @return The namespace prefix to namespace URL mapping ( + * a String value to String value mapping). + */ + public static Map getNamespaceDeclarations(Node node) { + Map nsDecls = new HashMap(); + int i; + + do { + if (node.hasAttributes()) { + NamedNodeMap attrs = node.getAttributes(); + + for (i = 0; i < attrs.getLength(); i++) { + Attr attr = (Attr) attrs.item(i); + + // add prefix mapping if none exists + if ("xmlns".equals(attr.getPrefix()) + || "xmlns".equals(attr.getName())) { + + String nsPrefix = + attr.getPrefix() != null ? attr.getLocalName() : ""; + + if (nsDecls.get(nsPrefix) == null) { + nsDecls.put(nsPrefix, attr.getValue()); + } + } + } + } + } while ((node = node.getParentNode()) != null); + + return nsDecls; + } + + /** + * Add all namespace declarations declared in the parent(s) of a given + * element and used in the subtree of the given element to the given element. + * + * @param context The element to which to add the namespaces. + */ + public static void localizeNamespaceDeclarations(Element context) { + Node parent = context.getParentNode(); + + if (parent != null) { + Map namespaces = getNamespaceDeclarations(context.getParentNode()); + Set nsUris = collectNamespaceURIs(context); + Iterator iter; + + for (iter = namespaces.entrySet().iterator(); iter.hasNext();) { + Map.Entry e = (Map.Entry) iter.next(); + + if (nsUris.contains(e.getValue())) { + String prefix = (String) e.getKey(); + String nsUri = (String) e.getValue(); + String nsAttrName = "".equals(prefix) ? "xmlns" : "xmlns:" + prefix; + + context.setAttributeNS(Constants.XMLNS_NS_URI, nsAttrName, nsUri); + } + } + } + } + + /** + * Collect all the namespace URIs used in the subtree of a given element. + * + * @param context The element that should be searched for namespace URIs. + * @return All namespace URIs used in the subtree of context, + * including the ones used in context itself. + */ + public static Set collectNamespaceURIs(Element context) { + Set result = new HashSet(); + + collectNamespaceURIsImpl(context, result); + return result; + } + + /** + * A recursive method to do the work of collectNamespaceURIs. + * + * @param context The context element to evaluate. + * @param result The result, passed as a parameter to avoid unnecessary + * instantiations of Set. + */ + private static void collectNamespaceURIsImpl(Element context, Set result) { + NamedNodeMap attrs = context.getAttributes(); + NodeList childNodes = context.getChildNodes(); + String nsUri; + int i; + + // add the namespace of the context element + nsUri = context.getNamespaceURI(); + if (nsUri != null && nsUri != Constants.XMLNS_NS_URI) { + result.add(nsUri); + } + + // add all namespace URIs from attributes + for (i = 0; i < attrs.getLength(); i++) { + nsUri = attrs.item(i).getNamespaceURI(); + if (nsUri != null && nsUri != Constants.XMLNS_NS_URI) { + result.add(nsUri); + } + } + + // add all namespaces from subelements + for (i = 0; i < childNodes.getLength(); i++) { + Node node = childNodes.item(i); + + if (node.getNodeType() == Node.ELEMENT_NODE) { + collectNamespaceURIsImpl((Element) node, result); + } + } + } + + /** + * Check, that each attribute node in the given NodeList has its + * parent in the NodeList as well. + * + * @param nodes The NodeList to check. + * @return true, if each attribute node in nodes + * has its parent in nodes as well. + */ + public static boolean checkAttributeParentsInNodeList(NodeList nodes) { + Set nodeSet = new HashSet(); + int i; + + // put the nodes into the nodeSet + for (i = 0; i < nodes.getLength(); i++) { + nodeSet.add(nodes.item(i)); + } + + // check that each attribute node's parent is in the node list + for (i = 0; i < nodes.getLength(); i++) { + Node n = nodes.item(i); + + if (n.getNodeType() == Node.ATTRIBUTE_NODE) { + Attr attr = (Attr) n; + Element owner = attr.getOwnerElement(); + + if (owner == null) { + if (!isNamespaceDeclaration(attr)) { + return false; + } + } + + if (!nodeSet.contains(owner) && !isNamespaceDeclaration(attr)) { + return false; + } + } + } + + return true; + } + + /** + * Convert an unstructured NodeList into a + * DocumentFragment. + * + * @param nodeList Contains the node list to be converted into a DOM + * DocumentFragment. + * @return the resulting DocumentFragment. The DocumentFragment will be + * backed by a new DOM Document, i.e. all noded of the node list will be + * cloned. + * @throws ParserConfigurationException An error occurred creating the + * DocumentFragment. + * @precondition The nodes in the node list appear in document order. + * @precondition For each Attr node in the node list, the owning Element is + * in the node list as well. + * @precondition Each Element or Attr node in the node list is namespace + * aware. + */ + public static DocumentFragment nodeList2DocumentFragment(NodeList nodeList) + throws ParserConfigurationException { + + DocumentBuilder builder = + DocumentBuilderFactory.newInstance().newDocumentBuilder(); + Document doc = builder.newDocument(); + DocumentFragment result = doc.createDocumentFragment(); + + if (null == nodeList || nodeList.getLength() == 0) { + return result; + } + + int currPos = 0; + currPos = + nodeList2DocumentFragment(nodeList, currPos, result, null, null) + 1; + + while (currPos < nodeList.getLength()) { + currPos = + nodeList2DocumentFragment(nodeList, currPos, result, null, null) + 1; + } + return result; + } + + /** + * Helper method for the nodeList2DocumentFragment. + * + * @param nodeList The NodeList to convert. + * @param currPos The current position in the nodeList. + * @param result The resulting DocumentFragment. + * @param currOrgElem The current original element. + * @param currClonedElem The current cloned element. + * @return The current position. + */ + private static int nodeList2DocumentFragment( + NodeList nodeList, + int currPos, + DocumentFragment result, + Element currOrgElem, + Element currClonedElem) { + + while (currPos < nodeList.getLength()) { + Node currentNode = nodeList.item(currPos); + switch (currentNode.getNodeType()) { + case Node.COMMENT_NODE : + case Node.PROCESSING_INSTRUCTION_NODE : + case Node.TEXT_NODE : + { + // Append current node either to resulting DocumentFragment or to + // current cloned Element + if (null == currClonedElem) { + result.appendChild( + result.getOwnerDocument().importNode(currentNode, false)); + } else { + // Stop processing if current Node is not a descendant of + // current Element + if (!isAncestor(currOrgElem, currentNode)) { + return --currPos; + } + + currClonedElem.appendChild( + result.getOwnerDocument().importNode(currentNode, false)); + } + break; + } + + case Node.ELEMENT_NODE : + { + Element nextCurrOrgElem = (Element) currentNode; + Element nextCurrClonedElem = + result.getOwnerDocument().createElementNS( + nextCurrOrgElem.getNamespaceURI(), + nextCurrOrgElem.getNodeName()); + + // Append current Node either to resulting DocumentFragment or to + // current cloned Element + if (null == currClonedElem) { + result.appendChild(nextCurrClonedElem); + currOrgElem = nextCurrOrgElem; + currClonedElem = nextCurrClonedElem; + } else { + // Stop processing if current Node is not a descendant of + // current Element + if (!isAncestor(currOrgElem, currentNode)) { + return --currPos; + } + + currClonedElem.appendChild(nextCurrClonedElem); + } + + // Process current Node (of type Element) recursively + currPos = + nodeList2DocumentFragment( + nodeList, + ++currPos, + result, + nextCurrOrgElem, + nextCurrClonedElem); + + break; + } + + case Node.ATTRIBUTE_NODE : + { + Attr currAttr = (Attr) currentNode; + + // GK 20030411: Hack to overcome problems with IAIK IXSIL + if (currAttr.getOwnerElement() == null) + break; + if (currClonedElem == null) + break; + + // currClonedElem must be the owner Element of currAttr if + // preconditions are met + currClonedElem.setAttributeNS( + currAttr.getNamespaceURI(), + currAttr.getNodeName(), + currAttr.getValue()); + break; + } + + default : + { + // All other nodes will be ignored + } + } + + currPos++; + } + + return currPos; + } + + /** + * Check, if the given attribute is a namespace declaration. + * + * @param attr The attribute to check. + * @return true, if the attribute is a namespace declaration, + * false otherwise. + */ + private static boolean isNamespaceDeclaration(Attr attr) { + return Constants.XMLNS_NS_URI.equals(attr.getNamespaceURI()); + } + + /** + * Check, if a given DOM element is an ancestor of a given node. + * + * @param candAnc The DOM element to check for being the ancestor. + * @param cand The node to check for being the child. + * @return true, if candAnc is an (indirect) + * ancestor of cand; false otherwise. + */ + public static boolean isAncestor(Element candAnc, Node cand) { + Node currPar = cand.getParentNode(); + + while (currPar != null) { + if (candAnc == currPar) + return true; + currPar = currPar.getParentNode(); + } + return false; + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/DateTimeUtils.java b/common/src/at/gv/egovernment/moa/util/DateTimeUtils.java new file mode 100644 index 000000000..58cc04c4c --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/DateTimeUtils.java @@ -0,0 +1,326 @@ +package at.gv.egovernment.moa.util; + +import java.io.StringWriter; +import java.text.ParseException; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +/** + * Utility for parsing and building XML type dateTime, + * according to ISO 8601. + * + * @author Patrick Peck + * @version $Id$ + * @see http://www.w3.org/2001/XMLSchema-datatypes" + */ +public class DateTimeUtils { + /** Error messages. */ + private static MessageProvider msg = MessageProvider.getInstance(); + + /** + * Builds a dateTime value from a Calendar value. + * @param cal the Calendar value + * @return the dateTime value + */ + public static String buildDateTime(Calendar cal) { + StringWriter out = new StringWriter(); + out.write("" + cal.get(Calendar.YEAR)); + out.write("-"); + out.write(to2DigitString(cal.get(Calendar.MONTH) + 1)); + out.write("-"); + out.write(to2DigitString(cal.get(Calendar.DAY_OF_MONTH))); + out.write("T"); + out.write(to2DigitString(cal.get(Calendar.HOUR_OF_DAY))); + out.write(":"); + out.write(to2DigitString(cal.get(Calendar.MINUTE))); + out.write(":"); + out.write(to2DigitString(cal.get(Calendar.SECOND))); + int tzOffsetMilliseconds = + cal.get(Calendar.ZONE_OFFSET) + cal.get(Calendar.DST_OFFSET); + if (tzOffsetMilliseconds != 0) { + int tzOffsetMinutes = tzOffsetMilliseconds / (1000 * 60); + int tzOffsetHours = tzOffsetMinutes / 60; + tzOffsetMinutes -= tzOffsetHours * 60; + if (tzOffsetMilliseconds > 0) { + out.write("+"); + out.write(to2DigitString(tzOffsetHours)); + out.write(":"); + out.write(to2DigitString(tzOffsetMinutes)); + } else { + out.write("-"); + out.write(to2DigitString(-tzOffsetHours)); + out.write(":"); + out.write(to2DigitString(-tzOffsetMinutes)); + } + } + return out.toString(); + } + + /** + * Converts month, day, hour, minute, or second value + * to a 2 digit String. + * @param number the month, day, hour, minute, or second value + * @return 2 digit String + */ + private static String to2DigitString(int number) { + if (number < 10) + return "0" + number; + else + return "" + number; + } + + /** + * Parse a String containing a date and time instant, given in + * ISO 8601 format. + * + * @param dateTime The String to parse. + * @return The Date representation of the contents of + * dateTime. + * @throws ParseException Parsing the dateTime failed. + */ + public static Date parseDateTime(String dateTime) throws ParseException { + GregorianCalendar calendar; + long time; + int yearSign = 1, year, month, day; + int hour, minute, second; + double fraction = 0.0; + int tzSign = 1, tzHour = 0, tzMinute = 0; + int curPos = 0; + String fractStr; + boolean localTime = false; + char c; + + // parse year sign + ensureChars(dateTime, curPos, 1); + c = dateTime.charAt(curPos); + if (c == '+' || c == '-') { + yearSign = c == '+' ? 1 : -1; + curPos++; + } + + // parse year + year = parseInt(dateTime, curPos, 4); + curPos += 4; + + // parse '-' + ensureChar(dateTime, curPos, '-'); + curPos++; + + // parse month + month = parseInt(dateTime, curPos, 2); + ensureValue(month, 1, 12, curPos); + curPos += 2; + + // parse '-' + ensureChar(dateTime, curPos, '-'); + curPos++; + + // parse day + day = parseInt(dateTime, curPos, 2); + ensureValue(day, 1, 31, curPos); + curPos += 2; + + // parse 'T' + ensureChar(dateTime, curPos, 'T'); + curPos++; + + // parse hour + hour = parseInt(dateTime, curPos, 2); + ensureValue(hour, 0, 23, curPos); + curPos += 2; + + // parse ':' + ensureChar(dateTime, curPos, ':'); + curPos++; + + // parse minute + minute = parseInt(dateTime, curPos, 2); + ensureValue(minute, 0, 59, curPos); + curPos += 2; + + // parse ':' + ensureChar(dateTime, curPos, ':'); + curPos++; + + // parse second + second = parseInt(dateTime, curPos, 2); + ensureValue(second, 0, 59, curPos); + curPos += 2; + + // parse a fraction + if (dateTime.length() > curPos && dateTime.charAt(curPos) == '.') { + curPos++; + ensureDigits(dateTime, curPos, 1); + fractStr = "0."; + fractStr + += dateTime.substring(curPos, curPos + countDigits(dateTime, curPos)); + fraction = Double.parseDouble(fractStr); + curPos += countDigits(dateTime, curPos); + } + + // parse a time zone + if (dateTime.length() > curPos) { + c = dateTime.charAt(curPos); + if (c == 'Z') { + curPos++; + } else if (c == '+' || c == '-') { + // parse time zone sign + tzSign = c == '+' ? 1 : -1; + curPos++; + + // parse time zone hour + tzHour = parseInt(dateTime, curPos, 2); + ensureValue(tzHour, 0, 14, curPos); + curPos += 2; + + // parse ':' + ensureChar(dateTime, curPos, ':'); + curPos++; + + // parse time zone minute + tzMinute = parseInt(dateTime, curPos, 2); + ensureValue(tzMinute, 0, 59, curPos); + curPos += 2; + } + } else { + localTime = true; + } + + // if we have characters left, it's an error + if (dateTime.length() != curPos) { + throw new ParseException(msg.getMessage("datetime.00", null), curPos); + } + + // build the Date object + year = year * yearSign; + try { + calendar = new GregorianCalendar(TimeZone.getTimeZone("GMT")); + calendar.set(year, month - 1, day, hour, minute, second); + calendar.set(Calendar.MILLISECOND, 0); + time = calendar.getTime().getTime(); + time += (long) (fraction * 1000.0); + time -= tzSign * ((tzHour * 60) + tzMinute) * 60 * 1000; + if (localTime) { + time -= TimeZone.getDefault().getRawOffset(); + } + return new Date(time); + } catch (IllegalArgumentException e) { + throw new ParseException(msg.getMessage("datetime.00", null), curPos); + } + + } + + /** + * Parse an integer value. + * + * @param str The String containing the digits. + * @param curPos The starting position. + * @param digits The number of digist making up the integer value. + * @return int The integer representation of the digits contained in + * str. + * @throws ParseException Parsing the integer value failed. + */ + private static int parseInt(String str, int curPos, int digits) + throws ParseException { + + ensureDigits(str, curPos, digits); + return Integer.parseInt(str.substring(curPos, curPos + digits)); + } + + /** + * Count the number of digits following curPos. + * + * @param str The String in which to count digits. + * @param curPos The starting position. + * @return int The number of digits. + */ + private static int countDigits(String str, int curPos) { + int i; + + for (i = curPos; i < str.length() && Character.isDigit(str.charAt(i)); i++); + return i - curPos; + } + + /** + * Ensure that a value falls in a given min/max range. + * + * @param value The value to check. + * @param min The minimum allowed value. + * @param max The maximum allowed value. + * @param curPos To indicate the parsing position in the + * ParseException. + * @throws ParseException Thrown, if value < min || value > + * max + */ + private static void ensureValue(int value, int min, int max, int curPos) + throws ParseException { + + if (value < min || value > max) { + throw new ParseException(msg.getMessage("datetime.00", null), curPos); + } + } + + /** + * Ensure that the given String has a number of characters left. + * + * @param str The String to check for its length. + * @param curPos The starting position. + * @param count The minimum number of characters that str must + * contain, starting at from curPos. + * @throws ParseException Thrown, if + * curPos + count > str.length(). + */ + private static void ensureChars(String str, int curPos, int count) + throws ParseException { + if (curPos + count > str.length()) { + throw new ParseException(msg.getMessage("datetime.00", null), curPos); + } + } + + /** + * Ensure that a given String contains a certain character at a + * certain position. + * + * @param str The String in which to look up the character. + * @param curPos The position in str that must contain the + * character. + * @param c The character value that must be contained at position + * curPos. + * @throws ParseException Thrown, if the characters do not match or + * curPos is out of range. + */ + private static void ensureChar(String str, int curPos, char c) + throws ParseException { + + ensureChars(str, curPos, 1); + if (str.charAt(curPos) != c) { + throw new ParseException(msg.getMessage("datetime.00", null), curPos); + } + } + + /** + * Ensure that a given String contains a number of digits, + * starting at a given position. + * + * @param str The String to scan for digits. + * @param curPos The starting postion. + * @param count The number of digits that must be contained in + * str, starting at curPos. + * @throws ParseException Thrown, if str is not long enough, or + * one of the characters following curPos in str is + * not a digit. + */ + private static void ensureDigits(String str, int curPos, int count) + throws ParseException { + + ensureChars(str, curPos, count); + for (int i = curPos; i < curPos + count; i++) { + if (!Character.isDigit(str.charAt(i))) { + throw new ParseException(msg.getMessage("datetime.00", null), curPos); + } + } + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/EntityResolverChain.java b/common/src/at/gv/egovernment/moa/util/EntityResolverChain.java new file mode 100644 index 000000000..e7008a701 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/EntityResolverChain.java @@ -0,0 +1,52 @@ +package at.gv.egovernment.moa.util; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.xml.sax.EntityResolver; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +/** + * Implementation of the org.xml.sax.EntityResolver, + * for use by a org.apache.xerces.parsers.DOMParser. + * + * @author Patrick Peck + * @version $Id$ + */ +public class EntityResolverChain implements EntityResolver { + /** The EntityResolvers in the chain. */ + private List resolvers = new ArrayList(); + + /** + * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String) + */ + public InputSource resolveEntity(String publicId, String systemId) + throws SAXException, IOException { + + Iterator iter; + + for (iter = resolvers.iterator(); iter.hasNext(); ) { + EntityResolver resolver = (EntityResolver) iter.next(); + InputSource is = resolver.resolveEntity(publicId, systemId); + + if (is != null) { + return is; + } + } + + return null; + } + + /** + * Add an EntityResolver to the chain. + * + * @param entityResolver The EntityResolver to add. + */ + public void addEntityResolver(EntityResolver entityResolver) { + resolvers.add(entityResolver); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/FileUtils.java b/common/src/at/gv/egovernment/moa/util/FileUtils.java new file mode 100644 index 000000000..f8941568d --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/FileUtils.java @@ -0,0 +1,87 @@ +package at.gv.egovernment.moa.util; + +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; + +/** + * Utility for accessing files on the file system, and for reading from input streams. + * @author Paul Ivancsics + * @version $Id$ + */ +public class FileUtils { + + /** + * Reads a file, given by URL, into a byte array. + * @param urlString file URL + * @return file content + * @throws IOException on any exception thrown + */ + public static byte[] readURL(String urlString) throws IOException { + URL url = new URL(urlString); + InputStream in = new BufferedInputStream(url.openStream()); + byte[] content = StreamUtils.readStream(in); + in.close(); + return content; + } + /** + * Reads a file, given by URL, into a String. + * @param urlString file URL + * @param encoding character encoding + * @return file content + * @throws IOException on any exception thrown + */ + public static String readURL(String urlString, String encoding) throws IOException { + byte[] content = readURL(urlString); + return new String(content, encoding); + } + /** + * Reads a file, given by filename, into a byte array. + * @param filename filename + * @return file content + * @throws IOException on any exception thrown + */ + public static byte[] readFile(String filename) throws IOException { + BufferedInputStream in = new BufferedInputStream(new FileInputStream(filename)); + byte[] content = StreamUtils.readStream(in); + in.close(); + return content; + } + /** + * Reads a file, given by filename, into a String. + * @param filename filename + * @param encoding character encoding + * @return file content + * @throws IOException on any exception thrown + */ + public static String readFile(String filename, String encoding) throws IOException { + byte[] content = readFile(filename); + return new String(content, encoding); + } + /** + * Reads a file from a resource. + * @param name resource name + * @return file content as a byte array + * @throws IOException on any exception thrown + */ + public static byte[] readResource(String name) throws IOException { + ClassLoader cl = FileUtils.class.getClassLoader(); + BufferedInputStream in = new BufferedInputStream(cl.getResourceAsStream(name)); + byte[] content = StreamUtils.readStream(in); + in.close(); + return content; + } + /** + * Reads a file from a resource. + * @param name filename + * @param encoding character encoding + * @return file content + * @throws IOException on any exception thrown + */ + public static String readResource(String name, String encoding) throws IOException { + byte[] content = readResource(name); + return new String(content, encoding); + } +} diff --git a/common/src/at/gv/egovernment/moa/util/KeyStoreUtils.java b/common/src/at/gv/egovernment/moa/util/KeyStoreUtils.java new file mode 100644 index 000000000..d6a34a7b2 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/KeyStoreUtils.java @@ -0,0 +1,134 @@ +package at.gv.egovernment.moa.util; + +import iaik.x509.X509Certificate; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.security.GeneralSecurityException; +import java.security.KeyStore; +import java.security.cert.Certificate; + +/** + * Utility for creating and loading key stores. + * + * @author Paul Ivancsics + * @version $Id$ + */ +public class KeyStoreUtils { + + /** + * Loads a key store from file. + * + * @param keystoreType key store type + * @param urlString URL of key store + * @param password password protecting the key store + * @return key store loaded + * @throws IOException thrown while reading the key store from file + * @throws GeneralSecurityException thrown while creating the key store + */ + public static KeyStore loadKeyStore( + String keystoreType, + String urlString, + String password) + throws IOException, GeneralSecurityException { + + URL keystoreURL = new URL(urlString); + InputStream in = keystoreURL.openStream(); + return loadKeyStore(keystoreType, in, password); + } + /** + * Loads a key store from an InputStream, and + * closes the InputStream. + * + * @param keystoreType key store type + * @param in input stream + * @param password password protecting the key store + * @return key store loaded + * @throws IOException thrown while reading the key store from the stream + * @throws GeneralSecurityException thrown while creating the key store + */ + public static KeyStore loadKeyStore( + String keystoreType, + InputStream in, + String password) + throws IOException, GeneralSecurityException { + + char[] chPassword = null; + if (password != null) + chPassword = password.toCharArray(); + KeyStore ks = KeyStore.getInstance(keystoreType); + ks.load(in, chPassword); + in.close(); + return ks; + } + /** + * Creates a key store from X509 certificate files, aliasing them with + * the index in the String[], starting with "0". + * + * @param keyStoreType key store type + * @param certFilenames certificate filenames + * @return key store created + * @throws IOException thrown while reading the certificates from file + * @throws GeneralSecurityException thrown while creating the key store + */ + public static KeyStore createKeyStore( + String keyStoreType, + String[] certFilenames) + throws IOException, GeneralSecurityException { + + KeyStore ks = KeyStore.getInstance(keyStoreType); + ks.load(null, null); + for (int i = 0; i < certFilenames.length; i++) { + Certificate cert = loadCertificate(certFilenames[i]); + ks.setCertificateEntry("" + i, cert); + } + return ks; + } + /** + * Creates a key store from a directory containg X509 certificate files, + * aliasing them with the index in the String[], starting with "0". + * All the files in the directory are considered to be certificates. + * + * @param keyStoreType key store type + * @param certDirURLString file URL of directory containing certificate filenames + * @return key store created + * @throws IOException thrown while reading the certificates from file + * @throws GeneralSecurityException thrown while creating the key store + */ + public static KeyStore createKeyStoreFromCertificateDirectory( + String keyStoreType, + String certDirURLString) + throws IOException, GeneralSecurityException { + + URL certDirURL = new URL(certDirURLString); + String certDirname = certDirURL.getFile(); + File certDir = new File(certDirname); + String[] certFilenames = certDir.list(); + String separator = + (certDirname.endsWith(File.separator) ? "" : File.separator); + for (int i = 0; i < certFilenames.length; i++) { + certFilenames[i] = certDirname + separator + certFilenames[i]; + } + return createKeyStore(keyStoreType, certFilenames); + } + + /** + * Loads an X509 certificate from file. + * @param certFilename filename + * @return the certificate loaded + * @throws IOException thrown while reading the certificate from file + * @throws GeneralSecurityException thrown while creating the certificate + */ + private static Certificate loadCertificate(String certFilename) + throws IOException, GeneralSecurityException { + + FileInputStream in = new FileInputStream(certFilename); + Certificate cert = new X509Certificate(in); + in.close(); + return cert; + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/MOADefaultHandler.java b/common/src/at/gv/egovernment/moa/util/MOADefaultHandler.java new file mode 100644 index 000000000..0474d92cd --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/MOADefaultHandler.java @@ -0,0 +1,82 @@ +package at.gv.egovernment.moa.util; + +import java.io.IOException; + +import org.xml.sax.EntityResolver; +import org.xml.sax.ErrorHandler; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * A DefaultHandler that uses a MOAEntityResolver and + * a MOAErrorHandler. + * + * @author Patrick Peck + * @version $Id$ + */ +public class MOADefaultHandler extends DefaultHandler { + /** The EntityResolver to use. */ + private EntityResolver entityResolver; + /** The ErrorHandler to use. */ + private ErrorHandler errorHandler; + + /** + * Create a new MOADefaultHandler. + */ + public MOADefaultHandler() { + entityResolver = new MOAEntityResolver(); + errorHandler = new MOAErrorHandler(); + } + + /** + * Create a new MOADefaultHandler. + * + * @param entityResolver The EntityResolver to use for resolving + * external entities. + * @param errorHandler The ErrorHandler to use for reporting + * parsing errors. + */ + public MOADefaultHandler( + EntityResolver entityResolver, + ErrorHandler errorHandler) { + + this.entityResolver = entityResolver; + this.errorHandler = errorHandler; + } + + /** + * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String) + */ + public InputSource resolveEntity(String publicId, String systemId) + throws SAXException { + try { + return entityResolver.resolveEntity(publicId, systemId); + } catch (IOException e) { + return null; + } + } + + /** + * @see org.xml.sax.ErrorHandler#warning(org.xml.sax.SAXParseException) + */ + public void warning(SAXParseException exception) throws SAXException { + errorHandler.warning(exception); + } + + /** + * @see org.xml.sax.ErrorHandler#error(org.xml.sax.SAXParseException) + */ + public void error(SAXParseException exception) throws SAXException { + errorHandler.error(exception); + } + + /** + * @see org.xml.sax.ErrorHandler#fatalError(org.xml.sax.SAXParseException) + */ + public void fatalError(SAXParseException exception) throws SAXException { + errorHandler.fatalError(exception); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/MOAEntityResolver.java b/common/src/at/gv/egovernment/moa/util/MOAEntityResolver.java new file mode 100644 index 000000000..9406612e2 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/MOAEntityResolver.java @@ -0,0 +1,103 @@ +package at.gv.egovernment.moa.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 at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; + +/** + * 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 MOAEntityResolver 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) { + 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 (!"file".equals(uri.getScheme()) || "".equals(systemId.trim())) { + return null; + } + } catch (MalformedURIException e) { + return null; + } + + // 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 + } +} \ No newline at end of file diff --git a/common/src/at/gv/egovernment/moa/util/MOAErrorHandler.java b/common/src/at/gv/egovernment/moa/util/MOAErrorHandler.java new file mode 100644 index 000000000..1f7757c8f --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/MOAErrorHandler.java @@ -0,0 +1,85 @@ +package at.gv.egovernment.moa.util; + +import org.apache.xml.utils.DefaultErrorHandler; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; + +import at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; + +/** + * An ErrorHandler that logs a message and throws a + * SAXException upon error and fatal + * parsing errors. + * + * @author Patrick Peck + * @author Sven Aigner + */ +public class MOAErrorHandler extends DefaultErrorHandler { + + /** + * Logs a warning message. + * + * @see org.xml.sax.ErrorHandler#warning(SAXParseException) + */ + public void warning(SAXParseException exception) throws SAXException { + warn("parser.00", messageParams(exception), null); + } + + /** + * Logs a warning and rethrows the exception. + * + * @see org.xml.sax.ErrorHandler#error(SAXParseException) + */ + public void error(SAXParseException exception) throws SAXException { + warn("parser.01", messageParams(exception), null); + throw exception; + } + + /** + * Logs a warning and rethrows the exception. + * + * @see org.xml.sax.ErrorHandler#fatalError(SAXParseException) + */ + public void fatalError(SAXParseException exception) throws SAXException { + warn("parser.02", messageParams(exception), null); + throw exception; + } + + /** + * Log a warning message. + * + * @param messageId The message ID to log. + * @param parameters Additional message parameters. + * @param t The Throwable to log; usually the cause of this + * warning. + */ + private static void warn( + String messageId, + Object[] parameters, + Throwable t) { + + MessageProvider msg = MessageProvider.getInstance(); + Logger.warn(new LogMsg(msg.getMessage(messageId, parameters)), t); + } + + /** + * Put the system id, line and column number information from the exception + * into an Object array, to provide it as a + * MessageFormat parameter. + * + * @param e The SAXParseException containing the + * source system id and line/column numbers. + * @return An array containing the system id (a String) as well + * as line/column numbers (2 Integer objects) from the + * SAXParseException. + */ + private static Object[] messageParams(SAXParseException e) { + return new Object[] { + e.getMessage(), + e.getSystemId(), + new Integer(e.getLineNumber()), + new Integer(e.getColumnNumber())}; + } + +} \ No newline at end of file diff --git a/common/src/at/gv/egovernment/moa/util/MOATimer.java b/common/src/at/gv/egovernment/moa/util/MOATimer.java new file mode 100644 index 000000000..d8bf64fc3 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/MOATimer.java @@ -0,0 +1,110 @@ +package at.gv.egovernment.moa.util; + +import java.util.Map; +import java.util.WeakHashMap; + +/** + * A timer utility for named timers. + * + * @author Sven Aigner + */ +public class MOATimer { + + /** The single instance of this class. */ + private static MOATimer instance = null; + /** The starting points of single timings. */ + private static Map timemapstart = new WeakHashMap(); + /** The end points of single timings. */ + private static Map timemapend = new WeakHashMap(); + + /** + * Return the single instance of this class. + * + * @return The single instance of this class. + */ + public static MOATimer getInstance() { + if (instance == null) { + instance = new MOATimer(); + } + return instance; + } + + /** + * Create a new MOATimer. + * + * Protected to disallow multiple instances. + */ + protected MOATimer() { + super(); + } + + /** + * Start timing a certain action. + * + * The timing belonging to the action ID is garbage collected as soon as there + * exists no other reference to the action ID. + * + * @param id The action ID. + */ + public void startTiming(Object id) { + timemapstart.put(id, new Long(System.currentTimeMillis())); + } + + /** + * Stop timing an action. + * + * @param id The action ID. + */ + public void stopTiming(Object id) { + timemapend.put(id, new Long(System.currentTimeMillis())); + } + + /** + * Get the duration of an action. + * + * @param id The action ID for which to compute the duration. + * @return long The duration in milliseconds between calls to + * startTiming() and stopTiming(). If + * only startTiming() has been called for the action, then + * current difference to the system time is returned. If no timing exists for + * the action, - 1 is returned. + */ + public long duration(Object id) { + if (timemapstart.containsKey(id)) { + long start = ((Long) timemapstart.get(id)).longValue(); + if (timemapend.containsKey(id)) { + long end = ((Long) timemapend.get(id)).longValue(); + return end - start; + } else { + return System.currentTimeMillis() - start; + } + } else + return -1; + } + + /** + * Get the duration of an action, as a nicely formatted String. + * + * @param id The action ID. + * @return String The duration() as a String. + */ + public String durationAsString(Object id) { + long dur = duration(id); + long second = dur / 1000; + long mil = (dur) - (second * 1000); + return "Duration: " + second + "." + mil + " seconds"; + } + + /** + * Remove a timing. + * + * @param id The action ID. + */ + public void clearTiming(String id) { + if (timemapstart.containsKey(id)) + timemapstart.remove(id); + if (timemapend.containsKey(id)) + timemapend.remove(id); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/MessageProvider.java b/common/src/at/gv/egovernment/moa/util/MessageProvider.java new file mode 100644 index 000000000..f5117e390 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/MessageProvider.java @@ -0,0 +1,63 @@ +package at.gv.egovernment.moa.util; + +import java.util.Locale; + +/** + * A singleton wrapper around a Message object. + * + * Provides the messages used in the common project. + * + * @author Patrick Peck + * @version $Id$ + */ +public class MessageProvider { + /** The location of the default message resources. */ + private static final String[] DEFAULT_MESSAGE_RESOURCES = + { "resources/properties/common_messages" }; + /** The locale of the default message resources. */ + 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 this MessageProvider. */ + private Messages messages; + + /** + * Return the single instance of the MessageProvider. + * + * Intialilizes the MessageProvider with the default message + * locations: /resources/properties/common_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/common/src/at/gv/egovernment/moa/util/Messages.java b/common/src/at/gv/egovernment/moa/util/Messages.java new file mode 100644 index 000000000..a0139ae93 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/Messages.java @@ -0,0 +1,117 @@ +package at.gv.egovernment.moa.util; + +import java.text.MessageFormat; +import java.util.Locale; +import java.util.MissingResourceException; +import java.util.PropertyResourceBundle; + +import at.gv.egovernment.moa.logging.Logger; + +/** + * Provides access to the system messages resource used for exception handling + * and logging messages. + * + * Messages must be provided as a resource bundle at the path. + * + * @author Patrick Peck + * @version $Id$ + */ +public class Messages { + /** Error message indicating that no messages are avaiable. */ + private static final String ERROR_MESSAGES_UNAVAILABLE = + "Fehler in der Server-Konfiguration. " + + "Die Fehlertexte konnten nicht geladen werden."; + /** Error message indicating that the message is not available. */ + private static final String ERROR_NO_MESSAGE = + "Keine Fehlermeldung für Fehler-Nr.={0}"; + + /** The names of the resources containing the messages. */ + private String[] resourceNames; + /** The corresponding Locales of the resources. */ + private Locale[] locales; + /** The ResourceBundles containing the messages. */ + private ResourceBundleChain messages; + + /** + * Create a new Message object containing the messages + * in the given resources. + * + * @param resourceNames The names of the resources containing the messages. + * @param locales The corresponding locales. + */ + public Messages(String[] resourceNames, Locale[] locales) { + this.resourceNames = resourceNames; + this.locales = locales; + this.messages = null; + } + + /** + * 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) { + // initialize messages + if (messages == null) { + initMessages(); + } + + // create the message + if (messages == null) { + return ERROR_MESSAGES_UNAVAILABLE; + } else { + try { + String rawMessage = messages.getString(messageId); + return MessageFormat.format(rawMessage, parameters); + } catch (MissingResourceException e2) { + // couldn't find any message -> set to default error message + return MessageFormat.format( + ERROR_NO_MESSAGE, + new Object[] { messageId }); + } + } + } + + /** + * Return the names of the resources containing the messages. + * + * @return String[] The names of the resource bundles containing the messages. + */ + private String[] getResourceNames() { + return resourceNames; + } + + /** + * Return the Locales of the resources containing the messages. + * + * @return Locale[] The Locales of the resource bundles + * containing the messages. + */ + private Locale[] getLocales() { + return locales; + } + + /** + * Initialize the messages ResourceBundle containing + * the MOA error messages. + */ + private void initMessages() { + messages = new ResourceBundleChain(); + int i; + + // initialize the message resources + for (i = 0; i < resourceNames.length; i++) { + try { + messages.addResourceBundle( + PropertyResourceBundle.getBundle( + getResourceNames()[i], + getLocales()[i])); + } catch (MissingResourceException e) { + Logger.error(ERROR_MESSAGES_UNAVAILABLE, e); + } + } + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/NodeIteratorAdapter.java b/common/src/at/gv/egovernment/moa/util/NodeIteratorAdapter.java new file mode 100644 index 000000000..f71aa472d --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/NodeIteratorAdapter.java @@ -0,0 +1,87 @@ +package at.gv.egovernment.moa.util; + +import java.util.ListIterator; + +import org.w3c.dom.DOMException; +import org.w3c.dom.Node; +import org.w3c.dom.traversal.NodeFilter; +import org.w3c.dom.traversal.NodeIterator; + +/** + * A NodeIterator implementation based on a + * ListIterator. + * + * @see java.util.ListIterator + * @see org.w3c.dom.traversal.NodeIterator + * + * @author Patrick Peck + * @version $Id$ + */ +public class NodeIteratorAdapter implements NodeIterator { + + /** The ListIterator to wrap. */ + private ListIterator nodeIterator; + + /** + * Create a new NodeIteratorAdapter. + * @param nodeIterator The ListIterator to iterate over. + */ + public NodeIteratorAdapter(ListIterator nodeIterator) { + this.nodeIterator = nodeIterator; + } + + /** + * @see org.w3c.dom.traversal.NodeIterator#getRoot() + */ + public Node getRoot() { + return null; + } + + /** + * @see org.w3c.dom.traversal.NodeIterator#getWhatToShow() + */ + public int getWhatToShow() { + return NodeFilter.SHOW_ALL; + } + + /** + * @see org.w3c.dom.traversal.NodeIterator#getFilter() + */ + public NodeFilter getFilter() { + return null; + } + + /** + * @see org.w3c.dom.traversal.NodeIterator#getExpandEntityReferences() + */ + public boolean getExpandEntityReferences() { + return false; + } + + /** + * @see org.w3c.dom.traversal.NodeIterator#nextNode() + */ + public Node nextNode() throws DOMException { + if (nodeIterator.hasNext()) { + return (Node) nodeIterator.next(); + } + return null; + } + + /** + * @see org.w3c.dom.traversal.NodeIterator#previousNode() + */ + public Node previousNode() throws DOMException { + if (nodeIterator.hasPrevious()) { + return (Node) nodeIterator.previous(); + } + return null; + } + + /** + * @see org.w3c.dom.traversal.NodeIterator#detach() + */ + public void detach() { + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/NodeListAdapter.java b/common/src/at/gv/egovernment/moa/util/NodeListAdapter.java new file mode 100644 index 000000000..7102cadca --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/NodeListAdapter.java @@ -0,0 +1,44 @@ +package at.gv.egovernment.moa.util; + +import java.util.List; + +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +/** + * A NodeList implementation based on a List. + * + * @see java.util.List + * @see org.w3c.dom.NodeList + * + * @author Patrick Peck + * @version $Id$ + */ +public class NodeListAdapter implements NodeList { + /** The List to wrap. */ + private List nodeList; + + /** + * Create a new NodeListAdapter. + * + * @param nodeList The List containing the nodes. + */ + public NodeListAdapter(List nodeList) { + this.nodeList = nodeList; + } + + /** + * @see org.w3c.dom.NodeList#item(int) + */ + public Node item(int index) { + return (Node) nodeList.get(index); + } + + /** + * @see org.w3c.dom.NodeList#getLength() + */ + public int getLength() { + return nodeList.size(); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/ResourceBundleChain.java b/common/src/at/gv/egovernment/moa/util/ResourceBundleChain.java new file mode 100644 index 000000000..90b28548a --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/ResourceBundleChain.java @@ -0,0 +1,66 @@ +package at.gv.egovernment.moa.util; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +/** + * A class to chain ResourceBundles. + * + * @author Patrick Peck + * @version $Id$ + */ +public class ResourceBundleChain { + /** Error message indicating the resource is not available. */ + private static final String ERROR_MISSING_RESOURCE = "Missing resource"; + /** The ResourceBundles contained in this chain. */ + private List resourceBundles = new ArrayList(); + + /** + * Add a ResourceBundle to the chain. + * + * @param resourceBundle The ResourceBundle to add. + */ + public void addResourceBundle(ResourceBundle resourceBundle) { + resourceBundles.add(resourceBundle); + } + + /** + * Return the value of the resource. + * + * @param key The key to access the String resource. + * @return The resource value. All the registered ResourceBundles + * are searched in the order in which they have previously been added to this + * ResourceBundleChain. + * @throws MissingResourceException The resource coult not be found in any of + * the bundles. + */ + public String getString(String key) throws MissingResourceException { + MissingResourceException lastException = null; + Iterator iter; + + // handle case where no resource bundles have been added + if (resourceBundles.size() == 0) { + throw new MissingResourceException( + ERROR_MISSING_RESOURCE, + this.getClass().getName(), + key); + } + + // try to find the resource in one of the bundles; if it cannot be found, + // return the exception thrown by the last bundle in the list + for (iter = resourceBundles.iterator(); iter.hasNext();) { + ResourceBundle resourceBundle = (ResourceBundle) iter.next(); + try { + String value = resourceBundle.getString(key); + return value; + } catch (MissingResourceException e) { + lastException = e; + } + } + throw lastException; + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/SSLUtils.java b/common/src/at/gv/egovernment/moa/util/SSLUtils.java new file mode 100644 index 000000000..621562e2d --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/SSLUtils.java @@ -0,0 +1,222 @@ +package at.gv.egovernment.moa.util; + +import java.io.IOException; +import java.io.InputStream; +import java.security.GeneralSecurityException; +import java.security.KeyStore; +import javax.net.ssl.SSLSocketFactory; + +import com.sun.net.ssl.KeyManager; +import com.sun.net.ssl.KeyManagerFactory; +import com.sun.net.ssl.SSLContext; +import com.sun.net.ssl.TrustManager; +import com.sun.net.ssl.TrustManagerFactory; + +/** + * Utility for connecting to server applications via SSL. + * + * @author Paul Ivancsics + * @version $Id$ + */ +public class SSLUtils { + + /** + * Creates an SSLSocketFactory which utilizes the given trust store. + * + * @param trustStoreType key store type of trust store + * @param trustStoreInputStream input stream for reading JKS trust store containing + * trusted server certificates; if null, the default + * trust store will be utilized + * @param trustStorePassword if provided, it will be used to check + * the integrity of the trust store; if omitted, it will not be checked + * @return SSLSocketFactory to be used by an HttpsURLConnection + * @throws IOException thrown while reading from the input stream + * @throws GeneralSecurityException thrown while creating the socket factory + */ + public static SSLSocketFactory getSSLSocketFactory( + String trustStoreType, + InputStream trustStoreInputStream, + String trustStorePassword) + throws IOException, GeneralSecurityException { + + TrustManager[] tms = getTrustManagers(trustStoreType, trustStoreInputStream, trustStorePassword); + SSLContext ctx = SSLContext.getInstance("TLS"); + ctx.init(null, tms, null); + + SSLSocketFactory sf = ctx.getSocketFactory(); + return sf; + } + /** + * Creates an SSLSocketFactory which utilizes the + * given trust store and keystore. + * + * @param trustStore trust store containing trusted server certificates; + * if null, the default trust store will be utilized + * @param clientKeyStoreType key store type of clientKeyStore + * @param clientKeyStoreURL URL of key store containing keys to be used for + * client authentication; if null, the default key store will be utilized + * @param clientKeyStorePassword if provided, it will be used to check + * the integrity of the client key store; if omitted, it will not be checked + * @return SSLSocketFactory to be used by an HttpsURLConnection + * @throws IOException thrown while reading key store file + * @throws GeneralSecurityException thrown while creating the socket factory + */ + public static SSLSocketFactory getSSLSocketFactory( + KeyStore trustStore, + String clientKeyStoreType, + String clientKeyStoreURL, + String clientKeyStorePassword) + throws IOException, GeneralSecurityException { + + SSLContext ctx = getSSLContext( + trustStore, clientKeyStoreType, clientKeyStoreURL, clientKeyStorePassword); + SSLSocketFactory sf = ctx.getSocketFactory(); + return sf; + } + /** + * Creates an SSLContext initialized for the + * given trust store and keystore. + * + * @param trustStore trust store containing trusted server certificates; + * if null, the default trust store will be utilized + * @param clientKeyStoreType key store type of clientKeyStore + * @param clientKeyStoreURL URL of key store containing keys to be used for + * client authentication; if null, the default key store will be utilized + * @param clientKeyStorePassword if provided, it will be used to check + * the integrity of the client key store; if omitted, it will not be checked + * @return SSLContext to be used for creating an SSLSocketFactory + * @throws IOException thrown while reading key store file + * @throws GeneralSecurityException thrown while creating the SSL context + */ + public static SSLContext getSSLContext( + KeyStore trustStore, + String clientKeyStoreType, + String clientKeyStoreURL, + String clientKeyStorePassword) + throws IOException, GeneralSecurityException { + + //System.setProperty("javax.net.debug", "all"); + TrustManager[] tms = getTrustManagers(trustStore); + KeyManager[] kms = getKeyManagers(clientKeyStoreType, clientKeyStoreURL, clientKeyStorePassword); + SSLContext ctx = SSLContext.getInstance("TLS"); + ctx.init(kms, tms, null); + return ctx; + } + /** + * Loads the trust store from an input stream and gets the + * TrustManagers from a default TrustManagerFactory, + * initialized from the given trust store. + * @param trustStoreType key store type of trust store + * @param trustStoreInputStream input stream for reading JKS trust store containing + * trusted server certificates; if null, the default + * trust store will be utilized + * @param trustStorePassword if provided, it will be used to check + * the integrity of the trust store; if omitted, it will not be checked + * @return TrustManagers to be used for creating an + * SSLSocketFactory utilizing the given trust store + * @throws IOException thrown while reading from the input stream + * @throws GeneralSecurityException thrown while initializing the + * default TrustManagerFactory + */ + protected static TrustManager[] getTrustManagers( + String trustStoreType, + InputStream trustStoreInputStream, + String trustStorePassword) + throws IOException, GeneralSecurityException { + + if (trustStoreInputStream == null) + return null; + + // Set up the TrustStore to use. We need to load the file into + // a KeyStore instance. + KeyStore trustStore = KeyStoreUtils.loadKeyStore(trustStoreType, trustStoreInputStream, trustStorePassword); + return getTrustManagers(trustStore); + } + /** + * Gets the TrustManagers from a default TrustManagerFactory, + * initialized from the given trust store. + * + * @param trustStore the trust store to use + * @param trustStorePassword password protecting the given trust store + * @return TrustManagers to be used for creating an + * SSLSocketFactory utilizing the given trust store + * @throws GeneralSecurityException thrown while initializing the + * default TrustManagerFactory + */ + protected static TrustManager[] getTrustManagers(KeyStore trustStore) + throws GeneralSecurityException { + + if (trustStore == null) + return null; + + // Initialize the default TrustManagerFactory with this KeyStore + String alg=TrustManagerFactory.getDefaultAlgorithm(); + TrustManagerFactory tmFact=TrustManagerFactory.getInstance(alg); + tmFact.init(trustStore); + + // And now get the TrustManagers + TrustManager[] tms=tmFact.getTrustManagers(); + return tms; + } + /** + * Loads the client key store from file and gets the + * KeyManagers from a default KeyManagerFactory, + * initialized from the given client key store. + * @param clientKeyStoreType key store type of clientKeyStore + * @param clientKeyStoreURL URL of key store containing keys to be used for + * client authentication; if null, the default key store will be utilized + * @param clientKeyStorePassword password used to check the integrity of the client key store; + * if null, it will not be checked + * @return KeyManagers to be used for creating an + * SSLSocketFactory utilizing the given client key store + * @throws IOException thrown while reading from the key store file + * @throws GeneralSecurityException thrown while initializing the + * default KeyManagerFactory + */ + public static KeyManager[] getKeyManagers ( + String clientKeyStoreType, + String clientKeyStoreURL, + String clientKeyStorePassword) + throws IOException, GeneralSecurityException { + + if (clientKeyStoreURL == null) + return null; + + // Set up the KeyStore to use. We need to load the file into + // a KeyStore instance. + KeyStore clientKeyStore = KeyStoreUtils.loadKeyStore( + clientKeyStoreType, clientKeyStoreURL, clientKeyStorePassword); + return getKeyManagers(clientKeyStore, clientKeyStorePassword); + } + /** + * Gets the KeyManagers from a default KeyManagerFactory, + * initialized from the given client key store. + * @param clientKeyStore client key store + * @param clientKeyStorePassword if provided, it will be used to check + * the integrity of the client key store; if omitted, it will not be checked + * @return KeyManagers to be used for creating an + * SSLSocketFactory utilizing the given client key store + * @throws GeneralSecurityException thrown while initializing the + * default KeyManagerFactory + */ + public static KeyManager[] getKeyManagers ( + KeyStore clientKeyStore, + String clientKeyStorePassword) + throws GeneralSecurityException { + + if (clientKeyStore == null) + return null; + + // Now we initialize the default KeyManagerFactory with this KeyStore + String alg=KeyManagerFactory.getDefaultAlgorithm(); + KeyManagerFactory kmFact=KeyManagerFactory.getInstance(alg); + char[] password = null; + if (clientKeyStorePassword != null) + password = clientKeyStorePassword.toCharArray(); + kmFact.init(clientKeyStore, password); + + // And now get the KeyManagers + KeyManager[] kms=kmFact.getKeyManagers(); + return kms; + } +} diff --git a/common/src/at/gv/egovernment/moa/util/StreamEntityResolver.java b/common/src/at/gv/egovernment/moa/util/StreamEntityResolver.java new file mode 100644 index 000000000..38c4e863c --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/StreamEntityResolver.java @@ -0,0 +1,64 @@ +package at.gv.egovernment.moa.util; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Map; + +import org.xml.sax.EntityResolver; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; + +/** + * An EntityResolver that maps system IDs to + * InputStreams. + * + * @author Patrick Peck + * @version $Id$ + */ +public class StreamEntityResolver implements EntityResolver { + + /** A mapping from Public ID or System ID to an InputStream + * containing the entity. */ + private Map mappedEntities; + + /** + * Create a StreamEntityResolver. + * + * @param mappedEntities A mapping from public or system IDs + * (String objects) to InputStreams. + */ + public StreamEntityResolver(Map mappedEntities) { + this.mappedEntities = mappedEntities; + } + + /** + * Resolve an entity by looking it up in the mapped entities. + * + * First, the public ID is looked up in the mapping, then the system ID. + * + * @param publicId The public ID of the entity. + * @param systemId The system ID of the entity. + * @return An InputStream containing the entity or + * null if no entity could be found. + * @throws SAXException Signalling a parsing exception. + * @throws IOException Error reading the entity. + */ + public InputSource resolveEntity(String publicId, String systemId) + throws SAXException, IOException { + + InputSource src = null; + + if (publicId != null && mappedEntities.get(publicId) != null) { + src = new InputSource((InputStream) mappedEntities.get(publicId)); + } else if (systemId != null && mappedEntities.get(systemId) != null) { + src = new InputSource((InputStream) mappedEntities.get(systemId)); + } + + if (src != null) { + src.setPublicId(publicId); + src.setSystemId(systemId); + } + + return src; + } +} diff --git a/common/src/at/gv/egovernment/moa/util/StreamUtils.java b/common/src/at/gv/egovernment/moa/util/StreamUtils.java new file mode 100644 index 000000000..88db24504 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/StreamUtils.java @@ -0,0 +1,116 @@ +package at.gv.egovernment.moa.util; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; + +/** + * Utility methods for streams. + * + * @author Patrick Peck + * @version $Id$ + */ +public class StreamUtils { + + /** + * Compare the contents of two InputStreams. + * + * @param is1 The 1st InputStream to compare. + * @param is2 The 2nd InputStream to compare. + * @return boolean true, if both streams contain the exactly the + * same content, false otherwise. + * @throws IOException An error occurred reading one of the streams. + */ + public static boolean compareStreams(InputStream is1, InputStream is2) + throws IOException { + + byte[] buf1 = new byte[256]; + byte[] buf2 = new byte[256]; + int length1; + int length2; + + try { + while (true) { + length1 = is1.read(buf1); + length2 = is2.read(buf2); + + if (length1 != length2) { + return false; + } + if (length1 <= 0) { + return true; + } + if (!compareBytes(buf1, buf2, length1)) { + return false; + } + } + } catch (IOException e) { + throw e; + } finally { + // close both streams + try { + is1.close(); + is2.close(); + } catch (IOException e) { + // ignore this + } + } + } + + /** + * Compare two byte arrays, up to a given maximum length. + * + * @param b1 1st byte array to compare. + * @param b2 2nd byte array to compare. + * @param length The maximum number of bytes to compare. + * @return true, if the byte arrays are equal, false + * otherwise. + */ + private static boolean compareBytes(byte[] b1, byte[] b2, int length) { + if (b1.length != b2.length) { + return false; + } + + for (int i = 0; i < b1.length && i < length; i++) { + if (b1[i] != b2[i]) { + return false; + } + } + + return true; + } + + /** + * Reads a byte array from a stream. + * @param in The InputStream to read. + * @return The bytes contained in the given InputStream. + * @throws IOException on any exception thrown + */ + public static byte[] readStream(InputStream in) throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int b; + while ((b = in.read()) >= 0) + out.write(b); + in.close(); + return out.toByteArray(); + } + + /** + * Reads a String from a stream, using given encoding. + * @param in The InputStream to read. + * @param encoding The character encoding to use for converting the bytes + * of the InputStream into a String. + * @return The content of the given InputStream converted into + * a String. + * @throws IOException on any exception thrown + */ + public static String readStream(InputStream in, String encoding) throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int b; + while ((b = in.read()) >= 0) + out.write(b); + in.close(); + return out.toString(encoding); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/URLDecoder.java b/common/src/at/gv/egovernment/moa/util/URLDecoder.java new file mode 100644 index 000000000..a20820f7e --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/URLDecoder.java @@ -0,0 +1,60 @@ +package at.gv.egovernment.moa.util; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.StringReader; +import java.io.UnsupportedEncodingException; + +/** + * Decodes an URL encoded String using a specified character encoding. + * Provides a function missing in JDK 1.3. + * @author Paul Ivancsics + * @version $Id$ + */ +public class URLDecoder { + + /** + * Decodes an application/x-www-form-urlencoded string using a specific encoding scheme. + * @param s the string to decode + * @param encoding name of character encoding + * @return the newly decoded string + * @throws UnsupportedEncodingException if the encoding is not supported + */ + public static String decode(String s, String encoding) throws UnsupportedEncodingException { + StringReader in = new StringReader(s); + ByteArrayOutputStream bout = new ByteArrayOutputStream(); + for (int b = read(in); b >= 0; b = read(in)) + bout.write(b); + return bout.toString(encoding); + } + /** + * Decodes the next byte from the string reader. + * @param in string reader + * @return the next byte decoded; + * -1 upon end of string, on erroneous data, and on any exception caught + * @todo syntax check on string + */ + private static int read(StringReader in) { + try { + int b = in.read(); + if (b == '+') + return ' '; + if (b == '%') { + char[] hex = new char[2]; + if (in.read(hex, 0, 2) >= 0) { + String hexString = new String(hex); + return Integer.valueOf(hexString, 16).intValue(); + } + else + return -1; + } + return b; + } + catch (IOException ex) { + return -1; + } + catch (NumberFormatException ex) { + return -1; + } + } +} diff --git a/common/src/at/gv/egovernment/moa/util/URLEncoder.java b/common/src/at/gv/egovernment/moa/util/URLEncoder.java new file mode 100644 index 000000000..840c0c3bc --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/URLEncoder.java @@ -0,0 +1,63 @@ +package at.gv.egovernment.moa.util; + +import java.io.ByteArrayInputStream; +import java.io.StringWriter; +import java.io.UnsupportedEncodingException; + +/** + * Translates a string into mime format "x-www-form-urlencoded". + * Provides a function missing in JDK 1.3. + * @author Paul Ivancsics + * @version $Id$ + */ +public class URLEncoder { + + /** + * Translates a string into x-www-form-urlencoded format. + * @param s the string to be translated + * @param encoding the encoding to use + * @return the translated string + * @throws UnsupportedEncodingException when the desired encoding is not supported + */ + public static String encode(String s, String encoding) throws UnsupportedEncodingException { + byte[] barr = s.getBytes(encoding); + ByteArrayInputStream bin = new ByteArrayInputStream(barr); + StringWriter out = new StringWriter(); + for (int b = bin.read(); b >= 0; b = bin.read()) + encode(b, out); + return out.toString(); + } + + /** + * Encode a character. + * @param ch The character to encode. + * @param out The StringWriter containing the result. + */ + private static void encode(int ch, StringWriter out) { + if ((ch >= 'a' && ch <= 'z') + || (ch >= 'A' && ch <= 'Z') + || (ch >= '0' && ch <= '9') + || ch == '.' || ch == '-' || ch == '*' || ch == '_') + out.write(ch); + else if (ch == ' ') + out.write('+'); + else + encodeHex(ch, out); + } + + /** + * Encode a character as an escaped hex value. + * @param ch The character to encode. + * @param out The StringWriter containing the result. + */ + private static void encodeHex(int ch, StringWriter out) { + out.write('%'); + String hex = Integer.toHexString(ch).toUpperCase(); + if (hex.length() < 2) + out.write('0'); + else + out.write(hex.charAt(hex.length() - 2)); + out.write(hex.charAt(hex.length() - 1)); + } + +} diff --git a/common/src/at/gv/egovernment/moa/util/XPathException.java b/common/src/at/gv/egovernment/moa/util/XPathException.java new file mode 100644 index 000000000..e10c882e5 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/XPathException.java @@ -0,0 +1,58 @@ +package at.gv.egovernment.moa.util; + +import java.io.PrintStream; +import java.io.PrintWriter; + +/** + * An exception occurred evaluating an XPath. + * + * @author Patrick Peck + * @version $Id$ + */ +public class XPathException extends RuntimeException { + /** The wrapped exception. */ + private Throwable wrapped; + + /** + * Create a XPathException. + * + * @param message The exception message. + * @param wrapped The exception being the likely cause of this exception. + */ + public XPathException(String message, Throwable wrapped) { + super(message); + this.wrapped = wrapped; + } + + /** + * Return the wrapped exception. + * + * @return The wrapped exception being the likely cause of this exception. + */ + public Throwable getWrapped() { + return wrapped; + } + + /** + * @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); + } + } + + /** + * @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/common/src/at/gv/egovernment/moa/util/XPathUtils.java b/common/src/at/gv/egovernment/moa/util/XPathUtils.java new file mode 100644 index 000000000..0ed4fcda3 --- /dev/null +++ b/common/src/at/gv/egovernment/moa/util/XPathUtils.java @@ -0,0 +1,415 @@ +package at.gv.egovernment.moa.util; + +import java.util.List; +import java.util.Map; + +import org.w3c.dom.Attr; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.w3c.dom.traversal.NodeIterator; + +import org.jaxen.JaxenException; +import org.jaxen.NamespaceContext; +import org.jaxen.SimpleNamespaceContext; +import org.jaxen.dom.DOMXPath; +import org.jaxen.dom.DocumentNavigator; + +/** + * Utility methods to evaluate XPath expressions on DOM nodes. + * + * @author Patrick Peck + * @version $Id$ + */ +public class XPathUtils { + + /** + * The XPath expression selecting all nodes under a given root (including the + * root node itself). + */ + public static final String ALL_NODES_XPATH = + "(.//. | .//@* | .//namespace::*)"; + + /** The DocumentNavigator to use for navigating the document. */ + private static DocumentNavigator documentNavigator = + DocumentNavigator.getInstance(); + /** The default namespace prefix to namespace URI mappings. */ + private static NamespaceContext NS_CONTEXT; + + static { + SimpleNamespaceContext ctx = new SimpleNamespaceContext(); + ctx.addNamespace(Constants.MOA_PREFIX, Constants.MOA_NS_URI); + ctx.addNamespace(Constants.MOA_CONFIG_PREFIX, Constants.MOA_CONFIG_NS_URI); + ctx.addNamespace( + Constants.MOA_ID_CONFIG_PREFIX, + Constants.MOA_ID_CONFIG_NS_URI); + ctx.addNamespace(Constants.SL10_PREFIX, Constants.SL10_NS_URI); + ctx.addNamespace(Constants.SL11_PREFIX, Constants.SL11_NS_URI); + ctx.addNamespace(Constants.ECDSA_PREFIX, Constants.ECDSA_NS_URI); + ctx.addNamespace(Constants.PD_PREFIX, Constants.PD_NS_URI); + ctx.addNamespace(Constants.SAML_PREFIX, Constants.SAML_NS_URI); + ctx.addNamespace(Constants.SAMLP_PREFIX, Constants.SAMLP_NS_URI); + ctx.addNamespace(Constants.DSIG_PREFIX, Constants.DSIG_NS_URI); + ctx.addNamespace(Constants.XSLT_PREFIX, Constants.XSLT_NS_URI); + ctx.addNamespace(Constants.XSI_PREFIX, Constants.XSI_NS_URI); + ctx.addNamespace( + Constants.DSIG_FILTER2_PREFIX, + Constants.DSIG_FILTER2_NS_URI); + ctx.addNamespace(Constants.DSIG_EC_PREFIX, Constants.DSIG_EC_NS_URI); + NS_CONTEXT = ctx; + } + + /** + * Return a NodeIterator over the nodes matching the XPath + * expression. + * + * All namespace URIs and prefixes declared in the Constants + * interface are used for resolving namespaces. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param exp The XPath expression to evaluate. + * @return An iterator over the resulting nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static NodeIterator selectNodeIterator(Node contextNode, String exp) + throws XPathException { + + return selectNodeIterator(contextNode, NS_CONTEXT, exp); + } + + /** + * Return a NodeIterator over the nodes matching the XPath + * expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param namespaceElement An element from which to build the + * namespace mapping for evaluating the XPath expression + * @param exp The XPath expression to evaluate. + * @return An iterator over the resulting nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static NodeIterator selectNodeIterator( + Node contextNode, + Element namespaceElement, + String exp) + throws XPathException { + + try { + SimpleNamespaceContext ctx = new SimpleNamespaceContext(); + ctx.addElementNamespaces(documentNavigator, namespaceElement); + return selectNodeIterator(contextNode, ctx, exp); + } catch (JaxenException e) { + MessageProvider msg = MessageProvider.getInstance(); + String message = msg.getMessage("xpath.00", new Object[] { exp }); + throw new XPathException(message, e); + } + } + + /** + * Return a NodeIterator over the nodes matching the XPath + * expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param namespaceMapping A namespace prefix to namespace URI mapping + * (String to String) for evaluating the XPath + * expression. + * @param exp The XPath expression to evaluate. + * @return An iterator over the resulting nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static NodeIterator selectNodeIterator( + Node contextNode, + Map namespaceMapping, + String exp) + throws XPathException { + + SimpleNamespaceContext ctx = new SimpleNamespaceContext(namespaceMapping); + + return selectNodeIterator(contextNode, ctx, exp); + } + + /** + * Return a NodeIterator over the nodes matching the XPath + * expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param nsContext The NamespaceContext for resolving namespace + * prefixes to namespace URIs for evaluating the XPath expression. + * @param exp The XPath expression to evaluate. + * @return An iterator over the resulting nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + private static NodeIterator selectNodeIterator( + Node contextNode, + NamespaceContext nsContext, + String exp) + throws XPathException { + + try { + DOMXPath xpath = new DOMXPath(exp); + List nodes; + + xpath.setNamespaceContext(nsContext); + nodes = xpath.selectNodes(contextNode); + return new NodeIteratorAdapter(nodes.listIterator()); + } catch (JaxenException e) { + MessageProvider msg = MessageProvider.getInstance(); + String message = msg.getMessage("xpath.00", new Object[] { exp }); + throw new XPathException(message, e); + } + } + + /** + * Return a NodeList of all the nodes matching the XPath + * expression. + * + * All namespace URIs and prefixes declared in the Constants + * interface are used for resolving namespaces. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param exp The XPath expression to evaluate. + * @return A NodeList containing the matching nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static NodeList selectNodeList(Node contextNode, String exp) + throws XPathException { + + return selectNodeList(contextNode, NS_CONTEXT, exp); + } + + /** + * Return a NodeList of all the nodes matching the XPath + * expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param namespaceElement An element from which to build the + * namespace mapping for evaluating the XPath expression + * @param exp The XPath expression to evaluate. + * @return A NodeList containing the matching nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static NodeList selectNodeList( + Node contextNode, + Element namespaceElement, + String exp) + throws XPathException { + + try { + SimpleNamespaceContext ctx = new SimpleNamespaceContext(); + + ctx.addElementNamespaces(documentNavigator, namespaceElement); + return selectNodeList(contextNode, ctx, exp); + } catch (JaxenException e) { + MessageProvider msg = MessageProvider.getInstance(); + String message = msg.getMessage("xpath.00", new Object[] { exp }); + throw new XPathException(message, e); + } + } + + /** + * Return a NodeList of all the nodes matching the XPath + * expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param namespaceMapping A namespace prefix to namespace URI mapping + * (String to String) for evaluating the XPath + * expression. + * @param exp The XPath expression to evaluate. + * @return A NodeList containing the matching nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static NodeList selectNodeList( + Node contextNode, + Map namespaceMapping, + String exp) + throws XPathException { + + SimpleNamespaceContext ctx = new SimpleNamespaceContext(namespaceMapping); + + return selectNodeList(contextNode, ctx, exp); + } + + /** + * Return a NodeList of all the nodes matching the XPath + * expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param nsContext The NamespaceContext for resolving namespace + * prefixes to namespace URIs for evaluating the XPath expression. + * @param exp The XPath expression to evaluate. + * @return A NodeList containing the matching nodes. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + private static NodeList selectNodeList( + Node contextNode, + NamespaceContext nsContext, + String exp) + throws XPathException { + + try { + DOMXPath xpath = new DOMXPath(exp); + List nodes; + + xpath.setNamespaceContext(nsContext); + nodes = xpath.selectNodes(contextNode); + return new NodeListAdapter(nodes); + } catch (JaxenException e) { + MessageProvider msg = MessageProvider.getInstance(); + String message = msg.getMessage("xpath.00", new Object[] { exp }); + throw new XPathException(message, e); + } + } + + /** + * Select the first node matching an XPath expression. + * + * All namespace URIs and prefixes declared in the Constants + * interface are used for resolving namespaces. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param exp The XPath expression to evaluate. + * @return Node The first node matching the XPath expression, or + * null, if no node matched. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static Node selectSingleNode(Node contextNode, String exp) + throws XPathException { + + return selectSingleNode(contextNode, NS_CONTEXT, exp); + } + + /** + * Select the first node matching an XPath expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param namespaceElement An element from which to build the + * namespace mapping for evaluating the XPath expression + * @param exp The XPath expression to evaluate. + * @return Node The first node matching the XPath expression, or + * null, if no node matched. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static Node selectSingleNode( + Node contextNode, + Element namespaceElement, + String exp) + throws XPathException { + + try { + SimpleNamespaceContext ctx = new SimpleNamespaceContext(); + ctx.addElementNamespaces(documentNavigator, namespaceElement); + + return selectSingleNode(contextNode, ctx, exp); + } catch (JaxenException e) { + MessageProvider msg = MessageProvider.getInstance(); + String message = msg.getMessage("xpath.00", new Object[] { exp }); + throw new XPathException(message, e); + } + } + + /** + * Select the first node matching an XPath expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param namespaceMapping A namespace prefix to namespace URI mapping + * (String to String) for evaluating the XPath + * expression. + * @param exp The XPath expression to evaluate. + * @return Node The first node matching the XPath expression, or + * null, if no node matched. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + public static Node selectSingleNode( + Node contextNode, + Map namespaceMapping, + String exp) + throws XPathException { + + SimpleNamespaceContext ctx = new SimpleNamespaceContext(namespaceMapping); + + return selectSingleNode(contextNode, ctx, exp); + } + + /** + * Select the first node matching an XPath expression. + * + * @param contextNode The root node from which to evaluate the XPath + * expression. + * @param nsContext The NamespaceContext for resolving namespace + * prefixes to namespace URIs for evaluating the XPath expression. + * @param exp The XPath expression to evaluate. + * @return Node The first node matching the XPath expression, or + * null, if no node matched. + * @throws XPathException An error occurred evaluating the XPath expression. + */ + private static Node selectSingleNode( + Node contextNode, + NamespaceContext nsContext, + String exp) + throws XPathException { + + try { + DOMXPath xpath = new DOMXPath(exp); + xpath.setNamespaceContext(nsContext); + return (Node) xpath.selectSingleNode(contextNode); + } catch (JaxenException e) { + MessageProvider msg = MessageProvider.getInstance(); + String message = msg.getMessage("xpath.00", new Object[] { exp }); + throw new XPathException(message, e); + } + } + + /** + * Return the value of a DOM element whose location is given by an XPath + * expression. + * + * @param root The root element from which to evaluate the XPath. + * @param xpath The XPath expression pointing to the element whose value + * to return. + * @param def The default value to return, if no element can be found using + * the given xpath. + * @return The element value, if it can be located using the + * xpath. Otherwise, def is returned. + */ + public static 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 a DOM attribute whose location is given by an XPath + * expression. + * + * @param root The root element from which to evaluate the XPath. + * @param xpath The XPath expression pointing to the attribute whose value to + * return. + * @param def The default value to return, if no attribute can be found using + * the given xpath. + * @return The element value, if it can be located using the + * xpath. Otherwise, def is returned. + */ + public static String getAttributeValue( + Element root, + String xpath, + String def) { + + Attr attr = (Attr) XPathUtils.selectSingleNode(root, xpath); + return attr != null ? attr.getValue() : def; + } + +} diff --git a/common/src/test/at/gv/egovernment/moa/AllTests.java b/common/src/test/at/gv/egovernment/moa/AllTests.java new file mode 100644 index 000000000..00e2c505f --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/AllTests.java @@ -0,0 +1,38 @@ +package test.at.gv.egovernment.moa; + +import test.at.gv.egovernment.moa.util.DOMUtilsTest; +import test.at.gv.egovernment.moa.util.DateTimeUtilsTest; +import test.at.gv.egovernment.moa.util.KeyStoreUtilsTest; +import test.at.gv.egovernment.moa.util.SSLUtilsTest; +import test.at.gv.egovernment.moa.util.XPathUtilsTest; + +import junit.awtui.TestRunner; +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * @author patrick + * @version $Id$ + */ +public class AllTests { + + public static Test suite() { + TestSuite suite = new TestSuite(); + + suite.addTestSuite(DOMUtilsTest.class); + suite.addTestSuite(DateTimeUtilsTest.class); + suite.addTestSuite(XPathUtilsTest.class); + suite.addTestSuite(KeyStoreUtilsTest.class); + suite.addTestSuite(SSLUtilsTest.class); + + return suite; + } + + public static void main(String[] args) { + try { + TestRunner.run(AllTests.class); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/common/src/test/at/gv/egovernment/moa/MOATestCase.java b/common/src/test/at/gv/egovernment/moa/MOATestCase.java new file mode 100644 index 000000000..86ea2ee6c --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/MOATestCase.java @@ -0,0 +1,75 @@ +package test.at.gv.egovernment.moa; + +import java.io.FileInputStream; +import java.io.StringReader; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; + +import org.xml.sax.InputSource; + +import junit.framework.TestCase; + +import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moa.util.DOMUtils; + +/** + * Base class for MOA test cases. + * + * Provides some utility functions. + * + * @author Patrick Peck + * @version $Id$ + */ +public class MOATestCase extends TestCase { + + protected static final String TESTDATA_ROOT = "data/test/"; + + /** + * Constructor for MOATestCase. + * @param arg0 + */ + public MOATestCase(String name) { + super(name); + } + + /** + * Parse an XML file non-validating. + */ + public static Document parseXml(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + false, + null, + null); + } + + /** + * Parse an XML validating with a given file name. + * + * Uses the local schema resources. + */ + public static Document parseXmlValidating(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + true, + Constants.ALL_SCHEMA_LOCATIONS, + null); + } + + /** + * Parse an XML from a String. + */ + public static Document parseXmlString(String xml) throws Exception { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder; + + factory.setNamespaceAware(true); + builder = factory.newDocumentBuilder(); + + return builder.parse(new InputSource(new StringReader(xml))); + } + +} diff --git a/common/src/test/at/gv/egovernment/moa/util/DOMUtilsTest.java b/common/src/test/at/gv/egovernment/moa/util/DOMUtilsTest.java new file mode 100644 index 000000000..eb3ad1a5c --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/DOMUtilsTest.java @@ -0,0 +1,137 @@ +package test.at.gv.egovernment.moa.util; +import java.io.FileInputStream; +import java.util.Map; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + +import test.at.gv.egovernment.moa.*; + +import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moa.util.DOMUtils; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class DOMUtilsTest extends MOATestCase { + private static final String TESTDATA_BASE = TESTDATA_ROOT + "xml/"; + private static boolean grammarsInitialized = false; + + /** + * Constructor for DOMUtilsTest. + * @param name + */ + public DOMUtilsTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + if (!grammarsInitialized) { + // preparse XML schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.XML_SCHEMA_LOCATION), + Constants.XML_NS_URI); + // preparse XMLDsig Filter2 schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.DSIG_FILTER2_SCHEMA_LOCATION), + Constants.DSIG_FILTER2_NS_URI); + // preparse XMLDsig schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.DSIG_SCHEMA_LOCATION), + Constants.DSIG_NS_URI); + // preparse MOA schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.MOA_SCHEMA_LOCATION), + Constants.MOA_NS_URI); + grammarsInitialized = true; + } + } + + private Document parse(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + true, + Constants.ALL_SCHEMA_LOCATIONS, + null); + } + + public void testParseCreateXMLSignature() throws Exception { + parse(TESTDATA_BASE + "CreateXMLSignature/TestGeneratorCX2.005.Req.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req000.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req001.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req002.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req004.xml"); + } + + public void testParseVerifyCMSSignature() throws Exception { + parse(TESTDATA_BASE + "VerifyCMSSignature/Req000.xml"); + } + + public void testParseVerifyXMLSignature() throws Exception { + parse(TESTDATA_BASE + "VerifyXMLSignature/Req000.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/Req001.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.002.Req.xml"); + //parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.006.Req.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/VerifySAMLRequest.xml"); + } + + public void testParseInfobox() throws Exception { + parse(TESTDATA_BASE + "Infobox/InfoboxReadResponseMOA4.xml"); + parse(TESTDATA_BASE + "Infobox/InfoboxReadResponse.xml"); + } + + + private Document parsePlain(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + false, + null, + null); + } + + public void testValidateCreateXMLSignature() throws Exception { + Document doc; + boolean valid; + + // test a valid request + doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/Req000.xml"); + valid = + DOMUtils.validateElement( + doc.getDocumentElement(), + Constants.ALL_SCHEMA_LOCATIONS, + null); + assertTrue(valid); + + // test an invalid request + doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/invalid.xml"); + try { + valid = + DOMUtils.validateElement( + doc.getDocumentElement(), + Constants.ALL_SCHEMA_LOCATIONS, + null); + fail(); + } catch (Exception e) { + } + } + + public void testGetNamespaceDeclarations() throws Exception { + Document doc; + NodeList nl; + Element elem; + Map nsDecls; + + doc = parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml"); + nl = doc.getElementsByTagNameNS(Constants.DSIG_NS_URI, "Reference"); + elem = (Element) nl.item(0); + nsDecls = DOMUtils.getNamespaceDeclarations(elem); + + assertEquals(2, nsDecls.size()); + assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig")); + assertEquals(Constants.MOA_NS_URI, nsDecls.get("")); + } + +} diff --git a/common/src/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java b/common/src/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java new file mode 100644 index 000000000..da6b29b1c --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java @@ -0,0 +1,104 @@ +package test.at.gv.egovernment.moa.util; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +import junit.framework.TestCase; + +import at.gv.egovernment.moa.util.DateTimeUtils; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class DateTimeUtilsTest extends TestCase { + + /** + * Constructor for DateTimeUtilsTest. + * @param arg0 + */ + public DateTimeUtilsTest(String arg0) { + super(arg0); + } + + public void testParseDateTimeValid() throws Exception { + Date date; + DateFormat format = SimpleDateFormat.getDateTimeInstance(); + String dateStr; + + format.setTimeZone(TimeZone.getTimeZone("GMT")); + date = DateTimeUtils.parseDateTime("+1971-12-12T06:30:15"); + date.setTime(date.getTime() + TimeZone.getDefault().getRawOffset()); + dateStr = format.format(date); + assertEquals("12.12.1971 06:30:15", dateStr); + + date = DateTimeUtils.parseDateTime("2000-01-01T23:59:59.012Z"); + dateStr = format.format(date); + assertEquals("01.01.2000 23:59:59", dateStr); + + date = DateTimeUtils.parseDateTime("2003-05-20T12:17:30-05:00"); + dateStr = format.format(date); + assertEquals("20.05.2003 17:17:30", dateStr); + + + date = DateTimeUtils.parseDateTime("2002-02-02T02:02:02.33+04:30"); + dateStr = format.format(date); + assertEquals("01.02.2002 21:32:02", dateStr); + } + + public void testParseDateTimeInvalid() { + try { + DateTimeUtils.parseDateTime("+1971-12-12T6:30:15"); + fail(); + } catch (ParseException e) { + } + + try { + DateTimeUtils.parseDateTime("2000-01-0123:59:59.999999Z"); + fail(); + } catch (ParseException e) { + } + + try { + DateTimeUtils.parseDateTime("2003-05-20T12:17:3005:00"); + fail(); + } catch (ParseException e) { + } + + try { + DateTimeUtils.parseDateTime(" 2002-02-02T02:02:02.33+04:00"); + fail(); + } catch (ParseException e) { + } + + } + + public void testBuildDateTimeGMTMinus3() { + String should = "2002-01-01T01:01:01-03:00"; + doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT-03:00", should); + } + public void testBuildDateTimeMEZSommerzeit() { + String should = "2002-07-31T23:59:59+02:00"; + doTestBuildDateTime(2002, 7, 31, 23, 59, 59, "GMT+01:00", should); + } + public void testBuildDateTimeGMT() { + String should = "2002-01-01T01:01:01"; + doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT+00:00", should); + } + private void doTestBuildDateTime( + int year, int month, int day, + int hour, int min, int sec, + String timeZone, String dateTimeShould) { + + Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(timeZone)); + cal.set(year,month, day, hour, min, sec); + cal.set(Calendar.MILLISECOND, 0); + String dateTimeBuilt = DateTimeUtils.buildDateTime(cal); + assertEquals(dateTimeShould, dateTimeBuilt); + } + +} diff --git a/common/src/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java b/common/src/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java new file mode 100644 index 000000000..06a72c570 --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java @@ -0,0 +1,90 @@ +package test.at.gv.egovernment.moa.util; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.math.BigInteger; +import java.security.KeyStore; +import java.security.Security; +import java.security.cert.X509Certificate; +import java.util.Enumeration; + +import at.gv.egovernment.moa.util.KeyStoreUtils; + +import junit.framework.TestCase; + +/** + * @author Paul Ivancsics + * @version $Id$ + */ +public class KeyStoreUtilsTest extends TestCase { + private String tmpDir = "tmp/KeyStoreUtilsTest"; + private String tmpDirURL = "file:" + tmpDir; + + public KeyStoreUtilsTest(String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); + new File(tmpDir).mkdirs(); + } + protected void tearDown() throws Exception { + new File(tmpDir).delete(); + } + public void testCreateKeyStoreJKS() throws Exception { + String[] certFilenames = new String[] { + "data/test/security/server-certs/baltimore.cer" + }; + KeyStore ks = KeyStoreUtils.createKeyStore("jks", certFilenames); + assertEquals(1, ks.size()); + X509Certificate cert = (X509Certificate)ks.getCertificate("0"); + assertEquals(3424, cert.getSerialNumber().intValue()); + } + public void testCreateKeyStorePKCS12() throws Exception { + String[] certFilenames = new String[] { + "data/test/security/server-certs/baltimore.cer" + }; + KeyStore ks = KeyStoreUtils.createKeyStore("pkcs12", certFilenames); + assertEquals(1, ks.size()); + X509Certificate cert = (X509Certificate)ks.getCertificate("0"); + assertEquals(3424, cert.getSerialNumber().intValue()); + } + public void testCreateKeyStoreFromCertificateDirectory() throws Exception { + // copy certificate files to a temporary directory, + // omitting the "CVS" directory in the source directory + copyCertificates("data/test/security/server-certs", tmpDir); + KeyStore ks = KeyStoreUtils.createKeyStoreFromCertificateDirectory("jks", tmpDirURL); + assertEquals(2, ks.size()); + X509Certificate cert0 = (X509Certificate)ks.getCertificate("0"); + X509Certificate cert1 = (X509Certificate)ks.getCertificate("1"); + assertTrue(3424 == cert0.getSerialNumber().intValue() || 3424 == cert1.getSerialNumber().intValue()); + } + private void copyCertificates(String from, String to) throws IOException { + String[] fromList = new File(from).list(); + for (int i = 0; i < fromList.length; i++) { + File fromFile = new File(from + File.separator + fromList[i]); + if (fromFile.isFile()) { + String toFile = to + "/" + fromList[i]; + FileInputStream in = new FileInputStream(fromFile); + FileOutputStream out = new FileOutputStream(toFile); + for (int ch = in.read(); ch >= 0; ch = in.read()) + out.write(ch); + out.close(); + in.close(); + } + } + + } + public void testLoadKeyStore() throws Exception { + String keyStoreURL = "file:data/test/security/client-certs/sicher-demo(buergerkarte).p12"; + KeyStore ks = KeyStoreUtils.loadKeyStore("pkcs12", keyStoreURL, "buergerkarte"); + assertEquals(1, ks.size()); + Enumeration enum = ks.aliases(); + String alias = (String)enum.nextElement(); + X509Certificate cert = (X509Certificate)ks.getCertificate(alias); + assertEquals(new BigInteger("1044289238331").intValue(), cert.getSerialNumber().intValue()); + } + +} diff --git a/common/src/test/at/gv/egovernment/moa/util/SSLUtilsTest.java b/common/src/test/at/gv/egovernment/moa/util/SSLUtilsTest.java new file mode 100644 index 000000000..7e55cb7d0 --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/SSLUtilsTest.java @@ -0,0 +1,160 @@ +package test.at.gv.egovernment.moa.util; + +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URL; +import java.security.KeyStore; +import java.security.Security; + +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLSocketFactory; + +import com.sun.net.ssl.HostnameVerifier; +import com.sun.net.ssl.HttpsURLConnection; + +import at.gv.egovernment.moa.util.KeyStoreUtils; +import at.gv.egovernment.moa.util.SSLUtils; + +import junit.framework.TestCase; + +/** + * @author Paul Ivancsics + * @version $Id$ + */ +public class SSLUtilsTest extends TestCase { + + public SSLUtilsTest(String arg0) { + super(arg0); + } + + + protected void setUp() 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"); + System.setProperty("https.cipherSuites", "SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5"); + } + + public void testGetSSLSocketFactoryBaltimoreOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.baltimore.com/", + false, + "file:data/test/security/cacerts+gt_cybertrust_root", + "changeit", + true); + } + public void testGetSSLSocketFactoryBaltimoreNOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.baltimore.com/", + false, + "file:data/test/security/cacerts", + "changeit", + false); + } + public void testGetSSLSocketFactoryVerisignOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.verisign.com/", + false, + "file:data/test/security/cacerts", + "changeit", + true); + } + public void testGetSSLSocketFactoryVerisignNoTruststoreOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.verisign.com/", + false, + null, + null, + true); + } + public void testGetSSLSocketFactoryLocalhostOK() throws Exception { + String urlString = "https://localhost:8443/moa-id-auth/index.jsp"; + doTestGetSSLSocketFactory( + "GET", + urlString, + true, + "file:data/test/security/server.keystore.tomcat", + "changeit", + true); + } + public void testGetSSLSocketFactoryLocalhostNOK() throws Exception { + String urlString = "https://localhost:8443/moa-id-auth/index.jsp"; + doTestGetSSLSocketFactory( + "GET", + urlString, + true, + null, + null, + false); + } + + public void doTestGetSSLSocketFactory( + String requestMethod, + String urlString, + boolean useHostnameVerifierHack, + String truststoreurl, + String trustpassword, + boolean shouldOk + ) throws Exception { + + doTestGetSSLSocketFactory( + requestMethod, urlString, useHostnameVerifierHack, truststoreurl, trustpassword, null, null, null, shouldOk); + } + public void doTestGetSSLSocketFactory( + String requestMethod, + String urlString, + boolean useHostnameVerifierHack, + String truststoreurl, + String trustpassword, + String keystoretype, + String keystoreurl, + String keypassword, + boolean shouldOk + ) throws Exception { + + KeyStore truststore = null; + if (truststoreurl != null) + truststore = KeyStoreUtils.loadKeyStore("jks", truststoreurl, trustpassword); + SSLSocketFactory sf = SSLUtils.getSSLSocketFactory( + truststore, keystoretype, keystoreurl, keypassword); + System.out.println(requestMethod + " " + urlString); + + URL url = new URL(urlString); + HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); + conn.setRequestMethod(requestMethod); + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setUseCaches(false); + conn.setAllowUserInteraction(false); + conn.setSSLSocketFactory(sf); + if (useHostnameVerifierHack) + conn.setHostnameVerifier(new HostnameVerifierHack()); + try { + conn.connect(); + assertTrue(shouldOk); + assertEquals(200, conn.getResponseCode()); + conn.disconnect(); + } + catch (SSLException ex) { + assertFalse(shouldOk); + } + } + private byte[] readTruststore(String filename) throws IOException { + if (filename == null) + return null; + FileInputStream in = new FileInputStream(filename); + byte[] buffer = new byte[in.available()]; + in.read(buffer); + in.close(); + return buffer; + } + private class HostnameVerifierHack implements HostnameVerifier { + public boolean verify(String arg0, String arg1) { + return true; + } + } +} diff --git a/common/src/test/at/gv/egovernment/moa/util/URLDecoderTest.java b/common/src/test/at/gv/egovernment/moa/util/URLDecoderTest.java new file mode 100644 index 000000000..b6ea0e152 --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/URLDecoderTest.java @@ -0,0 +1,29 @@ +package test.at.gv.egovernment.moa.util; + +import java.net.URLEncoder; + +import at.gv.egovernment.moa.util.FileUtils; +import at.gv.egovernment.moa.util.URLDecoder; + +import junit.framework.TestCase; + +/* + * @author Paul Ivancsics + * @version $Id$ + */ +public class URLDecoderTest extends TestCase { + + public void test() throws Exception { + String s = "immerZUA0129<>%==$$%&/()@?{()=} \\\"äöüÄÖÜ?§"; + String senc = URLEncoder.encode(s); + String sdec = URLDecoder.decode(senc, "ISO-8859-1"); + assertEquals(s, sdec); + } + public void testUTF8() throws Exception { + String s = new String(FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml")); + String senc = URLEncoder.encode(s); + String sdec = URLDecoder.decode(senc, "UTF-8"); + String sutf8 = FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml", "UTF-8"); + assertEquals(sutf8, sdec); + } +} diff --git a/common/src/test/at/gv/egovernment/moa/util/URLEncoderTest.java b/common/src/test/at/gv/egovernment/moa/util/URLEncoderTest.java new file mode 100644 index 000000000..43238c51f --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/URLEncoderTest.java @@ -0,0 +1,43 @@ +package test.at.gv.egovernment.moa.util; + +import at.gv.egovernment.moa.util.FileUtils; +import at.gv.egovernment.moa.util.URLDecoder; +import at.gv.egovernment.moa.util.URLEncoder; +import junit.framework.TestCase; + +/* + * @author Paul Ivancsics + * @version $Id$ + */ +public class URLEncoderTest extends TestCase { + + public void testUnchangedString() throws Exception { + String s = "AZaz0123456789.-*_"; + String senc = URLEncoder.encode(s, "UTF-8"); + assertEquals(s, senc); + } + public void testAumlUTF8() throws Exception { + String s = "ä"; + String senc = URLEncoder.encode(s, "UTF-8"); + assertEquals("%C3%A4", senc); + } + public void testEncodeDecode() throws Exception { + String s = "AZaz09.-*_ <>%=$%&/()@?{}[]\\\"'äöüÄÖÜߧ"; + String senc = URLEncoder.encode(s, "UTF-8"); + String sdec = URLDecoder.decode(senc, "UTF-8"); + assertEquals(s, sdec); + } + public void testCertInfo() throws Exception { + String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8")); + String senc = URLEncoder.encode(s, "UTF-8"); + String sdec = URLDecoder.decode(senc, "UTF-8"); + assertEquals(s, sdec); + } + /*public void testJDK14() throws Exception { + String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8")); + String senc = URLEncoder.encode(s, "UTF-8"); + String senc14 = java.net.URLEncoder.encode(s, "UTF-8"); + assertEquals(senc, senc14); + }*/ + +} diff --git a/common/src/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java b/common/src/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java new file mode 100644 index 000000000..7986fe540 --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java @@ -0,0 +1,99 @@ +package test.at.gv.egovernment.moa.util; +import java.io.FileInputStream; +import java.io.InputStream; + +import org.apache.xerces.parsers.DOMParser; +import org.apache.xerces.parsers.XMLGrammarPreparser; +import org.apache.xerces.util.SymbolTable; +import org.apache.xerces.util.XMLGrammarPoolImpl; +import org.apache.xerces.xni.grammars.Grammar; +import org.apache.xerces.xni.grammars.XMLGrammarDescription; +import org.apache.xerces.xni.parser.XMLInputSource; +import org.xml.sax.InputSource; + +import test.at.gv.egovernment.moa.MOATestCase; + +import at.gv.egovernment.moa.util.Constants; + + +/** + * Experimentation with Xerces grammar caching. + * + * Used the Xerces sample 'XMLGrammarBuilder' as a starting point. + * + * @author Patrick Peck + * @version $Id$ + */ +public class XMLGrammarBuilderTest extends MOATestCase { + + private static final String GRAMMAR_POOL = + org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX + + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY; + + protected static final String NAMESPACES_FEATURE_ID = + "http://xml.org/sax/features/namespaces"; + protected static final String VALIDATION_FEATURE_ID = + "http://xml.org/sax/features/validation"; + protected static final String SCHEMA_VALIDATION_FEATURE_ID = + "http://apache.org/xml/features/validation/schema"; + protected static final String SCHEMA_FULL_CHECKING_FEATURE_ID = + "http://apache.org/xml/features/validation/schema-full-checking"; + + private static final int BIG_PRIME = 2039; + private SymbolTable symbolTable; + private XMLGrammarPoolImpl grammarPool; + + /** + * Constructor for XMLGrammarBuilderTest. + * @param name + */ + public XMLGrammarBuilderTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + XMLGrammarPreparser preparser; + + // set up symbol table and grammar pool + symbolTable = new SymbolTable(BIG_PRIME); + grammarPool = new XMLGrammarPoolImpl(); + preparser = new XMLGrammarPreparser(symbolTable); + preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null); + preparser.setProperty(GRAMMAR_POOL, grammarPool); + preparser.setFeature(NAMESPACES_FEATURE_ID, true); + preparser.setFeature(VALIDATION_FEATURE_ID, true); + // now we can still do schema features just in case, + // so long as it's our configuraiton...... + preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true); + preparseSchemaResource( + preparser, + Constants.DSIG_SCHEMA_LOCATION, + "/resources/schemas/xmldsig-core-schema.xsd"); + } + + private static Grammar preparseSchemaResource( + XMLGrammarPreparser preparser, + String systemId, + String resource) + throws Exception { + + InputStream is = XMLGrammarBuilderTest.class.getResourceAsStream(resource); + return preparser.preparseGrammar( + XMLGrammarDescription.XML_SCHEMA, + new XMLInputSource(null, systemId, null, is, null)); + } + + public void testParseValidating() throws Exception { + DOMParser parser = new DOMParser(symbolTable, grammarPool); + + parser.setFeature(NAMESPACES_FEATURE_ID, true); + parser.setFeature(VALIDATION_FEATURE_ID, true); + parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true); + + parser.parse( + new InputSource( + new FileInputStream(TESTDATA_ROOT + "xml/dsigTransform/base64.xml"))); + parser.getDocument(); + } + +} diff --git a/common/src/test/at/gv/egovernment/moa/util/XPathUtilsTest.java b/common/src/test/at/gv/egovernment/moa/util/XPathUtilsTest.java new file mode 100644 index 000000000..559494300 --- /dev/null +++ b/common/src/test/at/gv/egovernment/moa/util/XPathUtilsTest.java @@ -0,0 +1,51 @@ +package test.at.gv.egovernment.moa.util; +import org.w3c.dom.Document; +import org.w3c.dom.NodeList; + +import test.at.gv.egovernment.moa.MOATestCase; + +import at.gv.egovernment.moa.util.XPathUtils; + + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class XPathUtilsTest extends MOATestCase { + + private Document doc1; + + /** + * Constructor for XPathUtilsTest. + * @param name + */ + public XPathUtilsTest(String name) { + super(name); + } + + /** + * @see TestCase#setUp() + */ + protected void setUp() throws Exception { + super.setUp(); + doc1 = + parseXml(TESTDATA_ROOT + "xml/VerifyXMLSignature/Req000.xml"); + } + + public void testSelectNodeList() throws Exception { + NodeList nodes; + + nodes = + XPathUtils.selectNodeList( + doc1.getDocumentElement(), + doc1.getDocumentElement(), + "/VerifyXMLSignatureRequest"); + assertEquals(1, nodes.getLength()); + nodes = + XPathUtils.selectNodeList( + doc1.getDocumentElement(), + "//dsig:Signature"); + assertEquals(1, nodes.getLength()); + } + +} diff --git a/spss.server/.checkstyle b/spss.server/.checkstyle new file mode 100644 index 000000000..0ca3f3e78 --- /dev/null +++ b/spss.server/.checkstyle @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/spss.server/.classpath b/spss.server/.classpath new file mode 100644 index 000000000..4e9b30cf1 --- /dev/null +++ b/spss.server/.classpath @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spss.server/.cvsignore b/spss.server/.cvsignore new file mode 100644 index 000000000..ba077a403 --- /dev/null +++ b/spss.server/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/spss.server/.project b/spss.server/.project new file mode 100644 index 000000000..f4d9dc540 --- /dev/null +++ b/spss.server/.project @@ -0,0 +1,19 @@ + + + MOA spss.server + + + MOA common + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + com.sysdeo.eclipse.tomcat.tomcatnature + + diff --git a/spss.server/.tomcatplugin b/spss.server/.tomcatplugin new file mode 100644 index 000000000..66a889120 --- /dev/null +++ b/spss.server/.tomcatplugin @@ -0,0 +1,8 @@ + + + /moa-spss + false + false + + + diff --git a/spss.server/build.xml b/spss.server/build.xml new file mode 100644 index 000000000..0d0dc1d18 --- /dev/null +++ b/spss.server/build.xml @@ -0,0 +1,415 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + set up directories etc. + + + + + + + + + + + + + + + + + compile everything + + + + + + package the server war file + + + + + + + + + + + + + + + + + + + + + package the library jar file + + + + + + + + + package the configuration tools + + + + + + + create JavaDoc for the server internal classes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MOA SP/SS Server Internal API]]> + + + + + + create JavaDoc for the SP/SS API + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MOA SP/SS API]]> + + + + + + create the webservice distributable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + create the webservice-distributable, including all documentation + + + + + + + + + + + + create the zipped webservice distributable + + + + + + + + create the library distributable + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + create the library distributable, including all documentation + + + + + + + + + + + + create the zipped library distributable + + + + + + + + create the source distributable + + + + + + + + + + + + + + + + + + + + + + + + + + create all distributables + + + + + deploy the webservice to catalina (needs CATALINA_HOME defined) + + + + + + + + + + + + + + + clean temporary files + + + diff --git a/spss.server/data/deploy/conf/moa-spss/MOA-SPSSConfiguration.xml b/spss.server/data/deploy/conf/moa-spss/MOA-SPSSConfiguration.xml new file mode 100644 index 000000000..23bacc354 --- /dev/null +++ b/spss.server/data/deploy/conf/moa-spss/MOA-SPSSConfiguration.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + SWKeyModule1 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1044289238331 + + + + + + SWKeyModule2 + + CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT + 68172 + + + + + + + + + + CN=Patrick Peck, OU=MOA Team, O=BRZ, L=Vienna, ST=Vienna, C=AT + 1046888262 + + + + + + CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT + 536 + + + + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + + + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + + + + + + + + + diff --git a/spss.server/data/deploy/conf/moa-spss/MinimalSPConfig.xml b/spss.server/data/deploy/conf/moa-spss/MinimalSPConfig.xml new file mode 100644 index 000000000..d52391843 --- /dev/null +++ b/spss.server/data/deploy/conf/moa-spss/MinimalSPConfig.xml @@ -0,0 +1,4 @@ + + + + diff --git a/spss.server/data/deploy/conf/moa-spss/MinimalSSConfig.xml b/spss.server/data/deploy/conf/moa-spss/MinimalSSConfig.xml new file mode 100644 index 000000000..a55f5eabc --- /dev/null +++ b/spss.server/data/deploy/conf/moa-spss/MinimalSSConfig.xml @@ -0,0 +1,17 @@ + + + + + + SWKeyModule1 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1044289238331 + + + + + + + diff --git a/spss.server/data/deploy/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 b/spss.server/data/deploy/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 new file mode 100644 index 000000000..1cdc15c6e Binary files /dev/null and b/spss.server/data/deploy/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 differ diff --git a/spss.server/data/deploy/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 b/spss.server/data/deploy/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 new file mode 100644 index 000000000..c0c60558a Binary files /dev/null and b/spss.server/data/deploy/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 differ diff --git a/spss.server/data/deploy/conf/moa-spss/keys/ecc(ego).p12 b/spss.server/data/deploy/conf/moa-spss/keys/ecc(ego).p12 new file mode 100644 index 000000000..f84e793c5 Binary files /dev/null and b/spss.server/data/deploy/conf/moa-spss/keys/ecc(ego).p12 differ diff --git a/spss.server/data/deploy/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 b/spss.server/data/deploy/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 new file mode 100644 index 000000000..efaeb9b98 Binary files /dev/null and b/spss.server/data/deploy/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 differ diff --git a/spss.server/data/deploy/conf/moa-spss/log4j.properties b/spss.server/data/deploy/conf/moa-spss/log4j.properties new file mode 100644 index 000000000..31096ff73 --- /dev/null +++ b/spss.server/data/deploy/conf/moa-spss/log4j.properties @@ -0,0 +1,40 @@ +# +# Sample log4j configuration for the MOA-SPSS web service +# + +# commons-logging setup +org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory + +# Define log4j root loggers for the 'moa.spss.server' and 'iaik.server' +# logging hierarchies. +# All logging output is written to the 'stdout' and 'R' appenders. +# Add JDBC if you also want to write it to the database +log4j.rootLogger=info, stdout, R +log4j.logger.moa.spss.server=info +log4j.logger.iaik.server=info + +# 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} | %t | %m%n + +# Configure the rolling file appender 'R' to write logging output +# to the file 'moa-spss.log'. The file is rolled over every 1000KB, +# and a maximum history of 4 log files is being kept. +log4j.appender.R=org.apache.log4j.RollingFileAppender +log4j.appender.R.File=moa-spss.log +log4j.appender.R.MaxFileSize=1000KB +log4j.appender.R.MaxBackupIndex=4 +log4j.appender.R.layout=org.apache.log4j.PatternLayout +log4j.appender.R.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %t | %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') \ No newline at end of file diff --git a/spss.server/data/deploy/conf/moa-spss/trustProfiles/trustProfile1/IAIKRoot.cer b/spss.server/data/deploy/conf/moa-spss/trustProfiles/trustProfile1/IAIKRoot.cer new file mode 100644 index 000000000..c0c60558a Binary files /dev/null and b/spss.server/data/deploy/conf/moa-spss/trustProfiles/trustProfile1/IAIKRoot.cer differ diff --git a/spss.server/data/deploy/tomcat/moa-env.bat b/spss.server/data/deploy/tomcat/moa-env.bat new file mode 100644 index 000000000..aa1ad9432 --- /dev/null +++ b/spss.server/data/deploy/tomcat/moa-env.bat @@ -0,0 +1,14 @@ +@echo off + +set MOA_START=%~dp0 + +set CONFIG_OPT=-Dmoa.spss.server.configuration=%MOA_START%conf\moa-spss\MOA-SPSSConfiguration.xml +set LOGGING_OPT=-Dlog4j.configuration=file:/%MOA_START%conf\moa-spss\log4j.properties +rem set NODE_ID_OPT=-Dmoa.node-id=node1 +rem set TRUST_STORE_OPT=-Djavax.net.ssl.trustStore=truststore.jks +rem set TRUST_STORE_PASS_OPT=-Djavax.net.ssl.trustStorePassword=changeit +rem set TRUST_STORE_TYPE_OPT=-Djavax.net.ssl.trustStoreType=jks + +set 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% \ No newline at end of file diff --git a/spss.server/data/deploy/tomcat/moa-env.sh b/spss.server/data/deploy/tomcat/moa-env.sh new file mode 100644 index 000000000..01d2605c2 --- /dev/null +++ b/spss.server/data/deploy/tomcat/moa-env.sh @@ -0,0 +1,12 @@ +MOA_START=`pwd` + +CONFIG_OPT=-Dmoa.spss.server.configuration=$MOA_START/conf/moa-spss/MOA-SPSSConfiguration.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/data/deploy/tomcat/server.mod_jk.xml b/spss.server/data/deploy/tomcat/server.mod_jk.xml new file mode 100644 index 000000000..e6035b8be --- /dev/null +++ b/spss.server/data/deploy/tomcat/server.mod_jk.xml @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spss.server/data/deploy/tomcat/server.xml b/spss.server/data/deploy/tomcat/server.xml new file mode 100644 index 000000000..3e5966ca9 --- /dev/null +++ b/spss.server/data/deploy/tomcat/server.xml @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spss.server/data/deploy/tomcat/uriworkermap.properties b/spss.server/data/deploy/tomcat/uriworkermap.properties new file mode 100644 index 000000000..673acf65d --- /dev/null +++ b/spss.server/data/deploy/tomcat/uriworkermap.properties @@ -0,0 +1,4 @@ +# 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/data/deploy/tomcat/workers.properties b/spss.server/data/deploy/tomcat/workers.properties new file mode 100644 index 000000000..9350ddc77 --- /dev/null +++ b/spss.server/data/deploy/tomcat/workers.properties @@ -0,0 +1,6 @@ +# 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/data/deploy/tools/certtool.bat b/spss.server/data/deploy/tools/certtool.bat new file mode 100644 index 000000000..4d0fb39e1 --- /dev/null +++ b/spss.server/data/deploy/tools/certtool.bat @@ -0,0 +1,25 @@ +@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/data/deploy/tools/certtool.sh b/spss.server/data/deploy/tools/certtool.sh new file mode 100644 index 000000000..b97b2ed53 --- /dev/null +++ b/spss.server/data/deploy/tools/certtool.sh @@ -0,0 +1,20 @@ +#!/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/data/test/conf/moa-spss/MOA-SPSSConfiguration.xml b/spss.server/data/test/conf/moa-spss/MOA-SPSSConfiguration.xml new file mode 100644 index 000000000..da27ece8b --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/MOA-SPSSConfiguration.xml @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + + + + + + + MOAHSM + + C=AT,OU=MOA,O=BRZ,CN=MOAHSMRSAKEY + 1 + + + + + + + SWKeyModule1 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1044289238331 + + + + + + + SWKeyModule2 + + CN=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 10 + + + + + + + SWKeyModule3 + + CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT + 68172 + + + + + + + SWKeyModule4 + + CN=IAIK DSA Test CA,OU=JavaSecurity,O=IAIK,C=AT + 761791 + + + + + + SWKeyModule5 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1050061309775 + + + + + + SWKeyModule6 + + CN=MOA Test CA - Signaturdienste,OU=IKT-Stabsstelle des Bundes,O=Bundesministerium f\C3\BCr \C3\B6ffentliche Leistung und Sport,C=AT + 4 + + + + + + SWKeyModule1 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1044289238331 + + + + SWKeyModule2 + + CN=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 10 + + + + SWKeyModule3 + + CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT + 68172 + + + + SWKeyModule4 + + CN=IAIK DSA Test CA,OU=JavaSecurity,O=IAIK,C=AT + 761791 + + + + SWKeyModule5 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1050061309775 + + + + SWKeyModule6 + + CN=MOA Test CA - Signaturdienste,OU=IKT-Stabsstelle des Bundes,O=Bundesministerium f\C3\BCr \C3\B6ffentliche Leistung und Sport,C=AT + 4 + + + + + + + + + + + + + + + CN=TestUser,OU=MOA,O=BRZ,C=AT + 12345678 + + + + + + CN=A-Trust-nQual-01,OU=A-Trust-nQual-01,O=A-Trust,C=AT + 536 + + + + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + + + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + + + + + + + + + + + + + diff --git a/spss.server/data/test/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 b/spss.server/data/test/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 new file mode 100644 index 000000000..1cdc15c6e Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 differ diff --git a/spss.server/data/test/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 b/spss.server/data/test/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 new file mode 100644 index 000000000..c0c60558a Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 differ diff --git a/spss.server/data/test/conf/moa-spss/keys/Beispielservice_1(password=bspsrv1).p12 b/spss.server/data/test/conf/moa-spss/keys/Beispielservice_1(password=bspsrv1).p12 new file mode 100644 index 000000000..a18356bf3 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/keys/Beispielservice_1(password=bspsrv1).p12 differ diff --git a/spss.server/data/test/conf/moa-spss/keys/DSA.512.p12 b/spss.server/data/test/conf/moa-spss/keys/DSA.512.p12 new file mode 100644 index 000000000..8f7a201ac Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/keys/DSA.512.p12 differ diff --git a/spss.server/data/test/conf/moa-spss/keys/ecc(ego).p12 b/spss.server/data/test/conf/moa-spss/keys/ecc(ego).p12 new file mode 100644 index 000000000..f84e793c5 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/keys/ecc(ego).p12 differ diff --git a/spss.server/data/test/conf/moa-spss/keys/normal-eeExpired.p12 b/spss.server/data/test/conf/moa-spss/keys/normal-eeExpired.p12 new file mode 100644 index 000000000..ff65f9fde Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/keys/normal-eeExpired.p12 differ diff --git a/spss.server/data/test/conf/moa-spss/keys/sicher-demo(buergerkarte).p12 b/spss.server/data/test/conf/moa-spss/keys/sicher-demo(buergerkarte).p12 new file mode 100644 index 000000000..efaeb9b98 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/keys/sicher-demo(buergerkarte).p12 differ diff --git a/spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 b/spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 new file mode 100644 index 000000000..efaeb9b98 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal(buergerkarte).p12 differ diff --git a/spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal_verw_oid.p12 b/spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal_verw_oid.p12 new file mode 100644 index 000000000..13c7253ce Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/keys/test-ee2003_normal_verw_oid.p12 differ diff --git a/spss.server/data/test/conf/moa-spss/profiles/CSEP.xml b/spss.server/data/test/conf/moa-spss/profiles/CSEP.xml new file mode 100644 index 000000000..326dbc6a0 --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/CSEP.xml @@ -0,0 +1,5 @@ + + + + //data:Document + diff --git a/spss.server/data/test/conf/moa-spss/profiles/CX1_bookprofile.xsl b/spss.server/data/test/conf/moa-spss/profiles/CX1_bookprofile.xsl new file mode 100644 index 000000000..ca41d793f --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/CX1_bookprofile.xsl @@ -0,0 +1 @@ +

Buch:

text/html \ No newline at end of file diff --git a/spss.server/data/test/conf/moa-spss/profiles/SupplementProfile1.xml b/spss.server/data/test/conf/moa-spss/profiles/SupplementProfile1.xml new file mode 100644 index 000000000..02b1c6373 --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/SupplementProfile1.xml @@ -0,0 +1,10 @@ + + + + + Dies sind Testdaten +2. Zeile +3. Zeile +aus + + diff --git a/spss.server/data/test/conf/moa-spss/profiles/SupplementProfile2.xml b/spss.server/data/test/conf/moa-spss/profiles/SupplementProfile2.xml new file mode 100644 index 000000000..7f84eb822 --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/SupplementProfile2.xml @@ -0,0 +1,8 @@ + + + + + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxIdWdvPg0K +CVRlc3QNCjwvSHVnbz4= + + diff --git a/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1.xml b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1.xml new file mode 100644 index 000000000..e7fb9a9ea --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1.xml @@ -0,0 +1 @@ +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxlc2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFuc2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIiBpbmRlbnQ9Im5vIi8+PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxuczpkYXRhPSJodHRwOi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVjaDogPHhzbDp2YWx1ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9EWT48L0hUTUw+PC94c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4= \ No newline at end of file diff --git a/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1MOAID.xml b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1MOAID.xml new file mode 100644 index 000000000..f973ac7e9 --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile1MOAID.xml @@ -0,0 +1,19 @@ + + + + + + +Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben: +
+ + + + + + +
Name:
Zeit:
Applikation:
Geschäftsbereich:
Anmeldeserver:
+ + +
+
diff --git a/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2.xml b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2.xml new file mode 100644 index 000000000..12d6bc28b --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2MOAID.xml b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2MOAID.xml new file mode 100644 index 000000000..dc4a97716 --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/profiles/TransformsInfoProfile2MOAID.xml @@ -0,0 +1,3 @@ + + +id('refetsi')/etsi:QualifyingProperties/etsi:SignedProperties diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/Buergerkarte01Root.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/Buergerkarte01Root.cer new file mode 100644 index 000000000..18e6bc109 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/Buergerkarte01Root.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/C.CA.DS.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/C.CA.DS.cer new file mode 100644 index 000000000..fc5bd433b Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/C.CA.DS.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer new file mode 100644 index 000000000..c0c60558a Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRootMusterbehoerde.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRootMusterbehoerde.cer new file mode 100644 index 000000000..21dc972b9 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/IAIKRootMusterbehoerde.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/TestPersonMOA4.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/TestPersonMOA4.cer new file mode 100644 index 000000000..99936caa8 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/TestPersonMOA4.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer new file mode 100644 index 000000000..fc5bd433b Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-Premium-Enc-01.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-nQual-01.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-nQual-01.cer new file mode 100644 index 000000000..84518a6a8 Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/a-sign-TEST-nQual-01.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/ecdsaroot_der.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/ecdsaroot_der.cer new file mode 100644 index 000000000..dac166e9a Binary files /dev/null and b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/ecdsaroot_der.cer differ diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/hsm.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/hsm.cer new file mode 100644 index 000000000..278cb8fab --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/hsm.cer @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB6TCCAVICAQEwDQYJKoZIhvcNAQEFBQAwPTESMBAGA1UEAxMJSFNNUlNBS0VZ +MQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcNMDMw +NDAzMTEwNjQ5WhcNMDQwNDAzMTEwNjQ5WjA9MRIwEAYDVQQDEwlIU01SU0FLRVkx +DDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCBnzANBgkq +hkiG9w0BAQEFAAOBjQAwgYkCgYEA2nygG6QL8ksWZFNAUWcLcAkRR7WHck3PFu4z +ce2D/jeWk2pf3dC+49ZRkmJbKYclySx90BZFG6iSUkhI41eXbrRzIScFz15P9K4F +rSg8redcdysWY/WJ2ybW05PuK8jNooyc4yAGoSfiNv7GlDfAqsZpSXB2YFvd6erF +In5e7WECAwDL2zANBgkqhkiG9w0BAQUFAAOBgQCUhQ1YQg14ZtUGj1Zn1J5O3XXu +RZmckYjRbqMxpY3iim+yH9+eSrDcfESUeoYQHzOB+qfOx+kU33qkWBzvP1079EbC +v5eVi4mhJ6F/8xItuvroUtuQokiiEY8g8CSM1C124MLcJr0y90Nmb2q2cHhlBkw8 +s5uQpf4EtuqJAwMrcQ== +-----END CERTIFICATE----- diff --git a/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/moahsmcert.cer b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/moahsmcert.cer new file mode 100644 index 000000000..160390f35 --- /dev/null +++ b/spss.server/data/test/conf/moa-spss/trustprofiles/TrustProfile1/moahsmcert.cer @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB7zCCAVgCAQEwDQYJKoZIhvcNAQEFBQAwQDEVMBMGA1UEAxMMTU9BSFNNUlNB +S0VZMQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTELMAkGA1UEBhMCQVQwHhcN +MDMwNDA3MTQwNzM3WhcNMDQwNDA3MTQwNzM3WjBAMRUwEwYDVQQDEwxNT0FIU01S +U0FLRVkxDDAKBgNVBAoTA0JSWjEMMAoGA1UECxMDTU9BMQswCQYDVQQGEwJBVDCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuQJeLj5quuES22ZlXY2W5C/JF/7a +WZM/EBj2hZff3i66IQYe3272E9p1utzIGvY3AfAlW0sKiOhZUpOnvFlAn+Bl86J2 +kE/mQMgVHd4fxb3onCNA+x/x5BdYVdx35il6iQy9xE0kpc01CMrUMMy0+GMcz4OR +ziJf0WHsi9JL1nECAwCYrzANBgkqhkiG9w0BAQUFAAOBgQCDpmYSMnkjfJ4JXwwc +Y6eqqiDBexZeVwNLjjJxwf5md4ZRiewwfY3aydcA8ffjcUh4/5XXdn5y2S2n8JEg +N2EuHHC+k/CE2JJJylkikltE+nawdfa6MukhQ0sPKjyJ+Nr2nXOwX6O2bveaTw9J +E2+9uU+Tuf4VG9HEHEL+IaU2tA== +-----END CERTIFICATE----- diff --git a/spss.server/data/test/security/A-Trust-nQual-01.p7b b/spss.server/data/test/security/A-Trust-nQual-01.p7b new file mode 100644 index 000000000..9c498239c Binary files /dev/null and b/spss.server/data/test/security/A-Trust-nQual-01.p7b differ diff --git a/spss.server/data/test/security/client.cer b/spss.server/data/test/security/client.cer new file mode 100644 index 000000000..05c18b53c Binary files /dev/null and b/spss.server/data/test/security/client.cer differ diff --git a/spss.server/data/test/security/client.keystore b/spss.server/data/test/security/client.keystore new file mode 100644 index 000000000..4b489f259 Binary files /dev/null and b/spss.server/data/test/security/client.keystore differ diff --git a/spss.server/data/test/security/server.cer b/spss.server/data/test/security/server.cer new file mode 100644 index 000000000..0ac744758 Binary files /dev/null and b/spss.server/data/test/security/server.cer differ diff --git a/spss.server/data/test/security/server.crt.pem b/spss.server/data/test/security/server.crt.pem new file mode 100644 index 000000000..b023d4065 --- /dev/null +++ b/spss.server/data/test/security/server.crt.pem @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICMDCCAZkCBD3vd6wwDQYJKoZIhvcNAQEEBQAwXzELMAkGA1UEBhMCQVQxDzAN +BgNVBAgTBlZpZW5uYTEPMA0GA1UEBxMGVmllbm5hMQwwCgYDVQQKEwNCUloxDDAK +BgNVBAsTA01PQTESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTAyMTIwNTE1NTgzNloX +DTAzMDMwNTE1NTgzNlowXzELMAkGA1UEBhMCQVQxDzANBgNVBAgTBlZpZW5uYTEP +MA0GA1UEBxMGVmllbm5hMQwwCgYDVQQKEwNCUloxDDAKBgNVBAsTA01PQTESMBAG +A1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2Qwkh +SMVyrrs62G5CbYKoyz3ZD/H5/vMdXfwxeOQyh9kqTsJnHcmRba31Dk1oAvASLK4U +dD5XO4n87/FPwzbkiLFTL1ldtvOEzj3toLTkzW+evQzGuE4bnqXMeTzo1NJWBV3a +EPWG/jQ8uvHFQHdKygrqhCKrlNoXmIWjatBsRwIDAQABMA0GCSqGSIb3DQEBBAUA +A4GBAKt/1ymeuucEi3Hnzwn6afAZcvDqsjJ3BFSFgh24Na2Q8p11Swf73HyXasFF +BMKeiBg/l6i+o8Us/I8Tz1m3k418PYLtO31lvvSiRvjFdQhKNtZyRRP/w6Tapp1X +XRG4UZVM0SZ0xbptMIwPTtEgPhNRqU8pN5GqeLM+UZoHHZ4I +-----END CERTIFICATE----- diff --git a/spss.server/data/test/security/server.key.pem b/spss.server/data/test/security/server.key.pem new file mode 100644 index 000000000..98ed15c2c --- /dev/null +++ b/spss.server/data/test/security/server.key.pem @@ -0,0 +1,18 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: DES-EDE3-CBC,07A153976C2CFAF5 + +7t6tPNTNkearGYsAaZZC6zO0puw4//Fm71V+V6Wxf3NBD6gqt46FuFkvwI3zpkHF +AO3SdBGmAKpBaJ2igpDKI7zHbhJWG66eGaPz+zUVMkbqI5PQRN1zGkKK4c6Pleuq +CrNASVxtbd2aaSrwnesWm9dUfl3vYBXeBdxnKPnOzgCbeCv8AL8dHJP4bpOtym/r +5arkBLs+KzHfkg2qjKmadwuQwe++EJINZ2uIR/QR9LkjvL7gi9tktmK3jQkcpPXs +rnqs7lUoq2nT6EIm90Hq5w5ytj80z6rV4xPuu/4nAN/L3lOpaMmZ0nmB5Nkyl7pU +A2QnBC/YHIY7D+FHUApYUGUxOcktJeLc4981sFpvWbUIGqpB5o/tb3kbrbTNNiev +Cl6LzQlbNKkd1Gk4MxB3ZBLQeGnzHMBssckOSSGivZRR601uj/sL6zs8xOzo9ZC/ +83NInEAkPyeK3Fw1cg0poj2BhU61hsobm0uGLMlQYcJtI9H2svh1oAbz2AnT/rab +oRqV58Esmh0IsPBqEIar94Jl5YT8HU1MPHx4tF5wYUz79O7o54gr/WXQrycv9n2k +nEzCtQxp1cBJZx0W/Xh30YrRmnyKBfHl9kz0VHP0JCYyvDpotYCByilfq1dszyWG +QnU5cUSh6n4vwo2DuWZApgEn0BVV2plSKTrT6gTFY+2RgBHyeEYZ1lZa4EQJUsSn +4m/mW94GQQnQG5sms0GRMZaJJUDk18o+3h9+cJi/DUeRGsptizg/kQ7YA7gIRwgs +L635wYFlRjH0gzOb4/MeaxzrOXuxETrpx2gdQHVYjcyfmFcsPIEp7g== +-----END RSA PRIVATE KEY----- diff --git a/spss.server/data/test/security/server.keystore b/spss.server/data/test/security/server.keystore new file mode 100644 index 000000000..d8a135651 Binary files /dev/null and b/spss.server/data/test/security/server.keystore differ diff --git a/spss.server/data/test/security/server.pfx b/spss.server/data/test/security/server.pfx new file mode 100644 index 000000000..a98f1537f Binary files /dev/null and b/spss.server/data/test/security/server.pfx differ diff --git a/spss.server/data/test/xml/CreateXMLSignature/Req000.xml b/spss.server/data/test/xml/CreateXMLSignature/Req000.xml new file mode 100644 index 000000000..765fa4fe9 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/Req000.xml @@ -0,0 +1,19 @@ + + + PKCS12RSAKey1 + + + + my xml data + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/Req001.xml b/spss.server/data/test/xml/CreateXMLSignature/Req001.xml new file mode 100644 index 000000000..bc8f976a0 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/Req001.xml @@ -0,0 +1,52 @@ + + + + + validKeyIdentifier(RSAinPKCS12) + + + + + testdaten + + + + + + + + + + + + text/xml + + + + + + + + diff --git a/spss.server/data/test/xml/CreateXMLSignature/Req002.xml b/spss.server/data/test/xml/CreateXMLSignature/Req002.xml new file mode 100644 index 000000000..1fb5ea72d --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/Req002.xml @@ -0,0 +1,48 @@ + + + + + validKeyIdentifier(RSAinPKCS12) + + + + + testdaten + + + + + text/xml + + + + + + + + daten + + + + /Envelop + + + + + + + diff --git a/spss.server/data/test/xml/CreateXMLSignature/Req004.xml b/spss.server/data/test/xml/CreateXMLSignature/Req004.xml new file mode 100644 index 000000000..dfc9c11fe --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/Req004.xml @@ -0,0 +1,34 @@ + + + pkcs12rsakey1 + + + + + + Gesundheitliche Auswirkungen elektronischer Signaturen + Ellipse + Kurvenreich + 1951-04-16 + Hinterm Berg + 6-930-21512-12 + + + + + + + + /data:book/data:first-name + + + + text/html + + + + + + + + diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml new file mode 100644 index 000000000..32ed2e31c --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.001.Req.xml @@ -0,0 +1,17 @@ + + PKCS12RSAKey1 + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.004.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.004.Req.xml new file mode 100644 index 000000000..6a704c66d --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.004.Req.xml @@ -0,0 +1,17 @@ + + VKTRUE + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.005.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.005.Req.xml new file mode 100644 index 000000000..815f45f8e --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.005.Req.xml @@ -0,0 +1,17 @@ + + PKCS12ECDSAKey1 + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml new file mode 100644 index 000000000..c0b235585 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.007.Req.xml @@ -0,0 +1,19 @@ + + PKCS12RSAKey1 + + + + Dies sind Testdaten + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml new file mode 100644 index 000000000..ace117fd9 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.008.Req.xml @@ -0,0 +1,19 @@ + + PKCS12RSAKey1 + + + + RGllcyBzaW5kIFRlc3RkYXRlbg== + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.009.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.009.Req.xml new file mode 100644 index 000000000..5a1b39e12 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.009.Req.xml @@ -0,0 +1,17 @@ + + PKCS12RSAKey1 + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml new file mode 100644 index 000000000..120f76ee0 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.010.Req.xml @@ -0,0 +1,20 @@ + + + PKCS12RSAKey1 + + + + Dies sind Testdaten + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.014.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.014.Req.xml new file mode 100644 index 000000000..ead2fd581 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.014.Req.xml @@ -0,0 +1,17 @@ + + PKCS12RSAKey1 + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.015.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.015.Req.xml new file mode 100644 index 000000000..5386b7a1f --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.015.Req.xml @@ -0,0 +1,27 @@ + + PKCS12RSAKey1 + + + + + + + text/plain + + + + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.018.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.018.Req.xml new file mode 100644 index 000000000..a09303eec --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.018.Req.xml @@ -0,0 +1,29 @@ + + PKCS12RSAKey1 + + + + + + + text/plain + + + + + + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.057.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.057.Req.xml new file mode 100644 index 000000000..18c0e3385 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX0.057.Req.xml @@ -0,0 +1,19 @@ + + PKCS12RSAKeyExpired + + + + + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.001.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.001.Req.xml new file mode 100644 index 000000000..bc998c406 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.001.Req.xml @@ -0,0 +1,46 @@ + + + PKCS12RSAKey1 + + + + + + Gesundheitliche Auswirkungen elektronischer Signaturen + Ellipse + Kurvenreich + 1951-04-16 + Hinterm Berg + 6-930-21512-12 + + + + + + + + + + + + +

Buch: +

+ + +
+
+
+ +
+ + text/html + http://www.description.com + +
+ +
+
+ +
+
\ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.003.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.003.Req.xml new file mode 100644 index 000000000..cf06a6821 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.003.Req.xml @@ -0,0 +1 @@ +PKCS12RSAKey1Gesundheitliche Auswirkungen elektronischer SignaturenEllipseKurvenreich1951-04-16Hinterm Berg6-930-21512-12//data:book/data:first-nametext/plainhttp://www.description.com \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.004.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.004.Req.xml new file mode 100644 index 000000000..c4384ef67 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.004.Req.xml @@ -0,0 +1 @@ +PKCS12RSAKey1Gesundheitliche Auswirkungen elektronischer SignaturenEllipseKurvenreich1951-04-16Hinterm Berg6-930-21512-12//data:book/data:first-nametext/xmlhttp://www.description.com \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.009.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.009.Req.xml new file mode 100644 index 000000000..ddd39adda --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.009.Req.xml @@ -0,0 +1 @@ +PKCS12RSAKey1text/htmlhttp://www.description.comText//env:Document \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.011.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.011.Req.xml new file mode 100644 index 000000000..ec05ecf6a --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX1.011.Req.xml @@ -0,0 +1 @@ +PKCS12RSAKey1Gesundheitliche Auswirkungen elektronischer SignaturenEllipseKurvenreich1951-04-16Hinterm Berg6-930-21512-12text/htmlhttp://www.description.com

Buch:

\ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.001.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.001.Req.xml new file mode 100644 index 000000000..77aa7ac5f --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.001.Req.xml @@ -0,0 +1 @@ +PKCS12RSAKey1Dies sind Testdatentext/plainDies sind Testdaten//data:Document \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.004.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.004.Req.xml new file mode 100644 index 000000000..6644cebd0 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.004.Req.xml @@ -0,0 +1 @@ + UMLAUT Dies sind Testdaten text/plain Dies sind Testdaten //data:Document \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.006.Req.xml b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.006.Req.xml new file mode 100644 index 000000000..328c3196e --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/TestGeneratorCX2.006.Req.xml @@ -0,0 +1 @@ +PKCS12RSAKey1Dies sind Testdatentext/plainDies sind TestdatenCreateSignatureEnvironmentProfile1 \ No newline at end of file diff --git a/spss.server/data/test/xml/CreateXMLSignature/invalid.xml b/spss.server/data/test/xml/CreateXMLSignature/invalid.xml new file mode 100644 index 000000000..ea635b943 --- /dev/null +++ b/spss.server/data/test/xml/CreateXMLSignature/invalid.xml @@ -0,0 +1,20 @@ + + + validKeyIdentifier(RSAinPKCS12) + some invalid element + + + + testdaten + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/VerifyCMSSignature/Req000.xml b/spss.server/data/test/xml/VerifyCMSSignature/Req000.xml new file mode 100644 index 000000000..9866113ea --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/Req000.xml @@ -0,0 +1,46 @@ + + + + + 2001-12-17T09:30:47-05:00 + U3Zlbg== + + + text/plain + anyURI + + + U3Zlbg== + + + TrustProfile1 + + + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/Req001.xml b/spss.server/data/test/xml/VerifyCMSSignature/Req001.xml new file mode 100644 index 000000000..17c2b0879 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/Req001.xml @@ -0,0 +1,15 @@ + + + 2001-12-17T09:30:47-05:00 + MIIF5QYJKoZIhvcNAQcCoIIF1jCCBdICAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFUaGlzIGlzIGEgbWVzc2FnZaCCA9swggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMxMjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYMKwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzWj8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQADgYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMjI1MTIzMzI1WjAjBgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAoTw/ezMjs4lYuIEWfx3YRHHbOuzgcVtNp97SaViu4GXCoGR6EetYT2ZhNNJq34BkUXV1DTSc1pPRZhkXy5WjpsXX96QDyBjvoev+0NLfdsogNTfVjlcOfBol3+btuwyNz/4KK/owRYsmxqaFKyA3PAgsq4fje2jyxiwtkZWa1eA== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml new file mode 100644 index 000000000..573677265 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.001.Req.xml @@ -0,0 +1,41 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml new file mode 100644 index 000000000..9fdbbda30 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.002.Req.xml @@ -0,0 +1,47 @@ + + + 2003-04-04T09:30:47-05:00 + MIIHPwYJKoZIhvcNAQcCoIIHMDCCBywCAQExGTAJBgUrDgMCGgUAMAwGCCqGSIb3DQIFBQAwCwYJ +KoZIhvcNAQcBoIID2zCCA9cwggNEoAMCAQICBgDzJH01OzAJBgUrDgMCHQUAMIGsMQswCQYDVQQG +EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu +c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp +b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQTAeFw0wMzAy +MDMxNjIwNTVaFw0wMzEyMzAyMjU5MzBaMIGYMQswCQYDVQQGEwJBVDEmMCQGA1UEChMdR1JBWiBV +TklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPkluc2l0dXRlIGZvciBBcHBsaWVkIElu +Zm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zMRgwFgYDVQQDFA9Jc29sZGUg +QvxyZ2VyaW4wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOd5tKp4Ojvc1SALidtj7PdV/qXX +YTIgPT9ELrDHsUPkBJH3uN5xBSE6FGd7rqAEBXfp+DFzOg+vLWXLRlOTuFuQKv2xIyOHnyB0tBE4 +c4DQMpqpk/WfSCBIapv9Y4UOEl01t98t1595cdug4k3gKX7bkAd/PGJVfkbPq08hfYkVAgMBAAGj +ggEcMIIBGDAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIGwDARBglghkgBhvhCAQEEBAMCBSAw +ZwYDVR0gBGAwXjBcBgwrBgEEAZUSAQJ7AQEwTDBKBggrBgEFBQcCAjA+GjxUaGlzIGNlcnRpZmlj +YXRlIG9ubHkgbWF5IGJlIHVzZWQgZm9yIGRlbW9uc3RyYXRpb24gcHVycG9zZXMwPAYDVR0fBDUw +MzAxoC+gLYYraHR0cDovL3d3dy5pYWlrLmF0L3Rlc3RDQS9pYWlrX3Rlc3Rfc2lnLmNybDAdBgNV +HQ4EFgQUKDrqCMUvDNaPw02ZCVLNJZzeQO0wHwYDVR0jBBgwFoAUTCCwVgIM94gKloilFLRRzDq1 +8r8wCQYFKw4DAh0FAAOBgQAmPNaPJs2/GArkzIHqZckpuZwJMY7L9U+Z/x889XC30gyWdB8jU1cf +xg7M2Pg8dvDHVvugy6PZ1j0hP+D/pPR1yXv8BMgL+ODq476cxhio6qHN1/L+K8zKOjAUTZbrtJt8 +taZLU1f6uGolg/52xl3a5/wKCgLzkgEN0Hul/nU/9TGCAx4wggG5AgEBMIG3MIGsMQswCQYDVQQG +EwJBVDEmMCQGA1UEChMdR1JBWiBVTklWRVJTSVRZIE9GIFRFQ0hOT0xPR1kxRzBFBgNVBAsTPklu +c2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRp +b25zMRUwEwYDVQQLEwxJQUlLIFRlc3QgQ0ExFTATBgNVBAMTDElBSUsgVGVzdCBDQQIGAPMkfTU7 +MAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0w +MzAzMTAxMjIwMTZaMCMGCSqGSIb3DQEJBDEWBBSyytIeh9vVfxoZKOQBO1b7VTu4KjANBgkqhkiG +9w0BAQEFAASBgAHmPi43ASoCWp73pCdYA33yTy7cty+u2WJXQZqd5JwdKEdYo6Uz1X4Sqv4h5TQ9 +IQ4dvqJq3kTcWJGBbST2WH1uslx1b1jGdRVsnVUogBHj4hxNUEGMDGAFi1Y+libGM/IUhbyu3WWi +yumkY9UMJBZBSd7BQfF9jmWxDfkommpbMIIBXQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNV +BAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3Ig +QXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UE +CxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAMBggqhkiG9w0C +BQUAMA0GCSqGSIb3DQEBAQUABIGAO/8oo+LJbhlUrsbfF/phaqu7MaMcxlBR8F2xsLbvs+YuZ42c +xFwAUN1lGwKY+GvDmB97XQQxnuMGjFDaaBSWmMhlkJ56u7x8lYQhmbD79kMJgOdMcNdJ6nMxf5ZW +yFMx3nKvQgDlF8ReKZsDvmd/vcMMvB+lVEEPkNpHtqGLBAQ= + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.003.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.003.Req.xml new file mode 100644 index 000000000..c5b82a7f9 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.003.Req.xml @@ -0,0 +1,41 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.004.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.004.Req.xml new file mode 100644 index 000000000..318c99cb6 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.004.Req.xml @@ -0,0 +1,41 @@ + + + + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.005.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.005.Req.xml new file mode 100644 index 000000000..573677265 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.005.Req.xml @@ -0,0 +1,41 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml new file mode 100644 index 000000000..b5dd80315 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.006.Req.xml @@ -0,0 +1,32 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF5QYJKoZIhvcNAQcCoIIF1jCCBdICAQExCzAJBgUrDgMCGgUAMCAGCSqGSIb3DQEHAaATBBFU +aGlzIGlzIGEgbWVzc2FnZaCCA9swggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDEL +MAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYD +VQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21t +dW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0Ew +HhcNMDMwMjAzMTYyMDU1WhcNMDMxMjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQP +SXNvbGRlIEL8cmdlcmluMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nb +Y+z3Vf6l12EyID0/RC6wx7FD5ASR97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMj +h58gdLQROHOA0DKaqZP1n0ggSGqb/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2J +FQIDAQABo4IBHDCCARgwDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEB +BAQDAgUgMGcGA1UdIARgMF4wXAYMKwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBj +ZXJ0aWZpY2F0ZSBvbmx5IG1heSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwG +A1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5j +cmwwHQYDVR0OBBYEFCg66gjFLwzWj8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaI +pRS0Ucw6tfK/MAkGBSsOAwIdBQADgYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IM +lnQfI1NXH8YOzNj4PHbwx1b7oMuj2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjow +FE2W67SbfLWmS1NX+rhqJYP+dsZd2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDEL +MAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYD +VQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21t +dW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EC +BgDzJH01OzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B +CQUxDxcNMDMwMzEwMTIyMDE2WjAjBgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCow +DQYJKoZIhvcNAQEBBQAEgYAB5j4uNwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+ +Eqr+IeU0PSEOHb6iat5E3FiRgW0k9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPy +FIW8rt1losrppGPVDCQWQUnewUHxfY5lsQ35KJpqWw== + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.007.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.007.Req.xml new file mode 100644 index 000000000..3f00c5901 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.007.Req.xml @@ -0,0 +1,37 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.008.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.008.Req.xml new file mode 100644 index 000000000..a51a7ff09 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.008.Req.xml @@ -0,0 +1,41 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.009.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.009.Req.xml new file mode 100644 index 000000000..b3155112a --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.009.Req.xml @@ -0,0 +1,41 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.010.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.010.Req.xml new file mode 100644 index 000000000..9b33e1139 --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.010.Req.xml @@ -0,0 +1,41 @@ + + + 2003-04-04T09:30:47-05:00 + MIIF0AYJKoZIhvcNAQcCoIIFwTCCBb0CAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCA9sw +ggPXMIIDRKADAgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMx +MjMwMjI1OTMwWjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBU +RUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9j +ZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0G +CSqGSIb3DQEBAQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR +97jecQUhOhRne66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb +/WOFDhJdNbffLdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0T +AQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYM +KwYBBAGVEgECewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBi +ZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6 +Ly93d3cuaWFpay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzW +j8NNmQlSzSWc3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQAD +gYEAJjzWjybNvxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj +2dY9IT/g/6T0dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd +2uf8CgoC85IBDdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoT +HUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBw +bGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMM +SUFJSyBUZXN0IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwMzEwMTIyMDE2WjAj +BgkqhkiG9w0BCQQxFgQUssrSHofb1X8aGSjkATtW+1U7uCowDQYJKoZIhvcNAQEBBQAEgYAB5j4u +NwEqAlqe96QnWAN98k8u3LcvrtliV0GaneScHShHWKOlM9V+Eqr+IeU0PSEOHb6iat5E3FiRgW0k +9lh9brJcdW9YxnUVbJ1VKIAR4+IcTVBBjAxgBYtWPpYmxjPyFIW8rt1losrppGPVDCQWQUnewUHx +fY5lsQ35KJpqWw== + + + text/plain + http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt + + + + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.011.Req.xml b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.011.Req.xml new file mode 100644 index 000000000..7b86a7b5e --- /dev/null +++ b/spss.server/data/test/xml/VerifyCMSSignature/TestGeneratorVC0.011.Req.xml @@ -0,0 +1,49 @@ + 2003-04-04T09:30:47-05:00 MIII2AIBATELMAkGBSsOAwIaBQAwggECBgkqhkiG9w0BBwGggfQEgfE8c2wxMDpJ +bmZvYm94UmVhZFJlcXVlc3QgeG1sbnM6c2wxMD0naHR0cDovL3d3dy5idWVyZ2Vy +a2FydGUuYXQvbmFtZXNwYWNlcy9zZWN1cml0eWxheWVyLzIwMDIwMjI1Iyc+PHNs +MTA6SW5mb2JveElkZW50aWZpZXI+SWRlbnRpdHlMaW5rPC9zbDEwOkluZm9ib3hJ +ZGVudGlmaWVyPjxzbDEwOkJpbmFyeUZpbGVQYXJhbWV0ZXJzIENvbnRlbnRJc1hN +TEVudGl0eT0ndHJ1ZScvPjwvc2wxMDpJbmZvYm94UmVhZFJlcXVlc3Q+oIIFKTCC +BSUwggQNoAMCAQICAhk3MA0GCSqGSIb3DQEBBQUAMIGhMQswCQYDVQQGEwJBVDFI +MEYGA1UEChM/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBl +bGVrdHIuIERhdGVudmVya2VociBHbWJIMSMwIQYDVQQLExphLXNpZ24tVEVTVC1Q +cmVtaXVtLUVuYy0wMTEjMCEGA1UEAxMaYS1zaWduLVRFU1QtUHJlbWl1bS1FbmMt +MDEwHhcNMDMwMjEwMTMyMDU4WhcNMDYwMjEwMTMyMDU4WjBqMQswCQYDVQQGEwJB +VDEcMBoGA1UEAxMTVGVzdHBlcnNvbiBNT0E0IEJSWjEMMAoGA1UEBBMDQlJaMRgw +FgYDVQQqEw9UZXN0cGVyc29uIE1PQTQxFTATBgNVBAUTDDc5MDE4NzQ2MTYzMzCB +nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0v1Ftf7WXgoexx0Jo/GrlExHOHnQ +IEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EMA6P18Z/YyTIuP7fN +GzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7af2da +YYuO8dycQw3xg6UCAwEAAaOCAh8wggIbMBMGA1UdIwQMMAqACEuzgMNxkzzYMCcG +CCsGAQUFBwEDAQH/BBgwFjAIBgYEAI5GAQEwCgYIKwYBBQUHCwEwgYIGCCsGAQUF +BwEBBHYwdDApBggrBgEFBQcwAYYdaHR0cDovL3d3dy5hLXRydXN0LmF0OjgyL29j +c3AwRwYIKwYBBQUHMAKGO2h0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9hLXNp +Z24tVEVTVC1QcmVtaXVtLVNpZy0wMWEuY3J0MIGUBgNVHSAEgYwwgYkwfQYGKigA +EQEEMHMwNQYIKwYBBQUHAgEWKWh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2Nw +L2Etc2lnbi1URVNUMDoGCCsGAQUFBwICMC4aLERpZXNlcyBaZXJ0aWZpa2F0IGRp +ZW50IG51ciB6dSBUZXN0endlY2tlbiAhMAgGBgQAizABATBvBgNVHR8EaDBmMGSg +YqBghl5sZGFwOi8vbGRhcC5hLXRydXN0LmF0L291PWEtc2lnbi1URVNULVByZW1p +dW0tRW5jLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxp +c3Q/MBEGA1UdDgQKBAhOA8S/ZMuDPjAOBgNVHQ8BAf8EBAMCBsAwIAYDVR0RBBkw +F4EVdGVzdHBlcnNvbjRAYnJ6Lmd2LmF0MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQEF +BQADggEBAIqFb7GTfjZ0MVzExnYyr3kwTEU2Mx35ZEgvJSPV15bT+fpoyLqAdk5+ +r6KLwPHV8/Y07J0LfH/MntAi9m0kvVFQ9Y7/EqN22r6rlvh5ZGQQGby9/QDzSz41 +FJ1p9EDp60ACeluO1MBgFIBMNynAXCWhGuF2//JFI+tfMRs1pel9JirFacZK3/uQ +o/p5sA6goZZdPP/dDJoUmODORa75kPRowDeRR1bJNBT6dNrSgkc6ASbc6QdQ1ih5 +YIgx1AF8uXg9FyOz13mzzWeCJ72P4wvyB/D0S3SU9uPWEJlMWeJ3k7RQ72/AtUIe +pO9uX4d4Vcal/GcMFo/fohkFZOdytwgxggKRMIICjQIBATCBqDCBoTELMAkGA1UE +BhMCQVQxSDBGBgNVBAoTP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3Rl +bWUgaW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECxMaYS1zaWdu +LVRFU1QtUHJlbWl1bS1FbmMtMDExIzAhBgNVBAMTGmEtc2lnbi1URVNULVByZW1p +dW0tRW5jLTAxAgIZNzAJBgUrDgMCGgUAoIIBPjAjBgkqhkiG9w0BCQQxFgQU7Cdd +FuGLuHFvEIPT80IThplXPXowNAYLKoZIhvcNAQkQAgQxJTAjDBZ0ZXh0L3htbDtj +aGFyc2V0PVVURi04BgkqhkiG9w0BBwEwgeAGCyqGSIb3DQEJEAITMYHQMIHNMIHK +MIHHBBQWuG7WjiYviBAd0lxTTFID+HgI4TCBrjCBp6SBpDCBoTELMAkGA1UEBhMC +QVQxSDBGBgNVBAoTP0EtVHJ1c3QgR2VzLiBmLiBTaWNoZXJoZWl0c3N5c3RlbWUg +aW0gZWxla3RyLiBEYXRlbnZlcmtlaHIgR21iSDEjMCEGA1UECxMaYS1zaWduLVRF +U1QtUHJlbWl1bS1FbmMtMDExIzAhBgNVBAMTGmEtc2lnbi1URVNULVByZW1pdW0t +RW5jLTAxAgIZNzANBgkqhkiG9w0BAQEFAASBgJCZ0BwFdXjChqrS8cHWJcqfe+up +x4VVNV1YOJil/KWMuBCn3DHQsbBFJFrmGUUJGenBbre5L86brr43NwvndrtyyRrw +vG4/QWmYIxowXKuRlqGDCOmTaC6ddrjyVxQ54yal+XhlrWfc6kcdb6NK6dt6X7wR + + TrustProfile1 \ No newline at end of file diff --git a/spss.server/data/test/xml/VerifyXMLSignature/Req000.xml b/spss.server/data/test/xml/VerifyXMLSignature/Req000.xml new file mode 100644 index 000000000..2ed8acff9 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/Req000.xml @@ -0,0 +1,46 @@ + + + + + 2002-12-01T09:30:47-05:00 + + + + + + + + + + U3Zlbg== + + + U3Zlbg== + + + + //dsig:Signature + + + TrustProfile1 + + + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/Req001.xml b/spss.server/data/test/xml/VerifyXMLSignature/Req001.xml new file mode 100644 index 000000000..7cb71f6d2 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/Req001.xml @@ -0,0 +1,49 @@ + + + + + 2002-12-01T09:30:47-05:00 + + + + + + + + + + U3Zlbg== + + + U3Zlbg== + + + + anValidXPathExpression + + + + + text/plain + aValidURI + + + U3Zlbg== + + + + aValidSupplementProfileID + aValidTrustProfileID + + + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/Req002.xml b/spss.server/data/test/xml/VerifyXMLSignature/Req002.xml new file mode 100644 index 000000000..a834f1225 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/Req002.xml @@ -0,0 +1,63 @@ + + + + + 2002-12-01T09:30:47-05:00 + + + + + + + + + + U3Zlbg== + + + U3Zlbg== + + + + anValidXPathExpression + + + + + + + + + + + PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8dGVzdD48L3Rlc3Q+ + + + validID + + + aValidTrustProfileID + + + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml new file mode 100644 index 000000000..22db26930 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.001.Req.xml @@ -0,0 +1,53 @@ + + + 2003-03-25T14:22:59+01:00 + + + WVob54034HfToUBDAErL5z6GFxo=30H2FC1IKju7ebEsN2YMWem/ZUgrjLFAt7U5mJoUAFtXjufa1bNb5E6pWg1ysQIe +OYAr1Mo73sbh+7/G40Nd6GX428yZqdihfqBnyU/lWI7RqnQZragMQnGNr4zONhBc +cWYbxSux1CzoLQW2v8Usv7myQzV8RFiOkMLNaeuzH2w=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + //dsig:Signature + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml new file mode 100644 index 000000000..97db01c26 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.002.Req.xml @@ -0,0 +1,52 @@ + + + + + O3POtgZXrGmw+2btYrduSvptSdo=uBvOjC5KqIE1kJlrmm6BarlFxN5Hw8CIOQirPNQaFhasC8CoRtV6I8nC3ukIfbGv +ZgrB8pAomCB7iRx26ofjKyl853IsJEd8Vba5dDopFMRkgUs5F6p9VWc/P4mtmG2T +PhRggb9/vc385obikEPop1MqlgyPFojyiZrLxeRRtrQ=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + //dsig:Signature + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.003.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.003.Req.xml new file mode 100644 index 000000000..191de2ccd --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.003.Req.xml @@ -0,0 +1,53 @@ + + + 2003-03-11T18:14:19+01:00 + + + O3POtgZXrGmw+2btYrduSvptSdo=uBvOjC5KqIE1kJlrmm6BarlFxN5Hw8CIOQirPNQaFhasC8CoRtV6I8nC3ukIfbGv +ZgrB8pAomCB7iRx26ofjKyl853IsJEd8Vba5dDopFMRkgUs5F6p9VWc/P4mtmG2T +PhRggb9/vc385obikEPop1MqlgyPFojyiZrLxeRRtrQ=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + //dsig:Signature + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.004.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.004.Req.xml new file mode 100644 index 000000000..508da73b8 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.004.Req.xml @@ -0,0 +1,52 @@ + + + 2003-03-12T18:14:19+01:00 + + + O3POtgZXrGmw+2btYrduSvptSdo=uBvOjC5KqIE1kJlrmm6BarlFxN5Hw8CIOQirPNQaFhasC8CoRtV6I8nC3ukIfbGv +ZgrB8pAomCB7iRx26ofjKyl853IsJEd8Vba5dDopFMRkgUs5F6p9VWc/P4mtmG2T +PhRggb9/vc385obikEPop1MqlgyPFojyiZrLxeRRtrQ=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + //dsig:Signature + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.005.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.005.Req.xml new file mode 100644 index 000000000..2af2a0a95 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.005.Req.xml @@ -0,0 +1,12 @@ + + + 2003-04-30T13:54:24+01:00 + + + + //dsig:Signature + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.007.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.007.Req.xml new file mode 100644 index 000000000..1b5d43ac8 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.007.Req.xml @@ -0,0 +1,85 @@ +DQo8ZGF0YTpEb2N1bWVudCBJZD0ibXlEb2N1bWVudCIgeG1sbnM6ZGF0YT0iaHR0 +cDovL3VyaS5kYXRhLm9yZyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8y +MDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRw +Oi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjIGh0dHA6Ly93d3cudzMub3Jn +L1RSL3htbGRzaWctY29yZS94bWxkc2lnLWNvcmUtc2NoZW1hLnhzZCI+PGRzaWc6 +U2lnbmF0dXJlIHhtbG5zOmRzaWc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkv +eG1sZHNpZyMiPjxkc2lnOlNpZ25lZEluZm8+PGRzaWc6Q2Fub25pY2FsaXphdGlv +bk1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVD +LXhtbC1jMTRuLTIwMDEwMzE1Ii8+PGRzaWc6U2lnbmF0dXJlTWV0aG9kIEFsZ29y +aXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3JzYS1zaGEx +Ii8+PGRzaWc6UmVmZXJlbmNlIFVSST0iI215RG9jdW1lbnQiPjxkc2lnOlRyYW5z +Zm9ybXM+PGRzaWc6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5v +cmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3BlZC1zaWduYXR1cmUiLz48L2RzaWc6 +VHJhbnNmb3Jtcz48ZHNpZzpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8v +d3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkc2lnOkRpZ2VzdFZh +bHVlPmszRlY0N1VZVnlacSszaVZ4VmN2dEhtYzhwZz08L2RzaWc6RGlnZXN0VmFs +dWU+PC9kc2lnOlJlZmVyZW5jZT48L2RzaWc6U2lnbmVkSW5mbz48ZHNpZzpTaWdu +YXR1cmVWYWx1ZT5KekxRZXJwOCtPaDdTanByci9ISTVoYXNXOG9iNUNwcy9kK1Y1 +bFJ0T25xd0dlSDU5VlRwNWl1SndpNU0xdGt3DQpCbUJkV0I0a1doaXRpVTBWVmZ2 +aWhHUlV1ajMxL2ZVemxoWXhlUU1HVE0rdHkvUHNXclRaQ0ZHNTFVUGdKcU1CDQpz +am5MbEFuYkl5RFpiSkVzRG1TdTZxbjV0S3ZOdnpyRjBYSnQxSDBUMUNrPTwvZHNp +ZzpTaWduYXR1cmVWYWx1ZT48ZHNpZzpLZXlJbmZvPjxkc2lnOlg1MDlEYXRhPjxk +c2lnOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEYnpDQ0F0eWdBd0lCQWdJR0FQTWtBNFpz +TUFrR0JTc09Bd0lkQlFBd2dhd3hDekFKQmdOVkJBWVRBa0ZVDQpNU1l3SkFZRFZR +UUtFeDFIVWtGYUlGVk9TVlpGVWxOSlZGa2dUMFlnVkVWRFNFNVBURTlIV1RGSE1F +VUdBMVVFDQpDeE0rU1c1emFYUjFkR1VnWm05eUlFRndjR3hwWldRZ1NXNW1iM0p0 +WVhScGIyNGdVSEp2WTJWemMybHVaeUJoDQpibVFnUTI5dGJYVnVhV05oZEdsdmJu +TXhGVEFUQmdOVkJBc1RERWxCU1VzZ1ZHVnpkQ0JEUVRFVk1CTUdBMVVFDQpBeE1N +U1VGSlN5QlVaWE4wSUVOQk1CNFhEVEF6TURJd016RTBNRGMwTlZvWERUQXpNVEl6 +TURJeU5Ua3pNRm93DQpnYXd4Q3pBSkJnTlZCQVlUQWtGVU1TWXdKQVlEVlFRS0V4 +MUhVa0ZhSUZWT1NWWkZVbE5KVkZrZ1QwWWdWRVZEDQpTRTVQVEU5SFdURkhNRVVH +QTFVRUN4TStTVzV6YVhSMWRHVWdabTl5SUVGd2NHeHBaV1FnU1c1bWIzSnRZWFJw +DQpiMjRnVUhKdlkyVnpjMmx1WnlCaGJtUWdRMjl0YlhWdWFXTmhkR2x2Ym5NeEZU +QVRCZ05WQkFzVERFbEJTVXNnDQpWR1Z6ZENCRFFURVZNQk1HQTFVRUF4TU1TVUZK +U3lCVVpYTjBJRU5CTUlHZk1BMEdDU3FHU0liM0RRRUJBUVVBDQpBNEdOQURDQmlR +S0JnUUNVV0tsNnV5Ui9pc3R5MkRMVmRCengwNzRxT2ZKK09QOEo2UFZpOUdYNTI3 +dTBUVFdUDQorTExMOGJnWUN3UE9GUVNycHFTbWIyd09keFd3WVFmaGF0S3Z6dlV3 +NFViL0Jmd0VzdGZYcy94ZjZ6NElGMktPDQptbVJNREkxejhTRTE3MDFTRlRVb1lk +OVpCOEtVdHlwNmRGZDRjSXVqTzg0RE1FKzZSQVp4dHNHV0x3SURBUUFCDQpvNEdo +TUlHZU1CSUdBMVVkRXdFQi93UUlNQVlCQWY4Q0FRQXdEZ1lEVlIwUEFRSC9CQVFE +QWdIR01EZ0dBMVVkDQpId1F4TUM4d0xhQXJvQ21HSjJoMGRIQTZMeTkzZDNjdWFX +RnBheTVoZEM5MFpYTjBMV05oTDNSbGMzUlFRMEV1DQpZM0pzYkRBZEJnTlZIUTRF +RmdRVVRDQ3dWZ0lNOTRnS2xvaWxGTFJSekRxMThyOHdId1lEVlIwakJCZ3dGb0FV +DQpUQ0N3VmdJTTk0Z0tsb2lsRkxSUnpEcTE4cjh3Q1FZRkt3NERBaDBGQUFPQmdR +Q0N4NlZQam1VZGVxR2N0UVRoDQpTZzJkRVlkbGFsL1g1azUyM25RNTRTc29YMnNo +SVFLLzh6Sk9HelFkTWplYnVwSUsrdFBpWjdTSnpzQWFNVWk0DQpIZ3FxM2oxRksr +S3hMaXF0dDM1dHdvZlZZT3UxNVpqMFhJdThFTXp2RTA1eW50bFBqdEdicDlsbDhk +d012YWJQDQoraldoQ1hBbjZ3MmMyeGRwaEw4bm9rU05MQT09PC9kc2lnOlg1MDlD +ZXJ0aWZpY2F0ZT48ZHNpZzpYNTA5Q2VydGlmaWNhdGU+TUlJRDF6Q0NBMFNnQXdJ +QkFnSUdBUE1rZlRVN01Ba0dCU3NPQXdJZEJRQXdnYXd4Q3pBSkJnTlZCQVlUQWtG +VQ0KTVNZd0pBWURWUVFLRXgxSFVrRmFJRlZPU1ZaRlVsTkpWRmtnVDBZZ1ZFVkRT +RTVQVEU5SFdURkhNRVVHQTFVRQ0KQ3hNK1NXNXphWFIxZEdVZ1ptOXlJRUZ3Y0d4 +cFpXUWdTVzVtYjNKdFlYUnBiMjRnVUhKdlkyVnpjMmx1WnlCaA0KYm1RZ1EyOXRi +WFZ1YVdOaGRHbHZibk14RlRBVEJnTlZCQXNUREVsQlNVc2dWR1Z6ZENCRFFURVZN +Qk1HQTFVRQ0KQXhNTVNVRkpTeUJVWlhOMElFTkJNQjRYRFRBek1ESXdNekUyTWpB +MU5Wb1hEVEF6TVRJek1ESXlOVGt6TUZvdw0KZ1pneEN6QUpCZ05WQkFZVEFrRlVN +U1l3SkFZRFZRUUtFeDFIVWtGYUlGVk9TVlpGVWxOSlZGa2dUMFlnVkVWRA0KU0U1 +UFRFOUhXVEZITUVVR0ExVUVDeE0rU1c1emFYUjFkR1VnWm05eUlFRndjR3hwWldR +Z1NXNW1iM0p0WVhScA0KYjI0Z1VISnZZMlZ6YzJsdVp5QmhibVFnUTI5dGJYVnVh +V05oZEdsdmJuTXhHREFXQmdOVkJBTVVEMGx6YjJ4aw0KWlNCQy9ISm5aWEpwYmpD +Qm56QU5CZ2txaGtpRzl3MEJBUUVGQUFPQmpRQXdnWWtDZ1lFQTUzbTBxbmc2Tzl6 +Vg0KSUF1SjIyUHM5MVgrcGRkaE1pQTlQMFF1c01leFErUUVrZmU0M25FRklUb1Va +M3V1b0FRRmQrbjRNWE02RDY4dA0KWmN0R1U1TzRXNUFxL2JFakk0ZWZJSFMwRVRo +emdOQXltcW1UOVo5SUlFaHFtLzFqaFE0U1hUVzMzeTNYbjNseA0KMjZEaVRlQXBm +dHVRQjM4OFlsVitScytyVHlGOWlSVUNBd0VBQWFPQ0FSd3dnZ0VZTUF3R0ExVWRF +d0VCL3dRQw0KTUFBd0RnWURWUjBQQVFIL0JBUURBZ2JBTUJFR0NXQ0dTQUdHK0VJ +QkFRUUVBd0lGSURCbkJnTlZIU0FFWURCZQ0KTUZ3R0RDc0dBUVFCbFJJQkFuc0JB +VEJNTUVvR0NDc0dBUVVGQndJQ01ENGFQRlJvYVhNZ1kyVnlkR2xtYVdOaA0KZEdV +Z2IyNXNlU0J0WVhrZ1ltVWdkWE5sWkNCbWIzSWdaR1Z0YjI1emRISmhkR2x2YmlC +d2RYSndiM05sY3pBOA0KQmdOVkhSOEVOVEF6TURHZ0w2QXRoaXRvZEhSd09pOHZk +M2QzTG1saGFXc3VZWFF2ZEdWemRFTkJMMmxoYVd0Zg0KZEdWemRGOXphV2N1WTNK +c01CMEdBMVVkRGdRV0JCUW9PdW9JeFM4TTFvL0RUWmtKVXMwbG5ONUE3VEFmQmdO +Vg0KSFNNRUdEQVdnQlJNSUxCV0FnejNpQXFXaUtVVXRGSE1Pclh5dnpBSkJnVXJE +Z01DSFFVQUE0R0JBQ1k4MW84bQ0KemI4WUN1VE1nZXBseVNtNW5Ba3hqc3YxVDVu +L0h6ejFjTGZTREpaMEh5TlRWeC9HRHN6WStEeDI4TWRXKzZETA0KbzluV1BTRS80 +UCtrOUhYSmUvd0V5QXY0NE9yanZwekdHS2pxb2MzWDh2NHJ6TW82TUJSTmx1dTBt +M3kxcGt0VA0KVi9xNGFpV0QvbmJHWGRybi9Bb0tBdk9TQVEzUWU2WCtkVC8xPC9k +c2lnOlg1MDlDZXJ0aWZpY2F0ZT48L2RzaWc6WDUwOURhdGE+PC9kc2lnOktleUlu +Zm8+PC9kc2lnOlNpZ25hdHVyZT4NCmRhdGVuDQo8L2RhdGE6RG9jdW1lbnQ+//dsig:Signature + + PCFFTEVNRU5UIGRhdGE6RG9jdW1lbnQgQU5ZPjwhQVRUTElTVCBkYXRhOkRvY3Vt +ZW50IElkIElEICNSRVFVSVJFRD4NCg== + + +TrustProfile1 \ No newline at end of file diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.106.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.106.Req.xml new file mode 100644 index 000000000..8ca984b7c --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.106.Req.xml @@ -0,0 +1,52 @@ + + + 2003-03-17T10:01:13+01:00 + + + O3POtgZXrGmw+2btYrduSvptSdo=uBvOjC5KqIE1kJlrmm6BarlFxN5Hw8CIOQirPNQaFhasC8CoRtV6I8nC3ukIfbGv +ZgrB8pAomCB7iRx26ofjKyl853IsJEd8Vba5dDopFMRkgUs5F6p9VWc/P4mtmG2T +PhRggb9/vc385obikEPop1MqlgyPFojyiZrLxeRRtrQ=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + //dsig:Signature + +SupplementProfile1SupplementProfile2 TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.201.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.201.Req.xml new file mode 100644 index 000000000..1e6780cb8 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.201.Req.xml @@ -0,0 +1,59 @@ + + + 2003-04-01T12:53:57+01:00 + + + gJhOZajRF42VUda+ZBhWNdljSLc=cJybGx+5JVkh1WYQr90ozzlcSSA=dP0FIjMdub6Q9Km7VnqgYGbptbk=jwi/XtAABYZ0AYo+svauDOiLUcjgNccEsU72VudeAi1CV3bjfhF0q3UMirgRR0DF +Vk//dX4/EeAI8yNaJ6PuoSx8o6bcFQXic3S/MMesVcFxoCN7uP8Al1u00Jvf6SlD +wEDtPaGkMIB8+RCqWy+aXk3ROWxidmLC//Ka5F2beFY=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1nFsrjFH4fx13UtHEeaiuNAew5aA=2003-04-01T12:53:57+01:00dL59VDpBsujcngd207z0ohPl1/U=CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331text/html + //dsig:Signature + + +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIi8+ +PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxuczpkYXRhPSJodHRw +Oi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVjaDogPHhzbDp2YWx1 +ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9EWT48L0hUTUw+PC94 +c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4= TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.203.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.203.Req.xml new file mode 100644 index 000000000..d55428293 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.203.Req.xml @@ -0,0 +1,64 @@ + + + 2003-03-18T11:19:32+01:00 + + + + +gJhOZajRF42VUda+ZBhWNdljSLc=ZBo95yK3oQncxbbDgd1cZMliD/I=4cI+eWoq8xiz5HtRSmeVEwLOJ3c=pAdOJTnU28mlWj1g7ijp2WWW0k0W4A0dSF2WEam/nn+fjlmsnfqMnPRqQk1h8tDs +/ONxffgpbeO7SVnKwLXTUUcg+qVZbuG73PGWPapFrJd3OA8KbZAZO2U05+gAQueS +xNp5pFulWmb8NSzi7vUCKlIJ5pquYTdGlltEpDoxZ98=MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA==MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1cnqPpPuFKVuCtePNvRdIBJNPHh4=2003-03-18T11:19:32+01:00dL59VDpBsujcngd207z0ohPl1/U=CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331text/html + //dsig:Signature + + + + +PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjx4c2w6c3R5 +bGVzaGVldCB4bWxuczp4c2w9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvWFNML1Ry +YW5zZm9ybSIgdmVyc2lvbj0iMS4wIj4NCgk8eHNsOm91dHB1dCBtZXRob2Q9Imh0 +bWwiLz4NCgk8eHNsOnRlbXBsYXRlIG1hdGNoPSJkYXRhOmJvb2siIHhtbG5zOmRh +dGE9Imh0dHA6Ly91cmkuZGF0YS5vcmciPg0KCQk8SFRNTD4NCgkJCTxCT0RZPg0K +CQkJCTxIMT5CdWNoOiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iZGF0YTp0aXRsZSIv +Pg0KCQkJCTwvSDE+DQoJCQk8L0JPRFk+DQoJCTwvSFRNTD4NCgk8L3hzbDp0ZW1w +bGF0ZT4NCjwveHNsOnN0eWxlc2hlZXQ+DQo= TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.252.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.252.Req.xml new file mode 100644 index 000000000..485ff4191 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.252.Req.xml @@ -0,0 +1,163 @@ + + + + + 2003-04-01T19:58:19+01:00 + + + + + + + + + + + + + + + + gJhOZajRF42VUda+ZBhWNdljSLc= + + + + cJybGx+5JVkh1WYQr90ozzlcSSA= + + + + WKzmN8eskIcXvr8x7PKcSzEscLI= + + + Wk6pj3QB4KJdFRJVfOG0pGdmaILYO6Y1NecU0aHWT/9sFeHShyW6Sifs92fnn6p/ +oiIXdiAG9KwWob5yDNirQTEdBCSDu0dyQbh3fIpeA1J3qM/Z+5FM0kBlZmpsBl4x +Lq2u4A7XjVnZE0WkdKg1ZepPwxgKcgOf8z/OTOBQY8g= + + + MIIDbzCCAtygAwIBAgIGAPMkA4ZsMAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE0MDc0NVoXDTAzMTIzMDIyNTkzMFow +gawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsg +VGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMIGfMA0GCSqGSIb3DQEBAQUA +A4GNADCBiQKBgQCUWKl6uyR/isty2DLVdBzx074qOfJ+OP8J6PVi9GX527u0TTWT ++LLL8bgYCwPOFQSrpqSmb2wOdxWwYQfhatKvzvUw4Ub/BfwEstfXs/xf6z4IF2KO +mmRMDI1z8SE1701SFTUoYd9ZB8KUtyp6dFd4cIujO84DME+6RAZxtsGWLwIDAQAB +o4GhMIGeMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMDgGA1Ud +HwQxMC8wLaAroCmGJ2h0dHA6Ly93d3cuaWFpay5hdC90ZXN0LWNhL3Rlc3RQQ0Eu +Y3JsbDAdBgNVHQ4EFgQUTCCwVgIM94gKloilFLRRzDq18r8wHwYDVR0jBBgwFoAU +TCCwVgIM94gKloilFLRRzDq18r8wCQYFKw4DAh0FAAOBgQCCx6VPjmUdeqGctQTh +Sg2dEYdlal/X5k523nQ54SsoX2shIQK/8zJOGzQdMjebupIK+tPiZ7SJzsAaMUi4 +Hgqq3j1FK+KxLiqtt35twofVYOu15Zj0XIu8EMzvE05yntlPjtGbp9ll8dwMvabP ++jWhCXAn6w2c2xdphL8nokSNLA== + MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + + + + + + + nFsrjFH4fx13UtHEeaiuNAew5aA= + + + + + + + + 2003-04-01T19:58:19+01:00 + + + + + dL59VDpBsujcngd207z0ohPl1/U= + + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1044289238331 + + + + + + + + + + text/html + + + + + + + + //dsig:Signature + + + + + + + + + + + + + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIi8+ +PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxuczpkYXRhPSJodHRw +Oi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVjaDogPHhzbDp2YWx1 +ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9EWT48L0hUTUw+PC94 +c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4= + + + + + + + + + + + + + + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48eHNsOnN0eWxl +c2hlZXQgeG1sbnM6eHNsPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L1hTTC9UcmFu +c2Zvcm0iIHZlcnNpb249IjEuMCI+PHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIi8+ +PHhzbDp0ZW1wbGF0ZSBtYXRjaD0iZGF0YTpib29rIiB4bWxuczpkYXRhPSJodHRw +Oi8vdXJpLmRhdGEub3JnIj48SFRNTD48Qk9EWT48SDE+QnVjaDogPHhzbDp2YWx1 +ZS1vZiBzZWxlY3Q9ImRhdGE6dGl0bGUiLz48L0gxPjwvQk9EWT48L0hUTUw+PC94 +c2w6dGVtcGxhdGU+PC94c2w6c3R5bGVzaGVldD4= + + + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.359.Req.xml b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.359.Req.xml new file mode 100644 index 000000000..849c1b464 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/TestGeneratorVX.359.Req.xml @@ -0,0 +1,18 @@ + + + 2003-04-01T19:58:22+01:00 + + + bluTLafswdmsDkwdNk/j/HVd1eo=nK7gJ9m6E9MMl0DuL2m/F/wyrFc2V5wTV2eYj3UAO1qbFhQzKtbz4dKrV+4HlaxT +u/1IbP+ZWvmylwNnsT+WSGAPGw5/L9YNUVkxRi14Pal6nHgx0Cr5zN48hd278jcg +7kNgVHFHqutWLPXPVuTrR8C96JdFINiFdnCKEALsk+A=Dies sind Testdaten +2. Zeile +3. Zeile +aus + //dsig:Signature + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID.xml b/spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID.xml new file mode 100644 index 000000000..deb41a87f --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID.xml @@ -0,0 +1,37 @@ + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + + + 000264107610 + http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl + + + Paul + Ivancsics + + 1963-12-29 + + + + + + + + tr/uFAdnHIsXqrb5MaweaIOnEHFbZESGPUxtYYrbg9xPIokLNNHSJRc+Rd/odZmi601604lj5EkX m8nQLVjaLLYT8ep91pR6U7EJPI5sNmNWUcGBWXHF6LTU5rThHRRun5Hrrr8FalDYyXd9tjXwvWU+ Qm0ohPboHnlo+Wl86mM= + AQAB + + + + + + + iVosMHmFSmIZjg549FIDZokgboM+dg9wSd7areBticT0RN7AI0eprMeSMHwbc41OmMlbyBC9pHHN yXdftjH2DpO1yNxG8ZNxDIL10TJXCEkqNGXVoUi6FW70+o5kgz4j/zlkISkRdjD74Dhe/ExY7cC6 uuq2W788D7nbz6tG2ts= + AQAB + + + +not(ancestor-or-self::pr:Identification)tEW27LHCMLltnWoEznBQhlSRdHc=ancestor-or-self::dsig:ManifestTMQ82sCekPS+PFS8YaWHDRT+ky0=X5HrMC7WMTOGezepSJj49uV7uwWq8e8ChhPLRmVTOY7WV0cEl7NdLDwcTwq011bTACL66jCJZleS x5Ngo+MJGYtc+Kq5B/WwZieb65mb2nSXzrPNr5xno6+fTyFF1nf+u4vNUGxvexkc7lL1wnc6yYz6 30Keq7JN/u8E99+l2/o=MIIEuTCCA6GgAwIBAgICFywwDQYJKoZIhvcNAQEFBQAwgZ8xCzAJBgNVBAYTAkFU MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jw b3JhdGUtbGlnaHQtMDExIjAgBgNVBAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQt MDEwHhcNMDMwMTA5MTc1NzIxWhcNMDYwMTA5MTc1NzIxWjA8MQswCQYDVQQGEwJB VDEMMAoGA1UEChMDQk1JMREwDwYDVQQLEwhCTUktSVYtMjEMMAoGA1UEAxMDem1y MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmnYUwzJD6qCAVR7HVEmKk40qC tZuXktFzeo6KM2MKuxnHM/hn3+dInHXYdR7ysGba23kIj7LkGB7HuUBUtelz1+oU DmObXPgQSrIZybReZITpZMg4C//6kFz4EOkE2uieNHRO9ACz4H6609UpUIM7p8QI F2lsbB8AvBV3l3q6NQIDAQABo4IB4zCCAd8wCQYDVR0TBAIwADARBgNVHQ4ECgQI SC119bpHIu8wWAYDVR0gBFEwTzBNBgcqKAARAQcBMEIwQAYIKwYBBQUHAgEWNGh0 dHA6Ly93d3cuYS10cnVzdC5hdC9kb2NzL2NwL2Etc2lnbi1jb3Jwb3JhdGUtbGln aHQwPAYDVR0RBDUwM4ExaHR0cHM6Ly9wb3J0YWwuYm1pLmd2LmF0L3JlZi9wa2kv ZGllbnN0ZS96bXIuaHRtbDATBgNVHSMEDDAKgAhOnn/UL8kfHzCBgQYIKwYBBQUH AQEEdTBzMCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIvb2Nz cDBGBggrBgEFBQcwAoY6aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Etc2ln bi1jb3Jwb3JhdGUtbGlnaHQtMDFhLmNydDAOBgNVHQ8BAf8EBAMCB4AwbgYDVR0f BGcwZTBjoGGgX4ZdbGRhcDovL2xkYXAuYS10cnVzdC5hdC9vdT1hLXNpZ24tY29y cG9yYXRlLWxpZ2h0LTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2Nh dGlvbmxpc3Q/MA4GByooAAoBAQEEAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAEHGu iPQMfUk+nb2/CzLJgOKiTYV6U5vdSVChiI5vRS4nrrA5V+YnCDapHFAeX11njt1M YUGmgKy4PM2PmSvXJXGnPrA7n2Puow14rHJB0CNNNiavkj6MTcphQVLZypMBuHjv kxY08DDaCE84qViPbw2/Hz7ratDIFKJttgAXpXz8qHN+q/SxxRc3j/4tODxDS/BW FJblFrchcFbRhmh26rUMOcXvXqS0/7+6rfY5NVTX5rVfRmCWGAiK7u4rjEwXqtPB AOP/TtRVed1BqY3IHmrp9PxcuXElKOGIZ5A3lG0I6FUo2+VfEAw1d89oEjnPK7Gk eWRN1eWl78GlueNN9Q==cTwSdrSyhdTDhe8wlqFCJyjcr+E= //dsig:Signature not(ancestor-or-self::pr:Identification) TrustProfile1 \ No newline at end of file diff --git a/spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID1.xml b/spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID1.xml new file mode 100644 index 000000000..14ec0d81f --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/VerifyXMLSignatureRequestID1.xml @@ -0,0 +1,37 @@ + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + + + 123456789012 + http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl + + + Hermann + Muster + + 1968-10-22 + + + + + + + + 0v1Ftf7WXgoexx0Jo/GrlExHOHnQIEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EM A6P18Z/YyTIuP7fNGzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7a f2daYYuO8dycQw3xg6U= + AQAB + + + + + + + i2qa56X4fpYeXqFLXAcQljGU3+DWnVgNrAxI9gn2bMeFWtLXE2SFa6qvl9EymUl0noBlFn0q9DWp AsyeLnRhzCAXJeSxiwsUEloOvcQCV0DfW2UVq0Y9bVlJ8KifJ2AS+5BxZ21mkc/VYx5Qz6EYjPrn pIpdAwR9sw5xnIvTySc= + AQAB + + + +not(ancestor-or-self::pr:Identification)s7TfoZrYo36OMdlxGxuIfAw/wr8=ancestor-or-self::dsig:ManifestdO+RSn4xLHT3cuq8uopFtZyUBqo=MFbZ5wA5cq0UezYFDXted5uqXubWFxxRwZawGh73XEAGxAbJsT/IEQmrTQThPRHNWW5RPGxVlPDz 5BmjberdaWlgJlbyKf3b/WpNNJYptQ7ijrXlsQoCzjfiQy37NEfvHEcxHQOA6sa42C+dFKsKIvmP 3mZkRYWJDxxsVzI7E+Y=MIIDaDCCAtWgAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTE5NDRaFw0w MzEyMzEyMjU5MzBaMIGOMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxGzAZBgNVBAMTEk1PQSBU ZXN0IENBIC0gUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjHuFphE3 +UkTe2OcIFWUDLzhPl1j2dH4sMPAhDK09/0i+aWrdtQW9yHktu/7+LTiCiPeevT0 lGMGDcWMSoSm66tYmpxei6YojCFIaVdJFtXZ7x1o7e7jTDVRLMfdZ5lI1sQ7loIY hOE0OmlYOkn4AI6xMtJtsca45rV8wW7qm8kCAwEAAaOB2zCB2DAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAnsB ATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxy IFRlc3R6d2Vja2UgZ2VlaWduZXQuMB0GA1UdDgQWBBRDC612dCgZetTmAKyV6DII NkOoYTAWBgcqKAAKAQEBBAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZ etTmAKyV6DIINkOoYTAJBgUrDgMCHQUAA4GBAHj0xBNWGYLijaocjOX1AkL+r+G2 fZsX4z3S/2eEvtUp+EUHaOPMLTS0MIP1nwj5f4ZluAIrDLXihqMdi4xRv0W6QYbN aDxICNz3/QbrzMlFPeC8odesdRlT+GGswX0ZGUtVIZm1HVhxRk5ZEW2pr2afo5c0 Btxup/kgjGMnnS7CMIIDiTCCAvagAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTI1MTRaFw0w MzEyMzEyMjU5MzBaMIGZMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxJjAkBgNVBAMTHU1PQSBU ZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCw7ULOYSNji09Ein7Ar4j3Rjxjq05spBmZDmbSomEZMnGEtVTyIRzKc8ia 2kcXUMz5MEoFaVmvqRim31m20T21uvHFIs86gqzC/prOAz7V7HWok5F+9M/5gR1S BvpdqiEAXYeRXFPiOe8XSmpwhic7+n2jfuoBeYiRBEMGoP1DkwIDAQABo4HxMIHu MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMBEGCWCGSAGG+EIB AQQEAwIBAjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwIC MDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2Vl aWduZXQuMB0GA1UdDgQWBBSeRWvUfxEjKZSfxImJr/fpBDtMmTAWBgcqKAAKAQEB BAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZetTmAKyV6DIINkOoYTAJ BgUrDgMCHQUAA4GBAIMa4C2z3SbkcjEiMNAsHKaKUCJkBbMtNaab6U/cwwYmG6nl ga7xyEmbfY2SKzOqkcIwuv83Tma3rcr1f+OLUeGUaGLHt2Pl1a/s8BZGQZHWvLXv 7hV4RceEUHzVGAfvDD8iBJqBmfq/z/fBPFsgSup4nO1YECkDYfQ+sqCIP4ikMIIDZzCCAtSgAwIBAgIBADAJBgUrDgMCHQUAMIGZMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx JjAkBgNVBAMTHU1PQSBUZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMB4XDTAzMDIx MTE1MzI0NVoXDTAzMDgxMTE0MzI0NVowgYUxCzAJBgNVBAYTAkFUMSYwJAYDVQQK FB1CdW5kZXNtaW5pc3Rlcml1bSBm/HIgSW5uZXJlczEgMB4GA1UECxMXWmVudHJh bGVzIE1lbGRlcmVnaXN0ZXIxLDAqBgNVBAMTI1Rlc3QgU2lnbmF0dXJkaWVuc3Qg UGVyc29uZW5iaW5kdW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEzkpk QjbGjZwssN1+vMBE/ALMcA8LWFcILI3uxXaTSWGfTiLo9ECfzjuwYJG7FjEaeWrW nPEcp4VfMNocrm3T7Hw/ikpE5/+FsfTzD4MpIwwUPd/CUfA5vDNXK5CiP7qKKR1e vATO2s6lfDul+CS/eEbwzKmUQvZGrJggxg2m5wIDAQABo4HYMIHVMAwGA1UdEwEB /wQCMAAwDgYDVR0PAQH/BAQDAgbAMF0GA1UdIARWMFQwUgYMKwYBBAGVEgECAwEB MEIwQAYIKwYBBQUHAgIwNBoyRGllc2VzIFplcnRpZmlrYXQgaXN0IG51ciBm/HIg VGVzdHp3ZWNrZSBnZWVpZ25ldC4wHQYDVR0OBBYEFIpEyv43H3EtiGr4I7Z34bWj v2z6MBYGByooAAoBAQEECwwJQk1PTFMtSUtUMB8GA1UdIwQYMBaAFJ5Fa9R/ESMp lJ/EiYmv9+kEO0yZMAkGBSsOAwIdBQADgYEAfMBJRy/kp8HQa0lGIBfFrWNpxVPv RsIu+N4IiFrswrsoQoMAh6IqNyzSdq7rJC08xsDkXe5HOwkb+2zGKYoC3aQ/J/zr BGkg6ec4tOaS/VSdEQeTL1L30r2faTffWLUV3GrzL7pM7jN470hB1w8F6Hc3LCI7 kFfp23o/juVtJNw=BqzfCB7dNg4G3u4YaxpD1tALdKI= //dsig:Signature not(ancestor-or-self::pr:Identification) TrustProfile1 \ No newline at end of file diff --git a/spss.server/data/test/xml/VerifyXMLSignature/moa-id-request1.xml b/spss.server/data/test/xml/VerifyXMLSignature/moa-id-request1.xml new file mode 100644 index 000000000..e66f3e268 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/moa-id-request1.xml @@ -0,0 +1,103 @@ + + + + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + + + 123456789012 + http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl + + + Hermann + Muster + + 1968-10-22 + + + + + + + + 0v1Ftf7WXgoexx0Jo/GrlExHOHnQIEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EM A6P18Z/YyTIuP7fNGzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7a f2daYYuO8dycQw3xg6U= + AQAB + + + + + + + i2qa56X4fpYeXqFLXAcQljGU3+DWnVgNrAxI9gn2bMeFWtLXE2SFa6qvl9EymUl0noBlFn0q9DWp AsyeLnRhzCAXJeSxiwsUEloOvcQCV0DfW2UVq0Y9bVlJ8KifJ2AS+5BxZ21mkc/VYx5Qz6EYjPrn pIpdAwR9sw5xnIvTySc= + AQAB + + + + + + + + + + + + not(ancestor-or-self::pr:Identification) + + + + + s7TfoZrYo36OMdlxGxuIfAw/wr8= + + + + + ancestor-or-self::dsig:Manifest + + + + dO+RSn4xLHT3cuq8uopFtZyUBqo= + + + MFbZ5wA5cq0UezYFDXted5uqXubWFxxRwZawGh73XEAGxAbJsT/IEQmrTQThPRHNWW5RPGxVlPDz 5BmjberdaWlgJlbyKf3b/WpNNJYptQ7ijrXlsQoCzjfiQy37NEfvHEcxHQOA6sa42C+dFKsKIvmP 3mZkRYWJDxxsVzI7E+Y= + + + MIIDaDCCAtWgAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTE5NDRaFw0w MzEyMzEyMjU5MzBaMIGOMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxGzAZBgNVBAMTEk1PQSBU ZXN0IENBIC0gUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjHuFphE3 +UkTe2OcIFWUDLzhPl1j2dH4sMPAhDK09/0i+aWrdtQW9yHktu/7+LTiCiPeevT0 lGMGDcWMSoSm66tYmpxei6YojCFIaVdJFtXZ7x1o7e7jTDVRLMfdZ5lI1sQ7loIY hOE0OmlYOkn4AI6xMtJtsca45rV8wW7qm8kCAwEAAaOB2zCB2DAPBgNVHRMBAf8E BTADAQH/MA4GA1UdDwEB/wQEAwIBBjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAnsB ATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxy IFRlc3R6d2Vja2UgZ2VlaWduZXQuMB0GA1UdDgQWBBRDC612dCgZetTmAKyV6DII NkOoYTAWBgcqKAAKAQEBBAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZ etTmAKyV6DIINkOoYTAJBgUrDgMCHQUAA4GBAHj0xBNWGYLijaocjOX1AkL+r+G2 fZsX4z3S/2eEvtUp+EUHaOPMLTS0MIP1nwj5f4ZluAIrDLXihqMdi4xRv0W6QYbN aDxICNz3/QbrzMlFPeC8odesdRlT+GGswX0ZGUtVIZm1HVhxRk5ZEW2pr2afo5c0 Btxup/kgjGMnnS7C + MIIDiTCCAvagAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTI1MTRaFw0w MzEyMzEyMjU5MzBaMIGZMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxJjAkBgNVBAMTHU1PQSBU ZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB iQKBgQCw7ULOYSNji09Ein7Ar4j3Rjxjq05spBmZDmbSomEZMnGEtVTyIRzKc8ia 2kcXUMz5MEoFaVmvqRim31m20T21uvHFIs86gqzC/prOAz7V7HWok5F+9M/5gR1S BvpdqiEAXYeRXFPiOe8XSmpwhic7+n2jfuoBeYiRBEMGoP1DkwIDAQABo4HxMIHu MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMBEGCWCGSAGG+EIB AQQEAwIBAjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwIC MDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2Vl aWduZXQuMB0GA1UdDgQWBBSeRWvUfxEjKZSfxImJr/fpBDtMmTAWBgcqKAAKAQEB BAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZetTmAKyV6DIINkOoYTAJ BgUrDgMCHQUAA4GBAIMa4C2z3SbkcjEiMNAsHKaKUCJkBbMtNaab6U/cwwYmG6nl ga7xyEmbfY2SKzOqkcIwuv83Tma3rcr1f+OLUeGUaGLHt2Pl1a/s8BZGQZHWvLXv 7hV4RceEUHzVGAfvDD8iBJqBmfq/z/fBPFsgSup4nO1YECkDYfQ+sqCIP4ik + MIIDZzCCAtSgAwIBAgIBADAJBgUrDgMCHQUAMIGZMQswCQYDVQQGEwJBVDE9MDsG A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx JjAkBgNVBAMTHU1PQSBUZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMB4XDTAzMDIx MTE1MzI0NVoXDTAzMDgxMTE0MzI0NVowgYUxCzAJBgNVBAYTAkFUMSYwJAYDVQQK FB1CdW5kZXNtaW5pc3Rlcml1bSBm/HIgSW5uZXJlczEgMB4GA1UECxMXWmVudHJh bGVzIE1lbGRlcmVnaXN0ZXIxLDAqBgNVBAMTI1Rlc3QgU2lnbmF0dXJkaWVuc3Qg UGVyc29uZW5iaW5kdW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEzkpk QjbGjZwssN1+vMBE/ALMcA8LWFcILI3uxXaTSWGfTiLo9ECfzjuwYJG7FjEaeWrW nPEcp4VfMNocrm3T7Hw/ikpE5/+FsfTzD4MpIwwUPd/CUfA5vDNXK5CiP7qKKR1e vATO2s6lfDul+CS/eEbwzKmUQvZGrJggxg2m5wIDAQABo4HYMIHVMAwGA1UdEwEB /wQCMAAwDgYDVR0PAQH/BAQDAgbAMF0GA1UdIARWMFQwUgYMKwYBBAGVEgECAwEB MEIwQAYIKwYBBQUHAgIwNBoyRGllc2VzIFplcnRpZmlrYXQgaXN0IG51ciBm/HIg VGVzdHp3ZWNrZSBnZWVpZ25ldC4wHQYDVR0OBBYEFIpEyv43H3EtiGr4I7Z34bWj v2z6MBYGByooAAoBAQEECwwJQk1PTFMtSUtUMB8GA1UdIwQYMBaAFJ5Fa9R/ESMp lJ/EiYmv9+kEO0yZMAkGBSsOAwIdBQADgYEAfMBJRy/kp8HQa0lGIBfFrWNpxVPv RsIu+N4IiFrswrsoQoMAh6IqNyzSdq7rJC08xsDkXe5HOwkb+2zGKYoC3aQ/J/zr BGkg6ec4tOaS/VSdEQeTL1L30r2faTffWLUV3GrzL7pM7jN470hB1w8F6Hc3LCI7 kFfp23o/juVtJNw= + + + + + + + + + + BqzfCB7dNg4G3u4YaxpD1tALdKI= + + + + + + + //dsig:Signature + + + + + + + not(ancestor-or-self::pr:Identification) + + + + + + + + TrustProfile1 + diff --git a/spss.server/data/test/xml/VerifyXMLSignature/moa-id-request2.xml b/spss.server/data/test/xml/VerifyXMLSignature/moa-id-request2.xml new file mode 100644 index 000000000..d81cf6158 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/moa-id-request2.xml @@ -0,0 +1,30 @@ + + + + + http://localhost:8080/moa-id-auth/ + + + gb + + + https://localhost:9443/ + + + + + +Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben: +
+ + + + + + +
Name:
Zeit:
Applikation:
Geschäftsbereich:
Anmeldeserver:
+ + +
+
us9gT0wkEOgg2KCLGT5Z4i0tW30=
id('refetsi')/etsi:QualifyingProperties/etsi:SignedPropertiesc/r6XEssLoHZerXUdQQUKvZ/aVY=
fCl9QrTFBxygAnRFEJZU/mHuKNgQip50IrjBJKI79+L2XBR1W0M41akciraauQ0n FkIJPL4wnoupoXeWrpt7ycp9xMHVdZUNYXiPStHhi0ElhFppPjaN6Mn+1W25ofy0 YRapLXeDdGIxe5wSgTTBhAWbJAgusQ8bQY9vZnyW8TU=MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4 edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/ t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/ Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2 Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf +5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1 Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==2003-04-02T12:55:33ZFrhu1o4mL4gQHdJcU0xSA/h4COE=CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT6455text/html
+
//dsig:Signature
TransformsInfoProfile1MOAID TrustProfile1
\ No newline at end of file diff --git a/spss.server/data/test/xml/VerifyXMLSignature/testsig.xml b/spss.server/data/test/xml/VerifyXMLSignature/testsig.xml new file mode 100644 index 000000000..9f4789cb1 --- /dev/null +++ b/spss.server/data/test/xml/VerifyXMLSignature/testsig.xml @@ -0,0 +1,99 @@ + + + + + + + urn:oasis:names:tc:SAML:1.0:cm:sender-vouches + + + + 123456789012 + http://reference.e-government.gv.at/names/persondata/20020228#zmr-zahl + + + Hermann + Muster + + 1968-10-22 + + + + + + + + 0v1Ftf7WXgoexx0Jo/GrlExHOHnQIEQ5FFSjptLRd5BN1mZYRg2S9KfOMbHSCsiPm8AwjAEwE5EM +A6P18Z/YyTIuP7fNGzckbB5PYIgNMHL8/TYJhHA8CjamsBrEfYDXivE8iAvALg5I9RMLZADmzL7a +f2daYYuO8dycQw3xg6U= + AQAB + + + + + + + i2qa56X4fpYeXqFLXAcQljGU3+DWnVgNrAxI9gn2bMeFWtLXE2SFa6qvl9EymUl0noBlFn0q9DWp +AsyeLnRhzCAXJeSxiwsUEloOvcQCV0DfW2UVq0Y9bVlJ8KifJ2AS+5BxZ21mkc/VYx5Qz6EYjPrn +pIpdAwR9sw5xnIvTySc= + AQAB + + + +not(ancestor-or-self::pr:Identification)s7TfoZrYo36OMdlxGxuIfAw/wr8=ancestor-or-self::dsig:ManifestdO+RSn4xLHT3cuq8uopFtZyUBqo=MFbZ5wA5cq0UezYFDXted5uqXubWFxxRwZawGh73XEAGxAbJsT/IEQmrTQThPRHNWW5RPGxVlPDz +5BmjberdaWlgJlbyKf3b/WpNNJYptQ7ijrXlsQoCzjfiQy37NEfvHEcxHQOA6sa42C+dFKsKIvmP +3mZkRYWJDxxsVzI7E+Y=MIIDaDCCAtWgAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTE5NDRaFw0w +MzEyMzEyMjU5MzBaMIGOMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu +aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG +A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxGzAZBgNVBAMTEk1PQSBU +ZXN0IENBIC0gUm9vdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAjHuFphE3 ++UkTe2OcIFWUDLzhPl1j2dH4sMPAhDK09/0i+aWrdtQW9yHktu/7+LTiCiPeevT0 +lGMGDcWMSoSm66tYmpxei6YojCFIaVdJFtXZ7x1o7e7jTDVRLMfdZ5lI1sQ7loIY +hOE0OmlYOkn4AI6xMtJtsca45rV8wW7qm8kCAwEAAaOB2zCB2DAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAnsB +ATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxy +IFRlc3R6d2Vja2UgZ2VlaWduZXQuMB0GA1UdDgQWBBRDC612dCgZetTmAKyV6DII +NkOoYTAWBgcqKAAKAQEBBAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZ +etTmAKyV6DIINkOoYTAJBgUrDgMCHQUAA4GBAHj0xBNWGYLijaocjOX1AkL+r+G2 +fZsX4z3S/2eEvtUp+EUHaOPMLTS0MIP1nwj5f4ZluAIrDLXihqMdi4xRv0W6QYbN +aDxICNz3/QbrzMlFPeC8odesdRlT+GGswX0ZGUtVIZm1HVhxRk5ZEW2pr2afo5c0 +Btxup/kgjGMnnS7CMIIDiTCCAvagAwIBAgIBADAJBgUrDgMCHQUAMIGOMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +GzAZBgNVBAMTEk1PQSBUZXN0IENBIC0gUm9vdDAeFw0wMzAyMTExNTI1MTRaFw0w +MzEyMzEyMjU5MzBaMIGZMQswCQYDVQQGEwJBVDE9MDsGA1UEChQ0QnVuZGVzbWlu +aXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5nIHVuZCBTcG9ydDEjMCEG +A1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMxJjAkBgNVBAMTHU1PQSBU +ZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCw7ULOYSNji09Ein7Ar4j3Rjxjq05spBmZDmbSomEZMnGEtVTyIRzKc8ia +2kcXUMz5MEoFaVmvqRim31m20T21uvHFIs86gqzC/prOAz7V7HWok5F+9M/5gR1S +BvpdqiEAXYeRXFPiOe8XSmpwhic7+n2jfuoBeYiRBEMGoP1DkwIDAQABo4HxMIHu +MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgHGMBEGCWCGSAGG+EIB +AQQEAwIBAjBdBgNVHSAEVjBUMFIGDCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwIC +MDQaMkRpZXNlcyBaZXJ0aWZpa2F0IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2Vl +aWduZXQuMB0GA1UdDgQWBBSeRWvUfxEjKZSfxImJr/fpBDtMmTAWBgcqKAAKAQEB +BAsMCUJNT0xTLUlLVDAfBgNVHSMEGDAWgBRDC612dCgZetTmAKyV6DIINkOoYTAJ +BgUrDgMCHQUAA4GBAIMa4C2z3SbkcjEiMNAsHKaKUCJkBbMtNaab6U/cwwYmG6nl +ga7xyEmbfY2SKzOqkcIwuv83Tma3rcr1f+OLUeGUaGLHt2Pl1a/s8BZGQZHWvLXv +7hV4RceEUHzVGAfvDD8iBJqBmfq/z/fBPFsgSup4nO1YECkDYfQ+sqCIP4ikMIIDZzCCAtSgAwIBAgIBADAJBgUrDgMCHQUAMIGZMQswCQYDVQQGEwJBVDE9MDsG +A1UEChQ0QnVuZGVzbWluaXN0ZXJpdW0gZvxyIPZmZmVudGxpY2hlIExlaXN0dW5n +IHVuZCBTcG9ydDEjMCEGA1UECxMaSUtULVN0YWJzc3RlbGxlIGRlcyBCdW5kZXMx +JjAkBgNVBAMTHU1PQSBUZXN0IENBIC0gU2lnbmF0dXJkaWVuc3RlMB4XDTAzMDIx +MTE1MzI0NVoXDTAzMDgxMTE0MzI0NVowgYUxCzAJBgNVBAYTAkFUMSYwJAYDVQQK +FB1CdW5kZXNtaW5pc3Rlcml1bSBm/HIgSW5uZXJlczEgMB4GA1UECxMXWmVudHJh +bGVzIE1lbGRlcmVnaXN0ZXIxLDAqBgNVBAMTI1Rlc3QgU2lnbmF0dXJkaWVuc3Qg +UGVyc29uZW5iaW5kdW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEzkpk +QjbGjZwssN1+vMBE/ALMcA8LWFcILI3uxXaTSWGfTiLo9ECfzjuwYJG7FjEaeWrW +nPEcp4VfMNocrm3T7Hw/ikpE5/+FsfTzD4MpIwwUPd/CUfA5vDNXK5CiP7qKKR1e +vATO2s6lfDul+CS/eEbwzKmUQvZGrJggxg2m5wIDAQABo4HYMIHVMAwGA1UdEwEB +/wQCMAAwDgYDVR0PAQH/BAQDAgbAMF0GA1UdIARWMFQwUgYMKwYBBAGVEgECAwEB +MEIwQAYIKwYBBQUHAgIwNBoyRGllc2VzIFplcnRpZmlrYXQgaXN0IG51ciBm/HIg +VGVzdHp3ZWNrZSBnZWVpZ25ldC4wHQYDVR0OBBYEFIpEyv43H3EtiGr4I7Z34bWj +v2z6MBYGByooAAoBAQEECwwJQk1PTFMtSUtUMB8GA1UdIwQYMBaAFJ5Fa9R/ESMp +lJ/EiYmv9+kEO0yZMAkGBSsOAwIdBQADgYEAfMBJRy/kp8HQa0lGIBfFrWNpxVPv +RsIu+N4IiFrswrsoQoMAh6IqNyzSdq7rJC08xsDkXe5HOwkb+2zGKYoC3aQ/J/zr +BGkg6ec4tOaS/VSdEQeTL1L30r2faTffWLUV3GrzL7pM7jN470hB1w8F6Hc3LCI7 +kFfp23o/juVtJNw=BqzfCB7dNg4G3u4YaxpD1tALdKI= //dsig:Signature not(ancestor-or-self::pr:Identification) TrustProfile1 \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/base64.xml b/spss.server/data/test/xml/dsigTransform/base64.xml new file mode 100644 index 000000000..12aba6e6e --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/base64.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/canonicalization.xml b/spss.server/data/test/xml/dsigTransform/canonicalization.xml new file mode 100644 index 000000000..15edd7a96 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/canonicalization.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/canonicalizationWithComments.xml b/spss.server/data/test/xml/dsigTransform/canonicalizationWithComments.xml new file mode 100644 index 000000000..6e608b6c4 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/canonicalizationWithComments.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/enveloped.xml b/spss.server/data/test/xml/dsigTransform/enveloped.xml new file mode 100644 index 000000000..4f749feb5 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/enveloped.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/exclusiveCanonicalization.xml b/spss.server/data/test/xml/dsigTransform/exclusiveCanonicalization.xml new file mode 100644 index 000000000..33905b8e2 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/exclusiveCanonicalization.xml @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/illegalAlgorithm.xml b/spss.server/data/test/xml/dsigTransform/illegalAlgorithm.xml new file mode 100644 index 000000000..a0ae610aa --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/illegalAlgorithm.xml @@ -0,0 +1,3 @@ + + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/transforms.xml b/spss.server/data/test/xml/dsigTransform/transforms.xml new file mode 100644 index 000000000..5c923362f --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/transforms.xml @@ -0,0 +1,26 @@ + + + + + + + +

Buch:

+

Autor:

+

+ Geboren am: + + Ort: + +

+

+ ISBN-Nummer: + +

+
+
+
+ + //ToBeSigned/Data + +
\ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/xpath.xml b/spss.server/data/test/xml/dsigTransform/xpath.xml new file mode 100644 index 000000000..f8f781301 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/xpath.xml @@ -0,0 +1,4 @@ + + //ToBeSigned/Data + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/xpath2.xml b/spss.server/data/test/xml/dsigTransform/xpath2.xml new file mode 100644 index 000000000..912e714b3 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/xpath2.xml @@ -0,0 +1,7 @@ + + //ToBeSigned + //NotToBeSigned + //ReallyToBeSigned + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/xpath2Different.xml b/spss.server/data/test/xml/dsigTransform/xpath2Different.xml new file mode 100644 index 000000000..616d80f7a --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/xpath2Different.xml @@ -0,0 +1,6 @@ + + //ToBeSigned + //ReallyToBeSigned + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/xpathDifferent.xml b/spss.server/data/test/xml/dsigTransform/xpathDifferent.xml new file mode 100644 index 000000000..4b2c52da5 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/xpathDifferent.xml @@ -0,0 +1,4 @@ + + //ToBeSigned/MoreData + \ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/xslt.xml b/spss.server/data/test/xml/dsigTransform/xslt.xml new file mode 100644 index 000000000..5a8135bd9 --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/xslt.xml @@ -0,0 +1,20 @@ + + + + +

Buch:

+

Autor:

+

+ Geboren am: + + Ort: + +

+

+ ISBN-Nummer: + +

+
+
+
\ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/xsltDifferent.xml b/spss.server/data/test/xml/dsigTransform/xsltDifferent.xml new file mode 100644 index 000000000..81972e9db --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/xsltDifferent.xml @@ -0,0 +1,16 @@ + + + + +

Buch:

+

Autor:

+

+ Geboren am: + + Ort: + +

+
+
+
\ No newline at end of file diff --git a/spss.server/data/test/xml/dsigTransform/xsltEqual.xml b/spss.server/data/test/xml/dsigTransform/xsltEqual.xml new file mode 100644 index 000000000..6ec14616f --- /dev/null +++ b/spss.server/data/test/xml/dsigTransform/xsltEqual.xml @@ -0,0 +1,20 @@ + + + + +

Buch:

+

Autor:

+

+ Geboren am: + + Ort: + +

+

+ ISBN-Nummer: + +

+
+
+
\ No newline at end of file diff --git a/spss.server/doc/api-doc-internal/allclasses-frame.html b/spss.server/doc/api-doc-internal/allclasses-frame.html new file mode 100644 index 000000000..0cd563a77 --- /dev/null +++ b/spss.server/doc/api-doc-internal/allclasses-frame.html @@ -0,0 +1,265 @@ + + + + + + +All Classes + + + + + +All Classes +
+ + + + + +
AbstractKeyModuleConfigurationImpl +
+AbstractObservableConfiguration +
+ArchiveConfigurationImpl +
+AxisHandler +
+Base64TransformationImpl +
+Base64Utils +
+BoolUtils +
+ByteArrayDataObjectImpl +
+ByteStreamDataObjectImpl +
+CanonicalizationImpl +
+CertStoreConfigurationImpl +
+CertTool +
+CMSSignatureVerificationInvoker +
+CMSSignatureVerificationProfileFactory +
+CMSSignatureVerificationProfileImpl +
+CollectionUtils +
+ConfigurationDataImpl +
+ConfigurationException +
+ConfigurationPartsBuilder +
+ConfigurationProvider +
+ConfigurationServlet +
+ConfiguratorImpl +
+Constants +
+CreateXMLSignatureResponseBuilder +
+CRLDistributionPointAdapter +
+DataBaseArchiveParameterImpl +
+DataObjectFactory +
+DataObjectImpl +
+DataObjectTreatmentImpl +
+DateTimeUtils +
+DirectoryCertStoreParametersImpl +
+DistributionPoint +
+DOMUtils +
+EntityResolverChain +
+EnvelopedSignatureTransformationImpl +
+ExclusiveCanonicalizationImpl +
+ExternalURIResolver +
+FileUtils +
+HardwareCryptoModule +
+HardwareCryptoModuleConfigurationImpl +
+HardwareKeyModule +
+HardwareKeyModuleConfigurationImpl +
+IaikConfigurator +
+IaikExceptionMapper +
+IaikLog +
+IaikLogFactory +
+IaikLogMsg +
+IdGenerator +
+InvokerUtils +
+IssuerAndSerial +
+KeyGroup +
+KeyGroupEntry +
+KeyModule +
+KeyStoreUtils +
+Logger +
+LoggerConfigImpl +
+LoggingContext +
+LoggingContextManager +
+LogMsg +
+MessageProvider +
+MessageProvider +
+Messages +
+MOAApplicationException +
+MOADefaultHandler +
+MOAEntityResolver +
+MOAErrorHandler +
+MOAException +
+MOASystemException +
+MOATimer +
+NodeIteratorAdapter +
+NodeListAdapter +
+PKIConfigurationImpl +
+PKIProfileImpl +
+ProfileMapper +
+ResourceBundleChain +
+RevocationArchiveCleaner +
+RevocationConfigurationImpl +
+RevocationProfileImpl +
+ServiceContextUtils +
+ServiceUtils +
+SignatureCreationService +
+SignatureCreationServiceImpl +
+SignatureVerificationService +
+SignatureVerificationServiceImpl +
+SigningTimeImpl +
+SoftwareKeyModule +
+SoftwareKeyModuleConfigurationImpl +
+SSLUtils +
+StreamEntityResolver +
+StreamUtils +
+SystemInitializer +
+TransactionContext +
+TransactionContextManager +
+TransactionId +
+TransactionIDGenerator +
+TransformationFactory +
+TransformationImpl +
+TrustProfile +
+TrustStoreProfileImpl +
+URLDecoder +
+URLEncoder +
+ValidationConfigurationImpl +
+ValidationProfileImpl +
+VerifyCMSSignatureResponseBuilder +
+VerifyXMLSignatureResponseBuilder +
+XMLDataObjectImpl +
+XMLNodeListDataObjectImpl +
+XMLSignatureCreationInvoker +
+XMLSignatureCreationProfileFactory +
+XMLSignatureCreationProfileImpl +
+XMLSignatureImpl +
+XMLSignatureInsertionLocationImpl +
+XMLSignatureVerificationInvoker +
+XMLSignatureVerificationProfileFactory +
+XMLSignatureVerificationProfileImpl +
+XPath2FilterImpl +
+XPath2TransformationImpl +
+XPathException +
+XPathTransformationImpl +
+XPathUtils +
+XSLTTransformationImpl +
+
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LogMsg.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LogMsg.html new file mode 100644 index 000000000..12c5849d7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LogMsg.html @@ -0,0 +1,223 @@ + + + + + + +MOA SP/SS Server Internal API: Class LogMsg + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.logging +
+Class LogMsg

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.logging.LogMsg
+
+
+
+
public class LogMsg
extends Object
+ +

+A unified message type to log messages from inside the MOA subsystem. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
LogMsg(Object message) + +
+          Create a LogMsg object.
+  + + + + + + + + + + + +
+Method Summary
+ StringtoString() + +
+          Convert this log message to a String.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+LogMsg

+
+public LogMsg(Object message)
+
+
Create a LogMsg object.
+
Parameters:
message - The actual message to log. May be null.
+
+
+ + + + + + + + +
+Method Detail
+ +

+toString

+
+public String toString()
+
+
Convert this log message to a String.
+
Overrides:
toString in class Object
+
+
+
Returns:
The String representation of this log message.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/Logger.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/Logger.html new file mode 100644 index 000000000..ae7d62cf7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/Logger.html @@ -0,0 +1,480 @@ + + + + + + +MOA SP/SS Server Internal API: Class Logger + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.logging +
+Class Logger

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.logging.Logger
+
+
+
+
public class Logger
extends Object
+ +

+A utility class acting as a facade to the logging subsystem. + + Configure the logging defaultHierarchy that the Logger uses by + calling setHierarchy once before calling any of the logging + output functions. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Logger() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voiddebug(Object message) + +
+          Log a debug message.
+static voiderror(Object message) + +
+          Log an error message.
+static voiderror(Object message, + Throwable t) + +
+          Log an error message.
+static voidfatal(Object message) + +
+          Log a fatal error message.
+static voidfatal(Object message, + Throwable t) + +
+          Log a fatal error message.
+static voidinfo(Object message) + +
+          Log an info message.
+static booleanisDebugEnabled() + +
+          Test, if the debug log level is enabled.
+static booleanisDebugEnabled(String hierarchy) + +
+          Test, if the debug log level is enabled for a given hierarchy.
+static booleanisTraceEnabled() + +
+          Test, if the trace log level is enabled.
+static booleanisTraceEnabled(String hierarchy) + +
+          Test, if the trace log level is enabled for a given hierarchy.
+static voidsetHierarchy(String hierarchy) + +
+          Set the default hierarchy to which the Logger should send its + logging output.
+static voidtrace(Object message) + +
+          Trace a message.
+static voidwarn(Object message) + +
+          Log a warning message.
+static voidwarn(Object message, + Throwable t) + +
+          Log a warning message.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Logger

+
+public Logger()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setHierarchy

+
+public static void setHierarchy(String hierarchy)
+
+
Set the default hierarchy to which the Logger should send its + logging output.
+
Parameters:
hierarchy - The logging defaultHierarchy.
+
+
+
+ +

+isTraceEnabled

+
+public static boolean isTraceEnabled()
+
+
Test, if the trace log level is enabled.
+
Returns:
boolean true, if tracing output is enabled + false otherwise.
+
+
+
+ +

+isTraceEnabled

+
+public static boolean isTraceEnabled(String hierarchy)
+
+
Test, if the trace log level is enabled for a given hierarchy.
+
Parameters:
hierarchy - requested log hierarchy
Returns:
boolean true, if tracing output is enabled + false otherwise.
+
+
+
+ +

+trace

+
+public static void trace(Object message)
+
+
Trace a message.
+
Parameters:
message - The message to trace.
+
+
+
+ +

+isDebugEnabled

+
+public static boolean isDebugEnabled()
+
+
Test, if the debug log level is enabled.
+
Returns:
boolean true, if debug output is enabled + false otherwise.
+
+
+
+ +

+isDebugEnabled

+
+public static boolean isDebugEnabled(String hierarchy)
+
+
Test, if the debug log level is enabled for a given hierarchy.
+
Parameters:
hierarchy - requested log hierarchy
Returns:
boolean true, if debug output is enabled + false otherwise.
+
+
+
+ +

+debug

+
+public static void debug(Object message)
+
+
Log a debug message.
+
Parameters:
message - The message to log.
+
+
+
+ +

+info

+
+public static void info(Object message)
+
+
Log an info message.
+
Parameters:
message - The message to log.
+
+
+
+ +

+warn

+
+public static void warn(Object message)
+
+
Log a warning message.
+
Parameters:
message - The message to log.
+
+
+
+ +

+warn

+
+public static void warn(Object message,
+                        Throwable t)
+
+
Log a warning message.
+
Parameters:
message - The message to log.
t - An exception that may be the cause of the warning.
+
+
+
+ +

+error

+
+public static void error(Object message)
+
+
Log an error message.
+
Parameters:
message - The message to log.
+
+
+
+ +

+error

+
+public static void error(Object message,
+                         Throwable t)
+
+
Log an error message.
+
Parameters:
message - The message to log.
t - An exception that may be the cause of the error.
+
+
+
+ +

+fatal

+
+public static void fatal(Object message)
+
+
Log a fatal error message.
+
Parameters:
message - The message to log.
+
+
+
+ +

+fatal

+
+public static void fatal(Object message,
+                         Throwable t)
+
+
Log a fatal error message.
+
Parameters:
message - The message to log.
t - An exception that may be the cause of the error.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContext.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContext.html new file mode 100644 index 000000000..9590d5fae --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContext.html @@ -0,0 +1,269 @@ + + + + + + +MOA SP/SS Server Internal API: Class LoggingContext + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.logging +
+Class LoggingContext

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.logging.LoggingContext
+
+
+
+
public class LoggingContext
extends Object
+ +

+Encapsulates contextual information (i.e. per request information) for + logging purposes. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + +
+Field Summary
+static StringNODE_ID_PROPERTY + +
+          The name of the node ID system property.
+  + + + + + + + + + + +
+Constructor Summary
LoggingContext(String transactionID) + +
+          Create a new LoggingContext.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetNodeID() + +
+          Return the node ID.
+ StringgetTransactionID() + +
+          Return the transaction ID.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+NODE_ID_PROPERTY

+
+public static final String NODE_ID_PROPERTY
+
+
The name of the node ID system property.
+ + + + + + + + +
+Constructor Detail
+ +

+LoggingContext

+
+public LoggingContext(String transactionID)
+
+
Create a new LoggingContext.
+
Parameters:
transactionID - The transaction ID. May be null.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getTransactionID

+
+public String getTransactionID()
+
+
Return the transaction ID.
+
Returns:
The transaction ID.
+
+
+
+ +

+getNodeID

+
+public String getNodeID()
+
+
Return the node ID.
+
Returns:
The node ID.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContextManager.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContextManager.html new file mode 100644 index 000000000..7a4992b03 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/LoggingContextManager.html @@ -0,0 +1,262 @@ + + + + + + +MOA SP/SS Server Internal API: Class LoggingContextManager + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.logging +
+Class LoggingContextManager

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.logging.LoggingContextManager
+
+
+
+
public class LoggingContextManager
extends Object
+ +

+Provides each thread with a single instance of LoggingContext. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected LoggingContextManager() + +
+          Creates a new LoggingContextManager. + +
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static LoggingContextManagergetInstance() + +
+          Get the single instance of the LoggingContextManager class.
+ LoggingContextgetLoggingContext() + +
+          Return the LoggingContext for the current thread.
+ voidsetLoggingContext(LoggingContext ctx) + +
+          Set the LoggingContext context for the current thread.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+LoggingContextManager

+
+protected LoggingContextManager()
+
+
Creates a new LoggingContextManager. + + Protected to disallow direct instantiation.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static LoggingContextManager getInstance()
+
+
Get the single instance of the LoggingContextManager class.
+
Returns:
LoggingContextManager The single instance.
+
+
+
+ +

+setLoggingContext

+
+public void setLoggingContext(LoggingContext ctx)
+
+
Set the LoggingContext context for the current thread.
+
Parameters:
ctx - The LoggingContext for the current thread.
+
+
+
+ +

+getLoggingContext

+
+public LoggingContext getLoggingContext()
+
+
Return the LoggingContext for the current thread.
+
Returns:
LoggingContext The LoggingContext for the current + thread, or null if none has been set.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LogMsg.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LogMsg.html new file mode 100644 index 000000000..4cbd90edd --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LogMsg.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.logging.LogMsg + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.logging.LogMsg

+
+No usage of at.gv.egovernment.moa.logging.LogMsg +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/Logger.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/Logger.html new file mode 100644 index 000000000..c7da8e1ee --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/Logger.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.logging.Logger + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.logging.Logger

+
+No usage of at.gv.egovernment.moa.logging.Logger +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContext.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContext.html new file mode 100644 index 000000000..21b8d7eda --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContext.html @@ -0,0 +1,147 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.logging.LoggingContext + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.logging.LoggingContext

+
+ + + + + + + + + +
+Packages that use LoggingContext
at.gv.egovernment.moa.logging  
+  +

+ + + + + +
+Uses of LoggingContext in at.gv.egovernment.moa.logging
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.logging that return LoggingContext
+ LoggingContextLoggingContextManager.getLoggingContext() + +
+          Return the LoggingContext for the current thread.
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.logging with parameters of type LoggingContext
+ voidLoggingContextManager.setLoggingContext(LoggingContext ctx) + +
+          Set the LoggingContext context for the current thread.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContextManager.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContextManager.html new file mode 100644 index 000000000..571a97a98 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/class-use/LoggingContextManager.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.logging.LoggingContextManager + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.logging.LoggingContextManager

+
+ + + + + + + + + +
+Packages that use LoggingContextManager
at.gv.egovernment.moa.logging  
+  +

+ + + + + +
+Uses of LoggingContextManager in at.gv.egovernment.moa.logging
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.logging that return LoggingContextManager
+static LoggingContextManagerLoggingContextManager.getInstance() + +
+          Get the single instance of the LoggingContextManager class.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-frame.html new file mode 100644 index 000000000..cca50930b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-frame.html @@ -0,0 +1,32 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.logging + + + + + +at.gv.egovernment.moa.logging + + + + +
+Classes  + +
+Logger +
+LoggingContext +
+LoggingContextManager +
+LogMsg
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-summary.html new file mode 100644 index 000000000..d3814f536 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-summary.html @@ -0,0 +1,121 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.logging + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.logging +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
LoggerA utility class acting as a facade to the logging subsystem. + +
LoggingContextEncapsulates contextual information (i.e. per request information) for + logging purposes.
LoggingContextManagerProvides each thread with a single instance of LoggingContext.
LogMsgA unified message type to log messages from inside the MOA subsystem.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-tree.html new file mode 100644 index 000000000..1c0c68235 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-tree.html @@ -0,0 +1,104 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.logging Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.logging +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-use.html new file mode 100644 index 000000000..3e7151f00 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/logging/package-use.html @@ -0,0 +1,128 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.logging + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.logging

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.logging
at.gv.egovernment.moa.logging  
+  +

+ + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.logging used by at.gv.egovernment.moa.logging
LoggingContext + +
+          Encapsulates contextual information (i.e. per request information) for + logging purposes.
LoggingContextManager + +
+          Provides each thread with a single instance of LoggingContext.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAApplicationException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAApplicationException.html new file mode 100644 index 000000000..c09642e2f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAApplicationException.html @@ -0,0 +1,245 @@ + + + + + + +MOA SP/SS Server Internal API: Class MOAApplicationException + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss +
+Class MOAApplicationException

+
+java.lang.Object
+  |
+  +--java.lang.Throwable
+        |
+        +--java.lang.Exception
+              |
+              +--at.gv.egovernment.moa.spss.MOAException
+                    |
+                    +--at.gv.egovernment.moa.spss.MOAApplicationException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class MOAApplicationException
extends MOAException
+ +

+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.) +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Constructor Summary
MOAApplicationException(String messageId, + Object[] parameters) + +
+          Create a new MOAApplicationException.
MOAApplicationException(String messageId, + Object[] parameters, + Throwable wrapped) + +
+          Create a new MOAApplicationException.
+  + + + + + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.MOAException
getMessageId, getWrapped, printStackTrace, printStackTrace, printStackTrace, toErrorResponse
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getMessage, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MOAApplicationException

+
+public MOAApplicationException(String messageId,
+                               Object[] parameters)
+
+
Create a new MOAApplicationException.
+
Parameters:
messageId - The identifier of the message associated with this + exception.
parameters - Additional message parameters.
+
+
+
+ +

+MOAApplicationException

+
+public MOAApplicationException(String messageId,
+                               Object[] parameters,
+                               Throwable wrapped)
+
+
Create a new MOAApplicationException.
+
Parameters:
messageId - The identifier of the message associated with this + MOAApplicationException.
parameters - Additional message parameters.
wrapped - The exception wrapped by this + MOAApplicationException.
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAException.html new file mode 100644 index 000000000..e9b0972b6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOAException.html @@ -0,0 +1,378 @@ + + + + + + +MOA SP/SS Server Internal API: Class MOAException + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss +
+Class MOAException

+
+java.lang.Object
+  |
+  +--java.lang.Throwable
+        |
+        +--java.lang.Exception
+              |
+              +--at.gv.egovernment.moa.spss.MOAException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
Direct Known Subclasses:
MOAApplicationException, MOASystemException
+
+
+
+
public abstract class MOAException
extends Exception
+ +

+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. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Constructor Summary
MOAException(String messageId, + Object[] parameters) + +
+          Create a MOAException.
MOAException(String messageId, + Object[] parameters, + Throwable wrapped) + +
+          Create a MOAException.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetMessageId() + +
+          Returns the message ID of this exception.
+ ThrowablegetWrapped() + +
+          Returns the exception wrapped by this MOAException.
+ voidprintStackTrace() + +
+          Print a stack trace of this exception to System.err.
+ voidprintStackTrace(PrintStream s) + +
+          Print a stack trace of this exception, including the wrapped exception.
+ voidprintStackTrace(PrintWriter s) + +
+          Print a stack trace of this exception, including the wrapped exception.
+ org.w3c.dom.ElementtoErrorResponse() + +
+          Convert this MOAException to an ErrorResponse + element from the MOA namespace.
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getMessage, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MOAException

+
+public MOAException(String messageId,
+                    Object[] parameters)
+
+
Create a MOAException.
+
Parameters:
messageId - The message ID of the message contained in the created + MOAException.
parameters - The parameters needed to fill in the message arguments.
+
+
+
+ +

+MOAException

+
+public MOAException(String messageId,
+                    Object[] parameters,
+                    Throwable wrapped)
+
+
Create a MOAException.
+
Parameters:
messageId - The message ID of the message contained in the created + MOAException.
parameters - The parameters needed to fill in the message arguments.
wrapped - The exception wrapped by the created + MOAException.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getMessageId

+
+public String getMessageId()
+
+
Returns the message ID of this exception.
+
Returns:
The message ID as provided in the constructor.
+
+
+
+ +

+getWrapped

+
+public Throwable getWrapped()
+
+
Returns the exception wrapped by this MOAException.
+
Returns:
The exception wrapped by this exception. Possibly + null, if none was provided at construction time.
+
+
+
+ +

+toErrorResponse

+
+public org.w3c.dom.Element toErrorResponse()
+
+
Convert this MOAException to an ErrorResponse + element from the MOA namespace.
+
Returns:
An ErrorResponse element, containing the subelements + ErrorCode and Info required by the MOA schema.
+
+
+
+ +

+printStackTrace

+
+public void printStackTrace()
+
+
Print a stack trace of this exception to System.err.
+
Overrides:
printStackTrace in class Throwable
+
+
+
See Also:
Throwable.printStackTrace()
+
+
+
+ +

+printStackTrace

+
+public void printStackTrace(PrintStream s)
+
+
Print a stack trace of this exception, including the wrapped exception.
+
Overrides:
printStackTrace in class Throwable
+
+
+
Parameters:
s - The stream to write the stack trace to.
See Also:
Throwable.printStackTrace(java.io.PrintStream)
+
+
+
+ +

+printStackTrace

+
+public void printStackTrace(PrintWriter s)
+
+
Print a stack trace of this exception, including the wrapped exception.
+
Overrides:
printStackTrace in class Throwable
+
+
+
Parameters:
s - The stream to write the stacktrace to.
See Also:
Throwable.printStackTrace(java.io.PrintWriter)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOASystemException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOASystemException.html new file mode 100644 index 000000000..4f9df6442 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/MOASystemException.html @@ -0,0 +1,247 @@ + + + + + + +MOA SP/SS Server Internal API: Class MOASystemException + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss +
+Class MOASystemException

+
+java.lang.Object
+  |
+  +--java.lang.Throwable
+        |
+        +--java.lang.Exception
+              |
+              +--at.gv.egovernment.moa.spss.MOAException
+                    |
+                    +--at.gv.egovernment.moa.spss.MOASystemException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
Direct Known Subclasses:
ConfigurationException
+
+
+
+
public class MOASystemException
extends MOAException
+ +

+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.) +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Constructor Summary
MOASystemException(String messageId, + Object[] parameters) + +
+          Create a new MOASystemException.
MOASystemException(String messageId, + Object[] parameters, + Throwable wrapped) + +
+          Create a new MOASystemException.
+  + + + + + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.MOAException
getMessageId, getWrapped, printStackTrace, printStackTrace, printStackTrace, toErrorResponse
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getMessage, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MOASystemException

+
+public MOASystemException(String messageId,
+                          Object[] parameters)
+
+
Create a new MOASystemException.
+
Parameters:
messageId - The identifier of the message associated with this + exception.
parameters - Additional message parameters.
+
+
+
+ +

+MOASystemException

+
+public MOASystemException(String messageId,
+                          Object[] parameters,
+                          Throwable wrapped)
+
+
Create a new MOASystemException.
+
Parameters:
messageId - The identifier of the message associated with this + MOASystemException.
parameters - Additional message parameters.
wrapped - The exception wrapped by this + MOASystemException.
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAApplicationException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAApplicationException.html new file mode 100644 index 000000000..68f14ff5b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAApplicationException.html @@ -0,0 +1,423 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.MOAApplicationException + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.MOAApplicationException

+
+ + + + + + + + + + + + + + + + + + + + + +
+Packages that use MOAApplicationException
at.gv.egovernment.moa.spss.server.iaik.pki  
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore  
at.gv.egovernment.moa.spss.server.invoke  
at.gv.egovernment.moa.spss.server.service  
+  +

+ + + + + +
+Uses of MOAApplicationException in at.gv.egovernment.moa.spss.server.iaik.pki
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.pki that throw MOAApplicationException
PKIProfileImpl(ConfigurationProvider config, + String trustProfileID) + +
+          Create a new PKIProfileImpl.
+  +

+ + + + + +
+Uses of MOAApplicationException in at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore that throw MOAApplicationException
TrustStoreProfileImpl(ConfigurationProvider config, + String trustProfileId) + +
+          Create a new TrustStoreProfileImpl.
+  +

+ + + + + +
+Uses of MOAApplicationException in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that throw MOAApplicationException
+static at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicitProfileMapper.mapCreateTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile profile, + ConfigurationProvider config) + +
+          Map a CreateTransformsInfoProfile to a + CreateTransformsInfoProfileExplicit.
+static at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicitProfileMapper.mapCreateSignatureEnvironmentProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile profile, + ConfigurationProvider config) + +
+          Map a CreateSignatureEnvironmentProfile to a + CreateSignatureEnvironmentProfileExplicit.
+static ListProfileMapper.mapSupplementProfiles(List profiles, + ConfigurationProvider config) + +
+          Map a List of SupplementProfiles to their + explicit representation.
+static at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicitProfileMapper.mapSupplementProfile(at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile profile, + ConfigurationProvider config) + +
+          Map a SupplementProfile to a + SupplementProfileExplicit.
+static ListProfileMapper.mapVerifyTransformsInfoProfiles(List profiles, + ConfigurationProvider config) + +
+          Map a List of VerifyTransformsInfoProfiles to + their explicit representation.
+static at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicitProfileMapper.mapVerifyTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile profile, + ConfigurationProvider config) + +
+          Map a VerifyTransformsInfoProfile to a + VerifyTransformsInfoProfileExplicit.
+ InputStreamExternalURIResolver.resolve(String uriStr) + +
+          Return a stream to data at the given URI. + +
+ iaik.server.modules.xmlsign.XMLSignatureCreationProfileXMLSignatureCreationProfileFactory.createProfile(at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo singleSignatureInfo) + +
+          Create a XMLSignatureCreationProfile for the given + SingleSignatureInfo object..
+ voidVerifyCMSSignatureResponseBuilder.addResult(iaik.server.modules.cmsverify.CMSSignatureVerificationResult result) + +
+          Add a verification result to the response.
+ iaik.server.modules.xml.XMLDataObjectDataObjectFactory.createSignatureEnvironment(at.gv.egovernment.moa.spss.api.common.Content content, + List supplements) + +
+          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).
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromSignatureEnvironment(org.w3c.dom.Element signatureEnvironment, + String uri, + String referenceID) + +
+          Create an XMLDataObject from the given signature environment.
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromContentOptionalRefType(at.gv.egovernment.moa.spss.api.common.Content content, + String referenceID, + boolean allowContentAndReference, + boolean binaryAsXml, + boolean xmlAsNodeList, + boolean referenceAsXml) + +
+          Create a DataObject from a Content object.
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromXmlDataObjectAssociation(at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation xmlDataObjAssoc, + boolean xmlContentAllowed, + boolean binaryContentRepeatable) + +
+          Create a DataObject from a + XMLDataObjectAssociation object.
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromTransformParameter(at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter transformParameter) + +
+          Create a DataObject from a TransformParameter + object.
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromURI(String uri, + boolean asXml) + +
+          Create a DataObject from data located at the given URI.
+static org.w3c.dom.ElementInvokerUtils.evaluateSignatureLocation(org.w3c.dom.Element root, + at.gv.egovernment.moa.spss.api.common.ElementSelector location) + +
+          Select the signature parent element.
+ voidVerifyXMLSignatureResponseBuilder.setResult(iaik.server.modules.xmlverify.XMLSignatureVerificationResult result, + iaik.server.modules.xmlverify.XMLSignatureVerificationProfile profile, + at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult transformsSignatureManifestCheck) + +
+          Sets the verification result to the response. + +
+ iaik.server.modules.xml.TransformationTransformationFactory.createTransformation(at.gv.egovernment.moa.spss.api.common.Transform transform) + +
+          Create a Transformation based on a + Transform object.
+ ListTransformationFactory.createTransformationList(List transforms) + +
+          Create a List of Transformations from a + List of Transforms.
+ iaik.server.modules.xmlverify.XMLSignatureVerificationProfileXMLSignatureVerificationProfileFactory.createProfile() + +
+          Create a XMLSignatureCreationProfile from the + VerifyXMLSignaturesRequest and the current MOA configuration.
+ ListXMLSignatureVerificationProfileFactory.buildTransformationSupplements() + +
+          Build supplemental data objects used in the transformations.
+  +

+ + + + + +
+Uses of MOAApplicationException in at.gv.egovernment.moa.spss.server.service
+  +

+ + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.service that throw MOAApplicationException
+static voidServiceUtils.validateRequest(org.w3c.dom.Element[] request) + +
+          Schema-validate a request.
+static org.w3c.dom.ElementServiceUtils.reparseRequest(org.w3c.dom.Element request) + +
+          Reparse the request with schema-validation turned on so that ID references + are resolved.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAException.html new file mode 100644 index 000000000..4efd8c1cf --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOAException.html @@ -0,0 +1,324 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.MOAException + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.MOAException

+
+ + + + + + + + + + + + + + + + + + + + + +
+Packages that use MOAException
at.gv.egovernment.moa.spss  
at.gv.egovernment.moa.spss.server.config  
at.gv.egovernment.moa.spss.server.init  
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of MOAException in at.gv.egovernment.moa.spss
+  +

+ + + + + + + + + + + + + +
Subclasses of MOAException in at.gv.egovernment.moa.spss
+ classMOAApplicationException + +
+          Base class of application specific MOA exceptions. + +
+ classMOASystemException + +
+          Base class of technical MOA exceptions. + +
+  +

+ + + + + +
+Uses of MOAException in at.gv.egovernment.moa.spss.server.config
+  +

+ + + + + + + + + +
Subclasses of MOAException in at.gv.egovernment.moa.spss.server.config
+ classConfigurationException + +
+          Exception signalling an error in the configuration.
+  +

+ + + + + +
+Uses of MOAException in at.gv.egovernment.moa.spss.server.init
+  +

+ + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.init that throw MOAException
+ voidConfiguratorImpl.init() + +
+           
+ voidConfiguratorImpl.update() + +
+           
+  +

+ + + + + +
+Uses of MOAException in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that return MOAException
+ MOAExceptionIaikExceptionMapper.map(iaik.IAIKException iaikException) + +
+          Map an IAIKException to a MOAException.
+ MOAExceptionIaikExceptionMapper.map(iaik.IAIKRuntimeException iaikException) + +
+          Map an IAIKRuntimeException to a MOAException.
+protected  MOAExceptionIaikExceptionMapper.createMoaException(Exception iaikException) + +
+          Create a MOAException from a given IAIKException + by looking it up in the mapping.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that throw MOAException
+ iaik.server.modules.cmsverify.CMSSignatureVerificationProfileCMSSignatureVerificationProfileFactory.createProfile() + +
+          Create a CMSSignatureVerificationProfile from the given + request and the current MOA configuration.
+ at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponseXMLSignatureVerificationInvoker.verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request) + +
+          Process the VerifyXMLSignatureRequest message and invoke the + XMLSignatureVerificationModule.
+ at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseSignatureVerificationServiceImpl.verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request) + +
+          Verify a CMS signature.
+ at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponseSignatureVerificationServiceImpl.verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request) + +
+          Verify an XML signature.
+ at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponseSignatureCreationServiceImpl.createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request) + +
+          Create an XML signature.
+ at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseCMSSignatureVerificationInvoker.verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request) + +
+          Verify a CMS signature.
+ at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponseXMLSignatureCreationInvoker.createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request, + Set reserved) + +
+          Process the CreateXMLSignatureRequest message and invoke the + XMLSignatureCreationModule for every + SingleSignatureInfo contained in the request.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOASystemException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOASystemException.html new file mode 100644 index 000000000..6475e80e9 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/class-use/MOASystemException.html @@ -0,0 +1,231 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.MOASystemException + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.MOASystemException

+
+ + + + + + + + + + + + + +
+Packages that use MOASystemException
at.gv.egovernment.moa.spss.server.config  
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of MOASystemException in at.gv.egovernment.moa.spss.server.config
+  +

+ + + + + + + + + +
Subclasses of MOASystemException in at.gv.egovernment.moa.spss.server.config
+ classConfigurationException + +
+          Exception signalling an error in the configuration.
+  +

+ + + + + +
+Uses of MOASystemException in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that throw MOASystemException
+ iaik.server.modules.xmlsign.XMLSignatureCreationProfileXMLSignatureCreationProfileFactory.createProfile(at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo singleSignatureInfo) + +
+          Create a XMLSignatureCreationProfile for the given + SingleSignatureInfo object..
+ iaik.server.modules.xml.XMLDataObjectDataObjectFactory.createSignatureEnvironment(at.gv.egovernment.moa.spss.api.common.Content content, + List supplements) + +
+          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).
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromContentOptionalRefType(at.gv.egovernment.moa.spss.api.common.Content content, + String referenceID, + boolean allowContentAndReference, + boolean binaryAsXml, + boolean xmlAsNodeList, + boolean referenceAsXml) + +
+          Create a DataObject from a Content object.
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromXmlDataObjectAssociation(at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation xmlDataObjAssoc, + boolean xmlContentAllowed, + boolean binaryContentRepeatable) + +
+          Create a DataObject from a + XMLDataObjectAssociation object.
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromTransformParameter(at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter transformParameter) + +
+          Create a DataObject from a TransformParameter + object.
+ iaik.server.modules.xml.DataObjectDataObjectFactory.createFromURI(String uri, + boolean asXml) + +
+          Create a DataObject from data located at the given URI.
+ iaik.server.modules.xmlverify.XMLSignatureVerificationProfileXMLSignatureVerificationProfileFactory.createProfile() + +
+          Create a XMLSignatureCreationProfile from the + VerifyXMLSignaturesRequest and the current MOA configuration.
+ ListXMLSignatureVerificationProfileFactory.buildTransformationSupplements() + +
+          Build supplemental data objects used in the transformations.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-frame.html new file mode 100644 index 000000000..ef9910f85 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-frame.html @@ -0,0 +1,30 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss + + + + + +at.gv.egovernment.moa.spss + + + + +
+Exceptions  + +
+MOAApplicationException +
+MOAException +
+MOASystemException
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-summary.html new file mode 100644 index 000000000..7a8e355d9 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-summary.html @@ -0,0 +1,120 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss +

+ + + + + + + + + + + + + + + + + +
+Exception Summary
MOAApplicationExceptionBase class of application specific MOA exceptions. + +
MOAExceptionBase class of MOA specific exceptions. + +
MOASystemExceptionBase class of technical MOA exceptions. + +
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-tree.html new file mode 100644 index 000000000..c92729390 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-tree.html @@ -0,0 +1,111 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-use.html new file mode 100644 index 000000000..c20192642 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/package-use.html @@ -0,0 +1,273 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss
at.gv.egovernment.moa.spss  
at.gv.egovernment.moa.spss.server.config  
at.gv.egovernment.moa.spss.server.iaik.pki  
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore  
at.gv.egovernment.moa.spss.server.init  
at.gv.egovernment.moa.spss.server.invoke  
at.gv.egovernment.moa.spss.server.service  
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss used by at.gv.egovernment.moa.spss
MOAException + +
+          Base class of MOA specific exceptions. + +
+  +

+ + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss used by at.gv.egovernment.moa.spss.server.config
MOAException + +
+          Base class of MOA specific exceptions. + +
MOASystemException + +
+          Base class of technical MOA exceptions. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss used by at.gv.egovernment.moa.spss.server.iaik.pki
MOAApplicationException + +
+          Base class of application specific MOA exceptions. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss used by at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore
MOAApplicationException + +
+          Base class of application specific MOA exceptions. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss used by at.gv.egovernment.moa.spss.server.init
MOAException + +
+          Base class of MOA specific exceptions. + +
+  +

+ + + + + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss used by at.gv.egovernment.moa.spss.server.invoke
MOAApplicationException + +
+          Base class of application specific MOA exceptions. + +
MOAException + +
+          Base class of MOA specific exceptions. + +
MOASystemException + +
+          Base class of technical MOA exceptions. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss used by at.gv.egovernment.moa.spss.server.service
MOAApplicationException + +
+          Base class of application specific MOA exceptions. + +
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationException.html new file mode 100644 index 000000000..d0fb97988 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationException.html @@ -0,0 +1,240 @@ + + + + + + +MOA SP/SS Server Internal API: Class ConfigurationException + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class ConfigurationException

+
+java.lang.Object
+  |
+  +--java.lang.Throwable
+        |
+        +--java.lang.Exception
+              |
+              +--at.gv.egovernment.moa.spss.MOAException
+                    |
+                    +--at.gv.egovernment.moa.spss.MOASystemException
+                          |
+                          +--at.gv.egovernment.moa.spss.server.config.ConfigurationException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class ConfigurationException
extends MOASystemException
+ +

+Exception signalling an error in the configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Constructor Summary
ConfigurationException(String messageId, + Object[] parameters) + +
+          Create a ConfigurationException.
ConfigurationException(String messageId, + Object[] parameters, + Throwable wrapped) + +
+          Create a ConfigurationException.
+  + + + + + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.MOAException
getMessageId, getWrapped, printStackTrace, printStackTrace, printStackTrace, toErrorResponse
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getMessage, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ConfigurationException

+
+public ConfigurationException(String messageId,
+                              Object[] parameters)
+
+
Create a ConfigurationException.
+
See Also:
at.gv.egovernment.moa.spss.server.MOAException#MOAException(String, Object[])
+
+
+
+ +

+ConfigurationException

+
+public ConfigurationException(String messageId,
+                              Object[] parameters,
+                              Throwable wrapped)
+
+
Create a ConfigurationException.
+
See Also:
at.gv.egovernment.moa.spss.server.MOAException#MOAException(String, Object[], Throwable)
+
+
+ + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.html new file mode 100644 index 000000000..74ad2b8d8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.html @@ -0,0 +1,578 @@ + + + + + + +MOA SP/SS Server Internal API: Class ConfigurationPartsBuilder + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class ConfigurationPartsBuilder

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder
+
+
+
+
public class ConfigurationPartsBuilder
extends Object
+ +

+A class that builds configuration data from a DOM based representation. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ConfigurationPartsBuilder(org.w3c.dom.Element configElem) + +
+          Create a new ConfigurationPartsBuilder.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ MapbuildChainingModes() + +
+          Build the chaining modes for all configured trust anchors.
+ MapbuildCreateSignatureEnvironmentProfiles(File configRoot) + +
+          Build the CreateSignatureEnvironmentProfiles.
+ MapbuildCreateTransformsInfoProfiles(File configRoot) + +
+          Build the CreateTransformsInfoProfiles.
+ MapbuildCRLDistributionPoints() + +
+          Build the CRL distribution points mapping.
+ MapbuildGenericConfiguration() + +
+          Build the mapping of generic configuration properties.
+ ListbuildHardwareCryptoModules() + +
+          Build the configured hardware crypto modules.
+ ListbuildHardwareKeyModules(List keyModules) + +
+          Build the configured hardware keys.
+ MapbuildKeyGroupMappings(Map keyGroups, + IssuerAndSerial anonymous) + +
+          Build the key group mapping.
+ MapbuildKeyGroups(List keyModules) + +
+          Build the key group configuration.
+ ListbuildSoftwareKeyModules(List keyModules, + File configRoot) + +
+          Build the configured software keys.
+ MapbuildSupplementProfiles(File configRoot) + +
+          Build the SupplementProfiles.
+ MapbuildTrustProfiles(File configRoot) + +
+          Bulid the trust profile mapping.
+ MapbuildVerifyTransformsInfoProfiles(File configRoot) + +
+          Build the VerifyTransformsInfoProfiles.
+ StringgetCanonicalizationAlgorithmName() + +
+          Returns the canonicalization algorithm name.
+ org.w3c.dom.ElementgetConfigElem() + +
+          Returns the root element of the MOA configuration.
+ intgetCRLArchiveDuration() + +
+          Return the CRL archive duration.
+ StringgetDefaultChainingMode() + +
+          Returns the default chaining mode from the configuration.
+ StringgetDigestMethodAlgorithmName() + +
+          Returns the digest method algorithm name.
+ ListgetWarnings() + +
+          Returns the warnings encountered during building the configuration.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ConfigurationPartsBuilder

+
+public ConfigurationPartsBuilder(org.w3c.dom.Element configElem)
+
+
Create a new ConfigurationPartsBuilder.
+
Parameters:
configElem - The root element of the MOA configuration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getConfigElem

+
+public org.w3c.dom.Element getConfigElem()
+
+
Returns the root element of the MOA configuration.
+
Returns:
The root element of the MOA configuration.
+
+
+
+ +

+getWarnings

+
+public List getWarnings()
+
+
Returns the warnings encountered during building the configuration.
+
Returns:
A List of Strings, containing the + warning messages.
+
+
+
+ +

+getDigestMethodAlgorithmName

+
+public String getDigestMethodAlgorithmName()
+
+
Returns the digest method algorithm name.
+
Returns:
The digest method algorithm name from the configuration.
+
+
+
+ +

+getCanonicalizationAlgorithmName

+
+public String getCanonicalizationAlgorithmName()
+
+
Returns the canonicalization algorithm name.
+
Returns:
The canonicalization algorithm name from the configuration.
+
+
+
+ +

+buildGenericConfiguration

+
+public Map buildGenericConfiguration()
+
+
Build the mapping of generic configuration properties.
+
Returns:
The mapping of generic configuration properties (a name to value + mapping) from the configuration.
+
+
+
+ +

+buildHardwareCryptoModules

+
+public List buildHardwareCryptoModules()
+
+
Build the configured hardware crypto modules.
+
Returns:
The hardware crypto modules from the configuration.
+
+
+
+ +

+buildHardwareKeyModules

+
+public List buildHardwareKeyModules(List keyModules)
+
+
Build the configured hardware keys.
+
Parameters:
The - keyModules that the configuration already knows about. To + prevent multiple key modules with the same ID.
Returns:
The hardware keys contained in the configuration.
+
+
+
+ +

+buildSoftwareKeyModules

+
+public List buildSoftwareKeyModules(List keyModules,
+                                    File configRoot)
+
+
Build the configured software keys.
+
Parameters:
The - keyModules that the configuration already knows about. To + prevent multiple key modules with the same ID.
configRoot - The directory containing the main configuration file. + Used to resolve keystore files configured using a relative URI.
Returns:
The software keys contained in the configuration.
+
+
+
+ +

+buildKeyGroups

+
+public Map buildKeyGroups(List keyModules)
+
+
Build the key group configuration.
+
Parameters:
keyModules - The KeyModules that the configuration + knows about. Used to check for errors in the configuration.
Returns:
The mapping between key group IDs and key groups.
+
+
+
+ +

+buildKeyGroupMappings

+
+public Map buildKeyGroupMappings(Map keyGroups,
+                                 IssuerAndSerial anonymous)
+
+
Build the key group mapping.
+
Parameters:
keyGroups - The available key groups.
anonymous - The IssuerAndSerial to be used for key group + mappings not protected by a certificate.
Returns:
The key group mapping.
+
+
+
+ +

+getDefaultChainingMode

+
+public String getDefaultChainingMode()
+
+
Returns the default chaining mode from the configuration.
+
Returns:
The default chaining mode.
+
+
+
+ +

+buildChainingModes

+
+public Map buildChainingModes()
+
+
Build the chaining modes for all configured trust anchors.
+
Returns:
The mapping from trust anchors to chaining modes.
+
+
+
+ +

+buildCRLDistributionPoints

+
+public Map buildCRLDistributionPoints()
+
+
Build the CRL distribution points mapping.
+
Returns:
The mapping from certificate authorities to distribution points.
+
+
+
+ +

+getCRLArchiveDuration

+
+public int getCRLArchiveDuration()
+
+
Return the CRL archive duration.
+
Returns:
The value of the CRL archive duration setting from the + configuration.
+
+
+
+ +

+buildCreateTransformsInfoProfiles

+
+public Map buildCreateTransformsInfoProfiles(File configRoot)
+
+
Build the CreateTransformsInfoProfiles.
+
Parameters:
configRoot - The directory of the main configuration file. Used for + lookup of profiles with relative file names.
Returns:
The mapping from profile ID to profile.
+
+
+
+ +

+buildCreateSignatureEnvironmentProfiles

+
+public Map buildCreateSignatureEnvironmentProfiles(File configRoot)
+
+
Build the CreateSignatureEnvironmentProfiles.
+
Parameters:
configRoot - The directory of the main configuration file. Used for + lookup of profiles with relative file names.
Returns:
The mapping from profile ID to profile.
+
+
+
+ +

+buildVerifyTransformsInfoProfiles

+
+public Map buildVerifyTransformsInfoProfiles(File configRoot)
+
+
Build the VerifyTransformsInfoProfiles.
+
Parameters:
configRoot - The directory of the main configuration file. Used for + lookup of profiles with relative file names.
Returns:
The mapping from profile ID to profile.
+
+
+
+ +

+buildSupplementProfiles

+
+public Map buildSupplementProfiles(File configRoot)
+
+
Build the SupplementProfiles.
+
Parameters:
configRoot - The directory of the main configuration file. Used for + lookup of profiles with relative file names.
Returns:
The mapping from profile ID to profile.
+
+
+
+ +

+buildTrustProfiles

+
+public Map buildTrustProfiles(File configRoot)
+
+
Bulid the trust profile mapping.
+
Parameters:
configRoot - The absolute path to the main configuration file.
Returns:
The profile ID to profile mapping.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.html new file mode 100644 index 000000000..1ba073de0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.html @@ -0,0 +1,803 @@ + + + + + + +MOA SP/SS Server Internal API: Class ConfigurationProvider + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class ConfigurationProvider

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.ConfigurationProvider
+
+
+
+
public class ConfigurationProvider
extends Object
+ +

+A class providing access to the MOA configuration data. + +

Configuration 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.

+

+

+
Version:
$Id$
+
Author:
Patrick Peck, Sven Aigner
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static StringARCHIVE_REVOCATION_INFO_PROPERTY + +
+          The name of the generic configuration property determining whether to + archive revocation information.
+static StringAUTO_ADD_CERTIFICATES_PROPERTY + +
+          The name of the generic configuration property which determines if + certificates should be added to the cert store automatically.
+static StringCONFIG_PROPERTY_NAME + +
+          The name of the system property which contains the file name of the + configuration file.
+static StringDATABASE_ARCHIVE_PARAMETER_PROPERTY + +
+          The name of the generic configuration property giving the database URL of + the CRL archive.
+static StringDIRECTORY_CERTSTORE_PARAMETER_PROPERTY + +
+          The name of the generic configuration property giving the root directory of + a directory based cert store.
+static StringMAX_REVOCATION_AGE_PROPERTY + +
+          The name of the generic configuration property determining the maximum + age of CRL entries.
+static StringREVOCATION_CHECKING_PROPERTY + +
+          The name of the generic configuration property determining whether + to check the revocation status of signer certificates.
+static StringTEST_SIGNING_TIME_PROPERTY + +
+          The name of the generic configuration property used for setting the + signing time to a predefined value.
+static StringUSE_AUTHORITY_INFO_ACCESS_PROPERTY + +
+          The name of the generic configuration property whether the authority + info access should be used.
+  + + + + + + + + + + +
+Constructor Summary
ConfigurationProvider(String fileName) + +
+          Constructor for ConfigurationProvider.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetCanonicalizationAlgorithmName() + +
+          Return the name of the canonicalization algorithm used during signature + creation.
+ StringgetChainingMode(X509Certificate trustAnchor) + +
+          Return the chaining mode for a given trust anchor.
+ org.w3c.dom.ElementgetCreateSignatureEnvironmentProfile(String id) + +
+          Return a CreateSignatureEnvironmentProfile with the given ID.
+ org.w3c.dom.ElementgetCreateTransformsInfoProfile(String id) + +
+          Return a CreateTransformsInfoProfile with the given ID.
+ intgetCRLArchiveDuration() + +
+          Return the CRL archive duration.
+ SetgetCRLDP(X509Certificate cert) + +
+          Return the CRL distribution points for a given CA.
+ StringgetDigestMethodAlgorithmName() + +
+          Return the name of the digest algorithm used during signature creation.
+ StringgetGenericConfiguration(String name) + +
+          Return the value of a generic configuration.
+ StringgetGenericConfiguration(String name, + String defaultValue) + +
+          Return the value of a generic configuration, or a given default value.
+ ListgetHardwareCryptoModules() + +
+          Return the configured hardware crypto modules.
+ ListgetHardwareKeyModules() + +
+          Return the hardware key modules configuration.
+static ConfigurationProvidergetInstance() + +
+          Return the single instance of configuration data.
+ SetgetKeyGroupEntries(Principal issuer, + BigInteger serial, + String keyGroupId) + +
+          Return the set of KeyGroupEntrys of a given key group, which a + client (identified by an issuer/serial pair) may access.
+ MapgetKeyGroups() + +
+          Return the key group mapping.
+ ListgetSoftwareKeyModules() + +
+          Return the software key module configuration.
+ org.w3c.dom.ElementgetSupplementProfile(String id) + +
+          Return a SupplementProfile with the given ID.
+ TrustProfilegetTrustProfile(String id) + +
+          Return a TrustProfile with the given ID.
+ org.w3c.dom.ElementgetVerifyTransformsInfoProfile(String id) + +
+          Return a VerifyTransformsInfoProfile with the given ID.
+ ListgetWarnings() + +
+          Returns the warnings encountered during building the configuration.
+static ConfigurationProviderreload() + +
+          Reload the configuration data and set it if successful.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+CONFIG_PROPERTY_NAME

+
+public static final String CONFIG_PROPERTY_NAME
+
+
The name of the system property which contains the file name of the + configuration file.
+
+ +

+DIRECTORY_CERTSTORE_PARAMETER_PROPERTY

+
+public static final String DIRECTORY_CERTSTORE_PARAMETER_PROPERTY
+
+
The name of the generic configuration property giving the root directory of + a directory based cert store.
+
+ +

+AUTO_ADD_CERTIFICATES_PROPERTY

+
+public static final String AUTO_ADD_CERTIFICATES_PROPERTY
+
+
The name of the generic configuration property which determines if + certificates should be added to the cert store automatically.
+
+ +

+USE_AUTHORITY_INFO_ACCESS_PROPERTY

+
+public static final String USE_AUTHORITY_INFO_ACCESS_PROPERTY
+
+
The name of the generic configuration property whether the authority + info access should be used.
+
+ +

+MAX_REVOCATION_AGE_PROPERTY

+
+public static final String MAX_REVOCATION_AGE_PROPERTY
+
+
The name of the generic configuration property determining the maximum + age of CRL entries.
+
+ +

+DATABASE_ARCHIVE_PARAMETER_PROPERTY

+
+public static final String DATABASE_ARCHIVE_PARAMETER_PROPERTY
+
+
The name of the generic configuration property giving the database URL of + the CRL archive.
+
+ +

+REVOCATION_CHECKING_PROPERTY

+
+public static final String REVOCATION_CHECKING_PROPERTY
+
+
The name of the generic configuration property determining whether + to check the revocation status of signer certificates.
+
+ +

+ARCHIVE_REVOCATION_INFO_PROPERTY

+
+public static final String ARCHIVE_REVOCATION_INFO_PROPERTY
+
+
The name of the generic configuration property determining whether to + archive revocation information.
+
+ +

+TEST_SIGNING_TIME_PROPERTY

+
+public static final String TEST_SIGNING_TIME_PROPERTY
+
+
The name of the generic configuration property used for setting the + signing time to a predefined value. (Use for testing purposes only).
+ + + + + + + + +
+Constructor Detail
+ +

+ConfigurationProvider

+
+public ConfigurationProvider(String fileName)
+                      throws ConfigurationException
+
+
Constructor for ConfigurationProvider.
+
Parameters:
fileName - The name of the configuration file.
Throws:
ConfigurationException - An error occurred loading the configuration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static ConfigurationProvider getInstance()
+                                         throws ConfigurationException
+
+
Return the single instance of configuration data.
+
Returns:
MOAConfigurationProvider The current configuration data.
Throws:
ConfigurationException - Failure to load the configuration data.
+
+
+
+ +

+reload

+
+public static ConfigurationProvider reload()
+                                    throws ConfigurationException
+
+
Reload the configuration data and set it if successful.
+
Returns:
MOAConfigurationProvider The loaded configuration data.
Throws:
ConfigurationException - Failure to load the configuration data.
+
+
+
+ +

+getWarnings

+
+public List getWarnings()
+
+
Returns the warnings encountered during building the configuration.
+
Returns:
A List of Strings, containing the + warning messages.
+
+
+
+ +

+getDigestMethodAlgorithmName

+
+public String getDigestMethodAlgorithmName()
+
+
Return the name of the digest algorithm used during signature creation.
+
Returns:
The digest method algorithm name, or an empty String, + if none has been configured.
+
+
+
+ +

+getCanonicalizationAlgorithmName

+
+public String getCanonicalizationAlgorithmName()
+
+
Return the name of the canonicalization algorithm used during signature + creation.
+
Returns:
The canonicalization algorithm name, or an empty + String if none has been configured.
+
+
+
+ +

+getHardwareCryptoModules

+
+public List getHardwareCryptoModules()
+
+
Return the configured hardware crypto modules.
+
Returns:
A List of HardwareCryptoModule objects + containing the hardware crypto module configurations.
+
+
+
+ +

+getHardwareKeyModules

+
+public List getHardwareKeyModules()
+
+
Return the hardware key modules configuration.
+
Returns:
A List of HardwareKeyModule objects + containing the configuration of the hardware key modules.
+
+
+
+ +

+getSoftwareKeyModules

+
+public List getSoftwareKeyModules()
+
+
Return the software key module configuration.
+
Returns:
A List of SoftwareKeyModule objects + containing the configuration of the software key modules.
+
+
+
+ +

+getKeyGroups

+
+public Map getKeyGroups()
+
+
Return the key group mapping.
+
Returns:
A mapping from key group ID (a String) to + KeyGroup mapping.
+
+
+
+ +

+getKeyGroupEntries

+
+public Set getKeyGroupEntries(Principal issuer,
+                              BigInteger serial,
+                              String keyGroupId)
+
+
Return the set of KeyGroupEntrys of a given key group, which a + client (identified by an issuer/serial pair) may access.
+
Parameters:
issuer - The issuer of the client certificate.
serial - The serial number of the client certificate.
keyGroupId - The ID of the key group.
Returns:
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.
+
+
+
+ +

+getChainingMode

+
+public String getChainingMode(X509Certificate trustAnchor)
+
+
Return the chaining mode for a given trust anchor.
+
Parameters:
trustAnchor - The trust anchor for which the chaining mode should be + returned.
Returns:
The chaining mode for the given trust anchor. If the trust anchor + has not been configured separately, the system default will be returned.
+
+
+
+ +

+getCRLDP

+
+public Set getCRLDP(X509Certificate cert)
+
+
Return the CRL distribution points for a given CA.
+
Parameters:
cert - The certificate for which the CRL distribution points should be + looked up. The issuer information is used to perform the lookup.
Returns:
A Set of DistributionPoint objects. The + set will be empty, if no distribution points have been configured for this + certificate.
+
+
+
+ +

+getCRLArchiveDuration

+
+public int getCRLArchiveDuration()
+
+
Return the CRL archive duration.
+
Returns:
The duration of how long to keep CRL archive entries (measured in + days).
+
+
+
+ +

+getGenericConfiguration

+
+public String getGenericConfiguration(String name)
+
+
Return the value of a generic configuration.
+
Parameters:
name - The name of the generic configuration.
Returns:
The value of the generic configuration with the given name, or + null, if none can be found.
+
+
+
+ +

+getGenericConfiguration

+
+public String getGenericConfiguration(String name,
+                                      String defaultValue)
+
+
Return the value of a generic configuration, or a given default value.
+
Parameters:
name - The name of the generic configuration.
defaultValue - A default value to be returned in case that the generic + configuration with the given name does not exist.
Returns:
The value of the generic configuration with the given name, or the + defaultValue, if none can be found.
+
+
+
+ +

+getCreateTransformsInfoProfile

+
+public org.w3c.dom.Element getCreateTransformsInfoProfile(String id)
+
+
Return a CreateTransformsInfoProfile with the given ID.
+
Parameters:
id - The CreateTransformsInfoProfile ID.
Returns:
The CreateTransformsInfoProfile with the given + ID or null, if none exists.
+
+
+
+ +

+getCreateSignatureEnvironmentProfile

+
+public org.w3c.dom.Element getCreateSignatureEnvironmentProfile(String id)
+
+
Return a CreateSignatureEnvironmentProfile with the given ID.
+
Parameters:
id - The CreateSignatureEnvironmentProfile ID.
Returns:
The CreateSignatureEnvironmentProfile with the given + ID or null, if none exists.
+
+
+
+ +

+getVerifyTransformsInfoProfile

+
+public org.w3c.dom.Element getVerifyTransformsInfoProfile(String id)
+
+
Return a VerifyTransformsInfoProfile with the given ID.
+
Parameters:
id - The VerifyTransformsInfoProfile ID.
Returns:
The VerifyTransformsInfoProfile with the given ID or + null, if none exists.
+
+
+
+ +

+getSupplementProfile

+
+public org.w3c.dom.Element getSupplementProfile(String id)
+
+
Return a SupplementProfile with the given ID.
+
Parameters:
id - The SupplementProfile ID.
Returns:
The SupplementProfile with the given ID or + null, if none exists.
+
+
+
+ +

+getTrustProfile

+
+public TrustProfile getTrustProfile(String id)
+
+
Return a TrustProfile with the given ID.
+
Parameters:
id - The TrustProfile ID.
Returns:
The TrustProfile with the given ID or + null, if none exists.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/DistributionPoint.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/DistributionPoint.html new file mode 100644 index 000000000..7aac279aa --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/DistributionPoint.html @@ -0,0 +1,268 @@ + + + + + + +MOA SP/SS Server Internal API: Class DistributionPoint + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class DistributionPoint

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.DistributionPoint
+
+
+
+
public class DistributionPoint
extends Object
+ +

+A class containing information about a CRL distribution point. +

+

+
Version:
$Id$
+
Author:
Sven Aigner, Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
DistributionPoint(String uri, + String reasonCodeStr) + +
+          Create a DistributionPoint with a URI and a list of reason + codes.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ intgetReasonCodes() + +
+          Return a binary representation of the reason codes of this distribution + point.
+ StringgetUri() + +
+          Return the URI of the distribution point.
+ StringtoString() + +
+          Return a String representation of this distribution point.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DistributionPoint

+
+public DistributionPoint(String uri,
+                         String reasonCodeStr)
+
+
Create a DistributionPoint with a URI and a list of reason + codes.
+
Parameters:
uri - The URI of the distribution point.
reasonCodeStr - A list of reason codes (a space-separated + enumeration).
+
+
+ + + + + + + + +
+Method Detail
+ +

+getUri

+
+public String getUri()
+
+
Return the URI of the distribution point.
+
Returns:
The URI of the distribution point.
+
+
+
+ +

+getReasonCodes

+
+public int getReasonCodes()
+
+
Return a binary representation of the reason codes of this distribution + point.
+
Returns:
The binary representation of the reason codes.
+
+
+
+ +

+toString

+
+public String toString()
+
+
Return a String representation of this distribution point.
+
Overrides:
toString in class Object
+
+
+
Returns:
The String representation of this distribution point.
See Also:
Object.toString()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.html new file mode 100644 index 000000000..14bbee323 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.html @@ -0,0 +1,263 @@ + + + + + + +MOA SP/SS Server Internal API: Class HardwareCryptoModule + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class HardwareCryptoModule

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule
+
+
+
+
public class HardwareCryptoModule
extends Object
+ +

+Contains configuration data for a hardware crypto module. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
HardwareCryptoModule(String name, + String slotID, + String userPIN) + +
+          Create a new HardwareCryptoModule.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetName() + +
+          Returns the name of this HardwareCryptoModule.
+ StringgetSlotID() + +
+          Returns the slot ID of this HardwareCryptoModule.
+ StringgetUserPIN() + +
+          Returns the user PIN of this HardwareCryptoModule.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+HardwareCryptoModule

+
+public HardwareCryptoModule(String name,
+                            String slotID,
+                            String userPIN)
+
+
Create a new HardwareCryptoModule.
+
Parameters:
name - The name of this HardwareCryptoModule.
slotID - The slot ID of this HardwareCryptoModule.
userPIN - The user PIN to access this + HardwareCryptoModule.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getName

+
+public String getName()
+
+
Returns the name of this HardwareCryptoModule.
+
Returns:
The name of this HardwareCryptoModule.
+
+
+
+ +

+getSlotID

+
+public String getSlotID()
+
+
Returns the slot ID of this HardwareCryptoModule.
+
Returns:
The slot ID.
+
+
+
+ +

+getUserPIN

+
+public String getUserPIN()
+
+
Returns the user PIN of this HardwareCryptoModule.
+
Returns:
The user PIN used to access the module.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.html new file mode 100644 index 000000000..554c8c970 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.html @@ -0,0 +1,276 @@ + + + + + + +MOA SP/SS Server Internal API: Class HardwareKeyModule + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class HardwareKeyModule

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.KeyModule
+        |
+        +--at.gv.egovernment.moa.spss.server.config.HardwareKeyModule
+
+
+
+
public class HardwareKeyModule
extends KeyModule
+ +

+A class that contains information about a hardware key module. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
HardwareKeyModule(String id, + String name, + String slotID, + String userPIN) + +
+          Create a new HardwareKey.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetName() + +
+          Return the name of this HardwareKey.
+ StringgetSlotID() + +
+          Return the slot ID of this HardwareKey.
+ StringgetUserPIN() + +
+          Return the user PIN to access this HardwareKey.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.config.KeyModule
getId, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+HardwareKeyModule

+
+public HardwareKeyModule(String id,
+                         String name,
+                         String slotID,
+                         String userPIN)
+
+
Create a new HardwareKey.
+
Parameters:
id - The key module ID.
name - The name of the key.
slotID - The slot ID of the key within the hardware module. May be + null.
userPIN - The user PIN to access the key.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getName

+
+public String getName()
+
+
Return the name of this HardwareKey.
+
Returns:
The name of this HardwareKey.
+
+
+
+ +

+getSlotID

+
+public String getSlotID()
+
+
Return the slot ID of this HardwareKey.
+
Returns:
The slot ID of this HardwareKey.
+
+
+
+ +

+getUserPIN

+
+public String getUserPIN()
+
+
Return the user PIN to access this HardwareKey.
+
Returns:
The user PIN to access this HardwareKey.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.html new file mode 100644 index 000000000..1022a3d8c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.html @@ -0,0 +1,338 @@ + + + + + + +MOA SP/SS Server Internal API: Class IssuerAndSerial + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class IssuerAndSerial

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.IssuerAndSerial
+
+
+
+
public class IssuerAndSerial
extends Object
+ +

+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. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Constructor Summary
IssuerAndSerial(Principal issuer, + BigInteger serial) + +
+          Create an IssuerAndSerial object. + +
IssuerAndSerial(String issuerDN, + BigInteger serial) + +
+          Create an IssuerAndSerial object.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this IssuerAndSerial to another object.
+ StringgetIssuerDN() + +
+          Return the issuer DN in RFC2253 format.
+ BigIntegergetSerial() + +
+          Return the serial number.
+ inthashCode() + +
+          Return the hash code of this IssuerAndSerial.
+ StringtoString() + +
+          Return a String representation of this + IssuerAndSerial object.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+IssuerAndSerial

+
+public IssuerAndSerial(Principal issuer,
+                       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.
+
Parameters:
issuer - The isser of a certificate.
serial - The serial number of the certificate.
+
+
+
+ +

+IssuerAndSerial

+
+public IssuerAndSerial(String issuerDN,
+                       BigInteger serial)
+
+
Create an IssuerAndSerial object.
+
Parameters:
issuerDN - The issuer distinguished name. Should be an RFC2253 name.
serial - The serial number of the certificate.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getIssuerDN

+
+public String getIssuerDN()
+
+
Return the issuer DN in RFC2253 format.
+
Returns:
The issuer part of this object.
+
+
+
+ +

+getSerial

+
+public BigInteger getSerial()
+
+
Return the serial number.
+
Returns:
The serial number of this object.
+
+
+
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this IssuerAndSerial to another object.
+
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this IssuerAndSerial to.
Returns:
true, if other is an + IssuerAndSerial object and the issuer and + serial fields are both equal. false otherwise.
See Also:
Object.equals(java.lang.Object)
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
Return the hash code of this IssuerAndSerial.
+
Overrides:
hashCode in class Object
+
+
+
Returns:
The hash code of this IssuerAndSerial.
See Also:
Object.hashCode()
+
+
+
+ +

+toString

+
+public String toString()
+
+
Return a String representation of this + IssuerAndSerial object.
+
Overrides:
toString in class Object
+
+
+
Returns:
The String representation.
See Also:
Object.toString()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroup.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroup.html new file mode 100644 index 000000000..7c8e3fb98 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroup.html @@ -0,0 +1,263 @@ + + + + + + +MOA SP/SS Server Internal API: Class KeyGroup + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class KeyGroup

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.KeyGroup
+
+
+
+
public class KeyGroup
extends Object
+ +

+A collection of KeyGroupEntrys with its own ID. +

+

+
Version:
$Id$
+
Author:
Sven Aigner, Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
KeyGroup(String id, + Set keyGroupEntries) + +
+          Create a KeyGroup.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetId() + +
+          Return the ID of this KeyGroup.
+ SetgetKeyGroupEntries() + +
+          Return the KeyEntrys contained in this KeyGroup.
+ StringtoString() + +
+          Return a String representation of this KeyGroup.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+KeyGroup

+
+public KeyGroup(String id,
+                Set keyGroupEntries)
+
+
Create a KeyGroup.
+
Parameters:
id - The ID of this KeyGroup.
keyGroupEntries - The keys belonging to this KeyGroup.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getKeyGroupEntries

+
+public Set getKeyGroupEntries()
+
+
Return the KeyEntrys contained in this KeyGroup.
+
Returns:
The KeyEntrys contained in this KeyGroup.
+
+
+
+ +

+getId

+
+public String getId()
+
+
Return the ID of this KeyGroup.
+
Returns:
The KeyGroup ID.
+
+
+
+ +

+toString

+
+public String toString()
+
+
Return a String representation of this KeyGroup.
+
Overrides:
toString in class Object
+
+
+
Returns:
The String representation.
See Also:
Object.toString()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.html new file mode 100644 index 000000000..b747885c6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.html @@ -0,0 +1,335 @@ + + + + + + +MOA SP/SS Server Internal API: Class KeyGroupEntry + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class KeyGroupEntry

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.KeyGroupEntry
+
+
+
+
public class KeyGroupEntry
extends Object
+ +

+A class containing information about an entry in a key group. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Constructor Summary
KeyGroupEntry(String moduleID, + IssuerAndSerial issuerAndSerial) + +
+          Create a new KeyGroupEntry.
KeyGroupEntry(String moduleID, + String issuerDN, + BigInteger serialNumber) + +
+          Create a new KeyGroupEntry.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this KeyGroupEntry to another.
+ StringgetIssuerDN() + +
+          Return the issuer DN of this KeyGroupEntry for identifying the + certificate within the key module.
+ StringgetModuleID() + +
+          Return the key module ID to which this KeyGroupEntry belongs + to.
+ BigIntegergetSerialNumber() + +
+          Return the serial number of this KeyGroupEntry for identifying + the certificate within the key module.
+ inthashCode() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+KeyGroupEntry

+
+public KeyGroupEntry(String moduleID,
+                     IssuerAndSerial issuerAndSerial)
+
+
Create a new KeyGroupEntry.
+
Parameters:
moduleID - The key module ID to which this entry belongs to.
issuerAndSerial - The issuer and serial number which uniquely + identifies a certificate within the key module.
+
+
+
+ +

+KeyGroupEntry

+
+public KeyGroupEntry(String moduleID,
+                     String issuerDN,
+                     BigInteger serialNumber)
+
+
Create a new KeyGroupEntry.
+
Parameters:
moduleID - The key module ID to which this entry belongs to.
issuerDN - The isser DN of the certificate within the key module.
serialNumber - The serial number of the certificate within the key + module.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getModuleID

+
+public String getModuleID()
+
+
Return the key module ID to which this KeyGroupEntry belongs + to.
+
Returns:
The key module ID.
+
+
+
+ +

+getIssuerDN

+
+public String getIssuerDN()
+
+
Return the issuer DN of this KeyGroupEntry for identifying the + certificate within the key module.
+
Returns:
The issuer DN of the certificate.
+
+
+
+ +

+getSerialNumber

+
+public BigInteger getSerialNumber()
+
+
Return the serial number of this KeyGroupEntry for identifying + the certificate within the key module.
+
Returns:
The serial number of the certificate.
+
+
+
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this KeyGroupEntry to another.
+
Overrides:
equals in class Object
+
+
+
Parameters:
other - The KeyGroupEntry to compare to.
Returns:
true, if module ID, isser DN and serial number of + other match the ones contained in this object, otherwise + false.
See Also:
Object.equals(Object)
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
+
Overrides:
hashCode in class Object
+
+
+
See Also:
Object.hashCode()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyModule.html new file mode 100644 index 000000000..9b474d9eb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/KeyModule.html @@ -0,0 +1,245 @@ + + + + + + +MOA SP/SS Server Internal API: Class KeyModule + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class KeyModule

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.KeyModule
+
+
+
Direct Known Subclasses:
HardwareKeyModule, SoftwareKeyModule
+
+
+
+
public class KeyModule
extends Object
+ +

+A class that contains information about a key module. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
KeyModule(String id) + +
+          Create a Key object.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetId() + +
+          Return the key ID.
+ StringtoString() + +
+          Return a String representation of this Key.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+KeyModule

+
+public KeyModule(String id)
+
+
Create a Key object.
+
Parameters:
id - The key module ID.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getId

+
+public String getId()
+
+
Return the key ID.
+
Returns:
The key ID.
+
+
+
+ +

+toString

+
+public String toString()
+
+
Return a String representation of this Key.
+
Overrides:
toString in class Object
+
+
+
Returns:
The String representation.
See Also:
Object.toString()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.html new file mode 100644 index 000000000..476247016 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.html @@ -0,0 +1,256 @@ + + + + + + +MOA SP/SS Server Internal API: Class SoftwareKeyModule + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class SoftwareKeyModule

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.KeyModule
+        |
+        +--at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule
+
+
+
+
public class SoftwareKeyModule
extends KeyModule
+ +

+A class containing information about a software key, stored in PKCS12 format. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SoftwareKeyModule(String id, + String fileName, + String passWord) + +
+          Create a new SoftwareKey.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetFileName() + +
+          Return the name of the PKCS12 keystore file containing this + SoftwareKey.
+ StringgetPassWord() + +
+          Return the password to access the keystore file.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.config.KeyModule
getId, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SoftwareKeyModule

+
+public SoftwareKeyModule(String id,
+                         String fileName,
+                         String passWord)
+
+
Create a new SoftwareKey.
+
Parameters:
id - The key ID.
fileName - The name of the PKCS12 keystore file containing the key.
passWord - The password to access the keystore file.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getFileName

+
+public String getFileName()
+
+
Return the name of the PKCS12 keystore file containing this + SoftwareKey.
+
Returns:
The name of the PKCS12 keystore file.
+
+
+
+ +

+getPassWord

+
+public String getPassWord()
+
+
Return the password to access the keystore file.
+
Returns:
The password to access the keystore file.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/TrustProfile.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/TrustProfile.html new file mode 100644 index 000000000..6c3607a4f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/TrustProfile.html @@ -0,0 +1,241 @@ + + + + + + +MOA SP/SS Server Internal API: Class TrustProfile + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.config +
+Class TrustProfile

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.config.TrustProfile
+
+
+
+
public class TrustProfile
extends Object
+ +

+Information about a trust profile. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TrustProfile(String id, + String uri) + +
+          Create a TrustProfile.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetId() + +
+          Return the ID of this TrustProfile.
+ StringgetUri() + +
+          Return the URI of this TrustProfile.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TrustProfile

+
+public TrustProfile(String id,
+                    String uri)
+
+
Create a TrustProfile.
+
Parameters:
id - The ID of the TrustProfile to create.
uri - The URI of the TrustProfile to create.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getId

+
+public String getId()
+
+
Return the ID of this TrustProfile.
+
Returns:
The TrustProfile ID.
+
+
+
+ +

+getUri

+
+public String getUri()
+
+
Return the URI of this TrustProfile.
+
Returns:
The URI of TrustProfile.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationException.html new file mode 100644 index 000000000..c669cc5a0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationException.html @@ -0,0 +1,212 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.ConfigurationException + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.ConfigurationException

+
+ + + + + + + + + + + + + + + + + +
+Packages that use ConfigurationException
at.gv.egovernment.moa.spss.server.config  
at.gv.egovernment.moa.spss.server.iaik.config  
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of ConfigurationException in at.gv.egovernment.moa.spss.server.config
+  +

+ + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.config that throw ConfigurationException
+static ConfigurationProviderConfigurationProvider.getInstance() + +
+          Return the single instance of configuration data.
+static ConfigurationProviderConfigurationProvider.reload() + +
+          Reload the configuration data and set it if successful.
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.config that throw ConfigurationException
ConfigurationProvider(String fileName) + +
+          Constructor for ConfigurationProvider.
+  +

+ + + + + +
+Uses of ConfigurationException in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.iaik.config that throw ConfigurationException
+ voidIaikConfigurator.configure(ConfigurationProvider moaConfig) + +
+          Configure the IAIK MOA subsystem.
+  +

+ + + + + +
+Uses of ConfigurationException in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that throw ConfigurationException
+static voidServiceContextUtils.setUpContexts() + +
+          Set up the thread-local context information needed for calling the various + Invoker classes.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationPartsBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationPartsBuilder.html new file mode 100644 index 000000000..5fce1cce9 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationPartsBuilder.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder

+
+No usage of at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationProvider.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationProvider.html new file mode 100644 index 000000000..9cf0facf4 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/ConfigurationProvider.html @@ -0,0 +1,451 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.ConfigurationProvider

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Packages that use ConfigurationProvider
at.gv.egovernment.moa.spss.server.config  
at.gv.egovernment.moa.spss.server.iaik.config  
at.gv.egovernment.moa.spss.server.iaik.pki  
at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation  
at.gv.egovernment.moa.spss.server.iaik.pki.revocation  
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore  
at.gv.egovernment.moa.spss.server.invoke  
at.gv.egovernment.moa.spss.server.transaction  
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.config
+  +

+ + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.config that return ConfigurationProvider
+static ConfigurationProviderConfigurationProvider.getInstance() + +
+          Return the single instance of configuration data.
+static ConfigurationProviderConfigurationProvider.reload() + +
+          Reload the configuration data and set it if successful.
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.iaik.config with parameters of type ConfigurationProvider
+ voidIaikConfigurator.configure(ConfigurationProvider moaConfig) + +
+          Configure the IAIK MOA subsystem.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.config with parameters of type ConfigurationProvider
ValidationConfigurationImpl(ConfigurationProvider config) + +
+          Create a new ValidationConfigurationImpl.
ConfigurationDataImpl(ConfigurationProvider config) + +
+          Create a new ConfigurationDataImpl.
ArchiveConfigurationImpl(ConfigurationProvider config) + +
+          Create a new ArchiveConfigurationImpl.
PKIConfigurationImpl(ConfigurationProvider config) + +
+          Create a new PKIConfigurationImpl.
CertStoreConfigurationImpl(ConfigurationProvider config) + +
+          Create a new CertStoreConfigurationImpl.
RevocationConfigurationImpl(ConfigurationProvider config) + +
+          Create a new RevocationConfigurationImpl.
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.iaik.pki
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.pki with parameters of type ConfigurationProvider
PKIProfileImpl(ConfigurationProvider config, + String trustProfileID) + +
+          Create a new PKIProfileImpl.
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation with parameters of type ConfigurationProvider
ValidationProfileImpl(ConfigurationProvider config) + +
+          Create a new ValidationProfileImpl object. + +
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.iaik.pki.revocation
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.pki.revocation with parameters of type ConfigurationProvider
RevocationProfileImpl(ConfigurationProvider config) + +
+          Create a new RevocationProfileImpl.
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore with parameters of type ConfigurationProvider
TrustStoreProfileImpl(ConfigurationProvider config, + String trustProfileId) + +
+          Create a new TrustStoreProfileImpl.
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke with parameters of type ConfigurationProvider
+static at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicitProfileMapper.mapCreateTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile profile, + ConfigurationProvider config) + +
+          Map a CreateTransformsInfoProfile to a + CreateTransformsInfoProfileExplicit.
+static at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicitProfileMapper.mapCreateSignatureEnvironmentProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile profile, + ConfigurationProvider config) + +
+          Map a CreateSignatureEnvironmentProfile to a + CreateSignatureEnvironmentProfileExplicit.
+static ListProfileMapper.mapSupplementProfiles(List profiles, + ConfigurationProvider config) + +
+          Map a List of SupplementProfiles to their + explicit representation.
+static at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicitProfileMapper.mapSupplementProfile(at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile profile, + ConfigurationProvider config) + +
+          Map a SupplementProfile to a + SupplementProfileExplicit.
+static ListProfileMapper.mapVerifyTransformsInfoProfiles(List profiles, + ConfigurationProvider config) + +
+          Map a List of VerifyTransformsInfoProfiles to + their explicit representation.
+static at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicitProfileMapper.mapVerifyTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile profile, + ConfigurationProvider config) + +
+          Map a VerifyTransformsInfoProfile to a + VerifyTransformsInfoProfileExplicit.
+  +

+ + + + + +
+Uses of ConfigurationProvider in at.gv.egovernment.moa.spss.server.transaction
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.transaction that return ConfigurationProvider
+ ConfigurationProviderTransactionContext.getConfiguration() + +
+          Returns the ConfigurationProvider associated with this + transaction.
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.transaction with parameters of type ConfigurationProvider
TransactionContext(String transactionID, + X509Certificate[] clientCertificate, + ConfigurationProvider configuration) + +
+          Create a TransactionContext object.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/DistributionPoint.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/DistributionPoint.html new file mode 100644 index 000000000..ed2691dd2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/DistributionPoint.html @@ -0,0 +1,129 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.DistributionPoint + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.DistributionPoint

+
+ + + + + + + + + +
+Packages that use DistributionPoint
at.gv.egovernment.moa.spss.server.iaik.config  
+  +

+ + + + + +
+Uses of DistributionPoint in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.config with parameters of type DistributionPoint
CRLDistributionPointAdapter(DistributionPoint distributionPoint) + +
+          Create a new CRLDistributionPointAdapter.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareCryptoModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareCryptoModule.html new file mode 100644 index 000000000..9ceed606c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareCryptoModule.html @@ -0,0 +1,129 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule

+
+ + + + + + + + + +
+Packages that use HardwareCryptoModule
at.gv.egovernment.moa.spss.server.iaik.config  
+  +

+ + + + + +
+Uses of HardwareCryptoModule in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.config with parameters of type HardwareCryptoModule
HardwareCryptoModuleConfigurationImpl(HardwareCryptoModule module) + +
+          Create a new HardwareCryptoModuleConfigurationImpl.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareKeyModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareKeyModule.html new file mode 100644 index 000000000..a8f507225 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/HardwareKeyModule.html @@ -0,0 +1,129 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.HardwareKeyModule + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.HardwareKeyModule

+
+ + + + + + + + + +
+Packages that use HardwareKeyModule
at.gv.egovernment.moa.spss.server.iaik.config  
+  +

+ + + + + +
+Uses of HardwareKeyModule in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.config with parameters of type HardwareKeyModule
HardwareKeyModuleConfigurationImpl(HardwareKeyModule keyModule) + +
+          Create a new HardwareKeyModuleConfigurationImpl.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/IssuerAndSerial.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/IssuerAndSerial.html new file mode 100644 index 000000000..95e7c9af7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/IssuerAndSerial.html @@ -0,0 +1,147 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.IssuerAndSerial

+
+ + + + + + + + + +
+Packages that use IssuerAndSerial
at.gv.egovernment.moa.spss.server.config  
+  +

+ + + + + +
+Uses of IssuerAndSerial in at.gv.egovernment.moa.spss.server.config
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.config with parameters of type IssuerAndSerial
+ MapConfigurationPartsBuilder.buildKeyGroupMappings(Map keyGroups, + IssuerAndSerial anonymous) + +
+          Build the key group mapping.
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.config with parameters of type IssuerAndSerial
KeyGroupEntry(String moduleID, + IssuerAndSerial issuerAndSerial) + +
+          Create a new KeyGroupEntry.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroup.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroup.html new file mode 100644 index 000000000..3727f21f4 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroup.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.KeyGroup + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.KeyGroup

+
+No usage of at.gv.egovernment.moa.spss.server.config.KeyGroup +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroupEntry.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroupEntry.html new file mode 100644 index 000000000..318898810 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyGroupEntry.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.KeyGroupEntry

+
+No usage of at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyModule.html new file mode 100644 index 000000000..2b488f430 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/KeyModule.html @@ -0,0 +1,139 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.KeyModule + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.KeyModule

+
+ + + + + + + + + +
+Packages that use KeyModule
at.gv.egovernment.moa.spss.server.config  
+  +

+ + + + + +
+Uses of KeyModule in at.gv.egovernment.moa.spss.server.config
+  +

+ + + + + + + + + + + + + +
Subclasses of KeyModule in at.gv.egovernment.moa.spss.server.config
+ classHardwareKeyModule + +
+          A class that contains information about a hardware key module.
+ classSoftwareKeyModule + +
+          A class containing information about a software key, stored in PKCS12 format.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/SoftwareKeyModule.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/SoftwareKeyModule.html new file mode 100644 index 000000000..81673e9fd --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/SoftwareKeyModule.html @@ -0,0 +1,129 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule

+
+ + + + + + + + + +
+Packages that use SoftwareKeyModule
at.gv.egovernment.moa.spss.server.iaik.config  
+  +

+ + + + + +
+Uses of SoftwareKeyModule in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.config with parameters of type SoftwareKeyModule
SoftwareKeyModuleConfigurationImpl(SoftwareKeyModule keyModule) + +
+          Create a new SoftwareKeyModuleConfigurationImpl.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/TrustProfile.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/TrustProfile.html new file mode 100644 index 000000000..262b0af84 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/class-use/TrustProfile.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.config.TrustProfile + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.config.TrustProfile

+
+ + + + + + + + + +
+Packages that use TrustProfile
at.gv.egovernment.moa.spss.server.config  
+  +

+ + + + + +
+Uses of TrustProfile in at.gv.egovernment.moa.spss.server.config
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.config that return TrustProfile
+ TrustProfileConfigurationProvider.getTrustProfile(String id) + +
+          Return a TrustProfile with the given ID.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-frame.html new file mode 100644 index 000000000..a86892816 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-frame.html @@ -0,0 +1,57 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.config + + + + + +at.gv.egovernment.moa.spss.server.config + + + + +
+Classes  + +
+ConfigurationPartsBuilder +
+ConfigurationProvider +
+DistributionPoint +
+HardwareCryptoModule +
+HardwareKeyModule +
+IssuerAndSerial +
+KeyGroup +
+KeyGroupEntry +
+KeyModule +
+SoftwareKeyModule +
+TrustProfile
+ + + + + + +
+Exceptions  + +
+ConfigurationException
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-summary.html new file mode 100644 index 000000000..5cc9870cc --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-summary.html @@ -0,0 +1,165 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.config + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.config +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
ConfigurationPartsBuilderA class that builds configuration data from a DOM based representation.
ConfigurationProviderA class providing access to the MOA configuration data. + +
DistributionPointA class containing information about a CRL distribution point.
HardwareCryptoModuleContains configuration data for a hardware crypto module.
HardwareKeyModuleA class that contains information about a hardware key module.
IssuerAndSerialA class containing the issuer and serial number of a certificate, which can + be used to uniquely identify the certificate. + +
KeyGroupA collection of KeyGroupEntrys with its own ID.
KeyGroupEntryA class containing information about an entry in a key group.
KeyModuleA class that contains information about a key module.
SoftwareKeyModuleA class containing information about a software key, stored in PKCS12 format.
TrustProfileInformation about a trust profile.
+  + +

+ + + + + + + + + +
+Exception Summary
ConfigurationExceptionException signalling an error in the configuration.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-tree.html new file mode 100644 index 000000000..c94083a59 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-tree.html @@ -0,0 +1,115 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.config Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.config +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-use.html new file mode 100644 index 000000000..c8c690e57 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/config/package-use.html @@ -0,0 +1,333 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.config + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.config

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss.server.config
at.gv.egovernment.moa.spss.server.config  
at.gv.egovernment.moa.spss.server.iaik.config  
at.gv.egovernment.moa.spss.server.iaik.pki  
at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation  
at.gv.egovernment.moa.spss.server.iaik.pki.revocation  
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore  
at.gv.egovernment.moa.spss.server.invoke  
at.gv.egovernment.moa.spss.server.transaction  
+  +

+ + + + + + + + + + + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.config
ConfigurationException + +
+          Exception signalling an error in the configuration.
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
IssuerAndSerial + +
+          A class containing the issuer and serial number of a certificate, which can + be used to uniquely identify the certificate. + +
KeyModule + +
+          A class that contains information about a key module.
TrustProfile + +
+          Information about a trust profile.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.iaik.config
ConfigurationException + +
+          Exception signalling an error in the configuration.
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
DistributionPoint + +
+          A class containing information about a CRL distribution point.
HardwareCryptoModule + +
+          Contains configuration data for a hardware crypto module.
HardwareKeyModule + +
+          A class that contains information about a hardware key module.
SoftwareKeyModule + +
+          A class containing information about a software key, stored in PKCS12 format.
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.iaik.pki
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.iaik.pki.revocation
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
+  +

+ + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.invoke
ConfigurationException + +
+          Exception signalling an error in the configuration.
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.config used by at.gv.egovernment.moa.spss.server.transaction
ConfigurationProvider + +
+          A class providing access to the MOA configuration data. + +
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.html new file mode 100644 index 000000000..3c4981ec8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.html @@ -0,0 +1,247 @@ + + + + + + +MOA SP/SS Server Internal API: Class CMSSignatureVerificationProfileImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.cmsverify +
+Class CMSSignatureVerificationProfileImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.cmsverify.CMSSignatureVerificationProfile
+
+
+
+
public class CMSSignatureVerificationProfileImpl
extends Object
implements iaik.server.modules.cmsverify.CMSSignatureVerificationProfile
+ +

+An implementation of the CMSSignatureVerificationProfile + interface. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
CMSSignatureVerificationProfile
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CMSSignatureVerificationProfileImpl() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ iaik.pki.PKIProfilegetCertificateValidationProfile() + +
+           
+ voidsetCertificateValidationProfile(iaik.pki.PKIProfile certificateValidationProfile) + +
+          Sets the profile for validating the signer certificate.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CMSSignatureVerificationProfileImpl

+
+public CMSSignatureVerificationProfileImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getCertificateValidationProfile

+
+public iaik.pki.PKIProfile getCertificateValidationProfile()
+
+
+
Specified by:
getCertificateValidationProfile in interface iaik.server.modules.cmsverify.CMSSignatureVerificationProfile
+
+
+
See Also:
CMSSignatureVerificationProfile.getCertificateValidationProfile()
+
+
+
+ +

+setCertificateValidationProfile

+
+public void setCertificateValidationProfile(iaik.pki.PKIProfile certificateValidationProfile)
+
+
Sets the profile for validating the signer certificate.
+
+
+
+
Parameters:
certificateValidationProfile - The certificate validation profile to + set.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/class-use/CMSSignatureVerificationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/class-use/CMSSignatureVerificationProfileImpl.html new file mode 100644 index 000000000..c453ce878 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/class-use/CMSSignatureVerificationProfileImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-frame.html new file mode 100644 index 000000000..8c1b8babd --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.cmsverify + + + + + +at.gv.egovernment.moa.spss.server.iaik.cmsverify + + + + +
+Classes  + +
+CMSSignatureVerificationProfileImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-summary.html new file mode 100644 index 000000000..074ca69b5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-summary.html @@ -0,0 +1,107 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.cmsverify + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.cmsverify +

+ + + + + + + + + +
+Class Summary
CMSSignatureVerificationProfileImplAn implementation of the CMSSignatureVerificationProfile + interface.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-tree.html new file mode 100644 index 000000000..18cf1b13c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-tree.html @@ -0,0 +1,105 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.cmsverify Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.cmsverify +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-use.html new file mode 100644 index 000000000..8e6808ffb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/cmsverify/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.cmsverify + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.cmsverify

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.cmsverify +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.html new file mode 100644 index 000000000..a13e4d487 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.html @@ -0,0 +1,231 @@ + + + + + + +MOA SP/SS Server Internal API: Class AbstractKeyModuleConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class AbstractKeyModuleConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.keys.KeyModuleConfiguration
+
+
+
Direct Known Subclasses:
HardwareKeyModuleConfigurationImpl, SoftwareKeyModuleConfigurationImpl
+
+
+
+
public abstract class AbstractKeyModuleConfigurationImpl
extends Object
implements iaik.server.modules.keys.KeyModuleConfiguration
+ +

+Base implementation class for the KeyModuleConfiguration + interface and the interfaces derived from it. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
KeyModuleConfiguration
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
AbstractKeyModuleConfigurationImpl(String moduleID) + +
+          Creata new AbstractKeyModuleConfigurationImpl.
+  + + + + + + + + + + + +
+Method Summary
+ StringgetModuleID() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+AbstractKeyModuleConfigurationImpl

+
+public AbstractKeyModuleConfigurationImpl(String moduleID)
+
+
Creata new AbstractKeyModuleConfigurationImpl.
+
Parameters:
moduleID - The key module ID of this + KeyModuleConfiguration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getModuleID

+
+public String getModuleID()
+
+
+
Specified by:
getModuleID in interface iaik.server.modules.keys.KeyModuleConfiguration
+
+
+
See Also:
KeyModuleConfiguration.getModuleID()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.html new file mode 100644 index 000000000..821d7efe0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.html @@ -0,0 +1,270 @@ + + + + + + +MOA SP/SS Server Internal API: Class AbstractObservableConfiguration + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class AbstractObservableConfiguration

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
+
+
+
All Implemented Interfaces:
iaik.servertools.observer.Observable
+
+
+
Direct Known Subclasses:
ArchiveConfigurationImpl, CertStoreConfigurationImpl, RevocationConfigurationImpl, ValidationConfigurationImpl
+
+
+
+
public abstract class AbstractObservableConfiguration
extends Object
implements iaik.servertools.observer.Observable
+ +

+A base class for observable configuration data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
AbstractObservableConfiguration() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddObserver(iaik.servertools.observer.Observer observer) + +
+           
+ voidnotify(iaik.servertools.observer.NotificationData data) + +
+           
+ booleanremoveObserver(iaik.servertools.observer.Observer observer) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+AbstractObservableConfiguration

+
+public AbstractObservableConfiguration()
+
+
+ + + + + + + + +
+Method Detail
+ +

+addObserver

+
+public void addObserver(iaik.servertools.observer.Observer observer)
+
+
+
Specified by:
addObserver in interface iaik.servertools.observer.Observable
+
+
+
See Also:
iaik.utils.observer.Observable#addObserver(iaik.utils.observer.Observer)
+
+
+
+ +

+removeObserver

+
+public boolean removeObserver(iaik.servertools.observer.Observer observer)
+
+
+
Specified by:
removeObserver in interface iaik.servertools.observer.Observable
+
+
+
See Also:
iaik.utils.observer.Observable#removeObserver(iaik.utils.observer.Observer)
+
+
+
+ +

+notify

+
+public void notify(iaik.servertools.observer.NotificationData data)
+
+
+
Specified by:
notify in interface iaik.servertools.observer.Observable
+
+
+
See Also:
iaik.utils.observer.Observable#notify(iaik.utils.observer.NotificationData)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.html new file mode 100644 index 000000000..ba4ebd2b8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.html @@ -0,0 +1,276 @@ + + + + + + +MOA SP/SS Server Internal API: Class ArchiveConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class ArchiveConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.pki.store.revocation.archive.ArchiveConfiguration, iaik.servertools.observer.Observable
+
+
+
+
public class ArchiveConfigurationImpl
extends AbstractObservableConfiguration
implements iaik.pki.store.revocation.archive.ArchiveConfiguration
+ +

+An implementation of the ArchiveConfiguration interface + using configuration data provided by the MOA configuration file. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
ArchiveConfiguration
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ArchiveConfigurationImpl(ConfigurationProvider config) + +
+          Create a new ArchiveConfigurationImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ iaik.pki.store.revocation.archive.ArchiveParametergetArchiveParameters() + +
+          Return the ArchiveParameters describing this + ArchiveConfiguration.
+ StringgetType() + +
+          Return the type of archive. + +
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
addObserver, notify, removeObserver
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.servertools.observer.Observable
addObserver, notify, removeObserver
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ArchiveConfigurationImpl

+
+public ArchiveConfigurationImpl(ConfigurationProvider config)
+
+
Create a new ArchiveConfigurationImpl.
+
Parameters:
config - The MOA configuration from which the configuration data is + being read.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getType

+
+public String getType()
+
+
Return the type of archive. + + This will always return ArchiveTypes.DATABASE.
+
Specified by:
getType in interface iaik.pki.store.revocation.archive.ArchiveConfiguration
+
+
+
Returns:
ArchiveTypes.DATABASE.
See Also:
ArchiveConfiguration.getType()
+
+
+
+ +

+getArchiveParameters

+
+public iaik.pki.store.revocation.archive.ArchiveParameter getArchiveParameters()
+
+
Return the ArchiveParameters describing this + ArchiveConfiguration.
+
Specified by:
getArchiveParameters in interface iaik.pki.store.revocation.archive.ArchiveConfiguration
+
+
+
Returns:
The archive parameters.
See Also:
ArchiveConfiguration.getArchiveParameters()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.html new file mode 100644 index 000000000..864f4e140 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.html @@ -0,0 +1,273 @@ + + + + + + +MOA SP/SS Server Internal API: Class CRLDistributionPointAdapter + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class CRLDistributionPointAdapter

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter
+
+
+
All Implemented Interfaces:
iaik.pki.revocation.CRLDistributionPoint, iaik.pki.revocation.DistributionPoint
+
+
+
+
public class CRLDistributionPointAdapter
extends Object
implements iaik.pki.revocation.CRLDistributionPoint
+ +

+A class that wraps an + at.gv.egovernment.moa.spss.server.config.DistributionPoint as a + iaik.pki.revocation.CRLDistributionPoint. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
CRLDistributionPoint
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CRLDistributionPointAdapter(DistributionPoint distributionPoint) + +
+          Create a new CRLDistributionPointAdapter.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ intgetReasonCodes() + +
+           
+ StringgetType() + +
+           
+ StringgetUri() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CRLDistributionPointAdapter

+
+public CRLDistributionPointAdapter(DistributionPoint distributionPoint)
+
+
Create a new CRLDistributionPointAdapter.
+
Parameters:
distributionPoint - The DistributionPoint to wrap. It + contains the data configured in the MOA configuration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getReasonCodes

+
+public int getReasonCodes()
+
+
+
Specified by:
getReasonCodes in interface iaik.pki.revocation.CRLDistributionPoint
+
+
+
See Also:
CRLDistributionPoint.getReasonCodes()
+
+
+
+ +

+getType

+
+public String getType()
+
+
+
Specified by:
getType in interface iaik.pki.revocation.DistributionPoint
+
+
+
Returns:
RevocationSourceTypes.CRL
See Also:
DistributionPoint.getType()
+
+
+
+ +

+getUri

+
+public String getUri()
+
+
+
Specified by:
getUri in interface iaik.pki.revocation.DistributionPoint
+
+
+
See Also:
DistributionPoint.getUri()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.html new file mode 100644 index 000000000..a22cde4fb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.html @@ -0,0 +1,248 @@ + + + + + + +MOA SP/SS Server Internal API: Class CertStoreConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class CertStoreConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.pki.store.certstore.CertStoreConfiguration, iaik.servertools.observer.Observable
+
+
+
+
public class CertStoreConfigurationImpl
extends AbstractObservableConfiguration
implements iaik.pki.store.certstore.CertStoreConfiguration
+ +

+An implementation of the CertStoreConfiguration interface based + on MOA configuration data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
CertStoreConfiguration
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CertStoreConfigurationImpl(ConfigurationProvider config) + +
+          Create a new CertStoreConfigurationImpl.
+  + + + + + + + + + + + +
+Method Summary
+ iaik.pki.store.certstore.CertStoreParameters[]getParameters() + +
+           
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
addObserver, notify, removeObserver
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.servertools.observer.Observable
addObserver, notify, removeObserver
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CertStoreConfigurationImpl

+
+public CertStoreConfigurationImpl(ConfigurationProvider config)
+
+
Create a new CertStoreConfigurationImpl.
+
Parameters:
config - The MOA configuration from which the configuration data is + being read.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getParameters

+
+public iaik.pki.store.certstore.CertStoreParameters[] getParameters()
+
+
+
Specified by:
getParameters in interface iaik.pki.store.certstore.CertStoreConfiguration
+
+
+
See Also:
CertStoreConfiguration.getParameters()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.html new file mode 100644 index 000000000..51018f2a5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.html @@ -0,0 +1,293 @@ + + + + + + +MOA SP/SS Server Internal API: Class ConfigurationDataImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class ConfigurationDataImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl
+
+
+
All Implemented Interfaces:
iaik.server.ConfigurationData
+
+
+
+
public class ConfigurationDataImpl
extends Object
implements iaik.server.ConfigurationData
+ +

+An implementation of the ConfigurationData interface using + MOA configuration data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
ConfigurationData
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ConfigurationDataImpl(ConfigurationProvider config) + +
+          Create a new ConfigurationDataImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ ListgetCryptoModuleConfigurations() + +
+           
+ ListgetKeyModuleConfigurations() + +
+           
+ iaik.logging.LoggerConfiggetLoggerConfig() + +
+           
+ iaik.pki.PKIConfigurationgetPKIConfiguration() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ConfigurationDataImpl

+
+public ConfigurationDataImpl(ConfigurationProvider config)
+
+
Create a new ConfigurationDataImpl.
+
Parameters:
config - The underlying MOA configuration data.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getPKIConfiguration

+
+public iaik.pki.PKIConfiguration getPKIConfiguration()
+
+
+
Specified by:
getPKIConfiguration in interface iaik.server.ConfigurationData
+
+
+
See Also:
ConfigurationData.getPKIConfiguration()
+
+
+
+ +

+getCryptoModuleConfigurations

+
+public List getCryptoModuleConfigurations()
+
+
+
Specified by:
getCryptoModuleConfigurations in interface iaik.server.ConfigurationData
+
+
+
See Also:
ConfigurationData.getCryptoModuleConfigurations()
+
+
+
+ +

+getKeyModuleConfigurations

+
+public List getKeyModuleConfigurations()
+
+
+
Specified by:
getKeyModuleConfigurations in interface iaik.server.ConfigurationData
+
+
+
See Also:
ConfigurationData.getKeyModuleConfigurations()
+
+
+
+ +

+getLoggerConfig

+
+public iaik.logging.LoggerConfig getLoggerConfig()
+
+
+
Specified by:
getLoggerConfig in interface iaik.server.ConfigurationData
+
+
+
See Also:
ConfigurationData.getLoggerConfig()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.html new file mode 100644 index 000000000..9b36700da --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.html @@ -0,0 +1,226 @@ + + + + + + +MOA SP/SS Server Internal API: Class DataBaseArchiveParameterImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class DataBaseArchiveParameterImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl
+
+
+
All Implemented Interfaces:
iaik.pki.store.revocation.archive.ArchiveParameter, iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter
+
+
+
+
public class DataBaseArchiveParameterImpl
extends Object
implements iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter
+ +

+An implementation of the DataBaseArchiveParameter interface. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
DataBaseArchiveParameter
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
DataBaseArchiveParameterImpl(String jDBCUrl) + +
+          Create a new DataBaseArchiveParameterImpl.
+  + + + + + + + + + + + +
+Method Summary
+ StringgetJDBCUrl() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DataBaseArchiveParameterImpl

+
+public DataBaseArchiveParameterImpl(String jDBCUrl)
+
+
Create a new DataBaseArchiveParameterImpl.
+
Parameters:
jDBCUrl - The JDBC URL of the archive.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getJDBCUrl

+
+public String getJDBCUrl()
+
+
+
Specified by:
getJDBCUrl in interface iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter
+
+
+
See Also:
DataBaseArchiveParameter.getJDBCUrl()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.html new file mode 100644 index 000000000..f24f3cf61 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.html @@ -0,0 +1,320 @@ + + + + + + +MOA SP/SS Server Internal API: Class DirectoryCertStoreParametersImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class DirectoryCertStoreParametersImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl
+
+
+
All Implemented Interfaces:
iaik.pki.store.certstore.CertStoreParameters, iaik.pki.store.certstore.directory.DirectoryCertStoreParameters
+
+
+
+
public class DirectoryCertStoreParametersImpl
extends Object
implements iaik.pki.store.certstore.directory.DirectoryCertStoreParameters
+ +

+An implementation of the DirectoryCertStoreParameters interface. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
DirectoryCertStoreParameters
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
DirectoryCertStoreParametersImpl(String id, + String rootDirectory, + boolean createNew, + boolean readOnly) + +
+          Create a new DirectoryCertStoreParameterImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleancreateNew() + +
+           
+ StringgetId() + +
+           
+ StringgetRootDirectory() + +
+           
+ StringgetType() + +
+           
+ booleanisReadOnly() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DirectoryCertStoreParametersImpl

+
+public DirectoryCertStoreParametersImpl(String id,
+                                        String rootDirectory,
+                                        boolean createNew,
+                                        boolean readOnly)
+
+
Create a new DirectoryCertStoreParameterImpl.
+
Parameters:
id - The CertStore ID.
rootDirectory - The root directory of the CertStore.
createNew - Whether a new directory may be created.
readOnly - Whether the CertStore is read-only.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getRootDirectory

+
+public String getRootDirectory()
+
+
+
Specified by:
getRootDirectory in interface iaik.pki.store.certstore.directory.DirectoryCertStoreParameters
+
+
+
See Also:
DirectoryCertStoreParameters.getRootDirectory()
+
+
+
+ +

+createNew

+
+public boolean createNew()
+
+
+
Specified by:
createNew in interface iaik.pki.store.certstore.directory.DirectoryCertStoreParameters
+
+
+
See Also:
DirectoryCertStoreParameters.createNew()
+
+
+
+ +

+getId

+
+public String getId()
+
+
+
Specified by:
getId in interface iaik.pki.store.certstore.CertStoreParameters
+
+
+
See Also:
CertStoreParameters.getId()
+
+
+
+ +

+isReadOnly

+
+public boolean isReadOnly()
+
+
+
Specified by:
isReadOnly in interface iaik.pki.store.certstore.CertStoreParameters
+
+
+
See Also:
CertStoreParameters.isReadOnly()
+
+
+
+ +

+getType

+
+public String getType()
+
+
+
Specified by:
getType in interface iaik.pki.store.certstore.CertStoreParameters
+
+
+
Returns:
CertStoreTypes.DIRECTORY
See Also:
CertStoreParameters.getType()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.html new file mode 100644 index 000000000..5a9e9b2aa --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.html @@ -0,0 +1,272 @@ + + + + + + +MOA SP/SS Server Internal API: Class HardwareCryptoModuleConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class HardwareCryptoModuleConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.crypto.CryptoModuleConfiguration, iaik.server.modules.crypto.HardwareCryptoModuleConfiguration
+
+
+
+
public class HardwareCryptoModuleConfigurationImpl
extends Object
implements iaik.server.modules.crypto.HardwareCryptoModuleConfiguration
+ +

+An implementation of the HardwareCryptoModuleConfiguration + wrapping a HardwareCryptoModule from the MOA configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
HardwareCryptoModuleConfigurationImpl(HardwareCryptoModule module) + +
+          Create a new HardwareCryptoModuleConfigurationImpl.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetModuleName() + +
+           
+ StringgetSlotID() + +
+           
+ char[]getUserPIN() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+HardwareCryptoModuleConfigurationImpl

+
+public HardwareCryptoModuleConfigurationImpl(HardwareCryptoModule module)
+
+
Create a new HardwareCryptoModuleConfigurationImpl.
+
Parameters:
module - The HardwareCryptoModule from the underlying MOA + configuration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getModuleName

+
+public String getModuleName()
+
+
+
Specified by:
getModuleName in interface iaik.server.modules.crypto.HardwareCryptoModuleConfiguration
+
+
+
See Also:
HardwareCryptoModuleConfiguration.getModuleName()
+
+
+
+ +

+getSlotID

+
+public String getSlotID()
+
+
+
Specified by:
getSlotID in interface iaik.server.modules.crypto.HardwareCryptoModuleConfiguration
+
+
+
See Also:
HardwareCryptoModuleConfiguration.getSlotID()
+
+
+
+ +

+getUserPIN

+
+public char[] getUserPIN()
+
+
+
Specified by:
getUserPIN in interface iaik.server.modules.crypto.HardwareCryptoModuleConfiguration
+
+
+
See Also:
HardwareCryptoModuleConfiguration.getUserPIN()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.html new file mode 100644 index 000000000..e1193127d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.html @@ -0,0 +1,293 @@ + + + + + + +MOA SP/SS Server Internal API: Class HardwareKeyModuleConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class HardwareKeyModuleConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.keys.HardwareKeyModuleConfiguration, iaik.server.modules.keys.KeyModuleConfiguration
+
+
+
+
public class HardwareKeyModuleConfigurationImpl
extends AbstractKeyModuleConfigurationImpl
implements iaik.server.modules.keys.HardwareKeyModuleConfiguration
+ +

+An implementation of the HardwareKeyModuleConfiguration + interface wrapping a HardwareKeyModule from the MOA + configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
HardwareKeyModuleConfiguration
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
HardwareKeyModuleConfigurationImpl(HardwareKeyModule keyModule) + +
+          Create a new HardwareKeyModuleConfigurationImpl.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetModuleName() + +
+           
+ StringgetSlotID() + +
+           
+ char[]getUserPIN() + +
+           
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl
getModuleID
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.keys.KeyModuleConfiguration
getModuleID
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+HardwareKeyModuleConfigurationImpl

+
+public HardwareKeyModuleConfigurationImpl(HardwareKeyModule keyModule)
+
+
Create a new HardwareKeyModuleConfigurationImpl.
+
Parameters:
keyModule - The HardwareKeyModule from the underlying + MOA configuration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getModuleName

+
+public String getModuleName()
+
+
+
Specified by:
getModuleName in interface iaik.server.modules.keys.HardwareKeyModuleConfiguration
+
+
+
See Also:
HardwareKeyModuleConfiguration.getModuleName()
+
+
+
+ +

+getSlotID

+
+public String getSlotID()
+
+
+
Specified by:
getSlotID in interface iaik.server.modules.keys.HardwareKeyModuleConfiguration
+
+
+
See Also:
HardwareKeyModuleConfiguration.getSlotID()
+
+
+
+ +

+getUserPIN

+
+public char[] getUserPIN()
+
+
+
Specified by:
getUserPIN in interface iaik.server.modules.keys.HardwareKeyModuleConfiguration
+
+
+
See Also:
HardwareKeyModuleConfiguration.getUserPIN()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.html new file mode 100644 index 000000000..a2f4a29b3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.html @@ -0,0 +1,238 @@ + + + + + + +MOA SP/SS Server Internal API: Class IaikConfigurator + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class IaikConfigurator

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator
+
+
+
+
public class IaikConfigurator
extends Object
+ +

+A class responsible for configuring the IAIK MOA modules. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
IaikConfigurator() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidconfigure(ConfigurationProvider moaConfig) + +
+          Configure the IAIK MOA subsystem.
+ ListgetWarnings() + +
+          Return the warnings encountered during configuration.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+IaikConfigurator

+
+public IaikConfigurator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+configure

+
+public void configure(ConfigurationProvider moaConfig)
+               throws ConfigurationException
+
+
Configure the IAIK MOA subsystem.
+
Parameters:
moaConfig - The underlying MOA configuration.
Throws:
ConfigurationException - An error occurred configuring the IAIK + MOA subsystem.
+
+
+
+ +

+getWarnings

+
+public List getWarnings()
+
+
Return the warnings encountered during configuration.
+
Returns:
The warnings.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.html new file mode 100644 index 000000000..0925ace9b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.html @@ -0,0 +1,259 @@ + + + + + + +MOA SP/SS Server Internal API: Class LoggerConfigImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class LoggerConfigImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl
+
+
+
All Implemented Interfaces:
iaik.logging.LoggerConfig
+
+
+
+
public class LoggerConfigImpl
extends Object
implements iaik.logging.LoggerConfig
+ +

+Default implementation of the LoggerConfig interface. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
LoggerConfigImpl() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetFactory() + +
+           
+ StringgetNodeId() + +
+           
+ PropertiesgetProperties() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+LoggerConfigImpl

+
+public LoggerConfigImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getFactory

+
+public String getFactory()
+
+
+
Specified by:
getFactory in interface iaik.logging.LoggerConfig
+
+
+
+ +

+getProperties

+
+public Properties getProperties()
+                         throws iaik.logging.LogConfigurationException
+
+
+
Specified by:
getProperties in interface iaik.logging.LoggerConfig
+
+
+
+ +

+getNodeId

+
+public String getNodeId()
+
+
+
Specified by:
getNodeId in interface iaik.logging.LoggerConfig
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.html new file mode 100644 index 000000000..ed5112403 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.html @@ -0,0 +1,294 @@ + + + + + + +MOA SP/SS Server Internal API: Class PKIConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class PKIConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.pki.PKIConfiguration
+
+
+
+
public class PKIConfigurationImpl
extends Object
implements iaik.pki.PKIConfiguration
+ +

+An implementation of the PKIConfiguration interface using data + from the MOA configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
PKIConfiguration
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
PKIConfigurationImpl(ConfigurationProvider config) + +
+          Create a new PKIConfigurationImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ iaik.pki.store.revocation.archive.ArchiveConfigurationgetArchiveConfiguration() + +
+           
+ iaik.pki.store.certstore.CertStoreConfigurationgetCertStoreConfiguration() + +
+           
+ iaik.pki.revocation.RevocationConfigurationgetRevocationConfiguration() + +
+           
+ iaik.pki.pathvalidation.ValidationConfigurationgetValidationConfiguration() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+PKIConfigurationImpl

+
+public PKIConfigurationImpl(ConfigurationProvider config)
+
+
Create a new PKIConfigurationImpl.
+
Parameters:
config - The underlying MOA configuration which will be used to build + the configuration data contained in this object.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getCertStoreConfiguration

+
+public iaik.pki.store.certstore.CertStoreConfiguration getCertStoreConfiguration()
+
+
+
Specified by:
getCertStoreConfiguration in interface iaik.pki.PKIConfiguration
+
+
+
See Also:
PKIConfiguration.getCertStoreConfiguration()
+
+
+
+ +

+getRevocationConfiguration

+
+public iaik.pki.revocation.RevocationConfiguration getRevocationConfiguration()
+
+
+
Specified by:
getRevocationConfiguration in interface iaik.pki.PKIConfiguration
+
+
+
See Also:
PKIConfiguration.getRevocationConfiguration()
+
+
+
+ +

+getArchiveConfiguration

+
+public iaik.pki.store.revocation.archive.ArchiveConfiguration getArchiveConfiguration()
+
+
+
Specified by:
getArchiveConfiguration in interface iaik.pki.PKIConfiguration
+
+
+
See Also:
PKIConfiguration.getArchiveConfiguration()
+
+
+
+ +

+getValidationConfiguration

+
+public iaik.pki.pathvalidation.ValidationConfiguration getValidationConfiguration()
+
+
+
Specified by:
getValidationConfiguration in interface iaik.pki.PKIConfiguration
+
+
+
See Also:
PKIConfiguration.getValidationConfiguration()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.html new file mode 100644 index 000000000..d03f710c5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.html @@ -0,0 +1,274 @@ + + + + + + +MOA SP/SS Server Internal API: Class RevocationConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class RevocationConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.servertools.observer.Observable, iaik.pki.revocation.RevocationConfiguration
+
+
+
+
public class RevocationConfigurationImpl
extends AbstractObservableConfiguration
implements iaik.pki.revocation.RevocationConfiguration
+ +

+An implementation of the RevocationConfiguration interface using + MOA configuration data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
RevocationConfiguration
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
RevocationConfigurationImpl(ConfigurationProvider config) + +
+          Create a new RevocationConfigurationImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ booleanarchiveRevocationInfo(String type, + String uri) + +
+           
+ SetgetAlternativeDistributionPoints(X509Certificate cert, + Date date) + +
+           
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
addObserver, notify, removeObserver
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.servertools.observer.Observable
addObserver, notify, removeObserver
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+RevocationConfigurationImpl

+
+public RevocationConfigurationImpl(ConfigurationProvider config)
+
+
Create a new RevocationConfigurationImpl.
+
Parameters:
config - The underlying MOA configuration containing the configuration + data.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getAlternativeDistributionPoints

+
+public Set getAlternativeDistributionPoints(X509Certificate cert,
+                                            Date date)
+
+
+
Specified by:
getAlternativeDistributionPoints in interface iaik.pki.revocation.RevocationConfiguration
+
+
+
See Also:
RevocationConfiguration.getAlternativeDistributionPoints(java.security.cert.X509Certificate, java.util.Date)
+
+
+
+ +

+archiveRevocationInfo

+
+public boolean archiveRevocationInfo(String type,
+                                     String uri)
+
+
+
Specified by:
archiveRevocationInfo in interface iaik.pki.revocation.RevocationConfiguration
+
+
+
See Also:
RevocationConfiguration.archiveRevocationInfo(java.lang.String, java.lang.String)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.html new file mode 100644 index 000000000..daa91cac3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.html @@ -0,0 +1,301 @@ + + + + + + +MOA SP/SS Server Internal API: Class SoftwareKeyModuleConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class SoftwareKeyModuleConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.keys.KeyModuleConfiguration, iaik.server.modules.keys.SoftwareKeyModuleConfiguration
+
+
+
+
public class SoftwareKeyModuleConfigurationImpl
extends AbstractKeyModuleConfigurationImpl
implements iaik.server.modules.keys.SoftwareKeyModuleConfiguration
+ +

+An implementation of the SoftwareKeyModuleConfiguration wrapping + a SoftwareKeyModule from the MOA configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
SoftwareKeyModuleConfiguration
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.keys.SoftwareKeyModuleConfiguration
KEY_STORE_TYPE_NAME_PKCS12
+  + + + + + + + + + + +
+Constructor Summary
SoftwareKeyModuleConfigurationImpl(SoftwareKeyModule keyModule) + +
+          Create a new SoftwareKeyModuleConfigurationImpl.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ InputStreamgetKeyStoreAsStream() + +
+           
+ char[]getKeyStoreAuthenticationData() + +
+           
+ StringgetKeyStoreTypeName() + +
+           
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl
getModuleID
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.keys.KeyModuleConfiguration
getModuleID
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SoftwareKeyModuleConfigurationImpl

+
+public SoftwareKeyModuleConfigurationImpl(SoftwareKeyModule keyModule)
+
+
Create a new SoftwareKeyModuleConfigurationImpl.
+
Parameters:
keyModule - The SoftwareKeyModule from the underlying MOA + configuration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getKeyStoreTypeName

+
+public String getKeyStoreTypeName()
+
+
+
Specified by:
getKeyStoreTypeName in interface iaik.server.modules.keys.SoftwareKeyModuleConfiguration
+
+
+
See Also:
SoftwareKeyModuleConfiguration.getKeyStoreTypeName()
+
+
+
+ +

+getKeyStoreAsStream

+
+public InputStream getKeyStoreAsStream()
+
+
+
Specified by:
getKeyStoreAsStream in interface iaik.server.modules.keys.SoftwareKeyModuleConfiguration
+
+
+
See Also:
SoftwareKeyModuleConfiguration.getKeyStoreAsStream()
+
+
+
+ +

+getKeyStoreAuthenticationData

+
+public char[] getKeyStoreAuthenticationData()
+
+
+
Specified by:
getKeyStoreAuthenticationData in interface iaik.server.modules.keys.SoftwareKeyModuleConfiguration
+
+
+
See Also:
SoftwareKeyModuleConfiguration.getKeyStoreAuthenticationData()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.html new file mode 100644 index 000000000..73e8fe6da --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.html @@ -0,0 +1,291 @@ + + + + + + +MOA SP/SS Server Internal API: Class ValidationConfigurationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.config +
+Class ValidationConfigurationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl
+
+
+
All Implemented Interfaces:
iaik.servertools.observer.Observable, iaik.pki.pathvalidation.ValidationConfiguration
+
+
+
+
public class ValidationConfigurationImpl
extends AbstractObservableConfiguration
implements iaik.pki.pathvalidation.ValidationConfiguration
+ +

+An implementation of the ValidationConfiguration interface using + MOA configuration data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
ValidationConfiguration
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ValidationConfigurationImpl(ConfigurationProvider config) + +
+          Create a new ValidationConfigurationImpl.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetChainingMode(X509Certificate cert) + +
+           
+ X509CertificategetPublicKeyParamsAsCert(X509Certificate cert) + +
+           
+ AlgorithmParameterSpecgetPublicKeyParamsAsSpec(X509Certificate cert) + +
+           
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration
addObserver, notify, removeObserver
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.servertools.observer.Observable
addObserver, notify, removeObserver
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ValidationConfigurationImpl

+
+public ValidationConfigurationImpl(ConfigurationProvider config)
+
+
Create a new ValidationConfigurationImpl.
+
Parameters:
config - The underlying MOA configuration data.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getChainingMode

+
+public String getChainingMode(X509Certificate cert)
+
+
+
Specified by:
getChainingMode in interface iaik.pki.pathvalidation.ValidationConfiguration
+
+
+
See Also:
ValidationConfiguration.getChainingMode(java.security.cert.X509Certificate)
+
+
+
+ +

+getPublicKeyParamsAsSpec

+
+public AlgorithmParameterSpec getPublicKeyParamsAsSpec(X509Certificate cert)
+
+
+
Specified by:
getPublicKeyParamsAsSpec in interface iaik.pki.pathvalidation.ValidationConfiguration
+
+
+
See Also:
ValidationConfiguration.getPublicKeyParamsAsSpec(java.security.cert.X509Certificate)
+
+
+
+ +

+getPublicKeyParamsAsCert

+
+public X509Certificate getPublicKeyParamsAsCert(X509Certificate cert)
+
+
+
Specified by:
getPublicKeyParamsAsCert in interface iaik.pki.pathvalidation.ValidationConfiguration
+
+
+
See Also:
ValidationConfiguration.getPublicKeyParamsAsCert(java.security.cert.X509Certificate)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractKeyModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractKeyModuleConfigurationImpl.html new file mode 100644 index 000000000..9855a4bbe --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractKeyModuleConfigurationImpl.html @@ -0,0 +1,142 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl

+
+ + + + + + + + + +
+Packages that use AbstractKeyModuleConfigurationImpl
at.gv.egovernment.moa.spss.server.iaik.config  
+  +

+ + + + + +
+Uses of AbstractKeyModuleConfigurationImpl in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + + + + + + +
Subclasses of AbstractKeyModuleConfigurationImpl in at.gv.egovernment.moa.spss.server.iaik.config
+ classHardwareKeyModuleConfigurationImpl + +
+          An implementation of the HardwareKeyModuleConfiguration + interface wrapping a HardwareKeyModule from the MOA + configuration.
+ classSoftwareKeyModuleConfigurationImpl + +
+          An implementation of the SoftwareKeyModuleConfiguration wrapping + a SoftwareKeyModule from the MOA configuration.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractObservableConfiguration.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractObservableConfiguration.html new file mode 100644 index 000000000..f51e33ff0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/AbstractObservableConfiguration.html @@ -0,0 +1,159 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration

+
+ + + + + + + + + +
+Packages that use AbstractObservableConfiguration
at.gv.egovernment.moa.spss.server.iaik.config  
+  +

+ + + + + +
+Uses of AbstractObservableConfiguration in at.gv.egovernment.moa.spss.server.iaik.config
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Subclasses of AbstractObservableConfiguration in at.gv.egovernment.moa.spss.server.iaik.config
+ classArchiveConfigurationImpl + +
+          An implementation of the ArchiveConfiguration interface + using configuration data provided by the MOA configuration file.
+ classCertStoreConfigurationImpl + +
+          An implementation of the CertStoreConfiguration interface based + on MOA configuration data.
+ classRevocationConfigurationImpl + +
+          An implementation of the RevocationConfiguration interface using + MOA configuration data.
+ classValidationConfigurationImpl + +
+          An implementation of the ValidationConfiguration interface using + MOA configuration data.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ArchiveConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ArchiveConfigurationImpl.html new file mode 100644 index 000000000..d02c37fda --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ArchiveConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CRLDistributionPointAdapter.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CRLDistributionPointAdapter.html new file mode 100644 index 000000000..b3fa7dee2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CRLDistributionPointAdapter.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CertStoreConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CertStoreConfigurationImpl.html new file mode 100644 index 000000000..f3ab257f5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/CertStoreConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ConfigurationDataImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ConfigurationDataImpl.html new file mode 100644 index 000000000..f39c72ca7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ConfigurationDataImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DataBaseArchiveParameterImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DataBaseArchiveParameterImpl.html new file mode 100644 index 000000000..519a2fca8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DataBaseArchiveParameterImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DirectoryCertStoreParametersImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DirectoryCertStoreParametersImpl.html new file mode 100644 index 000000000..8cd354763 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/DirectoryCertStoreParametersImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareCryptoModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareCryptoModuleConfigurationImpl.html new file mode 100644 index 000000000..ced67b9e3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareCryptoModuleConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareKeyModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareKeyModuleConfigurationImpl.html new file mode 100644 index 000000000..5d5124fbd --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/HardwareKeyModuleConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/IaikConfigurator.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/IaikConfigurator.html new file mode 100644 index 000000000..96538d704 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/IaikConfigurator.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/LoggerConfigImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/LoggerConfigImpl.html new file mode 100644 index 000000000..453391170 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/LoggerConfigImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/PKIConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/PKIConfigurationImpl.html new file mode 100644 index 000000000..fc155f875 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/PKIConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/RevocationConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/RevocationConfigurationImpl.html new file mode 100644 index 000000000..692a2089b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/RevocationConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/SoftwareKeyModuleConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/SoftwareKeyModuleConfigurationImpl.html new file mode 100644 index 000000000..1b2761755 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/SoftwareKeyModuleConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ValidationConfigurationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ValidationConfigurationImpl.html new file mode 100644 index 000000000..f1d9eddf2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/class-use/ValidationConfigurationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-frame.html new file mode 100644 index 000000000..eaae36bed --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-frame.html @@ -0,0 +1,56 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.config + + + + + +at.gv.egovernment.moa.spss.server.iaik.config + + + + +
+Classes  + +
+AbstractKeyModuleConfigurationImpl +
+AbstractObservableConfiguration +
+ArchiveConfigurationImpl +
+CertStoreConfigurationImpl +
+ConfigurationDataImpl +
+CRLDistributionPointAdapter +
+DataBaseArchiveParameterImpl +
+DirectoryCertStoreParametersImpl +
+HardwareCryptoModuleConfigurationImpl +
+HardwareKeyModuleConfigurationImpl +
+IaikConfigurator +
+LoggerConfigImpl +
+PKIConfigurationImpl +
+RevocationConfigurationImpl +
+SoftwareKeyModuleConfigurationImpl +
+ValidationConfigurationImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-summary.html new file mode 100644 index 000000000..103bba7c0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-summary.html @@ -0,0 +1,179 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.config + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.config +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
AbstractKeyModuleConfigurationImplBase implementation class for the KeyModuleConfiguration + interface and the interfaces derived from it.
AbstractObservableConfigurationA base class for observable configuration data.
ArchiveConfigurationImplAn implementation of the ArchiveConfiguration interface + using configuration data provided by the MOA configuration file.
CertStoreConfigurationImplAn implementation of the CertStoreConfiguration interface based + on MOA configuration data.
ConfigurationDataImplAn implementation of the ConfigurationData interface using + MOA configuration data.
CRLDistributionPointAdapterA class that wraps an + at.gv.egovernment.moa.spss.server.config.DistributionPoint as a + iaik.pki.revocation.CRLDistributionPoint.
DataBaseArchiveParameterImplAn implementation of the DataBaseArchiveParameter interface.
DirectoryCertStoreParametersImplAn implementation of the DirectoryCertStoreParameters interface.
HardwareCryptoModuleConfigurationImplAn implementation of the HardwareCryptoModuleConfiguration + wrapping a HardwareCryptoModule from the MOA configuration.
HardwareKeyModuleConfigurationImplAn implementation of the HardwareKeyModuleConfiguration + interface wrapping a HardwareKeyModule from the MOA + configuration.
IaikConfiguratorA class responsible for configuring the IAIK MOA modules.
LoggerConfigImplDefault implementation of the LoggerConfig interface.
PKIConfigurationImplAn implementation of the PKIConfiguration interface using data + from the MOA configuration.
RevocationConfigurationImplAn implementation of the RevocationConfiguration interface using + MOA configuration data.
SoftwareKeyModuleConfigurationImplAn implementation of the SoftwareKeyModuleConfiguration wrapping + a SoftwareKeyModule from the MOA configuration.
ValidationConfigurationImplAn implementation of the ValidationConfiguration interface using + MOA configuration data.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-tree.html new file mode 100644 index 000000000..a1fd0f00e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-tree.html @@ -0,0 +1,123 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.config Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.config +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl (implements iaik.server.modules.keys.KeyModuleConfiguration) + +
    • class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration (implements iaik.servertools.observer.Observable) +
        +
      • class at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl (implements iaik.pki.store.revocation.archive.ArchiveConfiguration) +
      • class at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl (implements iaik.pki.store.certstore.CertStoreConfiguration) +
      • class at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl (implements iaik.pki.revocation.RevocationConfiguration) +
      • class at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl (implements iaik.pki.pathvalidation.ValidationConfiguration) +
      +
    • class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl (implements iaik.server.ConfigurationData) +
    • class at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter (implements iaik.pki.revocation.CRLDistributionPoint) +
    • class at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl (implements iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter) +
    • class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl (implements iaik.pki.store.certstore.directory.DirectoryCertStoreParameters) +
    • class at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl (implements iaik.server.modules.crypto.HardwareCryptoModuleConfiguration) +
    • class at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator
    • class at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl (implements iaik.logging.LoggerConfig) +
    • class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl (implements iaik.pki.PKIConfiguration) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-use.html new file mode 100644 index 000000000..dcdd9c6f6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/config/package-use.html @@ -0,0 +1,128 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.config + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.config

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss.server.iaik.config
at.gv.egovernment.moa.spss.server.iaik.config  
+  +

+ + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.iaik.config used by at.gv.egovernment.moa.spss.server.iaik.config
AbstractKeyModuleConfigurationImpl + +
+          Base implementation class for the KeyModuleConfiguration + interface and the interfaces derived from it.
AbstractObservableConfiguration + +
+          A base class for observable configuration data.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.html new file mode 100644 index 000000000..5e19fa240 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.html @@ -0,0 +1,388 @@ + + + + + + +MOA SP/SS Server Internal API: Class PKIProfileImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.pki +
+Class PKIProfileImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl
+
+
+
All Implemented Interfaces:
iaik.pki.PKIProfile
+
+
+
+
public class PKIProfileImpl
extends Object
implements iaik.pki.PKIProfile
+ +

+Implementation of the PKIProfile interface containing + information needed for certificate path validation. It uses configuration + data from the MOA configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
PKIProfileImpl(ConfigurationProvider config, + String trustProfileID) + +
+          Create a new PKIProfileImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanautoAddCertificates() + +
+           
+ iaik.pki.revocation.RevocationProfilegetRevocationProfile() + +
+           
+ iaik.pki.store.truststore.TrustStoreProfilegetTrustStoreProfile() + +
+           
+ iaik.pki.pathvalidation.ValidationProfilegetValidationProfile() + +
+           
+protected  voidsetRevocationProfile(iaik.pki.revocation.RevocationProfile revocationProfile) + +
+          Sets the RevocationProfile.
+protected  voidsetTrustStoreProfile(iaik.pki.store.truststore.TrustStoreProfile trustStoreProfile) + +
+          Sets the TrustStoreProfile.
+protected  voidsetValidationProfile(iaik.pki.pathvalidation.ValidationProfile validationProfile) + +
+          Sets the ValidationProfile.
+ booleanuseAuthorityInfoAccess() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+PKIProfileImpl

+
+public PKIProfileImpl(ConfigurationProvider config,
+                      String trustProfileID)
+               throws MOAApplicationException
+
+
Create a new PKIProfileImpl.
+
Parameters:
config - The MOA configuration providing configuration data about + certificate path validation.
trustProfileID - The trust profile ID denoting the location of the + trust store.
Throws:
MOAApplicationException - An error occurred building the profile.
+
+
+ + + + + + + + +
+Method Detail
+ +

+autoAddCertificates

+
+public boolean autoAddCertificates()
+
+
+
Specified by:
autoAddCertificates in interface iaik.pki.PKIProfile
+
+
+
See Also:
PKIProfile.autoAddCertificates()
+
+
+
+ +

+getRevocationProfile

+
+public iaik.pki.revocation.RevocationProfile getRevocationProfile()
+
+
+
Specified by:
getRevocationProfile in interface iaik.pki.PKIProfile
+
+
+
See Also:
PKIProfile.getRevocationProfile()
+
+
+
+ +

+setRevocationProfile

+
+protected void setRevocationProfile(iaik.pki.revocation.RevocationProfile revocationProfile)
+
+
Sets the RevocationProfile.
+
+
+
+
Parameters:
revocationProfile - The RevocationProfile used for + revocation checking.
+
+
+
+ +

+getTrustStoreProfile

+
+public iaik.pki.store.truststore.TrustStoreProfile getTrustStoreProfile()
+
+
+
Specified by:
getTrustStoreProfile in interface iaik.pki.PKIProfile
+
+
+
See Also:
PKIProfile.getTrustStoreProfile()
+
+
+
+ +

+setTrustStoreProfile

+
+protected void setTrustStoreProfile(iaik.pki.store.truststore.TrustStoreProfile trustStoreProfile)
+
+
Sets the TrustStoreProfile.
+
+
+
+
Parameters:
trustStoreProfile - The TrustStoreProfile.
+
+
+
+ +

+getValidationProfile

+
+public iaik.pki.pathvalidation.ValidationProfile getValidationProfile()
+
+
+
Specified by:
getValidationProfile in interface iaik.pki.PKIProfile
+
+
+
See Also:
PKIProfile.getValidationProfile()
+
+
+
+ +

+setValidationProfile

+
+protected void setValidationProfile(iaik.pki.pathvalidation.ValidationProfile validationProfile)
+
+
Sets the ValidationProfile.
+
+
+
+
Parameters:
validationProfile - The ValidationProfile to set.
+
+
+
+ +

+useAuthorityInfoAccess

+
+public boolean useAuthorityInfoAccess()
+
+
+
Specified by:
useAuthorityInfoAccess in interface iaik.pki.PKIProfile
+
+
+
See Also:
PKIProfile.useAuthorityInfoAccess()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/class-use/PKIProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/class-use/PKIProfileImpl.html new file mode 100644 index 000000000..c40ef02c7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/class-use/PKIProfileImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-frame.html new file mode 100644 index 000000000..630080b8c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki + + + + + +at.gv.egovernment.moa.spss.server.iaik.pki + + + + +
+Classes  + +
+PKIProfileImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-summary.html new file mode 100644 index 000000000..ab0bb1c41 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-summary.html @@ -0,0 +1,107 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.pki +

+ + + + + + + + + +
+Class Summary
PKIProfileImplImplementation of the PKIProfile interface containing + information needed for certificate path validation.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-tree.html new file mode 100644 index 000000000..eb632d6fb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-tree.html @@ -0,0 +1,105 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.pki Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.pki +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl (implements iaik.pki.PKIProfile) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-use.html new file mode 100644 index 000000000..7d0775514 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.pki + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.pki

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.html new file mode 100644 index 000000000..71981a8e5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.html @@ -0,0 +1,374 @@ + + + + + + +MOA SP/SS Server Internal API: Class ValidationProfileImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation +
+Class ValidationProfileImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl
+
+
+
All Implemented Interfaces:
iaik.pki.pathvalidation.ValidationProfile
+
+
+
+
public class ValidationProfileImpl
extends Object
implements iaik.pki.pathvalidation.ValidationProfile
+ +

+An implementation of the ValidationProfile interface providing + information about certificat path validation. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ValidationProfileImpl(ConfigurationProvider config) + +
+          Create a new ValidationProfileImpl object. + +
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleangetInitialAnyPolicyInhibit() + +
+           
+ booleangetInitialExplicitPolicy() + +
+           
+ booleangetInitialPolicyMappingInhibit() + +
+           
+ SetgetInitialPolicySet() + +
+           
+ booleangetNameConstraintsProcessing() + +
+           
+ booleangetPolicyProcessing() + +
+           
+ booleangetRevocationChecking() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ValidationProfileImpl

+
+public ValidationProfileImpl(ConfigurationProvider config)
+
+
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
  • +
+
Parameters:
config - MOA configuration data for additional configuration + information (currently unused).
+
+
+ + + + + + + + +
+Method Detail
+ +

+getInitialAnyPolicyInhibit

+
+public boolean getInitialAnyPolicyInhibit()
+
+
+
Specified by:
getInitialAnyPolicyInhibit in interface iaik.pki.pathvalidation.ValidationProfile
+
+
+
See Also:
ValidationProfile.getInitialAnyPolicyInhibit()
+
+
+
+ +

+getInitialExplicitPolicy

+
+public boolean getInitialExplicitPolicy()
+
+
+
Specified by:
getInitialExplicitPolicy in interface iaik.pki.pathvalidation.ValidationProfile
+
+
+
See Also:
ValidationProfile.getInitialExplicitPolicy()
+
+
+
+ +

+getInitialPolicyMappingInhibit

+
+public boolean getInitialPolicyMappingInhibit()
+
+
+
Specified by:
getInitialPolicyMappingInhibit in interface iaik.pki.pathvalidation.ValidationProfile
+
+
+
See Also:
ValidationProfile.getInitialPolicyMappingInhibit()
+
+
+
+ +

+getInitialPolicySet

+
+public Set getInitialPolicySet()
+
+
+
Specified by:
getInitialPolicySet in interface iaik.pki.pathvalidation.ValidationProfile
+
+
+
See Also:
ValidationProfile.getInitialPolicySet()
+
+
+
+ +

+getPolicyProcessing

+
+public boolean getPolicyProcessing()
+
+
+
Specified by:
getPolicyProcessing in interface iaik.pki.pathvalidation.ValidationProfile
+
+
+
See Also:
ValidationProfile.getPolicyProcessing()
+
+
+
+ +

+getNameConstraintsProcessing

+
+public boolean getNameConstraintsProcessing()
+
+
+
Specified by:
getNameConstraintsProcessing in interface iaik.pki.pathvalidation.ValidationProfile
+
+
+
See Also:
ValidationProfile.getNameConstraintsProcessing()
+
+
+
+ +

+getRevocationChecking

+
+public boolean getRevocationChecking()
+
+
+
Specified by:
getRevocationChecking in interface iaik.pki.pathvalidation.ValidationProfile
+
+
+
See Also:
ValidationProfile.getRevocationChecking()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/class-use/ValidationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/class-use/ValidationProfileImpl.html new file mode 100644 index 000000000..b6331db96 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/class-use/ValidationProfileImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-frame.html new file mode 100644 index 000000000..5b96f69d5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation + + + + + +at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation + + + + +
+Classes  + +
+ValidationProfileImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-summary.html new file mode 100644 index 000000000..8ac98591a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-summary.html @@ -0,0 +1,107 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation +

+ + + + + + + + + +
+Class Summary
ValidationProfileImplAn implementation of the ValidationProfile interface providing + information about certificat path validation.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-tree.html new file mode 100644 index 000000000..297839cfa --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-tree.html @@ -0,0 +1,105 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl (implements iaik.pki.pathvalidation.ValidationProfile) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-use.html new file mode 100644 index 000000000..645deab2d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.html new file mode 100644 index 000000000..c5c5fcc2b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.html @@ -0,0 +1,272 @@ + + + + + + +MOA SP/SS Server Internal API: Class RevocationProfileImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.pki.revocation +
+Class RevocationProfileImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl
+
+
+
All Implemented Interfaces:
iaik.pki.revocation.RevocationProfile
+
+
+
+
public class RevocationProfileImpl
extends Object
implements iaik.pki.revocation.RevocationProfile
+ +

+An implementation of the RevocationProfile interface providing + information about revocation status checking, based on MOA configuration + data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
RevocationProfileImpl(ConfigurationProvider config) + +
+          Create a new RevocationProfileImpl.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ longgetMaxRevocationAge(String distributionPointUri) + +
+           
+ StringgetOCSPRequestHashAlgorithm() + +
+           
+ String[]getPreferredServiceOrder(X509Certificate cert) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+RevocationProfileImpl

+
+public RevocationProfileImpl(ConfigurationProvider config)
+
+
Create a new RevocationProfileImpl.
+
Parameters:
config - The MOA configuration data.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getMaxRevocationAge

+
+public long getMaxRevocationAge(String distributionPointUri)
+
+
+
Specified by:
getMaxRevocationAge in interface iaik.pki.revocation.RevocationProfile
+
+
+
See Also:
RevocationProfile.getMaxRevocationAge(String)
+
+
+
+ +

+getOCSPRequestHashAlgorithm

+
+public String getOCSPRequestHashAlgorithm()
+
+
+
Specified by:
getOCSPRequestHashAlgorithm in interface iaik.pki.revocation.RevocationProfile
+
+
+
See Also:
RevocationProfile.getOCSPRequestHashAlgorithm()
+
+
+
+ +

+getPreferredServiceOrder

+
+public String[] getPreferredServiceOrder(X509Certificate cert)
+
+
+
Specified by:
getPreferredServiceOrder in interface iaik.pki.revocation.RevocationProfile
+
+
+
See Also:
RevocationProfile.getPreferredServiceOrder(java.security.cert.X509Certificate)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/class-use/RevocationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/class-use/RevocationProfileImpl.html new file mode 100644 index 000000000..05205cde7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/class-use/RevocationProfileImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-frame.html new file mode 100644 index 000000000..20643c437 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki.revocation + + + + + +at.gv.egovernment.moa.spss.server.iaik.pki.revocation + + + + +
+Classes  + +
+RevocationProfileImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-summary.html new file mode 100644 index 000000000..ddd5fe949 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-summary.html @@ -0,0 +1,108 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki.revocation + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.pki.revocation +

+ + + + + + + + + +
+Class Summary
RevocationProfileImplAn implementation of the RevocationProfile interface providing + information about revocation status checking, based on MOA configuration + data.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-tree.html new file mode 100644 index 000000000..71215763b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-tree.html @@ -0,0 +1,105 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.pki.revocation Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.pki.revocation +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl (implements iaik.pki.revocation.RevocationProfile) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-use.html new file mode 100644 index 000000000..274a0132d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.pki.revocation + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.pki.revocation

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki.revocation +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.html new file mode 100644 index 000000000..f0b8e76cf --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.html @@ -0,0 +1,365 @@ + + + + + + +MOA SP/SS Server Internal API: Class TrustStoreProfileImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore +
+Class TrustStoreProfileImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl
+
+
+
All Implemented Interfaces:
iaik.servertools.observer.Observable, iaik.pki.store.truststore.TrustStoreProfile
+
+
+
+
public class TrustStoreProfileImpl
extends Object
implements iaik.pki.store.truststore.TrustStoreProfile
+ +

+An implementation of the TrustStoreProfile interface, using data + from the MOA configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
TrustStoreProfile
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TrustStoreProfileImpl(ConfigurationProvider config, + String trustProfileId) + +
+          Create a new TrustStoreProfileImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddObserver(iaik.servertools.observer.Observer observer) + +
+           
+ StringgetType() + +
+           
+ StringgetURI() + +
+           
+ voidnotify(iaik.servertools.observer.NotificationData notificationData) + +
+           
+ booleanremoveObserver(iaik.servertools.observer.Observer observer) + +
+           
+protected  voidsetType(String type) + +
+          Sets the the trust store type.
+protected  voidsetURI(String URI) + +
+          Sets the trust store URI.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TrustStoreProfileImpl

+
+public TrustStoreProfileImpl(ConfigurationProvider config,
+                             String trustProfileId)
+                      throws MOAApplicationException
+
+
Create a new TrustStoreProfileImpl.
+
Parameters:
config - The MOA configuration data, from which trust store + configuration data is read.
trustProfileId - The trust profile id on which this + TrustStoreProfile is based.
Throws:
MOAApplicationException - The trustProfileId could not + be found in the MOA configuration.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getType

+
+public String getType()
+
+
+
Specified by:
getType in interface iaik.pki.store.truststore.TrustStoreProfile
+
+
+
See Also:
TrustStoreProfile.getType()
+
+
+
+ +

+setType

+
+protected void setType(String type)
+
+
Sets the the trust store type.
+
+
+
+
Parameters:
type - The trust store type to set.
+
+
+
+ +

+getURI

+
+public String getURI()
+
+
+
Specified by:
getURI in interface iaik.pki.store.truststore.TrustStoreProfile
+
+
+
See Also:
TrustStoreProfile.getURI()
+
+
+
+ +

+setURI

+
+protected void setURI(String URI)
+
+
Sets the trust store URI.
+
+
+
+
Parameters:
URI - The trust store URI to set.
+
+
+
+ +

+addObserver

+
+public void addObserver(iaik.servertools.observer.Observer observer)
+
+
+
Specified by:
addObserver in interface iaik.servertools.observer.Observable
+
+
+
See Also:
iaik.utils.observer.Observable#addObserver(Observer)
+
+
+
+ +

+removeObserver

+
+public boolean removeObserver(iaik.servertools.observer.Observer observer)
+
+
+
Specified by:
removeObserver in interface iaik.servertools.observer.Observable
+
+
+
See Also:
iaik.utils.observer.Observable#removeObserver(Observer)
+
+
+
+ +

+notify

+
+public void notify(iaik.servertools.observer.NotificationData notificationData)
+
+
+
Specified by:
notify in interface iaik.servertools.observer.Observable
+
+
+
See Also:
iaik.utils.observer.Observable#notify(NotificationData)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/class-use/TrustStoreProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/class-use/TrustStoreProfileImpl.html new file mode 100644 index 000000000..ec67c0861 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/class-use/TrustStoreProfileImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-frame.html new file mode 100644 index 000000000..035482b00 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore + + + + + +at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore + + + + +
+Classes  + +
+TrustStoreProfileImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-summary.html new file mode 100644 index 000000000..d1ed5464e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-summary.html @@ -0,0 +1,107 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore +

+ + + + + + + + + +
+Class Summary
TrustStoreProfileImplAn implementation of the TrustStoreProfile interface, using data + from the MOA configuration.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-tree.html new file mode 100644 index 000000000..ab1f1c986 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-tree.html @@ -0,0 +1,105 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl (implements iaik.pki.store.truststore.TrustStoreProfile) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-use.html new file mode 100644 index 000000000..3fdf84daa --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.html new file mode 100644 index 000000000..9981bba68 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.html @@ -0,0 +1,259 @@ + + + + + + +MOA SP/SS Server Internal API: Class Base64TransformationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class Base64TransformationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Base64Transformation, iaik.server.modules.xml.Transformation
+
+
+
+
public class Base64TransformationImpl
extends TransformationImpl
implements iaik.server.modules.xml.Base64Transformation
+ +

+An implementation of the Base64Transformation + Transformation type. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.Base64Transformation
ALL, BASE64_DECODING
+  + + + + + + + + + + +
+Constructor Summary
Base64TransformationImpl() + +
+          Create a new Base64TransformationImpl.
+  + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this Base64Transformation to another.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
getAlgorithmURI, hashCode, setAlgorithmURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
getAlgorithmURI, hashCode
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Base64TransformationImpl

+
+public Base64TransformationImpl()
+
+
Create a new Base64TransformationImpl.
+
See Also:
Object.Object()
+
+
+ + + + + + + + +
+Method Detail
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this Base64Transformation to another.
+
Specified by:
equals in interface iaik.server.modules.xml.Transformation
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare thisBase64Transformation + to.
Returns:
true, if other is a + Base64Transformation and the algorithm URIs match, otherwise + false.
See Also:
Object.equals(Object)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.html new file mode 100644 index 000000000..921256232 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.html @@ -0,0 +1,274 @@ + + + + + + +MOA SP/SS Server Internal API: Class ByteArrayDataObjectImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class ByteArrayDataObjectImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.BinaryDataObject, iaik.server.modules.xml.DataObject
+
+
+
+
public class ByteArrayDataObjectImpl
extends DataObjectImpl
implements iaik.server.modules.xml.BinaryDataObject
+ +

+A BinaryDataObject encapsulating Base64 data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ByteArrayDataObjectImpl(byte[] bytes) + +
+          Create a new ByteArrayDataObjectImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ InputStreamgetInputStream() + +
+          Return the binary data encoded in the Base64 String as a + stream.
+ voidsetBytes(byte[] bytes) + +
+          Set the Base64 data.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
getMimeType, getReferenceID, getTypeURI, getURI, setMimeType, setReferenceID, setTypeURI, setURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.DataObject
getMimeType, getReferenceID, getTypeURI, getURI
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ByteArrayDataObjectImpl

+
+public ByteArrayDataObjectImpl(byte[] bytes)
+
+
Create a new ByteArrayDataObjectImpl.
+
Parameters:
bytes - The binary data contained in this + BinaryDataObject.
+
+
+ + + + + + + + +
+Method Detail
+ +

+setBytes

+
+public void setBytes(byte[] bytes)
+
+
Set the Base64 data.
+
+
+
+
Parameters:
bytes - The binary data contained in this + BinaryDataObject.
+
+
+
+ +

+getInputStream

+
+public InputStream getInputStream()
+
+
Return the binary data encoded in the Base64 String as a + stream.
+
Specified by:
getInputStream in interface iaik.server.modules.xml.BinaryDataObject
+
+
+
Returns:
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 Also:
BinaryDataObject.getInputStream()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.html new file mode 100644 index 000000000..5abf61ba6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.html @@ -0,0 +1,269 @@ + + + + + + +MOA SP/SS Server Internal API: Class ByteStreamDataObjectImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class ByteStreamDataObjectImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.BinaryDataObject, iaik.server.modules.xml.DataObject
+
+
+
+
public class ByteStreamDataObjectImpl
extends DataObjectImpl
implements iaik.server.modules.xml.BinaryDataObject
+ +

+A BinaryDataObject encapsulating binary data from a stream. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ByteStreamDataObjectImpl(InputStream inputStream) + +
+          Create a new ByteStreamDataObjectImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ InputStreamgetInputStream() + +
+          Return the binary data from this object as a stream.
+ voidsetInputStream(InputStream inputStream) + +
+          Set the input stream from which to read the binary data.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
getMimeType, getReferenceID, getTypeURI, getURI, setMimeType, setReferenceID, setTypeURI, setURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.DataObject
getMimeType, getReferenceID, getTypeURI, getURI
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ByteStreamDataObjectImpl

+
+public ByteStreamDataObjectImpl(InputStream inputStream)
+
+
Create a new ByteStreamDataObjectImpl.
+
Parameters:
inputStream - The stream from which to read the binary data.
+
+
+ + + + + + + + +
+Method Detail
+ +

+setInputStream

+
+public void setInputStream(InputStream inputStream)
+
+
Set the input stream from which to read the binary data.
+
+
+
+
Parameters:
inputStream - The input stream from which to read the binary data.
+
+
+
+ +

+getInputStream

+
+public InputStream getInputStream()
+
+
Return the binary data from this object as a stream.
+
Specified by:
getInputStream in interface iaik.server.modules.xml.BinaryDataObject
+
+
+
Returns:
The stream containing the binary data. Calling this function + repeatedly will always return the same InputStream.
See Also:
BinaryDataObject.getInputStream()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.html new file mode 100644 index 000000000..d7a7916be --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.html @@ -0,0 +1,259 @@ + + + + + + +MOA SP/SS Server Internal API: Class CanonicalizationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class CanonicalizationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Canonicalization, iaik.server.modules.xml.Transformation
+
+
+
+
public class CanonicalizationImpl
extends TransformationImpl
implements iaik.server.modules.xml.Canonicalization
+ +

+An implementation of the CanonicalizationTransform + Transformation type. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.Canonicalization
ALL, CANONICAL_XML, CANONICAL_XML_WITH_COMMENTS, EXCLUSIVE_CANONICAL_XML, EXCLUSIVE_CANONICAL_XML_WITH_COMMENTS
+  + + + + + + + + + + +
+Constructor Summary
CanonicalizationImpl(String algorithmURI) + +
+          Create a new CanonicalizationTransformImpl object.
+  + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this object to another Canonicalization.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
getAlgorithmURI, hashCode, setAlgorithmURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
getAlgorithmURI, hashCode
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CanonicalizationImpl

+
+public CanonicalizationImpl(String algorithmURI)
+
+
Create a new CanonicalizationTransformImpl object.
+
Parameters:
algorithmURI - The canonicalization algorithm URI.
+
+
+ + + + + + + + +
+Method Detail
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this object to another Canonicalization.
+
Specified by:
equals in interface iaik.server.modules.xml.Transformation
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this + Canonicalization to.
Returns:
true, if other is a + Canonicalization and the algorithm URIs match, otherwise + false.
See Also:
Object.equals(Object)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.html new file mode 100644 index 000000000..7f7b863b7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.html @@ -0,0 +1,381 @@ + + + + + + +MOA SP/SS Server Internal API: Class DataObjectImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class DataObjectImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.DataObject
+
+
+
Direct Known Subclasses:
ByteArrayDataObjectImpl, ByteStreamDataObjectImpl, XMLDataObjectImpl, XMLNodeListDataObjectImpl
+
+
+
+
public abstract class DataObjectImpl
extends Object
implements iaik.server.modules.xml.DataObject
+ +

+Abstract base implementation for the classes derived from + DataObject. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
DataObjectImpl() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetMimeType() + +
+           
+ StringgetReferenceID() + +
+           
+ StringgetTypeURI() + +
+           
+ StringgetURI() + +
+           
+ voidsetMimeType(String mimeType) + +
+          Set the mime type.
+ voidsetReferenceID(String referenceID) + +
+          Set the reference ID.
+ voidsetTypeURI(String typeURI) + +
+          Set the type URI.
+ voidsetURI(String URI) + +
+          Set the URI.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DataObjectImpl

+
+public DataObjectImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getMimeType

+
+public String getMimeType()
+
+
+
Specified by:
getMimeType in interface iaik.server.modules.xml.DataObject
+
+
+
See Also:
DataObject.getMimeType()
+
+
+
+ +

+setMimeType

+
+public void setMimeType(String mimeType)
+
+
Set the mime type.
+
+
+
+
Parameters:
mimeType - The mime type to set.
+
+
+
+ +

+getReferenceID

+
+public String getReferenceID()
+
+
+
Specified by:
getReferenceID in interface iaik.server.modules.xml.DataObject
+
+
+
See Also:
DataObject.getReferenceID()
+
+
+
+ +

+setReferenceID

+
+public void setReferenceID(String referenceID)
+
+
Set the reference ID.
+
+
+
+
Parameters:
referenceID - The reference ID.
+
+
+
+ +

+getTypeURI

+
+public String getTypeURI()
+
+
+
Specified by:
getTypeURI in interface iaik.server.modules.xml.DataObject
+
+
+
See Also:
DataObject.getTypeURI()
+
+
+
+ +

+setTypeURI

+
+public void setTypeURI(String typeURI)
+
+
Set the type URI.
+
+
+
+
Parameters:
typeURI - The type URI.
+
+
+
+ +

+getURI

+
+public String getURI()
+
+
+
Specified by:
getURI in interface iaik.server.modules.xml.DataObject
+
+
+
See Also:
DataObject.getURI()
+
+
+
+ +

+setURI

+
+public void setURI(String URI)
+
+
Set the URI.
+
+
+
+
Parameters:
URI - The URI.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.html new file mode 100644 index 000000000..937f3c420 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.html @@ -0,0 +1,256 @@ + + + + + + +MOA SP/SS Server Internal API: Class EnvelopedSignatureTransformationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class EnvelopedSignatureTransformationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.EnvelopedSignatureTransformation, iaik.server.modules.xml.Transformation
+
+
+
+
public class EnvelopedSignatureTransformationImpl
extends TransformationImpl
implements iaik.server.modules.xml.EnvelopedSignatureTransformation
+ +

+An implementation of the EnvelopedSignatureTransformation + Transformation type. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.EnvelopedSignatureTransformation
ALL, ENVELOPED_SIGNATURE
+  + + + + + + + + + + +
+Constructor Summary
EnvelopedSignatureTransformationImpl() + +
+          Create a new EnvelopedSignatureTransformationImpl.
+  + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this object to another EnvelopedSignatureTransformation.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
getAlgorithmURI, hashCode, setAlgorithmURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
getAlgorithmURI, hashCode
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+EnvelopedSignatureTransformationImpl

+
+public EnvelopedSignatureTransformationImpl()
+
+
Create a new EnvelopedSignatureTransformationImpl.
+ + + + + + + + +
+Method Detail
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this object to another EnvelopedSignatureTransformation.
+
Specified by:
equals in interface iaik.server.modules.xml.Transformation
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this + EnvelopedSignatureTransformation to.
Returns:
true, if other is a + EnvelopedSignatureTransformation, otherwise + false.
See Also:
Object.equals(Object)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.html new file mode 100644 index 000000000..df896b7ec --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.html @@ -0,0 +1,316 @@ + + + + + + +MOA SP/SS Server Internal API: Class ExclusiveCanonicalizationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class ExclusiveCanonicalizationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Canonicalization, iaik.server.modules.xml.ExclusiveCanonicalization, iaik.server.modules.xml.Transformation
+
+
+
+
public class ExclusiveCanonicalizationImpl
extends TransformationImpl
implements iaik.server.modules.xml.ExclusiveCanonicalization
+ +

+An implementation of the ExclusiveCanonicalization type + of Transformation. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.ExclusiveCanonicalization
ALL
+ + + + + + + +
Fields inherited from interface iaik.server.modules.xml.Canonicalization
CANONICAL_XML, CANONICAL_XML_WITH_COMMENTS, EXCLUSIVE_CANONICAL_XML, EXCLUSIVE_CANONICAL_XML_WITH_COMMENTS
+  + + + + + + + + + + +
+Constructor Summary
ExclusiveCanonicalizationImpl(String algorithmURI, + List inclusiveNamespacePrefixes) + +
+          Create a new ExclusiveCanonicalizationImpl object.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this object to another CanonicalizationTransform.
+ ListgetInclusiveNamespacePrefixes() + +
+           
+protected  voidsetInclusiveNamespacePrefixes(List inclusiveNamespacePrefixes) + +
+          Sets the namespace prefixes to be processed according to canonical XML.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
getAlgorithmURI, hashCode, setAlgorithmURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
getAlgorithmURI, hashCode
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ExclusiveCanonicalizationImpl

+
+public ExclusiveCanonicalizationImpl(String algorithmURI,
+                                     List inclusiveNamespacePrefixes)
+
+
Create a new ExclusiveCanonicalizationImpl object.
+
Parameters:
algorithmURI - The exclusive canonicalization algorithm URI.
inclusiveNamespacePrefixes - The namespace prefixes to be processed + according to canonical XML.
+
+
+ + + + + + + + +
+Method Detail
+ +

+setInclusiveNamespacePrefixes

+
+protected void setInclusiveNamespacePrefixes(List inclusiveNamespacePrefixes)
+
+
Sets the namespace prefixes to be processed according to canonical XML.
+
+
+
+
Parameters:
inclusiveNamespacePrefixes - The prefixes of the namespaces to treat + according to canonical XML.
+
+
+
+ +

+getInclusiveNamespacePrefixes

+
+public List getInclusiveNamespacePrefixes()
+
+
+
Specified by:
getInclusiveNamespacePrefixes in interface iaik.server.modules.xml.ExclusiveCanonicalization
+
+
+
See Also:
ExclusiveCanonicalization.getInclusiveNamespacePrefixes()
+
+
+
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this object to another CanonicalizationTransform.
+
Specified by:
equals in interface iaik.server.modules.xml.Transformation
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this + ExclusiveCanonicalization to.
Returns:
true, if other is a + ExclusiveCanonicalization and the algorithm URIs match, + otherwise false.
See Also:
Object.equals(Object)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.html new file mode 100644 index 000000000..d9d5df5a2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.html @@ -0,0 +1,226 @@ + + + + + + +MOA SP/SS Server Internal API: Class SigningTimeImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class SigningTimeImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Property, iaik.server.modules.xml.SigningTime
+
+
+
+
public class SigningTimeImpl
extends Object
implements iaik.server.modules.xml.SigningTime
+ +

+An implementation of the SigningTime Property. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SigningTimeImpl(Date signingTime) + +
+          Create a new SigningTimeImpl.
+  + + + + + + + + + + + +
+Method Summary
+ DategetSigningTime() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SigningTimeImpl

+
+public SigningTimeImpl(Date signingTime)
+
+
Create a new SigningTimeImpl.
+
Parameters:
signingTime - The signing time.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getSigningTime

+
+public Date getSigningTime()
+
+
+
Specified by:
getSigningTime in interface iaik.server.modules.xml.SigningTime
+
+
+
See Also:
SigningTime.getSigningTime()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.html new file mode 100644 index 000000000..f68befa1c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.html @@ -0,0 +1,281 @@ + + + + + + +MOA SP/SS Server Internal API: Class TransformationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class TransformationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Transformation
+
+
+
Direct Known Subclasses:
Base64TransformationImpl, CanonicalizationImpl, EnvelopedSignatureTransformationImpl, ExclusiveCanonicalizationImpl, XPath2TransformationImpl, XPathTransformationImpl, XSLTTransformationImpl
+
+
+
+
public abstract class TransformationImpl
extends Object
implements iaik.server.modules.xml.Transformation
+ +

+Base implementation class for Transformation derived classes. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TransformationImpl() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetAlgorithmURI() + +
+           
+ inthashCode() + +
+          Returns the hash code of the algorithm URI.
+protected  voidsetAlgorithmURI(String algorithmURI) + +
+          Sets the algorithm URI.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
equals
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TransformationImpl

+
+public TransformationImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getAlgorithmURI

+
+public String getAlgorithmURI()
+
+
+
Specified by:
getAlgorithmURI in interface iaik.server.modules.xml.Transformation
+
+
+
See Also:
Transformation.getAlgorithmURI()
+
+
+
+ +

+setAlgorithmURI

+
+protected void setAlgorithmURI(String algorithmURI)
+
+
Sets the algorithm URI.
+
+
+
+
Parameters:
algorithmURI - The algorithm URI to set.
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
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.
+
Specified by:
hashCode in interface iaik.server.modules.xml.Transformation
Overrides:
hashCode in class Object
+
+
+
See Also:
Object.hashCode()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.html new file mode 100644 index 000000000..02ab2b6ad --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.html @@ -0,0 +1,269 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLDataObjectImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class XMLDataObjectImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.DataObject, iaik.server.modules.xml.XMLDataObject
+
+
+
+
public class XMLDataObjectImpl
extends DataObjectImpl
implements iaik.server.modules.xml.XMLDataObject
+ +

+A DataObject containing a single DOM element. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLDataObjectImpl(org.w3c.dom.Element element) + +
+          Create a new XMLDataObjectImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ org.w3c.dom.ElementgetElement() + +
+           
+ voidsetElement(org.w3c.dom.Element element) + +
+          Set the DOM element contained in this XMLDataObject.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
getMimeType, getReferenceID, getTypeURI, getURI, setMimeType, setReferenceID, setTypeURI, setURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.DataObject
getMimeType, getReferenceID, getTypeURI, getURI
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLDataObjectImpl

+
+public XMLDataObjectImpl(org.w3c.dom.Element element)
+
+
Create a new XMLDataObjectImpl.
+
Parameters:
element - The DOM element contained in this + XMLDataObject.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getElement

+
+public org.w3c.dom.Element getElement()
+
+
+
Specified by:
getElement in interface iaik.server.modules.xml.XMLDataObject
+
+
+
See Also:
XMLDataObject.getElement()
+
+
+
+ +

+setElement

+
+public void setElement(org.w3c.dom.Element element)
+
+
Set the DOM element contained in this XMLDataObject.
+
+
+
+
Parameters:
element - The DOM element to set.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.html new file mode 100644 index 000000000..8f8f3f49f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.html @@ -0,0 +1,271 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLNodeListDataObjectImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class XMLNodeListDataObjectImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.DataObject, iaik.server.modules.xml.XMLNodeListDataObject
+
+
+
+
public class XMLNodeListDataObjectImpl
extends DataObjectImpl
implements iaik.server.modules.xml.XMLNodeListDataObject
+ +

+A DataObject containing a list of DOM nodes. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLNodeListDataObjectImpl(org.w3c.dom.NodeList nodeList) + +
+          Create a new XMLNodeListDataObjectImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ org.w3c.dom.NodeListgetNodeList() + +
+           
+ voidsetNodeList(org.w3c.dom.NodeList nodeList) + +
+          Set the list of DOM nodes contained in this + XMLNodeListDataObject.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl
getMimeType, getReferenceID, getTypeURI, getURI, setMimeType, setReferenceID, setTypeURI, setURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.DataObject
getMimeType, getReferenceID, getTypeURI, getURI
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLNodeListDataObjectImpl

+
+public XMLNodeListDataObjectImpl(org.w3c.dom.NodeList nodeList)
+
+
Create a new XMLNodeListDataObjectImpl.
+
Parameters:
nodeList - The list of DOM nodes contained in this + XMLNodeListDataObject.
+
+
+ + + + + + + + +
+Method Detail
+ +

+setNodeList

+
+public void setNodeList(org.w3c.dom.NodeList nodeList)
+
+
Set the list of DOM nodes contained in this + XMLNodeListDataObject.
+
+
+
+
Parameters:
nodeList - The list of DOM nodes to set.
+
+
+
+ +

+getNodeList

+
+public org.w3c.dom.NodeList getNodeList()
+
+
+
Specified by:
getNodeList in interface iaik.server.modules.xml.XMLNodeListDataObject
+
+
+
See Also:
XMLNodeListDataObject.getNodeList()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.html new file mode 100644 index 000000000..be34e7530 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.html @@ -0,0 +1,249 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class XMLSignatureImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.XMLSignature
+
+
+
+
public class XMLSignatureImpl
extends Object
implements iaik.server.modules.xml.XMLSignature
+ +

+An object containing an XMLDsig signature in the form of a + dsig:Signature DOM element. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLSignatureImpl(org.w3c.dom.Element element) + +
+          Create a new XMLSignatureImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ org.w3c.dom.ElementgetElement() + +
+           
+ voidsetElement(org.w3c.dom.Element element) + +
+          Set the dsig:Signature DOM element.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureImpl

+
+public XMLSignatureImpl(org.w3c.dom.Element element)
+
+
Create a new XMLSignatureImpl.
+
Parameters:
element - The dsig:Signature DOM element.
+
+
+ + + + + + + + +
+Method Detail
+ +

+setElement

+
+public void setElement(org.w3c.dom.Element element)
+
+
Set the dsig:Signature DOM element.
+
+
+
+
Parameters:
element - The dsig:Signature element to set.
+
+
+
+ +

+getElement

+
+public org.w3c.dom.Element getElement()
+
+
+
Specified by:
getElement in interface iaik.server.modules.xml.XMLSignature
+
+
+
See Also:
XMLSignature.getElement()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.html new file mode 100644 index 000000000..fb00b6bd2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.html @@ -0,0 +1,398 @@ + + + + + + +MOA SP/SS Server Internal API: Class XPath2FilterImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class XPath2FilterImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.XPath2Transformation.XPath2Filter
+
+
+
+
public class XPath2FilterImpl
extends Object
implements iaik.server.modules.xml.XPath2Transformation.XPath2Filter
+ +

+An object encapsulating an XPath-Filter2 expression. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.XPath2Transformation.XPath2Filter
ALL, INTERSECTION, SUBTRACTION, UNION
+  + + + + + + + + + + +
+Constructor Summary
XPath2FilterImpl(String filterType, + String xPathExpression, + Map namespaceDeclarations) + +
+          Create a new XPath2FilterImpl object.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this object to another.
+ StringgetFilterType() + +
+           
+ MapgetNamespaceDeclarations() + +
+           
+ StringgetXPathExpression() + +
+           
+ inthashCode() + +
+           
+protected  voidsetFilterType(String filterType) + +
+          Set the filter type.
+protected  voidsetNamespaceDeclarations(Map namespaceDeclarations) + +
+          Set the namespace declarations.
+protected  voidsetXPathExpression(String xPathExpression) + +
+          Set the XPath expression.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XPath2FilterImpl

+
+public XPath2FilterImpl(String filterType,
+                        String xPathExpression,
+                        Map namespaceDeclarations)
+
+
Create a new XPath2FilterImpl object.
+
Parameters:
filterType - The type of filter. Must be one of the filter type + constants declared in iaik.server.modules.xml.XPath2Transformation.XPath2Filter
xPathExpression - The XPath expression belonging to this filter.
namespaceDeclarations - The namespace declarations visible for this + XPath2Filter.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getFilterType

+
+public String getFilterType()
+
+
+
Specified by:
getFilterType in interface iaik.server.modules.xml.XPath2Transformation.XPath2Filter
+
+
+
See Also:
XPath2Transformation.XPath2Filter.getFilterType()
+
+
+
+ +

+setFilterType

+
+protected void setFilterType(String filterType)
+
+
Set the filter type.
+
+
+
+
Parameters:
filterType - The filter type to set.
+
+
+
+ +

+getXPathExpression

+
+public String getXPathExpression()
+
+
+
Specified by:
getXPathExpression in interface iaik.server.modules.xml.XPath2Transformation.XPath2Filter
+
+
+
See Also:
XPath2Transformation.XPath2Filter.getXPathExpression()
+
+
+
+ +

+setXPathExpression

+
+protected void setXPathExpression(String xPathExpression)
+
+
Set the XPath expression.
+
+
+
+
Parameters:
xPathExpression - The XPath expression to set.
+
+
+
+ +

+getNamespaceDeclarations

+
+public Map getNamespaceDeclarations()
+
+
+
Specified by:
getNamespaceDeclarations in interface iaik.server.modules.xml.XPath2Transformation.XPath2Filter
+
+
+
See Also:
XPath2Transformation.XPath2Filter.getNamespaceDeclarations()
+
+
+
+ +

+setNamespaceDeclarations

+
+protected void setNamespaceDeclarations(Map namespaceDeclarations)
+
+
Set the namespace declarations.
+
+
+
+
Parameters:
namespaceDeclarations - The mapping between namespace prefixes and + their associated URI.
+
+
+
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this object to another.
+
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this XPath2Filter to.
Returns:
true, if other is a + XPath2Filter and the filter types match and the XPath + expressions match. Otherwise false is returned.
See Also:
Object.equals(java.lang.Object)
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
+
Overrides:
hashCode in class Object
+
+
+
See Also:
Object.hashCode()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.html new file mode 100644 index 000000000..087e1cb83 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.html @@ -0,0 +1,339 @@ + + + + + + +MOA SP/SS Server Internal API: Class XPath2TransformationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class XPath2TransformationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Transformation, iaik.server.modules.xml.XPath2Transformation
+
+
+
+
public class XPath2TransformationImpl
extends TransformationImpl
implements iaik.server.modules.xml.XPath2Transformation
+ +

+An object encapsulating a Transformation containing several + XPath-Filter2 expressions. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + +
Inner classes inherited from class iaik.server.modules.xml.XPath2Transformation
iaik.server.modules.xml.XPath2Transformation.XPath2Filter
+  + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.XPath2Transformation
ALL, XPATH2
+  + + + + + + + + + + +
+Constructor Summary
XPath2TransformationImpl() + +
+          Create a new XPath2TransformationImpl. + +
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddXPathFilter(at.gv.egovernment.moa.spss.server.iaik.xml.XPath2Filter filter) + +
+          Add an XPath-Filter2 expression to the list of filters.
+ booleanequals(Object other) + +
+          Compare this XPath2Transformation to another.
+ ListgetXPathFilters() + +
+           
+ inthashCode() + +
+          Returns the hash code of the algorithm URI.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
getAlgorithmURI, setAlgorithmURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
getAlgorithmURI
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XPath2TransformationImpl

+
+public XPath2TransformationImpl()
+
+
Create a new XPath2TransformationImpl. + + The list of XPath-Filter2 expression is initially empty.
+ + + + + + + + +
+Method Detail
+ +

+getXPathFilters

+
+public List getXPathFilters()
+
+
+
Specified by:
getXPathFilters in interface iaik.server.modules.xml.XPath2Transformation
+
+
+
See Also:
XPath2Transformation.getXPathFilters()
+
+
+
+ +

+addXPathFilter

+
+public void addXPathFilter(at.gv.egovernment.moa.spss.server.iaik.xml.XPath2Filter filter)
+
+
Add an XPath-Filter2 expression to the list of filters.
+
+
+
+
Parameters:
filter - The filter to add.
+
+
+
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this XPath2Transformation to another.
+
Specified by:
equals in interface iaik.server.modules.xml.Transformation
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this + XPath2Transformation to.
Returns:
true, if other is an + XPath2Transformation and getXPathFilters() equals + other.getXPathFilters(). Otherwise false is + returned.
See Also:
Object.equals(Object)
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
Description copied from class: TransformationImpl
+
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.
+
Specified by:
hashCode in interface iaik.server.modules.xml.Transformation
Overrides:
hashCode in class TransformationImpl
+
+
+
See Also:
Object.hashCode()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.html new file mode 100644 index 000000000..adfb1eb49 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.html @@ -0,0 +1,379 @@ + + + + + + +MOA SP/SS Server Internal API: Class XPathTransformationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class XPathTransformationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Transformation, iaik.server.modules.xml.XPathTransformation
+
+
+
+
public class XPathTransformationImpl
extends TransformationImpl
implements iaik.server.modules.xml.XPathTransformation
+ +

+A Transformation containing an XPath expression. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.XPathTransformation
ALL, XPATH
+  + + + + + + + + + + +
+Constructor Summary
XPathTransformationImpl(String xPathExpression, + Map namespaceDeclarations) + +
+          Create a new XPathTransformationImpl. + +
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this XPathTransformation to another.
+ MapgetNamespaceDeclarations() + +
+           
+ StringgetXPathExpression() + +
+           
+ inthashCode() + +
+          Returns the hash code of the algorithm URI.
+protected  voidsetNamespaceDeclarations(Map namespaceDeclarations) + +
+          Set the namespace declarations.
+protected  voidsetXPathExpression(String xPathExpression) + +
+          Set the XPath expression.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
getAlgorithmURI, setAlgorithmURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
getAlgorithmURI
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XPathTransformationImpl

+
+public XPathTransformationImpl(String xPathExpression,
+                               Map namespaceDeclarations)
+
+
Create a new XPathTransformationImpl. + + The namespace declarations are initialized empty.
+
Parameters:
xPathExpression - The XPath expression this object will contain.
namespaceDeclarations - The namespace declarations visible for this + XPath.
+
+
+ + + + + + + + +
+Method Detail
+ +

+setXPathExpression

+
+protected void setXPathExpression(String xPathExpression)
+
+
Set the XPath expression.
+
+
+
+
Parameters:
xPathExpression - The XPath expression.
+
+
+
+ +

+getXPathExpression

+
+public String getXPathExpression()
+
+
+
Specified by:
getXPathExpression in interface iaik.server.modules.xml.XPathTransformation
+
+
+
See Also:
XPathTransformation.getXPathExpression()
+
+
+
+ +

+getNamespaceDeclarations

+
+public Map getNamespaceDeclarations()
+
+
+
Specified by:
getNamespaceDeclarations in interface iaik.server.modules.xml.XPathTransformation
+
+
+
See Also:
XPathTransformation.getNamespaceDeclarations()
+
+
+
+ +

+setNamespaceDeclarations

+
+protected void setNamespaceDeclarations(Map namespaceDeclarations)
+
+
Set the namespace declarations.
+
+
+
+
Parameters:
namespaceDeclarations - The mapping between namespace prefixes and + their associated URI.
+
+
+
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this XPathTransformation to another.
+
Specified by:
equals in interface iaik.server.modules.xml.Transformation
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this + XPathTransformation to.
Returns:
true, if other is an + XPathTransformation and if this object contains the same XPath + expression as other. Otherwise false is returned.
See Also:
Object.equals(Object)
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
Description copied from class: TransformationImpl
+
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.
+
Specified by:
hashCode in interface iaik.server.modules.xml.Transformation
Overrides:
hashCode in class TransformationImpl
+
+
+
See Also:
Object.hashCode()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.html new file mode 100644 index 000000000..bcfccd130 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.html @@ -0,0 +1,328 @@ + + + + + + +MOA SP/SS Server Internal API: Class XSLTTransformationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xml +
+Class XSLTTransformationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
+        |
+        +--at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xml.Transformation, iaik.server.modules.xml.XSLTTransformation
+
+
+
+
public class XSLTTransformationImpl
extends TransformationImpl
implements iaik.server.modules.xml.XSLTTransformation
+ +

+A Transformation containing an XSLT transformation. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from interface iaik.server.modules.xml.XSLTTransformation
ALL, XSLT
+  + + + + + + + + + + +
+Constructor Summary
XSLTTransformationImpl(org.w3c.dom.Element styleSheetElement) + +
+          Create a new XSLTTransformationImpl object.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object other) + +
+          Compare this XSLTTransformation to another.
+ org.w3c.dom.ElementgetStylesheetElement() + +
+           
+ inthashCode() + +
+          Returns the hash code of the algorithm URI.
+protected  voidsetStyleSheetElement(org.w3c.dom.Element styleSheetElement) + +
+          Set the XSLT stylesheet element.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl
getAlgorithmURI, setAlgorithmURI
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface iaik.server.modules.xml.Transformation
getAlgorithmURI
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XSLTTransformationImpl

+
+public XSLTTransformationImpl(org.w3c.dom.Element styleSheetElement)
+
+
Create a new XSLTTransformationImpl object.
+
Parameters:
styleSheetElement - The XSLT stylesheet element.
+
+
+ + + + + + + + +
+Method Detail
+ +

+setStyleSheetElement

+
+protected void setStyleSheetElement(org.w3c.dom.Element styleSheetElement)
+
+
Set the XSLT stylesheet element.
+
+
+
+
Parameters:
styleSheetElement - The XSLT stylesheet element to set.
+
+
+
+ +

+getStylesheetElement

+
+public org.w3c.dom.Element getStylesheetElement()
+
+
+
Specified by:
getStylesheetElement in interface iaik.server.modules.xml.XSLTTransformation
+
+
+
See Also:
XSLTTransformation.getStylesheetElement()
+
+
+
+ +

+equals

+
+public boolean equals(Object other)
+
+
Compare this XSLTTransformation to another.
+
Specified by:
equals in interface iaik.server.modules.xml.Transformation
Overrides:
equals in class Object
+
+
+
Parameters:
other - The object to compare this + XSLTTransformation to.
Returns:
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 Also:
Object.equals(Object)
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
Description copied from class: TransformationImpl
+
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.
+
Specified by:
hashCode in interface iaik.server.modules.xml.Transformation
Overrides:
hashCode in class TransformationImpl
+
+
+
See Also:
Object.hashCode()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/Base64TransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/Base64TransformationImpl.html new file mode 100644 index 000000000..edaf8e4f8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/Base64TransformationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteArrayDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteArrayDataObjectImpl.html new file mode 100644 index 000000000..52b470904 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteArrayDataObjectImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteStreamDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteStreamDataObjectImpl.html new file mode 100644 index 000000000..7d65f65b7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ByteStreamDataObjectImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/CanonicalizationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/CanonicalizationImpl.html new file mode 100644 index 000000000..d634aeea1 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/CanonicalizationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/DataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/DataObjectImpl.html new file mode 100644 index 000000000..181874efe --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/DataObjectImpl.html @@ -0,0 +1,155 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl

+
+ + + + + + + + + +
+Packages that use DataObjectImpl
at.gv.egovernment.moa.spss.server.iaik.xml  
+  +

+ + + + + +
+Uses of DataObjectImpl in at.gv.egovernment.moa.spss.server.iaik.xml
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Subclasses of DataObjectImpl in at.gv.egovernment.moa.spss.server.iaik.xml
+ classByteArrayDataObjectImpl + +
+          A BinaryDataObject encapsulating Base64 data.
+ classByteStreamDataObjectImpl + +
+          A BinaryDataObject encapsulating binary data from a stream.
+ classXMLDataObjectImpl + +
+          A DataObject containing a single DOM element.
+ classXMLNodeListDataObjectImpl + +
+          A DataObject containing a list of DOM nodes.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/EnvelopedSignatureTransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/EnvelopedSignatureTransformationImpl.html new file mode 100644 index 000000000..4148f82c0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/EnvelopedSignatureTransformationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ExclusiveCanonicalizationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ExclusiveCanonicalizationImpl.html new file mode 100644 index 000000000..1b15cb07f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/ExclusiveCanonicalizationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/SigningTimeImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/SigningTimeImpl.html new file mode 100644 index 000000000..71c5212fc --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/SigningTimeImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/TransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/TransformationImpl.html new file mode 100644 index 000000000..4dd0b1d89 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/TransformationImpl.html @@ -0,0 +1,184 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl

+
+ + + + + + + + + +
+Packages that use TransformationImpl
at.gv.egovernment.moa.spss.server.iaik.xml  
+  +

+ + + + + +
+Uses of TransformationImpl in at.gv.egovernment.moa.spss.server.iaik.xml
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Subclasses of TransformationImpl in at.gv.egovernment.moa.spss.server.iaik.xml
+ classBase64TransformationImpl + +
+          An implementation of the Base64Transformation + Transformation type.
+ classCanonicalizationImpl + +
+          An implementation of the CanonicalizationTransform + Transformation type.
+ classEnvelopedSignatureTransformationImpl + +
+          An implementation of the EnvelopedSignatureTransformation + Transformation type.
+ classExclusiveCanonicalizationImpl + +
+          An implementation of the ExclusiveCanonicalization type + of Transformation.
+ classXPath2TransformationImpl + +
+          An object encapsulating a Transformation containing several + XPath-Filter2 expressions.
+ classXPathTransformationImpl + +
+          A Transformation containing an XPath expression.
+ classXSLTTransformationImpl + +
+          A Transformation containing an XSLT transformation.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLDataObjectImpl.html new file mode 100644 index 000000000..add15c8c6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLDataObjectImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLNodeListDataObjectImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLNodeListDataObjectImpl.html new file mode 100644 index 000000000..a76dc43a1 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLNodeListDataObjectImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLSignatureImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLSignatureImpl.html new file mode 100644 index 000000000..978880abf --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XMLSignatureImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2FilterImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2FilterImpl.html new file mode 100644 index 000000000..4c2a499f0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2FilterImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2TransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2TransformationImpl.html new file mode 100644 index 000000000..bfa73a36d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPath2TransformationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPathTransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPathTransformationImpl.html new file mode 100644 index 000000000..456f7a98a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XPathTransformationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XSLTTransformationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XSLTTransformationImpl.html new file mode 100644 index 000000000..c688f3b5f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/class-use/XSLTTransformationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-frame.html new file mode 100644 index 000000000..ec70ebe61 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-frame.html @@ -0,0 +1,56 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.xml + + + + + +at.gv.egovernment.moa.spss.server.iaik.xml + + + + +
+Classes  + +
+Base64TransformationImpl +
+ByteArrayDataObjectImpl +
+ByteStreamDataObjectImpl +
+CanonicalizationImpl +
+DataObjectImpl +
+EnvelopedSignatureTransformationImpl +
+ExclusiveCanonicalizationImpl +
+SigningTimeImpl +
+TransformationImpl +
+XMLDataObjectImpl +
+XMLNodeListDataObjectImpl +
+XMLSignatureImpl +
+XPath2FilterImpl +
+XPath2TransformationImpl +
+XPathTransformationImpl +
+XSLTTransformationImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-summary.html new file mode 100644 index 000000000..e325013af --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-summary.html @@ -0,0 +1,173 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.xml + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.xml +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
Base64TransformationImplAn implementation of the Base64Transformation + Transformation type.
ByteArrayDataObjectImplA BinaryDataObject encapsulating Base64 data.
ByteStreamDataObjectImplA BinaryDataObject encapsulating binary data from a stream.
CanonicalizationImplAn implementation of the CanonicalizationTransform + Transformation type.
DataObjectImplAbstract base implementation for the classes derived from + DataObject.
EnvelopedSignatureTransformationImplAn implementation of the EnvelopedSignatureTransformation + Transformation type.
ExclusiveCanonicalizationImplAn implementation of the ExclusiveCanonicalization type + of Transformation.
SigningTimeImplAn implementation of the SigningTime Property.
TransformationImplBase implementation class for Transformation derived classes.
XMLDataObjectImplA DataObject containing a single DOM element.
XMLNodeListDataObjectImplA DataObject containing a list of DOM nodes.
XMLSignatureImplAn object containing an XMLDsig signature in the form of a + dsig:Signature DOM element.
XPath2FilterImplAn object encapsulating an XPath-Filter2 expression.
XPath2TransformationImplAn object encapsulating a Transformation containing several + XPath-Filter2 expressions.
XPathTransformationImplA Transformation containing an XPath expression.
XSLTTransformationImplA Transformation containing an XSLT transformation.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-tree.html new file mode 100644 index 000000000..0551baa6d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-tree.html @@ -0,0 +1,124 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.xml Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.xml +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl (implements iaik.server.modules.xml.DataObject) +
        +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl (implements iaik.server.modules.xml.BinaryDataObject) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl (implements iaik.server.modules.xml.BinaryDataObject) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl (implements iaik.server.modules.xml.XMLDataObject) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl (implements iaik.server.modules.xml.XMLNodeListDataObject) +
      +
    • class at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl (implements iaik.server.modules.xml.SigningTime) +
    • class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl (implements iaik.server.modules.xml.Transformation) +
        +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl (implements iaik.server.modules.xml.Base64Transformation) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl (implements iaik.server.modules.xml.Canonicalization) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl (implements iaik.server.modules.xml.EnvelopedSignatureTransformation) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl (implements iaik.server.modules.xml.ExclusiveCanonicalization) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl (implements iaik.server.modules.xml.XPath2Transformation) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl (implements iaik.server.modules.xml.XPathTransformation) +
      • class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl (implements iaik.server.modules.xml.XSLTTransformation) +
      +
    • class at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl (implements iaik.server.modules.xml.XMLSignature) +
    • class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl (implements iaik.server.modules.xml.XPath2Transformation.XPath2Filter) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-use.html new file mode 100644 index 000000000..393bda0df --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xml/package-use.html @@ -0,0 +1,128 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.xml + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.xml

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss.server.iaik.xml
at.gv.egovernment.moa.spss.server.iaik.xml  
+  +

+ + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.iaik.xml used by at.gv.egovernment.moa.spss.server.iaik.xml
DataObjectImpl + +
+          Abstract base implementation for the classes derived from + DataObject.
TransformationImpl + +
+          Base implementation class for Transformation derived classes.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.html new file mode 100644 index 000000000..b8ad095b7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.html @@ -0,0 +1,500 @@ + + + + + + +MOA SP/SS Server Internal API: Class DataObjectTreatmentImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xmlsign +
+Class DataObjectTreatmentImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
+
public class DataObjectTreatmentImpl
extends Object
implements iaik.server.modules.xmlsign.DataObjectTreatment
+ +

+An object encapsulating how to treat an associated DataObject + when creating a signature. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
DataObjectTreatmentImpl(IdGenerator objIdGen) + +
+          Create a new DataObjectTreatmentImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetDsigDataObjectID() + +
+           
+ StringgetFinalContentType() + +
+           
+ StringgetHashAlgorithmName() + +
+           
+ ListgetTransformationList() + +
+           
+ ListgetTransformationSupplements() + +
+           
+ booleanisIncludedInSignature() + +
+           
+ booleanisReferenceInManifest() + +
+           
+ voidsetFinalContentType(String finalContentType) + +
+          Sets the final content type.
+ voidsetHashAlgorithmName(String hashAlgorithmName) + +
+          Sets the hash algorithm name.
+ voidsetIncludedInSignature(boolean includedInSignature) + +
+          Sets whether the associated DataObject is to be included in + the signature.
+ voidsetReferenceInManifest(boolean referenceInManifest) + +
+          Sets whether the associated DataObject is + to be included in the dsig:Manifest.
+ voidsetTransformationList(List transformationList) + +
+          Set the list of transformations for the associated DataObject.
+ voidsetTransformationSupplements(List transformationSupplements) + +
+          Sets the transformation supplements for the associated + DataObject.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DataObjectTreatmentImpl

+
+public DataObjectTreatmentImpl(IdGenerator objIdGen)
+
+
Create a new DataObjectTreatmentImpl.
+
Parameters:
objIdGen - The IdGenerator for unique object IDs.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getFinalContentType

+
+public String getFinalContentType()
+
+
+
Specified by:
getFinalContentType in interface iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
See Also:
DataObjectTreatment.getFinalContentType()
+
+
+
+ +

+setFinalContentType

+
+public void setFinalContentType(String finalContentType)
+
+
Sets the final content type.
+
+
+
+
Parameters:
finalContentType - The final content type to set (a MIME-type type of + String).
+
+
+
+ +

+getHashAlgorithmName

+
+public String getHashAlgorithmName()
+
+
+
Specified by:
getHashAlgorithmName in interface iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
See Also:
DataObjectTreatment.getHashAlgorithmName()
+
+
+
+ +

+setHashAlgorithmName

+
+public void setHashAlgorithmName(String hashAlgorithmName)
+
+
Sets the hash algorithm name.
+
+
+
+
Parameters:
hashAlgorithmName - The hash algorithm name to set.
+
+
+
+ +

+isIncludedInSignature

+
+public boolean isIncludedInSignature()
+
+
+
Specified by:
isIncludedInSignature in interface iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
See Also:
DataObjectTreatment.isIncludedInSignature()
+
+
+
+ +

+setIncludedInSignature

+
+public void setIncludedInSignature(boolean includedInSignature)
+
+
Sets whether the associated DataObject is to be included in + the signature.
+
+
+
+
Parameters:
includedInSignature - If true, the associated + DataObject will be included in the signature, otherwise not.
+
+
+
+ +

+isReferenceInManifest

+
+public boolean isReferenceInManifest()
+
+
+
Specified by:
isReferenceInManifest in interface iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
See Also:
DataObjectTreatment.isReferenceInManifest()
+
+
+
+ +

+setReferenceInManifest

+
+public void setReferenceInManifest(boolean referenceInManifest)
+
+
Sets whether the associated DataObject is + to be included in the dsig:Manifest.
+
+
+
+
Parameters:
referenceInManifest - If true, the associated + DataObject will be included in the manifest, otherwise not.
+
+
+
+ +

+getTransformationList

+
+public List getTransformationList()
+
+
+
Specified by:
getTransformationList in interface iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
See Also:
DataObjectTreatment.getTransformationList()
+
+
+
+ +

+setTransformationList

+
+public void setTransformationList(List transformationList)
+
+
Set the list of transformations for the associated DataObject.
+
+
+
+
Parameters:
transformationList - The transformations to set.
+
+
+
+ +

+getTransformationSupplements

+
+public List getTransformationSupplements()
+
+
+
Specified by:
getTransformationSupplements in interface iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
See Also:
DataObjectTreatment.getTransformationSupplements()
+
+
+
+ +

+setTransformationSupplements

+
+public void setTransformationSupplements(List transformationSupplements)
+
+
Sets the transformation supplements for the associated + DataObject.
+
+
+
+
Parameters:
transformationSupplements - The transformation supplements to set.
+
+
+
+ +

+getDsigDataObjectID

+
+public String getDsigDataObjectID()
+
+
+
Specified by:
getDsigDataObjectID in interface iaik.server.modules.xmlsign.DataObjectTreatment
+
+
+
See Also:
DataObjectTreatment.getDsigDataObjectID()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.html new file mode 100644 index 000000000..b3ab02b3e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.html @@ -0,0 +1,678 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureCreationProfileImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xmlsign +
+Class XMLSignatureCreationProfileImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
+
public class XMLSignatureCreationProfileImpl
extends Object
implements iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+ +

+An object providing auxiliary information for creating an XML signature. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLSignatureCreationProfileImpl(int createProfileCount, + Set reservedIDs) + +
+          Create a new XMLSignatureCreationProfileImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ ListgetDataObjectTreatmentList() + +
+           
+ StringgetDsigManifestID() + +
+           
+ SetgetKeySet() + +
+           
+ StringgetSecurityLayerManifestID() + +
+           
+ StringgetSecurityLayerManifestTypeURI() + +
+           
+ StringgetSignatureAlgorithmName(iaik.server.modules.keys.KeyEntryID selectedKeyID) + +
+           
+ StringgetSignatureID() + +
+           
+ iaik.server.modules.xmlsign.XMLSignatureInsertionLocationgetSignatureInsertionLocation() + +
+           
+ StringgetSignatureStructureType() + +
+           
+ iaik.server.modules.xml.CanonicalizationgetSignedInfoCanonicalization() + +
+           
+ ListgetSignedProperties() + +
+           
+ StringgetSignedPropertiesID() + +
+           
+ booleanisSecurityLayerConform() + +
+           
+ voidsetDataObjectTreatmentList(List dataObjectTreatmentList) + +
+          Sets the list of DataObjectTreatments.
+ voidsetKeySet(Set keySet) + +
+          Set the set of KeyEntryIDs which may be used for signature + creation.
+ voidsetSecurityLayerConform(boolean securityLayerConform) + +
+          Sets the security layer conformity.
+ voidsetSecurityLayerManifestTypeURI(String securityLayerManifestTypeURI) + +
+          Set the SecurityLayerManifestTypeURI.
+ voidsetSignatureInsertionLocation(iaik.server.modules.xmlsign.XMLSignatureInsertionLocation signatureInsertionLocation) + +
+          Set the location where the signature is to be inserted into the signature + parent.
+ voidsetSignatureStructureType(String signatureStructureType) + +
+          Set the signature structure type.
+ voidsetSignedInfoCanonicalization(iaik.server.modules.xml.Canonicalization signedInfoCanonicalization) + +
+          Sets the canonicalization method to use for the SignedInfo object.
+ voidsetSignedProperties(List signedProperties) + +
+          Set the signed properties.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureCreationProfileImpl

+
+public XMLSignatureCreationProfileImpl(int createProfileCount,
+                                       Set reservedIDs)
+
+
Create a new XMLSignatureCreationProfileImpl.
+
Parameters:
createProfileCount - Provides external information about the + number of calls to the signature creation module, using the same request.
reservedIDs - The set of IDs that must not be used while generating + new IDs.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getDataObjectTreatmentList

+
+public List getDataObjectTreatmentList()
+
+
+
Specified by:
getDataObjectTreatmentList in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getDataObjectTreatmentList()
+
+
+
+ +

+setDataObjectTreatmentList

+
+public void setDataObjectTreatmentList(List dataObjectTreatmentList)
+
+
Sets the list of DataObjectTreatments.
+
+
+
+
Parameters:
dataObjectTreatmentList - The DataObjectTreatments to + set.
+
+
+
+ +

+getKeySet

+
+public Set getKeySet()
+
+
+
Specified by:
getKeySet in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getKeySet()
+
+
+
+ +

+setKeySet

+
+public void setKeySet(Set keySet)
+
+
Set the set of KeyEntryIDs which may be used for signature + creation.
+
+
+
+
Parameters:
keySet - The set of KeyEntryIDs to set.
+
+
+
+ +

+getSecurityLayerManifestTypeURI

+
+public String getSecurityLayerManifestTypeURI()
+
+
+
Specified by:
getSecurityLayerManifestTypeURI in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSecurityLayerManifestTypeURI()
+
+
+
+ +

+setSecurityLayerManifestTypeURI

+
+public void setSecurityLayerManifestTypeURI(String securityLayerManifestTypeURI)
+
+
Set the SecurityLayerManifestTypeURI.
+
+
+
+
Parameters:
securityLayerManifestTypeURI - The SecurityLayerManifestTypeURI to + set.
+
+
+
+ +

+getSignatureAlgorithmName

+
+public String getSignatureAlgorithmName(iaik.server.modules.keys.KeyEntryID selectedKeyID)
+                                 throws iaik.server.modules.keys.AlgorithmUnavailableException
+
+
+
Specified by:
getSignatureAlgorithmName in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSignatureAlgorithmName(KeyEntryID)
+
+
+
+ +

+getSignatureInsertionLocation

+
+public iaik.server.modules.xmlsign.XMLSignatureInsertionLocation getSignatureInsertionLocation()
+
+
+
Specified by:
getSignatureInsertionLocation in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSignatureInsertionLocation()
+
+
+
+ +

+setSignatureInsertionLocation

+
+public void setSignatureInsertionLocation(iaik.server.modules.xmlsign.XMLSignatureInsertionLocation signatureInsertionLocation)
+
+
Set the location where the signature is to be inserted into the signature + parent.
+
+
+
+
Parameters:
signatureInsertionLocation - The location to set.
+
+
+
+ +

+getSignatureStructureType

+
+public String getSignatureStructureType()
+
+
+
Specified by:
getSignatureStructureType in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSignatureStructureType()
+
+
+
+ +

+setSignatureStructureType

+
+public void setSignatureStructureType(String signatureStructureType)
+
+
Set the signature structure type.
+
+
+
+
Parameters:
signatureStructureType - The signature structure type to set.
+
+
+
+ +

+getSignedInfoCanonicalization

+
+public iaik.server.modules.xml.Canonicalization getSignedInfoCanonicalization()
+
+
+
Specified by:
getSignedInfoCanonicalization in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSignedInfoCanonicalization()
+
+
+
+ +

+setSignedInfoCanonicalization

+
+public void setSignedInfoCanonicalization(iaik.server.modules.xml.Canonicalization signedInfoCanonicalization)
+
+
Sets the canonicalization method to use for the SignedInfo object.
+
+
+
+
Parameters:
signedInfoCanonicalization - The canonicalization method to set.
+
+
+
+ +

+getSignedProperties

+
+public List getSignedProperties()
+
+
+
Specified by:
getSignedProperties in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSignedProperties()
+
+
+
+ +

+setSignedProperties

+
+public void setSignedProperties(List signedProperties)
+
+
Set the signed properties.
+
+
+
+
Parameters:
signedProperties - The signed properties to set.
+
+
+
+ +

+isSecurityLayerConform

+
+public boolean isSecurityLayerConform()
+
+
+
Specified by:
isSecurityLayerConform in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.isSecurityLayerConform()
+
+
+
+ +

+setSecurityLayerConform

+
+public void setSecurityLayerConform(boolean securityLayerConform)
+
+
Sets the security layer conformity.
+
+
+
+
Parameters:
securityLayerConform - true, if the created signature + is to be conform to the Security Layer specification.
+
+
+
+ +

+getSignatureID

+
+public String getSignatureID()
+
+
+
Specified by:
getSignatureID in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSignatureID()
+
+
+
+ +

+getSecurityLayerManifestID

+
+public String getSecurityLayerManifestID()
+
+
+
Specified by:
getSecurityLayerManifestID in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSecurityLayerManifestID()
+
+
+
+ +

+getDsigManifestID

+
+public String getDsigManifestID()
+
+
+
Specified by:
getDsigManifestID in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getDsigManifestID()
+
+
+
+ +

+getSignedPropertiesID

+
+public String getSignedPropertiesID()
+
+
+
Specified by:
getSignedPropertiesID in interface iaik.server.modules.xmlsign.XMLSignatureCreationProfile
+
+
+
See Also:
XMLSignatureCreationProfile.getSignedPropertiesID()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.html new file mode 100644 index 000000000..0e2d43dce --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.html @@ -0,0 +1,252 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureInsertionLocationImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xmlsign +
+Class XMLSignatureInsertionLocationImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xmlsign.XMLSignatureInsertionLocation
+
+
+
+
public class XMLSignatureInsertionLocationImpl
extends Object
implements iaik.server.modules.xmlsign.XMLSignatureInsertionLocation
+ +

+An object giving the location of where the signature will be + inserted into the parent element. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLSignatureInsertionLocationImpl(int signatureChildIndex) + +
+          Create a new XMLSignatureInsertLocationImpl.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ intgetSignatureChildIndex() + +
+           
+ voidsetSignatureChildIndex(int signatureChildIndex) + +
+          Sets the position index at which to append the signature to the parent + element.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureInsertionLocationImpl

+
+public XMLSignatureInsertionLocationImpl(int signatureChildIndex)
+
+
Create a new XMLSignatureInsertLocationImpl.
+
Parameters:
signatureChildIndex - The position index at which to append the + signature to the parent element.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getSignatureChildIndex

+
+public int getSignatureChildIndex()
+
+
+
Specified by:
getSignatureChildIndex in interface iaik.server.modules.xmlsign.XMLSignatureInsertionLocation
+
+
+
See Also:
XMLSignatureInsertionLocation.getSignatureChildIndex()
+
+
+
+ +

+setSignatureChildIndex

+
+public void setSignatureChildIndex(int signatureChildIndex)
+
+
Sets the position index at which to append the signature to the parent + element.
+
+
+
+
Parameters:
signatureChildIndex - The position index to set.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/DataObjectTreatmentImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/DataObjectTreatmentImpl.html new file mode 100644 index 000000000..944dc54ee --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/DataObjectTreatmentImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureCreationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureCreationProfileImpl.html new file mode 100644 index 000000000..4cd3bb772 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureCreationProfileImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureInsertionLocationImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureInsertionLocationImpl.html new file mode 100644 index 000000000..7e4e02eba --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/class-use/XMLSignatureInsertionLocationImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-frame.html new file mode 100644 index 000000000..180c2830e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-frame.html @@ -0,0 +1,30 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.xmlsign + + + + + +at.gv.egovernment.moa.spss.server.iaik.xmlsign + + + + +
+Classes  + +
+DataObjectTreatmentImpl +
+XMLSignatureCreationProfileImpl +
+XMLSignatureInsertionLocationImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-summary.html new file mode 100644 index 000000000..012809988 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-summary.html @@ -0,0 +1,116 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.xmlsign + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.xmlsign +

+ + + + + + + + + + + + + + + + + +
+Class Summary
DataObjectTreatmentImplAn object encapsulating how to treat an associated DataObject + when creating a signature.
XMLSignatureCreationProfileImplAn object providing auxiliary information for creating an XML signature.
XMLSignatureInsertionLocationImplAn object giving the location of where the signature will be + inserted into the parent element.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-tree.html new file mode 100644 index 000000000..0ac75d979 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-tree.html @@ -0,0 +1,107 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.xmlsign Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.xmlsign +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl (implements iaik.server.modules.xmlsign.DataObjectTreatment) +
    • class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl (implements iaik.server.modules.xmlsign.XMLSignatureCreationProfile) +
    • class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl (implements iaik.server.modules.xmlsign.XMLSignatureInsertionLocation) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-use.html new file mode 100644 index 000000000..80e7b47f1 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlsign/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.xmlsign + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.xmlsign

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xmlsign +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.html new file mode 100644 index 000000000..e8bdca217 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.html @@ -0,0 +1,470 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureVerificationProfileImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.iaik.xmlverify +
+Class XMLSignatureVerificationProfileImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl
+
+
+
All Implemented Interfaces:
iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+
+
+
+
public class XMLSignatureVerificationProfileImpl
extends Object
implements iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+ +

+An object providing auxiliary information for verifying an XML signature. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLSignatureVerificationProfileImpl() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleancheckSecurityLayerManifest() + +
+           
+ booleancheckXMLDsigManifests() + +
+           
+ iaik.pki.PKIProfilegetCertificateValidationProfile() + +
+           
+ ListgetTransformationSupplements() + +
+           
+ booleanincludeHashInputData() + +
+           
+ booleanincludeReferenceInputData() + +
+           
+ voidsetCertificateValidationProfile(iaik.pki.PKIProfile certificateValidationProfile) + +
+          Sets the profile for validating the signer certificate.
+ voidsetCheckSecurityLayerManifest(boolean checkSecurityLayerManifest) + +
+          Set whether to check the references in the Security Layer manifest.
+ voidsetCheckXMLDsigManifests(boolean checkXMLDSigManifests) + +
+          Sets whether to check the references of all XML Dsig manifests.
+ voidsetIncludeHashInputData(boolean includeHashInputData) + +
+          Set whether to include the hash input data in the result.
+ voidsetIncludeReferenceInputData(boolean includeReferenceInputData) + +
+          Set whether to include the reference input data in the result.
+ voidsetTransformationSupplements(List transformationSupplements) + +
+          Sets the transformation supplements.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureVerificationProfileImpl

+
+public XMLSignatureVerificationProfileImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+checkSecurityLayerManifest

+
+public boolean checkSecurityLayerManifest()
+
+
+
Specified by:
checkSecurityLayerManifest in interface iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+
+
+
See Also:
XMLSignatureVerificationProfile.checkSecurityLayerManifest()
+
+
+
+ +

+setCheckSecurityLayerManifest

+
+public void setCheckSecurityLayerManifest(boolean checkSecurityLayerManifest)
+
+
Set whether to check the references in the Security Layer manifest.
+
+
+
+
Parameters:
checkSecurityLayerManifest - true, if the references + in the Security Layer manifest must be checked.
+
+
+
+ +

+checkXMLDsigManifests

+
+public boolean checkXMLDsigManifests()
+
+
+
Specified by:
checkXMLDsigManifests in interface iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+
+
+
See Also:
XMLSignatureVerificationProfile.checkXMLDsigManifests()
+
+
+
+ +

+setCheckXMLDsigManifests

+
+public void setCheckXMLDsigManifests(boolean checkXMLDSigManifests)
+
+
Sets whether to check the references of all XML Dsig manifests.
+
+
+
+
Parameters:
checkXMLDSigManifests - true, if the references in the + XML Dsig manifest must be checked.
+
+
+
+ +

+getCertificateValidationProfile

+
+public iaik.pki.PKIProfile getCertificateValidationProfile()
+
+
+
Specified by:
getCertificateValidationProfile in interface iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+
+
+
See Also:
XMLSignatureVerificationProfile.getCertificateValidationProfile()
+
+
+
+ +

+setCertificateValidationProfile

+
+public void setCertificateValidationProfile(iaik.pki.PKIProfile certificateValidationProfile)
+
+
Sets the profile for validating the signer certificate.
+
+
+
+
Parameters:
certificateValidationProfile - The certificate validation profile to + set.
+
+
+
+ +

+getTransformationSupplements

+
+public List getTransformationSupplements()
+
+
+
Specified by:
getTransformationSupplements in interface iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+
+
+
See Also:
XMLSignatureVerificationProfile.getTransformationSupplements()
+
+
+
+ +

+setTransformationSupplements

+
+public void setTransformationSupplements(List transformationSupplements)
+
+
Sets the transformation supplements.
+
+
+
+
Parameters:
transformationSupplements - The transformation supplements to set.
+
+
+
+ +

+includeHashInputData

+
+public boolean includeHashInputData()
+
+
+
Specified by:
includeHashInputData in interface iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+
+
+
See Also:
XMLSignatureVerificationProfile.includeHashInputData()
+
+
+
+ +

+setIncludeHashInputData

+
+public void setIncludeHashInputData(boolean includeHashInputData)
+
+
Set whether to include the hash input data in the result.
+
+
+
+
Parameters:
includeHashInputData - If true, the hash input data + will be returned in the result.
+
+
+
+ +

+includeReferenceInputData

+
+public boolean includeReferenceInputData()
+
+
+
Specified by:
includeReferenceInputData in interface iaik.server.modules.xmlverify.XMLSignatureVerificationProfile
+
+
+
See Also:
XMLSignatureVerificationProfile.includeReferenceInputData()
+
+
+
+ +

+setIncludeReferenceInputData

+
+public void setIncludeReferenceInputData(boolean includeReferenceInputData)
+
+
Set whether to include the reference input data in the result.
+
+
+
+
Parameters:
includeReferenceInputData - If true, the reference + input data will be included in the result.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/class-use/XMLSignatureVerificationProfileImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/class-use/XMLSignatureVerificationProfileImpl.html new file mode 100644 index 000000000..f36297da3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/class-use/XMLSignatureVerificationProfileImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-frame.html new file mode 100644 index 000000000..e165687f2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.xmlverify + + + + + +at.gv.egovernment.moa.spss.server.iaik.xmlverify + + + + +
+Classes  + +
+XMLSignatureVerificationProfileImpl
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-summary.html new file mode 100644 index 000000000..1e0fa3dc3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-summary.html @@ -0,0 +1,106 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.iaik.xmlverify + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.iaik.xmlverify +

+ + + + + + + + + +
+Class Summary
XMLSignatureVerificationProfileImplAn object providing auxiliary information for verifying an XML signature.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-tree.html new file mode 100644 index 000000000..a8e1af044 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-tree.html @@ -0,0 +1,105 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.iaik.xmlverify Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.iaik.xmlverify +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-use.html new file mode 100644 index 000000000..371caf087 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/iaik/xmlverify/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.iaik.xmlverify + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.iaik.xmlverify

+
+No usage of at.gv.egovernment.moa.spss.server.iaik.xmlverify +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.html new file mode 100644 index 000000000..a56b6073c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.html @@ -0,0 +1,269 @@ + + + + + + +MOA SP/SS Server Internal API: Class ConfiguratorImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.init +
+Class ConfiguratorImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.api.Configurator
+        |
+        +--at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl
+
+
+
+
public class ConfiguratorImpl
extends at.gv.egovernment.moa.spss.api.Configurator
+ +

+Default implementation of Configurator. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ConfiguratorImpl() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidinit() + +
+          Initialize the SP/SS configuration. + +
+ voidupdate() + +
+          Update the SP/SS configuration. + +
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.api.Configurator
getInstance
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ConfiguratorImpl

+
+public ConfiguratorImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+init

+
+public void init()
+          throws MOAException
+
+
Description copied from class: at.gv.egovernment.moa.spss.api.Configurator
+
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.
+
Overrides:
init in class at.gv.egovernment.moa.spss.api.Configurator
+
+
Following copied from class: at.gv.egovernment.moa.spss.api.Configurator
+
+
Throws:
MOAException - An error occurred updating the SP/SS configuration.
+
+
+
+ +

+update

+
+public void update()
+            throws MOAException
+
+
Description copied from class: at.gv.egovernment.moa.spss.api.Configurator
+
Update the SP/SS configuration. + + This will only have an effect after the system has been initialized once + using init().
+
Overrides:
update in class at.gv.egovernment.moa.spss.api.Configurator
+
+
Following copied from class: at.gv.egovernment.moa.spss.api.Configurator
+
+
Throws:
MOAException - An error occurred updating the SP/SS configuration.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/SystemInitializer.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/SystemInitializer.html new file mode 100644 index 000000000..78afdbaed --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/SystemInitializer.html @@ -0,0 +1,214 @@ + + + + + + +MOA SP/SS Server Internal API: Class SystemInitializer + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.init +
+Class SystemInitializer

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.init.SystemInitializer
+
+
+
+
public class SystemInitializer
extends Object
+ +

+MOA SP/SS web service initialization. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SystemInitializer() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static voidinit() + +
+          Initialize the MOA SP/SS webservice.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SystemInitializer

+
+public SystemInitializer()
+
+
+ + + + + + + + +
+Method Detail
+ +

+init

+
+public static void init()
+
+
Initialize the MOA SP/SS webservice.
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/ConfiguratorImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/ConfiguratorImpl.html new file mode 100644 index 000000000..32a6eb9be --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/ConfiguratorImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl

+
+No usage of at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/SystemInitializer.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/SystemInitializer.html new file mode 100644 index 000000000..31cbfcdba --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/class-use/SystemInitializer.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.init.SystemInitializer + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.init.SystemInitializer

+
+No usage of at.gv.egovernment.moa.spss.server.init.SystemInitializer +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-frame.html new file mode 100644 index 000000000..a2478bab3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-frame.html @@ -0,0 +1,28 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.init + + + + + +at.gv.egovernment.moa.spss.server.init + + + + +
+Classes  + +
+ConfiguratorImpl +
+SystemInitializer
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-summary.html new file mode 100644 index 000000000..7db3951d0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-summary.html @@ -0,0 +1,110 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.init + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.init +

+ + + + + + + + + + + + + +
+Class Summary
ConfiguratorImplDefault implementation of Configurator.
SystemInitializerMOA SP/SS web service initialization.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-tree.html new file mode 100644 index 000000000..2e846b712 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-tree.html @@ -0,0 +1,106 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.init Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.init +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.api.Configurator +
    • class at.gv.egovernment.moa.spss.server.init.SystemInitializer
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-use.html new file mode 100644 index 000000000..52cda3bc5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/init/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.init + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.init

+
+No usage of at.gv.egovernment.moa.spss.server.init +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.html new file mode 100644 index 000000000..4e05bb187 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.html @@ -0,0 +1,251 @@ + + + + + + +MOA SP/SS Server Internal API: Class CMSSignatureVerificationInvoker + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class CMSSignatureVerificationInvoker

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker
+
+
+
+
public class CMSSignatureVerificationInvoker
extends Object
+ +

+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. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected CMSSignatureVerificationInvoker() + +
+          Create a new CMSSignatureVerificationInvoker. + +
+  + + + + + + + + + + + + + + + +
+Method Summary
+static CMSSignatureVerificationInvokergetInstance() + +
+          Return the only instance of this class.
+ at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseverifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request) + +
+          Verify a CMS signature.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CMSSignatureVerificationInvoker

+
+protected CMSSignatureVerificationInvoker()
+
+
Create a new CMSSignatureVerificationInvoker. + + Protected to disallow multiple instances.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static CMSSignatureVerificationInvoker getInstance()
+
+
Return the only instance of this class.
+
Returns:
The only instance of this class.
+
+
+
+ +

+verifyCMSSignature

+
+public at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request)
+                                                                                       throws MOAException
+
+
Verify a CMS signature.
+
Parameters:
request - The VerifyCMSSignatureRequest containing the + CMS signature, as well as additional data needed for verification.
Returns:
Element A VerifyCMSSignatureResponse containing the + answer to the VerifyCMSSignatureRequest.
Throws:
MOAException - An error occurred while processing the request.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.html new file mode 100644 index 000000000..88e64e533 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.html @@ -0,0 +1,227 @@ + + + + + + +MOA SP/SS Server Internal API: Class CMSSignatureVerificationProfileFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class CMSSignatureVerificationProfileFactory

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationProfileFactory
+
+
+
+
public class CMSSignatureVerificationProfileFactory
extends Object
+ +

+A factory to create a CMSSignatureVerificationProfile from a + VerifyCMSSignatureRequest and the current MOA configuration + data. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CMSSignatureVerificationProfileFactory(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request) + +
+          Create a new CMSSignatureVerificationProfileFactory.
+  + + + + + + + + + + + +
+Method Summary
+ iaik.server.modules.cmsverify.CMSSignatureVerificationProfilecreateProfile() + +
+          Create a CMSSignatureVerificationProfile from the given + request and the current MOA configuration.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CMSSignatureVerificationProfileFactory

+
+public CMSSignatureVerificationProfileFactory(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request)
+
+
Create a new CMSSignatureVerificationProfileFactory.
+
Parameters:
request - The VerifyCMSSignatureRequest to draw profile + data from.
+
+
+ + + + + + + + +
+Method Detail
+ +

+createProfile

+
+public iaik.server.modules.cmsverify.CMSSignatureVerificationProfile createProfile()
+                                                                            throws MOAException
+
+
Create a CMSSignatureVerificationProfile from the given + request and the current MOA configuration.
+
Returns:
The CMSSignatureVerificationProfile for the + request, based on the current configuration.
Throws:
MOAException - An error occurred creating the profile.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.html new file mode 100644 index 000000000..6b55965a5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.html @@ -0,0 +1,270 @@ + + + + + + +MOA SP/SS Server Internal API: Class CreateXMLSignatureResponseBuilder + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class CreateXMLSignatureResponseBuilder

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder
+
+
+
+
public class CreateXMLSignatureResponseBuilder
extends Object
+ +

+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.

+

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CreateXMLSignatureResponseBuilder() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddError(String errorCode, + String info) + +
+          Add a ErrorResponse element to the response.
+ voidaddSignatureEnvironment(org.w3c.dom.Element signatureEnvironment) + +
+          Add a SignatureEnvironment element to the response.
+ at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponsegetResponse() + +
+          Get the CreateXMLSignatureResponse built so far.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CreateXMLSignatureResponseBuilder

+
+public CreateXMLSignatureResponseBuilder()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getResponse

+
+public at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse getResponse()
+
+
Get the CreateXMLSignatureResponse built so far.
+
Returns:
The CreateXMLSignatureResponse built so far.
+
+
+
+ +

+addSignatureEnvironment

+
+public void addSignatureEnvironment(org.w3c.dom.Element signatureEnvironment)
+
+
Add a SignatureEnvironment element to the response.
+
Parameters:
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).
+
+
+
+ +

+addError

+
+public void addError(String errorCode,
+                     String info)
+
+
Add a ErrorResponse element to the response.
+
Parameters:
errorCode - The error code.
info - Additional information about the error.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.html new file mode 100644 index 000000000..f36bca5a5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.html @@ -0,0 +1,424 @@ + + + + + + +MOA SP/SS Server Internal API: Class DataObjectFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class DataObjectFactory

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory
+
+
+
+
public class DataObjectFactory
extends Object
+ +

+A class to create DataObjects contained in different + locations of the MOA XML request format. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected DataObjectFactory() + +
+          Create a new DataObjectFactory. + +
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ iaik.server.modules.xml.DataObjectcreateFromContentOptionalRefType(at.gv.egovernment.moa.spss.api.common.Content content, + String referenceID, + boolean allowContentAndReference, + boolean binaryAsXml, + boolean xmlAsNodeList, + boolean referenceAsXml) + +
+          Create a DataObject from a Content object.
+ iaik.server.modules.xml.DataObjectcreateFromSignatureEnvironment(org.w3c.dom.Element signatureEnvironment, + String uri, + String referenceID) + +
+          Create an XMLDataObject from the given signature environment.
+ iaik.server.modules.xml.DataObjectcreateFromTransformParameter(at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter transformParameter) + +
+          Create a DataObject from a TransformParameter + object.
+ iaik.server.modules.xml.DataObjectcreateFromURI(String uri, + boolean asXml) + +
+          Create a DataObject from data located at the given URI.
+ iaik.server.modules.xml.DataObjectcreateFromXmlDataObjectAssociation(at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation xmlDataObjAssoc, + boolean xmlContentAllowed, + boolean binaryContentRepeatable) + +
+          Create a DataObject from a + XMLDataObjectAssociation object.
+ iaik.server.modules.xml.XMLDataObjectcreateSignatureEnvironment(at.gv.egovernment.moa.spss.api.common.Content content, + List supplements) + +
+          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).
+static DataObjectFactorygetInstance() + +
+          Return the only instance of this class.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DataObjectFactory

+
+protected DataObjectFactory()
+
+
Create a new DataObjectFactory. + + Protected to disallow multiple instances.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static DataObjectFactory getInstance()
+
+
Return the only instance of this class.
+
Returns:
The only instance of this class.
+
+
+
+ +

+createSignatureEnvironment

+
+public iaik.server.modules.xml.XMLDataObject createSignatureEnvironment(at.gv.egovernment.moa.spss.api.common.Content content,
+                                                                        List supplements)
+                                                                 throws MOASystemException,
+                                                                        MOAApplicationException
+
+
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).
+
Parameters:
content - The Content object containing the signature + environment.
supplements - Additional schema or DTD information.
Returns:
The signature environment or null, if no + signature environment exists.
Throws:
MOASystemException - A system error occurred building the signature + environment (see message for details).
MOAApplicationException - An error occurred building the signature + environment (see message for details).
+
+
+
+ +

+createFromSignatureEnvironment

+
+public iaik.server.modules.xml.DataObject createFromSignatureEnvironment(org.w3c.dom.Element signatureEnvironment,
+                                                                         String uri,
+                                                                         String referenceID)
+                                                                  throws MOAApplicationException
+
+
Create an XMLDataObject from the given signature environment.
+
Parameters:
signatureEnvironment - The signature environment contained in the + result.
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.
referenceID - The reference ID to set for the data object.
Returns:
A data object containing the signature environment.
+
+
+
+ +

+createFromContentOptionalRefType

+
+public iaik.server.modules.xml.DataObject createFromContentOptionalRefType(at.gv.egovernment.moa.spss.api.common.Content content,
+                                                                           String referenceID,
+                                                                           boolean allowContentAndReference,
+                                                                           boolean binaryAsXml,
+                                                                           boolean xmlAsNodeList,
+                                                                           boolean referenceAsXml)
+                                                                    throws MOASystemException,
+                                                                           MOAApplicationException
+
+
Create a DataObject from a Content object.
+
Parameters:
content - The Content object containing the data.
referenceID - The reference ID to set in the resulting + DataObject. May be null.
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.
binaryAsXml - If true, a content child given as + Base64Content must contain XML data.
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.
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.
Returns:
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.
MOAApplicationException - An error occurred handling the content + (probably while opening a reference or parsing the data). See the wrapped + exception for details.
+
+
+
+ +

+createFromXmlDataObjectAssociation

+
+public iaik.server.modules.xml.DataObject createFromXmlDataObjectAssociation(at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation xmlDataObjAssoc,
+                                                                             boolean xmlContentAllowed,
+                                                                             boolean binaryContentRepeatable)
+                                                                      throws MOASystemException,
+                                                                             MOAApplicationException
+
+
Create a DataObject from a + XMLDataObjectAssociation object.
+
Parameters:
xmlDataObjAssoc - The XMLDataObjectAssociation object.
xmlContentAllowed - Whether the content contained in the + xmlDataObjAssoc is allowed to be of type + XML_CONTENT.
binaryContentRepeatable - If binary content must be provided as a + DataObject that can be read multiple times.
Returns:
A DataObject representing the data in + xmlDataObjAssoc.
Throws:
MOASystemException - An error indicating an internal problem. See the + wrapped exception for details.
MOAApplicationException - An error occurred handling the content + (probably while parsing the data). See the wrapped exception for details.
+
+
+
+ +

+createFromTransformParameter

+
+public iaik.server.modules.xml.DataObject createFromTransformParameter(at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter transformParameter)
+                                                                throws MOASystemException,
+                                                                       MOAApplicationException
+
+
Create a DataObject from a TransformParameter + object.
+
Parameters:
transformParameter - The TransformParameter object + containing the data.
Returns:
A DataObject representing the data in + root.
Throws:
MOASystemException - An error indicating an internal problem. See the + wrapped exception for details.
MOAApplicationException - An error occurred handling the content + (probably while opening a reference or parsing the data). See the wrapped + exception for details.
+
+
+
+ +

+createFromURI

+
+public iaik.server.modules.xml.DataObject createFromURI(String uri,
+                                                        boolean asXml)
+                                                 throws MOASystemException,
+                                                        MOAApplicationException
+
+
Create a DataObject from data located at the given URI.
+
Parameters:
uri - The URI where the data is located. This method uses + an ExternalURIResolver to resolve URIs.
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.
Returns:
The DataObject contained at the URI.
Throws:
MOASystemException - A system error parsing the XML content.
MOAApplicationException - An error occurred on opening, reading or + parsing the data behind the URI.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.html new file mode 100644 index 000000000..865da7487 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.html @@ -0,0 +1,264 @@ + + + + + + +MOA SP/SS Server Internal API: Class ExternalURIResolver + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class ExternalURIResolver

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver
+
+
+
+
public class ExternalURIResolver
extends Object
+ +

+Resolve external URIs and provide them as a stream. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ExternalURIResolver() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetContentType() + +
+          Return the content type of the data detected at the URI from the previous + call of resolve().
+ InputStreamresolve(String uriStr) + +
+          Return a stream to data at the given URI. + +
+protected  voidsetContentType(String contentType) + +
+          Set the content type of the data at the URI.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ExternalURIResolver

+
+public ExternalURIResolver()
+
+
+ + + + + + + + +
+Method Detail
+ +

+resolve

+
+public InputStream resolve(String uriStr)
+                    throws MOAApplicationException
+
+
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.
+
Parameters:
uriStr - The URI to resolve.
Returns:
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).
+
+
+
+ +

+setContentType

+
+protected void setContentType(String contentType)
+
+
Set the content type of the data at the URI.
+
Parameters:
contentType - The content type to set.
+
+
+
+ +

+getContentType

+
+public String getContentType()
+
+
Return the content type of the data detected at the URI from the previous + call of resolve().
+
Returns:
String The content type.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.html new file mode 100644 index 000000000..86ac44553 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.html @@ -0,0 +1,356 @@ + + + + + + +MOA SP/SS Server Internal API: Class IaikExceptionMapper + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class IaikExceptionMapper

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper
+
+
+
+
public class IaikExceptionMapper
extends Object
+ +

+Map an exception from the iaik namespace to a + MOAException. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected IaikExceptionMapper() + +
+          Create a new IaikExceptionMapper. + +
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  MOAExceptioncreateMoaException(Exception iaikException) + +
+          Create a MOAException from a given IAIKException + by looking it up in the mapping.
+static IaikExceptionMappergetInstance() + +
+          Get the single instance of this class.
+protected  at.gv.egovernment.moa.spss.server.invoke.ExceptionMappingInfolookupMessage(Class iaikExceptionClass) + +
+          Recursively look up the message associated with an + IAIKException. + +
+ MOAExceptionmap(iaik.IAIKException iaikException) + +
+          Map an IAIKException to a MOAException.
+ MOAExceptionmap(iaik.IAIKRuntimeException iaikException) + +
+          Map an IAIKRuntimeException to a MOAException.
+protected  voidregisterMessage(Class iaikExceptionClass, + String messageId, + Class moaExceptionClass) + +
+          Register a single IAIKException to message mapping.
+protected  voidregisterMessages() + +
+          Build the complete IAIKException to message code mapping.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+IaikExceptionMapper

+
+protected IaikExceptionMapper()
+
+
Create a new IaikExceptionMapper. + + Protected to disallow multple instances.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static IaikExceptionMapper getInstance()
+
+
Get the single instance of this class.
+
Returns:
The single instance of this class.
+
+
+
+ +

+registerMessages

+
+protected void registerMessages()
+
+
Build the complete IAIKException to message code mapping.
+
+ +

+registerMessage

+
+protected void registerMessage(Class iaikExceptionClass,
+                               String messageId,
+                               Class moaExceptionClass)
+
+
Register a single IAIKException to message mapping.
+
Parameters:
iaikExceptionClass - An exception from the iaik package.
messageId - The corresponding error message id.
moaExceptionClass - The type of MOAException that the + IAIKException is mapped to (usually + MOAApplicationException or MOASystemException).
+
+
+
+ +

+map

+
+public MOAException map(iaik.IAIKException iaikException)
+
+
Map an IAIKException to a MOAException.
+
Parameters:
iaikException - The IAIKException to map.
Returns:
A MOAException containing the message for the + given IAIKException.
+
+
+
+ +

+map

+
+public MOAException map(iaik.IAIKRuntimeException iaikException)
+
+
Map an IAIKRuntimeException to a MOAException.
+
Parameters:
iaikException - The IAIKException to map.
Returns:
A MOAException containing the message for the + given IAIKRuntimeException.
+
+
+
+ +

+createMoaException

+
+protected MOAException createMoaException(Exception iaikException)
+
+
Create a MOAException from a given IAIKException + by looking it up in the mapping.
+
Parameters:
iaikException - The IAIKException to map.
Returns:
A MOAException with an error code corresponding to + the given IAIKException. Returns null, if no + mapping could be found.
+
+
+
+ +

+lookupMessage

+
+protected at.gv.egovernment.moa.spss.server.invoke.ExceptionMappingInfo lookupMessage(Class iaikExceptionClass)
+
+
Recursively look up the message associated with an + IAIKException. + + This method walks up the exception inheritance hierarchy until it finds a + mapping.
+
Parameters:
iaikExceptionClass - The IAIKException to look up.
Returns:
Information about the message id and + MOAException class that the iaikExceptionClass + maps to. If no mapping could be found, null is returned.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.html new file mode 100644 index 000000000..6c4e48493 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.html @@ -0,0 +1,224 @@ + + + + + + +MOA SP/SS Server Internal API: Class InvokerUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class InvokerUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.InvokerUtils
+
+
+
+
public class InvokerUtils
extends Object
+ +

+Utility methods for invoking the IAIK MOA modules. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
InvokerUtils() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static org.w3c.dom.ElementevaluateSignatureLocation(org.w3c.dom.Element root, + at.gv.egovernment.moa.spss.api.common.ElementSelector location) + +
+          Select the signature parent element.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+InvokerUtils

+
+public InvokerUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+evaluateSignatureLocation

+
+public static org.w3c.dom.Element evaluateSignatureLocation(org.w3c.dom.Element root,
+                                                            at.gv.egovernment.moa.spss.api.common.ElementSelector location)
+                                                     throws MOAApplicationException
+
+
Select the signature parent element.
+
Parameters:
root - The root DOM element which contains the signature parent + element somewhere in its subtree.
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.
Returns:
Element The signature parent element.
Throws:
MOAApplicationException - An error occurred evaluating the + location.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.html new file mode 100644 index 000000000..6f5b0a8cd --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.html @@ -0,0 +1,352 @@ + + + + + + +MOA SP/SS Server Internal API: Class ProfileMapper + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class ProfileMapper

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.ProfileMapper
+
+
+
+
public class ProfileMapper
extends Object
+ +

+Map ProfileID objects to their explicit represantation. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ProfileMapper() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicitmapCreateSignatureEnvironmentProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile profile, + ConfigurationProvider config) + +
+          Map a CreateSignatureEnvironmentProfile to a + CreateSignatureEnvironmentProfileExplicit.
+static at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicitmapCreateTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile profile, + ConfigurationProvider config) + +
+          Map a CreateTransformsInfoProfile to a + CreateTransformsInfoProfileExplicit.
+static at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicitmapSupplementProfile(at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile profile, + ConfigurationProvider config) + +
+          Map a SupplementProfile to a + SupplementProfileExplicit.
+static ListmapSupplementProfiles(List profiles, + ConfigurationProvider config) + +
+          Map a List of SupplementProfiles to their + explicit representation.
+static at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicitmapVerifyTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile profile, + ConfigurationProvider config) + +
+          Map a VerifyTransformsInfoProfile to a + VerifyTransformsInfoProfileExplicit.
+static ListmapVerifyTransformsInfoProfiles(List profiles, + ConfigurationProvider config) + +
+          Map a List of VerifyTransformsInfoProfiles to + their explicit representation.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ProfileMapper

+
+public ProfileMapper()
+
+
+ + + + + + + + +
+Method Detail
+ +

+mapCreateTransformsInfoProfile

+
+public static at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit mapCreateTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile profile,
+                                                                                                                        ConfigurationProvider config)
+                                                                                                                 throws MOAApplicationException
+
+
Map a CreateTransformsInfoProfile to a + CreateTransformsInfoProfileExplicit.
+
Parameters:
profile - The profile object to map.
config - The MOA configuration to use for looking up the profile.
Returns:
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.
+
+
+
+ +

+mapCreateSignatureEnvironmentProfile

+
+public static at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit mapCreateSignatureEnvironmentProfile(at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfile profile,
+                                                                                                                                    ConfigurationProvider config)
+                                                                                                                             throws MOAApplicationException
+
+
Map a CreateSignatureEnvironmentProfile to a + CreateSignatureEnvironmentProfileExplicit.
+
Parameters:
profile - The profile object to map.
config - The MOA configuration to use for looking up the profile.
Returns:
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.
+
+
+
+ +

+mapSupplementProfiles

+
+public static List mapSupplementProfiles(List profiles,
+                                         ConfigurationProvider config)
+                                  throws MOAApplicationException
+
+
Map a List of SupplementProfiles to their + explicit representation.
+
Parameters:
profiles - The profiles to map.
config - The MOA configuration to use for looking up profiles.
Returns:
The mapped profiles.
Throws:
MOAApplicationException - An error occurred mapping one of the + profiles.
+
+
+
+ +

+mapSupplementProfile

+
+public static at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfileExplicit mapSupplementProfile(at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile profile,
+                                                                                                      ConfigurationProvider config)
+                                                                                               throws MOAApplicationException
+
+
Map a SupplementProfile to a + SupplementProfileExplicit.
+
Parameters:
profile - The profile object to map.
config - The MOA configuration to use for looking up the profile.
Returns:
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.
+
+
+
+ +

+mapVerifyTransformsInfoProfiles

+
+public static List mapVerifyTransformsInfoProfiles(List profiles,
+                                                   ConfigurationProvider config)
+                                            throws MOAApplicationException
+
+
Map a List of VerifyTransformsInfoProfiles to + their explicit representation.
+
Parameters:
profiles - The profiles to map.
config - The MOA configuration to use for looking up profiles.
Returns:
The mapped profiles.
Throws:
MOAApplicationException - An error occurred mapping one of the + profiles.
+
+
+
+ +

+mapVerifyTransformsInfoProfile

+
+public static at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit mapVerifyTransformsInfoProfile(at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile profile,
+                                                                                                                          ConfigurationProvider config)
+                                                                                                                   throws MOAApplicationException
+
+
Map a VerifyTransformsInfoProfile to a + VerifyTransformsInfoProfileExplicit.
+
Parameters:
profile - The profile object to map.
config - The MOA configuration to use for looking up the profile.
Returns:
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.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.html new file mode 100644 index 000000000..547b37310 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.html @@ -0,0 +1,238 @@ + + + + + + +MOA SP/SS Server Internal API: Class ServiceContextUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class ServiceContextUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils
+
+
+
+
public class ServiceContextUtils
extends Object
+ +

+A utility class for setting up and tearing down thread-local context + information needed for calling the Invoker classes. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ServiceContextUtils() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static voidsetUpContexts() + +
+          Set up the thread-local context information needed for calling the various + Invoker classes.
+static voidtearDownContexts() + +
+          Tear down thread-local context information.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ServiceContextUtils

+
+public ServiceContextUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUpContexts

+
+public static void setUpContexts()
+                          throws ConfigurationException
+
+
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.
+
+
+
+ +

+tearDownContexts

+
+public static void tearDownContexts()
+
+
Tear down thread-local context information.
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.html new file mode 100644 index 000000000..7d9e91d1c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.html @@ -0,0 +1,234 @@ + + + + + + +MOA SP/SS Server Internal API: Class SignatureCreationServiceImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class SignatureCreationServiceImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.api.SignatureCreationService
+        |
+        +--at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl
+
+
+
+
public class SignatureCreationServiceImpl
extends at.gv.egovernment.moa.spss.api.SignatureCreationService
+ +

+An implementation of the SignatureCreationService, using + the XMLSignatureCreationInvoker. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SignatureCreationServiceImpl() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponsecreateXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request) + +
+          Create an XML signature.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.api.SignatureCreationService
getInstance
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SignatureCreationServiceImpl

+
+public SignatureCreationServiceImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+createXMLSignature

+
+public at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request)
+                                                                                     throws MOAException
+
+
Create an XML signature.
+
Overrides:
createXMLSignature in class at.gv.egovernment.moa.spss.api.SignatureCreationService
+
+
+
Parameters:
request - The CreateXMLSignatureRequest containing + information about the signature(s) to create.
Returns:
The created signature(s).
Throws:
MOAException - An error occurred creating the signature(s).
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.html new file mode 100644 index 000000000..3018e0617 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.html @@ -0,0 +1,259 @@ + + + + + + +MOA SP/SS Server Internal API: Class SignatureVerificationServiceImpl + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class SignatureVerificationServiceImpl

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.api.SignatureVerificationService
+        |
+        +--at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl
+
+
+
+
public class SignatureVerificationServiceImpl
extends at.gv.egovernment.moa.spss.api.SignatureVerificationService
+ +

+An implementation of the SignatureVerificationService using + the XMLSignatureVerificationInvoker and the + CMSSignatureVerificationInvoker. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SignatureVerificationServiceImpl() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseverifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request) + +
+          Verify a CMS signature.
+ at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponseverifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request) + +
+          Verify an XML signature.
+ + + + + + + +
Methods inherited from class at.gv.egovernment.moa.spss.api.SignatureVerificationService
getInstance
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SignatureVerificationServiceImpl

+
+public SignatureVerificationServiceImpl()
+
+
+ + + + + + + + +
+Method Detail
+ +

+verifyCMSSignature

+
+public at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest request)
+                                                                                       throws MOAException
+
+
Verify a CMS signature.
+
Overrides:
verifyCMSSignature in class at.gv.egovernment.moa.spss.api.SignatureVerificationService
+
+
+
Parameters:
request - The VerifyCMSSignatureRequest containing + information about the signature verification.
Returns:
The result of the signature verification.
Throws:
MOAException - An error occurred during signature verification.
+
+
+
+ +

+verifyXMLSignature

+
+public at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request)
+                                                                                       throws MOAException
+
+
Verify an XML signature.
+
Overrides:
verifyXMLSignature in class at.gv.egovernment.moa.spss.api.SignatureVerificationService
+
+
+
Parameters:
request - The VerifyXMLSignatureRequest containinig + information about the signature verification.
Returns:
The result of the signature verification.
Throws:
MOAException - An error occurred during signature verification.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.html new file mode 100644 index 000000000..8095ff919 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.html @@ -0,0 +1,274 @@ + + + + + + +MOA SP/SS Server Internal API: Class TransformationFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class TransformationFactory

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.TransformationFactory
+
+
+
+
public class TransformationFactory
extends Object
+ +

+A factory to create Transformation objects from + Transform objects. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected TransformationFactory() + +
+          Create a new TransformationFactory. + +
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ iaik.server.modules.xml.TransformationcreateTransformation(at.gv.egovernment.moa.spss.api.common.Transform transform) + +
+          Create a Transformation based on a + Transform object.
+ ListcreateTransformationList(List transforms) + +
+          Create a List of Transformations from a + List of Transforms.
+static TransformationFactorygetInstance() + +
+          Get the single instance of the factory.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TransformationFactory

+
+protected TransformationFactory()
+
+
Create a new TransformationFactory. + + Protected to disallow multiple instances.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static TransformationFactory getInstance()
+
+
Get the single instance of the factory.
+
Returns:
TransformationFactory The single instance.
+
+
+
+ +

+createTransformation

+
+public iaik.server.modules.xml.Transformation createTransformation(at.gv.egovernment.moa.spss.api.common.Transform transform)
+                                                            throws MOAApplicationException
+
+
Create a Transformation based on a + Transform object.
+
Parameters:
transform - The Transform object to extract + transformation data from.
Returns:
The transformation contained in the transform + object.
Throws:
MOAApplicationException - An error occured creating the + Transformation. See exception message for details.
+
+
+
+ +

+createTransformationList

+
+public List createTransformationList(List transforms)
+                              throws MOAApplicationException
+
+
Create a List of Transformations from a + List of Transforms.
+
Parameters:
transforms - The List containing the + Transforms.
Returns:
The List of Transformations corresponding + to the transforms.
Throws:
MOAApplicationException - An error occurred building one of the + transformations. See exception message for details.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.html new file mode 100644 index 000000000..921b63f6c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.html @@ -0,0 +1,243 @@ + + + + + + +MOA SP/SS Server Internal API: Class VerifyCMSSignatureResponseBuilder + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class VerifyCMSSignatureResponseBuilder

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder
+
+
+
+
public class VerifyCMSSignatureResponseBuilder
extends Object
+ +

+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.

+

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
VerifyCMSSignatureResponseBuilder() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddResult(iaik.server.modules.cmsverify.CMSSignatureVerificationResult result) + +
+          Add a verification result to the response.
+ at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponsegetResponse() + +
+          Get the VerifyCMSSignatureResponse built so far.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+VerifyCMSSignatureResponseBuilder

+
+public VerifyCMSSignatureResponseBuilder()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getResponse

+
+public at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse getResponse()
+
+
Get the VerifyCMSSignatureResponse built so far.
+
Returns:
The VerifyCMSSignatureResponse built so far.
+
+
+
+ +

+addResult

+
+public void addResult(iaik.server.modules.cmsverify.CMSSignatureVerificationResult result)
+               throws MOAApplicationException
+
+
Add a verification result to the response.
+
Parameters:
result - The result to add.
Throws:
MOAApplicationException - An error occurred adding the result.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.html new file mode 100644 index 000000000..4688f6386 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.html @@ -0,0 +1,252 @@ + + + + + + +MOA SP/SS Server Internal API: Class VerifyXMLSignatureResponseBuilder + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class VerifyXMLSignatureResponseBuilder

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder
+
+
+
+
public class VerifyXMLSignatureResponseBuilder
extends Object
+ +

+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.

+

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
VerifyXMLSignatureResponseBuilder() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponsegetResponse() + +
+          Get the VerifyMLSignatureResponse built so far.
+ voidsetResult(iaik.server.modules.xmlverify.XMLSignatureVerificationResult result, + iaik.server.modules.xmlverify.XMLSignatureVerificationProfile profile, + at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult transformsSignatureManifestCheck) + +
+          Sets the verification result to the response. + +
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+VerifyXMLSignatureResponseBuilder

+
+public VerifyXMLSignatureResponseBuilder()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getResponse

+
+public at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse getResponse()
+
+
Get the VerifyMLSignatureResponse built so far.
+
Returns:
The VerifyXMLSignatureResponse built so far.
+
+
+
+ +

+setResult

+
+public void setResult(iaik.server.modules.xmlverify.XMLSignatureVerificationResult result,
+                      iaik.server.modules.xmlverify.XMLSignatureVerificationProfile profile,
+                      at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult transformsSignatureManifestCheck)
+               throws MOAApplicationException
+
+
Sets the verification result to the response. + + This method must be called exactly once to ensure a valid + VerifyXMLSignatureResponse.
+
Parameters:
result - The result to set for the response.
profile - The profile used for verifying the signature.
Throws:
MOAApplicationException - An error occurred adding the result.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.html new file mode 100644 index 000000000..19998ed9a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.html @@ -0,0 +1,260 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureCreationInvoker + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class XMLSignatureCreationInvoker

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker
+
+
+
+
public class XMLSignatureCreationInvoker
extends Object
+ +

+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. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected XMLSignatureCreationInvoker() + +
+          Create a new XMLSignatureCreationInvoker. + +
+  + + + + + + + + + + + + + + + +
+Method Summary
+ at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponsecreateXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request, + Set reserved) + +
+          Process the CreateXMLSignatureRequest message and invoke the + XMLSignatureCreationModule for every + SingleSignatureInfo contained in the request.
+static XMLSignatureCreationInvokergetInstance() + +
+          Get the only instance of this class.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureCreationInvoker

+
+protected XMLSignatureCreationInvoker()
+
+
Create a new XMLSignatureCreationInvoker. + + Protected to disallow multiple instances.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static XMLSignatureCreationInvoker getInstance()
+
+
Get the only instance of this class.
+
Returns:
The only instance of this class.
+
+
+
+ +

+createXMLSignature

+
+public at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request,
+                                                                                            Set reserved)
+                                                                                     throws MOAException
+
+
Process the CreateXMLSignatureRequest message and invoke the + XMLSignatureCreationModule for every + SingleSignatureInfo contained in the request.
+
Parameters:
request - A CreateXMLSignatureRequest API object + containing the information for creating the signature(s).
reserved - A Set of reserved object IDs.
Returns:
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.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.html new file mode 100644 index 000000000..677d6747f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.html @@ -0,0 +1,233 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureCreationProfileFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class XMLSignatureCreationProfileFactory

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationProfileFactory
+
+
+
+
public class XMLSignatureCreationProfileFactory
extends Object
+ +

+A factory to create XMLSignatureCreationProfiles from a + CreateXMLSignatureRequest, based on the current MOA + configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLSignatureCreationProfileFactory(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request, + Set reserved) + +
+          Create a new XMLSignatureCreationProfileFactory.
+  + + + + + + + + + + + +
+Method Summary
+ iaik.server.modules.xmlsign.XMLSignatureCreationProfilecreateProfile(at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo singleSignatureInfo) + +
+          Create a XMLSignatureCreationProfile for the given + SingleSignatureInfo object..
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureCreationProfileFactory

+
+public XMLSignatureCreationProfileFactory(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest request,
+                                          Set reserved)
+
+
Create a new XMLSignatureCreationProfileFactory.
+
Parameters:
request - The request for which to create profiles.
reserved - The Set of reserved object IDs. IDs will + be added during signature creation.
+
+
+ + + + + + + + +
+Method Detail
+ +

+createProfile

+
+public iaik.server.modules.xmlsign.XMLSignatureCreationProfile createProfile(at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo singleSignatureInfo)
+                                                                      throws MOASystemException,
+                                                                             MOAApplicationException
+
+
Create a XMLSignatureCreationProfile for the given + SingleSignatureInfo object..
+
Parameters:
singleSignatureInfo - The SingleSignatureInfo object + containing information about the creation of a signature.
Returns:
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
MOAApplicationException - An application error occurred during + creation of the profile. See message for details.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.html new file mode 100644 index 000000000..0d0d4ba8d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.html @@ -0,0 +1,255 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureVerificationInvoker + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class XMLSignatureVerificationInvoker

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker
+
+
+
+
public class XMLSignatureVerificationInvoker
extends Object
+ +

+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. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected XMLSignatureVerificationInvoker() + +
+          Create a new XMLSignatureCreationInvoker. + +
+  + + + + + + + + + + + + + + + +
+Method Summary
+static XMLSignatureVerificationInvokergetInstance() + +
+          Get the single instance of this class.
+ at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponseverifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request) + +
+          Process the VerifyXMLSignatureRequest message and invoke the + XMLSignatureVerificationModule.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureVerificationInvoker

+
+protected XMLSignatureVerificationInvoker()
+
+
Create a new XMLSignatureCreationInvoker. + + Protected to disallow multiple instances.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static XMLSignatureVerificationInvoker getInstance()
+
+
Get the single instance of this class.
+
Returns:
The single instance of this class.
+
+
+
+ +

+verifyXMLSignature

+
+public at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request)
+                                                                                       throws MOAException
+
+
Process the VerifyXMLSignatureRequest message and invoke the + XMLSignatureVerificationModule.
+
Parameters:
request - A VerifyXMLSignatureRequest API object + containing the data for verifying an XML signature.
Returns:
A VerifyXMLSignatureResponse containing the + answert to the VerifyXMLSignatureRequest. + MOA schema definition.
Throws:
MOAException - An error occurred during signature verification.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.html new file mode 100644 index 000000000..d6ce23919 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.html @@ -0,0 +1,252 @@ + + + + + + +MOA SP/SS Server Internal API: Class XMLSignatureVerificationProfileFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.invoke +
+Class XMLSignatureVerificationProfileFactory

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory
+
+
+
+
public class XMLSignatureVerificationProfileFactory
extends Object
+ +

+A factory to create a XMLSignatureVerificationProfile from a + VerifyXMLSignatureRequest, based on the current MOA + configuration. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XMLSignatureVerificationProfileFactory(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request) + +
+          Create a new XMLSignatureVerificationProfileFactory.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ ListbuildTransformationSupplements() + +
+          Build supplemental data objects used in the transformations.
+ iaik.server.modules.xmlverify.XMLSignatureVerificationProfilecreateProfile() + +
+          Create a XMLSignatureCreationProfile from the + VerifyXMLSignaturesRequest and the current MOA configuration.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XMLSignatureVerificationProfileFactory

+
+public XMLSignatureVerificationProfileFactory(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest request)
+
+
Create a new XMLSignatureVerificationProfileFactory.
+
Parameters:
request - The VerifyXMLSignatureRequest to extract + profile data from.
+
+
+ + + + + + + + +
+Method Detail
+ +

+createProfile

+
+public iaik.server.modules.xmlverify.XMLSignatureVerificationProfile createProfile()
+                                                                            throws MOASystemException,
+                                                                                   MOAApplicationException
+
+
Create a XMLSignatureCreationProfile from the + VerifyXMLSignaturesRequest and the current MOA configuration.
+
Returns:
The XMLSignatureVerificationProfile containing + additional information for verifying an XML signature.
Throws:
MOASystemException - A system error occurred building the profile.
MOAApplicationException - An error occurred building the profile.
+
+
+
+ +

+buildTransformationSupplements

+
+public List buildTransformationSupplements()
+                                    throws MOASystemException,
+                                           MOAApplicationException
+
+
Build supplemental data objects used in the transformations.
+
Returns:
A List of DataObjects providing + supplemental data to the transformations.
Throws:
MOASystemException - A system error occurred building one of the + transformations.
MOAApplicationException - An error occurred building one of the + transformations.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationInvoker.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationInvoker.html new file mode 100644 index 000000000..f75111207 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationInvoker.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker

+
+ + + + + + + + + +
+Packages that use CMSSignatureVerificationInvoker
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of CMSSignatureVerificationInvoker in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that return CMSSignatureVerificationInvoker
+static CMSSignatureVerificationInvokerCMSSignatureVerificationInvoker.getInstance() + +
+          Return the only instance of this class.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationProfileFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationProfileFactory.html new file mode 100644 index 000000000..c84486c54 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CMSSignatureVerificationProfileFactory.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationProfileFactory + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationProfileFactory

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationProfileFactory +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CreateXMLSignatureResponseBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CreateXMLSignatureResponseBuilder.html new file mode 100644 index 000000000..bd0b202e4 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/CreateXMLSignatureResponseBuilder.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/DataObjectFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/DataObjectFactory.html new file mode 100644 index 000000000..c120249cf --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/DataObjectFactory.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory

+
+ + + + + + + + + +
+Packages that use DataObjectFactory
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of DataObjectFactory in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that return DataObjectFactory
+static DataObjectFactoryDataObjectFactory.getInstance() + +
+          Return the only instance of this class.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ExternalURIResolver.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ExternalURIResolver.html new file mode 100644 index 000000000..ae5ac4e59 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ExternalURIResolver.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/IaikExceptionMapper.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/IaikExceptionMapper.html new file mode 100644 index 000000000..38e6b173d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/IaikExceptionMapper.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper

+
+ + + + + + + + + +
+Packages that use IaikExceptionMapper
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of IaikExceptionMapper in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that return IaikExceptionMapper
+static IaikExceptionMapperIaikExceptionMapper.getInstance() + +
+          Get the single instance of this class.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/InvokerUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/InvokerUtils.html new file mode 100644 index 000000000..39ea751b1 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/InvokerUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.InvokerUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.InvokerUtils

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.InvokerUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ProfileMapper.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ProfileMapper.html new file mode 100644 index 000000000..edeead3df --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ProfileMapper.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.ProfileMapper

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ServiceContextUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ServiceContextUtils.html new file mode 100644 index 000000000..4163221b5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/ServiceContextUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureCreationServiceImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureCreationServiceImpl.html new file mode 100644 index 000000000..91ee6bc3a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureCreationServiceImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureVerificationServiceImpl.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureVerificationServiceImpl.html new file mode 100644 index 000000000..e3276a401 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/SignatureVerificationServiceImpl.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/TransformationFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/TransformationFactory.html new file mode 100644 index 000000000..4a0d3e0f5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/TransformationFactory.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.TransformationFactory + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.TransformationFactory

+
+ + + + + + + + + +
+Packages that use TransformationFactory
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of TransformationFactory in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that return TransformationFactory
+static TransformationFactoryTransformationFactory.getInstance() + +
+          Get the single instance of the factory.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyCMSSignatureResponseBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyCMSSignatureResponseBuilder.html new file mode 100644 index 000000000..50fc2ba81 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyCMSSignatureResponseBuilder.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyXMLSignatureResponseBuilder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyXMLSignatureResponseBuilder.html new file mode 100644 index 000000000..e01cf5e59 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/VerifyXMLSignatureResponseBuilder.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationInvoker.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationInvoker.html new file mode 100644 index 000000000..be4d2fa32 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationInvoker.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker

+
+ + + + + + + + + +
+Packages that use XMLSignatureCreationInvoker
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of XMLSignatureCreationInvoker in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that return XMLSignatureCreationInvoker
+static XMLSignatureCreationInvokerXMLSignatureCreationInvoker.getInstance() + +
+          Get the only instance of this class.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationProfileFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationProfileFactory.html new file mode 100644 index 000000000..0914a0d44 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureCreationProfileFactory.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationProfileFactory + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationProfileFactory

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationProfileFactory +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationInvoker.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationInvoker.html new file mode 100644 index 000000000..6589f92de --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationInvoker.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker

+
+ + + + + + + + + +
+Packages that use XMLSignatureVerificationInvoker
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + +
+Uses of XMLSignatureVerificationInvoker in at.gv.egovernment.moa.spss.server.invoke
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.invoke that return XMLSignatureVerificationInvoker
+static XMLSignatureVerificationInvokerXMLSignatureVerificationInvoker.getInstance() + +
+          Get the single instance of this class.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationProfileFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationProfileFactory.html new file mode 100644 index 000000000..0c7ab50df --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/class-use/XMLSignatureVerificationProfileFactory.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory

+
+No usage of at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-frame.html new file mode 100644 index 000000000..fda6b423a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-frame.html @@ -0,0 +1,60 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.invoke + + + + + +at.gv.egovernment.moa.spss.server.invoke + + + + +
+Classes  + +
+CMSSignatureVerificationInvoker +
+CMSSignatureVerificationProfileFactory +
+CreateXMLSignatureResponseBuilder +
+DataObjectFactory +
+ExternalURIResolver +
+IaikExceptionMapper +
+InvokerUtils +
+ProfileMapper +
+ServiceContextUtils +
+SignatureCreationServiceImpl +
+SignatureVerificationServiceImpl +
+TransformationFactory +
+VerifyCMSSignatureResponseBuilder +
+VerifyXMLSignatureResponseBuilder +
+XMLSignatureCreationInvoker +
+XMLSignatureCreationProfileFactory +
+XMLSignatureVerificationInvoker +
+XMLSignatureVerificationProfileFactory
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-summary.html new file mode 100644 index 000000000..38baff5af --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-summary.html @@ -0,0 +1,202 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.invoke + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.invoke +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
CMSSignatureVerificationInvokerA class providing an interface to the + CMSSignatureVerificationModule. + +
CMSSignatureVerificationProfileFactoryA factory to create a CMSSignatureVerificationProfile from a + VerifyCMSSignatureRequest and the current MOA configuration + data.
CreateXMLSignatureResponseBuilderA class to build a CreateXMLSignatureResponse. + +
DataObjectFactoryA class to create DataObjects contained in different + locations of the MOA XML request format.
ExternalURIResolverResolve external URIs and provide them as a stream.
IaikExceptionMapperMap an exception from the iaik namespace to a + MOAException.
InvokerUtilsUtility methods for invoking the IAIK MOA modules.
ProfileMapperMap ProfileID objects to their explicit represantation.
ServiceContextUtilsA utility class for setting up and tearing down thread-local context + information needed for calling the Invoker classes.
SignatureCreationServiceImplAn implementation of the SignatureCreationService, using + the XMLSignatureCreationInvoker.
SignatureVerificationServiceImplAn implementation of the SignatureVerificationService using + the XMLSignatureVerificationInvoker and the + CMSSignatureVerificationInvoker.
TransformationFactoryA factory to create Transformation objects from + Transform objects.
VerifyCMSSignatureResponseBuilderA class to build a VerifyCMSSignatureResponse object. + +
VerifyXMLSignatureResponseBuilderA class to build a VerifyXMLSignatureResponse object. + +
XMLSignatureCreationInvokerA class providing an API based interface to the + XMLSignatureCreationModule. + +
XMLSignatureCreationProfileFactoryA factory to create XMLSignatureCreationProfiles from a + CreateXMLSignatureRequest, based on the current MOA + configuration.
XMLSignatureVerificationInvokerA class providing a DOM based interface to the + XMLSignatureVerificationModule. + +
XMLSignatureVerificationProfileFactoryA factory to create a XMLSignatureVerificationProfile from a + VerifyXMLSignatureRequest, based on the current MOA + configuration.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-tree.html new file mode 100644 index 000000000..6ce03ce50 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-tree.html @@ -0,0 +1,108 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.invoke Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.invoke +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-use.html new file mode 100644 index 000000000..125dc4d73 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/invoke/package-use.html @@ -0,0 +1,163 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.invoke + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.invoke

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss.server.invoke
at.gv.egovernment.moa.spss.server.invoke  
+  +

+ + + + + + + + + + + + + + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.invoke used by at.gv.egovernment.moa.spss.server.invoke
CMSSignatureVerificationInvoker + +
+          A class providing an interface to the + CMSSignatureVerificationModule. + +
DataObjectFactory + +
+          A class to create DataObjects contained in different + locations of the MOA XML request format.
IaikExceptionMapper + +
+          Map an exception from the iaik namespace to a + MOAException.
TransformationFactory + +
+          A factory to create Transformation objects from + Transform objects.
XMLSignatureCreationInvoker + +
+          A class providing an API based interface to the + XMLSignatureCreationModule. + +
XMLSignatureVerificationInvoker + +
+          A class providing a DOM based interface to the + XMLSignatureVerificationModule. + +
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLog.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLog.html new file mode 100644 index 000000000..265a724d6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLog.html @@ -0,0 +1,518 @@ + + + + + + +MOA SP/SS Server Internal API: Class IaikLog + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.logging +
+Class IaikLog

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.logging.IaikLog
+
+
+
All Implemented Interfaces:
iaik.logging.Log
+
+
+
+
public class IaikLog
extends Object
implements iaik.logging.Log
+ +

+An implementation of the iaik.logging.Log + interface that is based on Jakarta Commons-Logging. +

+

+
Version:
$Id$
+
Author:
Fatemeh Philippi
+
+
+ +

+ + + + + + + + + + + + + + +
+Field Summary
+static StringIAIK_LOG_HIERARCHY + +
+          The hierarchy to log all IAIK output to.
+  + + + + + + + + + + +
+Constructor Summary
IaikLog(String nodeId) + +
+          Create a new IaikLog.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(iaik.logging.TransactionId transactionId, + Object message, + Throwable t) + +
+           
+ voiderror(iaik.logging.TransactionId transactionId, + Object message, + Throwable t) + +
+           
+ voidfatal(iaik.logging.TransactionId transactionId, + Object message, + Throwable t) + +
+           
+ StringgetNodeId() + +
+           
+ voidinfo(iaik.logging.TransactionId transactionId, + Object message, + Throwable t) + +
+           
+ booleanisDebugEnabled() + +
+           
+ booleanisErrorEnabled() + +
+           
+ booleanisFatalEnabled() + +
+           
+ booleanisInfoEnabled() + +
+           
+ booleanisWarnEnabled() + +
+           
+ voidsetNodeId(String nodeId) + +
+           
+ voidwarn(iaik.logging.TransactionId transactionId, + Object message, + Throwable t) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+IAIK_LOG_HIERARCHY

+
+public static final String IAIK_LOG_HIERARCHY
+
+
The hierarchy to log all IAIK output to.
+ + + + + + + + +
+Constructor Detail
+ +

+IaikLog

+
+public IaikLog(String nodeId)
+
+
Create a new IaikLog.
+
Parameters:
nodeId - The node ID for this Log object.
+
+
+ + + + + + + + +
+Method Detail
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
+
Specified by:
isDebugEnabled in interface iaik.logging.Log
+
+
+
See Also:
Log.isDebugEnabled()
+
+
+
+ +

+debug

+
+public void debug(iaik.logging.TransactionId transactionId,
+                  Object message,
+                  Throwable t)
+
+
+
Specified by:
debug in interface iaik.logging.Log
+
+
+
See Also:
Log.debug(TransactionId, Object, Throwable)
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
+
Specified by:
isInfoEnabled in interface iaik.logging.Log
+
+
+
See Also:
Log.isInfoEnabled()
+
+
+
+ +

+info

+
+public void info(iaik.logging.TransactionId transactionId,
+                 Object message,
+                 Throwable t)
+
+
+
Specified by:
info in interface iaik.logging.Log
+
+
+
See Also:
Log.info(TransactionId, Object, Throwable)
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
+
Specified by:
isWarnEnabled in interface iaik.logging.Log
+
+
+
See Also:
Log.isWarnEnabled()
+
+
+
+ +

+warn

+
+public void warn(iaik.logging.TransactionId transactionId,
+                 Object message,
+                 Throwable t)
+
+
+
Specified by:
warn in interface iaik.logging.Log
+
+
+
See Also:
Log.warn(TransactionId, Object, Throwable)
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
+
Specified by:
isErrorEnabled in interface iaik.logging.Log
+
+
+
See Also:
Log.isErrorEnabled()
+
+
+
+ +

+error

+
+public void error(iaik.logging.TransactionId transactionId,
+                  Object message,
+                  Throwable t)
+
+
+
Specified by:
error in interface iaik.logging.Log
+
+
+
See Also:
Log.error(TransactionId, Object, Throwable)
+
+
+
+ +

+isFatalEnabled

+
+public boolean isFatalEnabled()
+
+
+
Specified by:
isFatalEnabled in interface iaik.logging.Log
+
+
+
See Also:
Log.isFatalEnabled()
+
+
+
+ +

+fatal

+
+public void fatal(iaik.logging.TransactionId transactionId,
+                  Object message,
+                  Throwable t)
+
+
+
Specified by:
fatal in interface iaik.logging.Log
+
+
+
See Also:
Log.fatal(TransactionId, Object, Throwable)
+
+
+
+ +

+setNodeId

+
+public void setNodeId(String nodeId)
+
+
+
Specified by:
setNodeId in interface iaik.logging.Log
+
+
+
See Also:
Log.setNodeId(String)
+
+
+
+ +

+getNodeId

+
+public String getNodeId()
+
+
+
Specified by:
getNodeId in interface iaik.logging.Log
+
+
+
See Also:
Log.getNodeId()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.html new file mode 100644 index 000000000..2775a49dc --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.html @@ -0,0 +1,278 @@ + + + + + + +MOA SP/SS Server Internal API: Class IaikLogFactory + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.logging +
+Class IaikLogFactory

+
+java.lang.Object
+  |
+  +--iaik.logging.LogFactory
+        |
+        +--at.gv.egovernment.moa.spss.server.logging.IaikLogFactory
+
+
+
+
public class IaikLogFactory
extends iaik.logging.LogFactory
+ +

+An implementation of the iaik.logging.LogFactory abstract + class to log messages to the MOA logging subsystem. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from class iaik.logging.LogFactory
DEFAULT_FACTORY, factories, factory_name_, node_id_, properties_
+  + + + + + + + + + + +
+Constructor Summary
IaikLogFactory() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ iaik.logging.LoggetInstance(Class clazz) + +
+           
+ iaik.logging.LoggetInstance(String name) + +
+           
+ voidrelease() + +
+           
+ + + + + + + +
Methods inherited from class iaik.logging.LogFactory
configure, getContextClassLoader, getFactory, getLog, getLog, newFactory, releaseAll
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+IaikLogFactory

+
+public IaikLogFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public iaik.logging.Log getInstance(Class clazz)
+                             throws iaik.logging.LogConfigurationException
+
+
+
Overrides:
getInstance in class iaik.logging.LogFactory
+
+
+
+ +

+getInstance

+
+public iaik.logging.Log getInstance(String name)
+                             throws iaik.logging.LogConfigurationException
+
+
+
Overrides:
getInstance in class iaik.logging.LogFactory
+
+
+
+ +

+release

+
+public void release()
+
+
+
Overrides:
release in class iaik.logging.LogFactory
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.html new file mode 100644 index 000000000..a3257d151 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.html @@ -0,0 +1,229 @@ + + + + + + +MOA SP/SS Server Internal API: Class IaikLogMsg + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.logging +
+Class IaikLogMsg

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.logging.IaikLogMsg
+
+
+
+
public class IaikLogMsg
extends Object
+ +

+A unified message type to log messages from the IAIK subsystem. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
IaikLogMsg(iaik.logging.TransactionId transactionId, + String nodeId, + Object message) + +
+          Create a IaikLogMsg object.
+  + + + + + + + + + + + +
+Method Summary
+ StringtoString() + +
+          Convert this log message to a String.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+IaikLogMsg

+
+public IaikLogMsg(iaik.logging.TransactionId transactionId,
+                  String nodeId,
+                  Object message)
+
+
Create a IaikLogMsg object.
+
Parameters:
transactionId - The transaction id of the transaction which + generated this log message. May be null.
nodeId - The node id where this message was generated. May be + null.
message - The actual message to log. May be null.
+
+
+ + + + + + + + +
+Method Detail
+ +

+toString

+
+public String toString()
+
+
Convert this log message to a String.
+
Overrides:
toString in class Object
+
+
+
Returns:
The String representation of this log message.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/TransactionId.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/TransactionId.html new file mode 100644 index 000000000..db05490dd --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/TransactionId.html @@ -0,0 +1,249 @@ + + + + + + +MOA SP/SS Server Internal API: Class TransactionId + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.logging +
+Class TransactionId

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.logging.TransactionId
+
+
+
All Implemented Interfaces:
iaik.logging.TransactionId
+
+
+
+
public class TransactionId
extends Object
implements iaik.logging.TransactionId
+ +

+An implementation of the iaik.logging.TransactionId interface. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TransactionId(String logID) + +
+          Create a TransactionId object.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ StringgetLogID() + +
+           
+ StringtoString() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TransactionId

+
+public TransactionId(String logID)
+
+
Create a TransactionId object.
+
Parameters:
logID - The transaction id as it should be presented to the logging + subsystem.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogID

+
+public String getLogID()
+
+
+
Specified by:
getLogID in interface iaik.logging.TransactionId
+
+
+
See Also:
TransactionId.getLogID()
+
+
+
+ +

+toString

+
+public String toString()
+
+
+
Overrides:
toString in class Object
+
+
+
See Also:
Object.toString()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLog.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLog.html new file mode 100644 index 000000000..89f062c8b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLog.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.logging.IaikLog + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.logging.IaikLog

+
+No usage of at.gv.egovernment.moa.spss.server.logging.IaikLog +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogFactory.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogFactory.html new file mode 100644 index 000000000..c7cb8b092 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogFactory.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.logging.IaikLogFactory + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.logging.IaikLogFactory

+
+No usage of at.gv.egovernment.moa.spss.server.logging.IaikLogFactory +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogMsg.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogMsg.html new file mode 100644 index 000000000..64a8b7b6c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/IaikLogMsg.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.logging.IaikLogMsg + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.logging.IaikLogMsg

+
+No usage of at.gv.egovernment.moa.spss.server.logging.IaikLogMsg +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/TransactionId.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/TransactionId.html new file mode 100644 index 000000000..4755d3130 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/class-use/TransactionId.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.logging.TransactionId + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.logging.TransactionId

+
+No usage of at.gv.egovernment.moa.spss.server.logging.TransactionId +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-frame.html new file mode 100644 index 000000000..7bb3e49a2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-frame.html @@ -0,0 +1,32 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.logging + + + + + +at.gv.egovernment.moa.spss.server.logging + + + + +
+Classes  + +
+IaikLog +
+IaikLogFactory +
+IaikLogMsg +
+TransactionId
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-summary.html new file mode 100644 index 000000000..42cccd999 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-summary.html @@ -0,0 +1,120 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.logging + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.logging +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
IaikLogAn implementation of the iaik.logging.Log + interface that is based on Jakarta Commons-Logging.
IaikLogFactoryAn implementation of the iaik.logging.LogFactory abstract + class to log messages to the MOA logging subsystem.
IaikLogMsgA unified message type to log messages from the IAIK subsystem.
TransactionIdAn implementation of the iaik.logging.TransactionId interface.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-tree.html new file mode 100644 index 000000000..054d4168a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-tree.html @@ -0,0 +1,108 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.logging Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.logging +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.logging.IaikLog (implements iaik.logging.Log) +
    • class at.gv.egovernment.moa.spss.server.logging.IaikLogMsg
    • class iaik.logging.LogFactory +
    • class at.gv.egovernment.moa.spss.server.logging.TransactionId (implements iaik.logging.TransactionId) +
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-use.html new file mode 100644 index 000000000..d8024b706 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/logging/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.logging + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.logging

+
+No usage of at.gv.egovernment.moa.spss.server.logging +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/AxisHandler.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/AxisHandler.html new file mode 100644 index 000000000..8d59eea38 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/AxisHandler.html @@ -0,0 +1,303 @@ + + + + + + +MOA SP/SS Server Internal API: Class AxisHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.service +
+Class AxisHandler

+
+java.lang.Object
+  |
+  +--org.apache.axis.handlers.BasicHandler
+        |
+        +--at.gv.egovernment.moa.spss.server.service.AxisHandler
+
+
+
All Implemented Interfaces:
org.apache.axis.Handler, Serializable
+
+
+
+
public class AxisHandler
extends org.apache.axis.handlers.BasicHandler
+ +

+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). +

+

+
Version:
$Id$
+
Author:
Patrick Peck, Stefan Knirsch
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + +
Fields inherited from class org.apache.axis.handlers.BasicHandler
log, name, options
+  + + + + + + + + + + +
+Constructor Summary
AxisHandler() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidgenerateWSDL(org.apache.axis.MessageContext msgContext) + +
+          Generate the WSDL into the msgContext. + +
+ voidinvoke(org.apache.axis.MessageContext msgContext) + +
+          Handle an invocation of this handler.
+ voidonFault(org.apache.axis.MessageContext msgContext) + +
+          Called, when the processing of the web service fails.
+ + + + + + + +
Methods inherited from class org.apache.axis.handlers.BasicHandler
canHandleBlock, cleanup, getDeploymentData, getName, getOption, getOptions, getUnderstoodHeaders, init, initHashtable, setName, setOption, setOptionDefault, setOptions
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+AxisHandler

+
+public AxisHandler()
+
+
+ + + + + + + + +
+Method Detail
+ +

+invoke

+
+public void invoke(org.apache.axis.MessageContext msgContext)
+            throws org.apache.axis.AxisFault
+
+
Handle an invocation of this handler.
+
Overrides:
invoke in class org.apache.axis.handlers.BasicHandler
+
+
+
Parameters:
msgContext - Information about this request/response.
Throws:
org.apache.axis.AxisFault - An error occurred during processing of the request.
See Also:
Handler.invoke(MessageContext)
+
+
+
+ +

+onFault

+
+public void onFault(org.apache.axis.MessageContext msgContext)
+
+
Called, when the processing of the web service fails.
+
Overrides:
onFault in class org.apache.axis.handlers.BasicHandler
+
+
+
Parameters:
msgContext - Information about the current request.
See Also:
Handler.onFault(org.apache.axis.MessageContext)
+
+
+
+ +

+generateWSDL

+
+public void generateWSDL(org.apache.axis.MessageContext msgContext)
+                  throws org.apache.axis.AxisFault
+
+
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.
+
Overrides:
generateWSDL in class org.apache.axis.handlers.BasicHandler
+
+
+
Parameters:
msgContext - The MessageContext that will contain the + WSDL description of the current web service.
Throws:
org.apache.axis.AxisFault - An error occurred producing the WSDL.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.html new file mode 100644 index 000000000..07502c433 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.html @@ -0,0 +1,307 @@ + + + + + + +MOA SP/SS Server Internal API: Class ConfigurationServlet + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.service +
+Class ConfigurationServlet

+
+java.lang.Object
+  |
+  +--javax.servlet.GenericServlet
+        |
+        +--javax.servlet.http.HttpServlet
+              |
+              +--at.gv.egovernment.moa.spss.server.service.ConfigurationServlet
+
+
+
All Implemented Interfaces:
Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
+
+
+
+
public class ConfigurationServlet
extends javax.servlet.http.HttpServlet
+ +

+A servlet to initialize and update the MOA configuration. +

+

+
Version:
$Id$
+
Author:
Fatemeh Philippi, Patrick Peck
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ConfigurationServlet() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddoGet(javax.servlet.http.HttpServletRequest request, + javax.servlet.http.HttpServletResponse response) + +
+          Handle a HTTP GET request, used to indicated that the MOA + configuration needs to be updated (reloaded).
+ voiddoPost(javax.servlet.http.HttpServletRequest request, + javax.servlet.http.HttpServletResponse response) + +
+          Do the same as doGet.
+ voidinit() + +
+          Perform some initial initialization tasks for the MOA web services + application. + +
+ + + + + + + +
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doOptions, doPut, doTrace, getLastModified, service, service
+ + + + + + + +
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ConfigurationServlet

+
+public ConfigurationServlet()
+
+
+ + + + + + + + +
+Method Detail
+ +

+doGet

+
+public void doGet(javax.servlet.http.HttpServletRequest request,
+                  javax.servlet.http.HttpServletResponse response)
+           throws javax.servlet.ServletException,
+                  IOException
+
+
Handle a HTTP GET request, used to indicated that the MOA + configuration needs to be updated (reloaded).
+
Overrides:
doGet in class javax.servlet.http.HttpServlet
+
+
+
See Also:
HttpServlet.doGet(HttpServletRequest, HttpServletResponse)
+
+
+
+ +

+doPost

+
+public void doPost(javax.servlet.http.HttpServletRequest request,
+                   javax.servlet.http.HttpServletResponse response)
+            throws javax.servlet.ServletException,
+                   IOException
+
+
Do the same as doGet.
+
Overrides:
doPost in class javax.servlet.http.HttpServlet
+
+
+
See Also:
HttpServlet.doPost(HttpServletRequest, HttpServletResponse)
+
+
+
+ +

+init

+
+public void init()
+          throws javax.servlet.ServletException
+
+
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.
+
Overrides:
init in class javax.servlet.GenericServlet
+
+
+
See Also:
GenericServlet.init()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.html new file mode 100644 index 000000000..6a7c06ddb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.html @@ -0,0 +1,226 @@ + + + + + + +MOA SP/SS Server Internal API: Class RevocationArchiveCleaner + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.service +
+Class RevocationArchiveCleaner

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner
+
+
+
All Implemented Interfaces:
Runnable
+
+
+
+
public class RevocationArchiveCleaner
extends Object
implements Runnable
+ +

+A Runnable for periodically cleaning up the revocation archive. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
RevocationArchiveCleaner(long archiveCleanupInterval) + +
+          Create a new RevocationArchiveCleaner.
+  + + + + + + + + + + + +
+Method Summary
+ voidrun() + +
+          Run the RevocationArchiveCleaner in its own + Thread.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+RevocationArchiveCleaner

+
+public RevocationArchiveCleaner(long archiveCleanupInterval)
+
+
Create a new RevocationArchiveCleaner.
+
Parameters:
archiveCleanupInterval - The interval between two clean-ups of the + revocation archive.
+
+
+ + + + + + + + +
+Method Detail
+ +

+run

+
+public void run()
+
+
Run the RevocationArchiveCleaner in its own + Thread.
+
Specified by:
run in interface Runnable
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ServiceUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ServiceUtils.html new file mode 100644 index 000000000..44886b45a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/ServiceUtils.html @@ -0,0 +1,240 @@ + + + + + + +MOA SP/SS Server Internal API: Class ServiceUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.service +
+Class ServiceUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.service.ServiceUtils
+
+
+
+
public class ServiceUtils
extends Object
+ +

+Helper methods for the Service classes. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ServiceUtils() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static org.w3c.dom.ElementreparseRequest(org.w3c.dom.Element request) + +
+          Reparse the request with schema-validation turned on so that ID references + are resolved.
+static voidvalidateRequest(org.w3c.dom.Element[] request) + +
+          Schema-validate a request.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ServiceUtils

+
+public ServiceUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+validateRequest

+
+public static void validateRequest(org.w3c.dom.Element[] request)
+                            throws MOAApplicationException
+
+
Schema-validate a request.
+
Parameters:
request - The request to validate.
Throws:
MOAApplicationException - An error occurred validating the requst.
+
+
+
+ +

+reparseRequest

+
+public static org.w3c.dom.Element reparseRequest(org.w3c.dom.Element request)
+                                          throws MOAApplicationException
+
+
Reparse the request with schema-validation turned on so that ID references + are resolved.
+
Parameters:
request - The request to reparse.
Returns:
The reparsed request.
Throws:
MOAApplicationException - An error occurred parsing the request.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.html new file mode 100644 index 000000000..18443bb43 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.html @@ -0,0 +1,220 @@ + + + + + + +MOA SP/SS Server Internal API: Class SignatureCreationService + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.service +
+Class SignatureCreationService

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.service.SignatureCreationService
+
+
+
+
public class SignatureCreationService
extends Object
+ +

+The service endpoint for the SignatureCreation web service. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SignatureCreationService() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ org.w3c.dom.Element[]CreateXMLSignatureRequest(org.w3c.dom.Element[] request) + +
+          Handle a CreateXMLSignatureRequest.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SignatureCreationService

+
+public SignatureCreationService()
+
+
+ + + + + + + + +
+Method Detail
+ +

+CreateXMLSignatureRequest

+
+public org.w3c.dom.Element[] CreateXMLSignatureRequest(org.w3c.dom.Element[] request)
+                                                throws org.apache.axis.AxisFault
+
+
Handle a CreateXMLSignatureRequest.
+
Parameters:
request - The CreateXMLSignatureRequest to work on + (contained in the 0th element of the array).
Returns:
A CreateXMLSignatureResponse as the only element of + the Element array.
Throws:
org.apache.axis.AxisFault - An error occurred during handling of the message.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.html new file mode 100644 index 000000000..72cbc0f3f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.html @@ -0,0 +1,242 @@ + + + + + + +MOA SP/SS Server Internal API: Class SignatureVerificationService + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.service +
+Class SignatureVerificationService

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.service.SignatureVerificationService
+
+
+
+
public class SignatureVerificationService
extends Object
+ +

+The service endpoint for the SignatureVerification web service. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SignatureVerificationService() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ org.w3c.dom.Element[]VerifyCMSSignatureRequest(org.w3c.dom.Element[] request) + +
+          Handle a VerifyCMSSignatureRequest.
+ org.w3c.dom.Element[]VerifyXMLSignatureRequest(org.w3c.dom.Element[] request) + +
+          Handle a VerifyXMLSignatureRequest.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SignatureVerificationService

+
+public SignatureVerificationService()
+
+
+ + + + + + + + +
+Method Detail
+ +

+VerifyCMSSignatureRequest

+
+public org.w3c.dom.Element[] VerifyCMSSignatureRequest(org.w3c.dom.Element[] request)
+                                                throws org.apache.axis.AxisFault
+
+
Handle a VerifyCMSSignatureRequest.
+
Parameters:
request - The VerifyCMSSignatureRequest to work on + (contained in the 0th element of the array).
Returns:
A VerifyCMSSignatureResponse as the only element of + the Element array.
Throws:
org.apache.axis.AxisFault - An error occurred during handling of the message.
+
+
+
+ +

+VerifyXMLSignatureRequest

+
+public org.w3c.dom.Element[] VerifyXMLSignatureRequest(org.w3c.dom.Element[] request)
+                                                throws org.apache.axis.AxisFault
+
+
Handle a VerifyXMLSignatureRequest.
+
Parameters:
request - The VerifyXMLSignatureRequest to work on + (contained in the 0th element of the array).
Returns:
A VerifyXMLSignatureResponse as the only element of + the Element array.
Throws:
org.apache.axis.AxisFault - An error occurred during handling of the message.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/AxisHandler.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/AxisHandler.html new file mode 100644 index 000000000..6d1dac3f2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/AxisHandler.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.service.AxisHandler + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.service.AxisHandler

+
+No usage of at.gv.egovernment.moa.spss.server.service.AxisHandler +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ConfigurationServlet.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ConfigurationServlet.html new file mode 100644 index 000000000..b6bfe4b4b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ConfigurationServlet.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.service.ConfigurationServlet + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.service.ConfigurationServlet

+
+No usage of at.gv.egovernment.moa.spss.server.service.ConfigurationServlet +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/RevocationArchiveCleaner.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/RevocationArchiveCleaner.html new file mode 100644 index 000000000..180ff6252 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/RevocationArchiveCleaner.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner

+
+No usage of at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ServiceUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ServiceUtils.html new file mode 100644 index 000000000..ccdbc5727 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/ServiceUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.service.ServiceUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.service.ServiceUtils

+
+No usage of at.gv.egovernment.moa.spss.server.service.ServiceUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureCreationService.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureCreationService.html new file mode 100644 index 000000000..79c747b9c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureCreationService.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.service.SignatureCreationService + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.service.SignatureCreationService

+
+No usage of at.gv.egovernment.moa.spss.server.service.SignatureCreationService +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureVerificationService.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureVerificationService.html new file mode 100644 index 000000000..a32f4ce56 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/class-use/SignatureVerificationService.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.service.SignatureVerificationService + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.service.SignatureVerificationService

+
+No usage of at.gv.egovernment.moa.spss.server.service.SignatureVerificationService +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-frame.html new file mode 100644 index 000000000..1ea58e589 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-frame.html @@ -0,0 +1,36 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.service + + + + + +at.gv.egovernment.moa.spss.server.service + + + + +
+Classes  + +
+AxisHandler +
+ConfigurationServlet +
+RevocationArchiveCleaner +
+ServiceUtils +
+SignatureCreationService +
+SignatureVerificationService
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-summary.html new file mode 100644 index 000000000..6adabfbbc --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-summary.html @@ -0,0 +1,129 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.service + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.service +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
AxisHandlerAn handler that is invoked on each web service request and performs some + central message handling. + +
ConfigurationServletA servlet to initialize and update the MOA configuration.
RevocationArchiveCleanerA Runnable for periodically cleaning up the revocation archive.
ServiceUtilsHelper methods for the Service classes.
SignatureCreationServiceThe service endpoint for the SignatureCreation web service.
SignatureVerificationServiceThe service endpoint for the SignatureVerification web service.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-tree.html new file mode 100644 index 000000000..1acd20bab --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-tree.html @@ -0,0 +1,114 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.service Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.service +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-use.html new file mode 100644 index 000000000..88f52edca --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/service/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.service + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.service

+
+No usage of at.gv.egovernment.moa.spss.server.service +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/CertTool.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/CertTool.html new file mode 100644 index 000000000..bdca018c3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/CertTool.html @@ -0,0 +1,272 @@ + + + + + + +MOA SP/SS Server Internal API: Class CertTool + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.tools +
+Class CertTool

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.tools.CertTool
+
+
+
+
public class CertTool
extends Object
+ +

+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
  • +
+

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CertTool() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddCertToCertStore(String certFile, + String certStoreRoot) + +
+          Add a certificate to a directory certificate store.
+static voidmain(String[] args) + +
+          Main entry point of the tool.
+ voidprintCertInfo(String certFile, + PrintStream out) + +
+          Print the information about the certificate. + +
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CertTool

+
+public CertTool()
+
+
+ + + + + + + + +
+Method Detail
+ +

+main

+
+public static void main(String[] args)
+
+
Main entry point of the tool.
+
Parameters:
args - The command line arguments. A single argument is expected, + which is the file name of the X509 certificate to inspect.
+
+
+
+ +

+printCertInfo

+
+public void printCertInfo(String certFile,
+                          PrintStream out)
+
+
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.
+
Parameters:
certFile - The name of the certificate file to inspect.
out - The stream to print the information to.
+
+
+
+ +

+addCertToCertStore

+
+public void addCertToCertStore(String certFile,
+                               String certStoreRoot)
+
+
Add a certificate to a directory certificate store.
+
Parameters:
certFile - The certificate to add.
certStoreRoot - The root directory of the certificate store.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/class-use/CertTool.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/class-use/CertTool.html new file mode 100644 index 000000000..acc31e69c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/class-use/CertTool.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.tools.CertTool + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.tools.CertTool

+
+No usage of at.gv.egovernment.moa.spss.server.tools.CertTool +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-frame.html new file mode 100644 index 000000000..c1c5448ca --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.tools + + + + + +at.gv.egovernment.moa.spss.server.tools + + + + +
+Classes  + +
+CertTool
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-summary.html new file mode 100644 index 000000000..ff0dcc561 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-summary.html @@ -0,0 +1,109 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.tools + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.tools +

+ + + + + + + + + +
+Class Summary
CertToolA tool to support X509 certificate handling for configuring the MOA SP/SS + service. + +
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-tree.html new file mode 100644 index 000000000..6145d6efe --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-tree.html @@ -0,0 +1,104 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.tools Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.tools +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • class java.lang.Object
      +
    • class at.gv.egovernment.moa.spss.server.tools.CertTool
    +
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-use.html new file mode 100644 index 000000000..662d421b5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/tools/package-use.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.tools + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.tools

+
+No usage of at.gv.egovernment.moa.spss.server.tools +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.html new file mode 100644 index 000000000..4b77f5142 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.html @@ -0,0 +1,304 @@ + + + + + + +MOA SP/SS Server Internal API: Class TransactionContext + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.transaction +
+Class TransactionContext

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.transaction.TransactionContext
+
+
+
+
public class TransactionContext
extends Object
+ +

+Contains information about the current request. +

+

+
Author:
Stefan Knirsch, Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TransactionContext(String transactionID, + X509Certificate[] clientCertificate, + ConfigurationProvider configuration) + +
+          Create a TransactionContext object.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ X509Certificate[]getClientCertificate() + +
+          Returns the client certificate.
+ ConfigurationProvidergetConfiguration() + +
+          Returns the ConfigurationProvider associated with this + transaction.
+ StringgetRequestName() + +
+          Returns the name of the request.
+ StringgetTransactionID() + +
+          Returns the unique transaction ID.
+ voidsetRequestName(String requestName) + +
+          Sets the name of the request.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TransactionContext

+
+public TransactionContext(String transactionID,
+                          X509Certificate[] clientCertificate,
+                          ConfigurationProvider configuration)
+
+
Create a TransactionContext object.
+
Parameters:
transactionID - A unique ID for this TransactionContext.
clientCertificate - The client certificate chain.
configuration - The MOA configuration to use for this transaction.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getClientCertificate

+
+public X509Certificate[] getClientCertificate()
+
+
Returns the client certificate.
+
Returns:
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.
+
+
+
+ +

+getTransactionID

+
+public String getTransactionID()
+
+
Returns the unique transaction ID.
+
Returns:
The transaction ID.
+
+
+
+ +

+getRequestName

+
+public String getRequestName()
+
+
Returns the name of the request.
+
Returns:
The name of the request.
+
+
+
+ +

+setRequestName

+
+public void setRequestName(String requestName)
+
+
Sets the name of the request.
+
Parameters:
requestName - The request name to set.
+
+
+
+ +

+getConfiguration

+
+public ConfigurationProvider getConfiguration()
+
+
Returns the ConfigurationProvider associated with this + transaction.
+
Returns:
The ConfigurationProvider associated with this transaction.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.html new file mode 100644 index 000000000..771ee59d8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.html @@ -0,0 +1,266 @@ + + + + + + +MOA SP/SS Server Internal API: Class TransactionContextManager + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.transaction +
+Class TransactionContextManager

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager
+
+
+
+
public class TransactionContextManager
extends Object
+ +

+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, Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected TransactionContextManager() + +
+          Creates a new TransactionContextManager. + +
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static TransactionContextManagergetInstance() + +
+          Get the single instance of TransactionContextManager.
+ TransactionContextgetTransactionContext() + +
+          Get the TransactionContext for the current thread.
+ voidsetTransactionContext(TransactionContext txContext) + +
+          Set the TransactionContext for the current thread.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TransactionContextManager

+
+protected TransactionContextManager()
+
+
Creates a new TransactionContextManager. + + Protected to disallow direct instantiation.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static TransactionContextManager getInstance()
+
+
Get the single instance of TransactionContextManager.
+
Returns:
The single instanc of TransactionContextManager.
+
+
+
+ +

+setTransactionContext

+
+public void setTransactionContext(TransactionContext txContext)
+
+
Set the TransactionContext for the current thread.
+
Parameters:
txContext - The TransactionContext for this thread.
+
+
+
+ +

+getTransactionContext

+
+public TransactionContext getTransactionContext()
+
+
Get the TransactionContext for the current thread.
+
Returns:
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).
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.html new file mode 100644 index 000000000..85d1d41cb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.html @@ -0,0 +1,230 @@ + + + + + + +MOA SP/SS Server Internal API: Class TransactionIDGenerator + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.transaction +
+Class TransactionIDGenerator

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator
+
+
+
+
public class TransactionIDGenerator
extends Object
+ +

+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, Stefan Knirsch
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
TransactionIDGenerator() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static StringnextID() + +
+          Returns the next transaction ID.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+TransactionIDGenerator

+
+public TransactionIDGenerator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+nextID

+
+public static String nextID()
+
+
Returns the next transaction ID.
+
Returns:
The next transaction ID.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContext.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContext.html new file mode 100644 index 000000000..648e85bdb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContext.html @@ -0,0 +1,147 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.transaction.TransactionContext + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.transaction.TransactionContext

+
+ + + + + + + + + +
+Packages that use TransactionContext
at.gv.egovernment.moa.spss.server.transaction  
+  +

+ + + + + +
+Uses of TransactionContext in at.gv.egovernment.moa.spss.server.transaction
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.transaction that return TransactionContext
+ TransactionContextTransactionContextManager.getTransactionContext() + +
+          Get the TransactionContext for the current thread.
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.transaction with parameters of type TransactionContext
+ voidTransactionContextManager.setTransactionContext(TransactionContext txContext) + +
+          Set the TransactionContext for the current thread.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContextManager.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContextManager.html new file mode 100644 index 000000000..65f703617 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionContextManager.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager

+
+ + + + + + + + + +
+Packages that use TransactionContextManager
at.gv.egovernment.moa.spss.server.transaction  
+  +

+ + + + + +
+Uses of TransactionContextManager in at.gv.egovernment.moa.spss.server.transaction
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.server.transaction that return TransactionContextManager
+static TransactionContextManagerTransactionContextManager.getInstance() + +
+          Get the single instance of TransactionContextManager.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionIDGenerator.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionIDGenerator.html new file mode 100644 index 000000000..11e277470 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/class-use/TransactionIDGenerator.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator

+
+No usage of at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-frame.html new file mode 100644 index 000000000..7f72aa065 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-frame.html @@ -0,0 +1,30 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.transaction + + + + + +at.gv.egovernment.moa.spss.server.transaction + + + + +
+Classes  + +
+TransactionContext +
+TransactionContextManager +
+TransactionIDGenerator
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-summary.html new file mode 100644 index 000000000..cc870a782 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-summary.html @@ -0,0 +1,118 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.transaction + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.transaction +

+ + + + + + + + + + + + + + + + + +
+Class Summary
TransactionContextContains information about the current request.
TransactionContextManagerProvides each thread with an instance of TransactionContext. + +
TransactionIDGeneratorA generator for unique transaction IDs. + +
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-tree.html new file mode 100644 index 000000000..76c224517 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-tree.html @@ -0,0 +1,104 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.transaction Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.transaction +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-use.html new file mode 100644 index 000000000..21bc1e205 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/transaction/package-use.html @@ -0,0 +1,129 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.transaction + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.transaction

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss.server.transaction
at.gv.egovernment.moa.spss.server.transaction  
+  +

+ + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.transaction used by at.gv.egovernment.moa.spss.server.transaction
TransactionContext + +
+          Contains information about the current request.
TransactionContextManager + +
+          Provides each thread with an instance of TransactionContext. + +
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/IdGenerator.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/IdGenerator.html new file mode 100644 index 000000000..bf96d024d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/IdGenerator.html @@ -0,0 +1,248 @@ + + + + + + +MOA SP/SS Server Internal API: Class IdGenerator + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.server.util +
+Class IdGenerator

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.server.util.IdGenerator
+
+
+
+
public class IdGenerator
extends Object
+ +

+Generate unique ID values for various objects in the response. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
IdGenerator(String base, + Set reserved) + +
+          Create a new IdGenerator.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ StringnextId() + +
+          Create the next ID value in the sequence.
+ StringuniqueId() + +
+          Create the next unique ID value which is unique in the reserved ID set. + +
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+IdGenerator

+
+public IdGenerator(String base,
+                   Set reserved)
+
+
Create a new IdGenerator.
+
Parameters:
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.
reserved - The Set of reserved IDs. A call to + uniqueId() will respect the reserved IDs.
+
+
+ + + + + + + + +
+Method Detail
+ +

+nextId

+
+public String nextId()
+
+
Create the next ID value in the sequence.
+
Returns:
The next ID value in the sequence.
+
+
+
+ +

+uniqueId

+
+public String uniqueId()
+
+
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.
+
Returns:
The next ID value.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/class-use/IdGenerator.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/class-use/IdGenerator.html new file mode 100644 index 000000000..17afaecfb --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/class-use/IdGenerator.html @@ -0,0 +1,129 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.server.util.IdGenerator + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.server.util.IdGenerator

+
+ + + + + + + + + +
+Packages that use IdGenerator
at.gv.egovernment.moa.spss.server.iaik.xmlsign  
+  +

+ + + + + +
+Uses of IdGenerator in at.gv.egovernment.moa.spss.server.iaik.xmlsign
+  +

+ + + + + + + + +
Constructors in at.gv.egovernment.moa.spss.server.iaik.xmlsign with parameters of type IdGenerator
DataObjectTreatmentImpl(IdGenerator objIdGen) + +
+          Create a new DataObjectTreatmentImpl.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-frame.html new file mode 100644 index 000000000..f24d42747 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.util + + + + + +at.gv.egovernment.moa.spss.server.util + + + + +
+Classes  + +
+IdGenerator
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-summary.html new file mode 100644 index 000000000..8c53d981e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-summary.html @@ -0,0 +1,106 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.server.util + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.server.util +

+ + + + + + + + + +
+Class Summary
IdGeneratorGenerate unique ID values for various objects in the response.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-tree.html new file mode 100644 index 000000000..850d59e3e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-tree.html @@ -0,0 +1,104 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.server.util Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.server.util +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-use.html new file mode 100644 index 000000000..816007135 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/server/util/package-use.html @@ -0,0 +1,121 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.server.util + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.server.util

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss.server.util
at.gv.egovernment.moa.spss.server.iaik.xmlsign  
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.server.util used by at.gv.egovernment.moa.spss.server.iaik.xmlsign
IdGenerator + +
+          Generate unique ID values for various objects in the response.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/MessageProvider.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/MessageProvider.html new file mode 100644 index 000000000..4435be18e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/MessageProvider.html @@ -0,0 +1,250 @@ + + + + + + +MOA SP/SS Server Internal API: Class MessageProvider + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.spss.util +
+Class MessageProvider

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.spss.util.MessageProvider
+
+
+
+
public class MessageProvider
extends Object
+ +

+Singleton wrapper around a Messages object. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected MessageProvider(String[] resourceNames, + Locale[] locales) + +
+          Create a MessageProvider.
+  + + + + + + + + + + + + + + + +
+Method Summary
+static MessageProvidergetInstance() + +
+          Return the single instance of the MessageProvider. + +
+ StringgetMessage(String messageId, + Object[] parameters) + +
+          Get the message corresponding to a given message ID.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MessageProvider

+
+protected MessageProvider(String[] resourceNames,
+                          Locale[] locales)
+
+
Create a MessageProvider.
+
Parameters:
resourceNames - The names of the resources containing the messages.
locales - The corresponding locales.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static MessageProvider getInstance()
+
+
Return the single instance of the MessageProvider. + + Intialilizes the MessageProvider with the default message + locations: /resources/properties/spss_messages.
+
Returns:
The single MessageProvider.
+
+
+
+ +

+getMessage

+
+public String getMessage(String messageId,
+                         Object[] parameters)
+
+
Get the message corresponding to a given message ID.
+
Parameters:
messageId - The ID of the message.
parameters - The parameters to fill in into the message arguments.
Returns:
The formatted message.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/class-use/MessageProvider.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/class-use/MessageProvider.html new file mode 100644 index 000000000..ce3f9c406 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/class-use/MessageProvider.html @@ -0,0 +1,133 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.spss.util.MessageProvider + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.spss.util.MessageProvider

+
+ + + + + + + + + +
+Packages that use MessageProvider
at.gv.egovernment.moa.spss.util  
+  +

+ + + + + +
+Uses of MessageProvider in at.gv.egovernment.moa.spss.util
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.spss.util that return MessageProvider
+static MessageProviderMessageProvider.getInstance() + +
+          Return the single instance of the MessageProvider. + +
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-frame.html new file mode 100644 index 000000000..9988ec226 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-frame.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.util + + + + + +at.gv.egovernment.moa.spss.util + + + + +
+Classes  + +
+MessageProvider
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-summary.html new file mode 100644 index 000000000..fee1d0d80 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-summary.html @@ -0,0 +1,106 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.spss.util + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.spss.util +

+ + + + + + + + + +
+Class Summary
MessageProviderSingleton wrapper around a Messages object.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-tree.html new file mode 100644 index 000000000..2de4eef03 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-tree.html @@ -0,0 +1,104 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.spss.util Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.spss.util +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-use.html new file mode 100644 index 000000000..ac9d52b70 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/spss/util/package-use.html @@ -0,0 +1,121 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.spss.util + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.spss.util

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.spss.util
at.gv.egovernment.moa.spss.util  
+  +

+ + + + + + + + +
+Classes in at.gv.egovernment.moa.spss.util used by at.gv.egovernment.moa.spss.util
MessageProvider + +
+          Singleton wrapper around a Messages object.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Base64Utils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Base64Utils.html new file mode 100644 index 000000000..d7989a8ff --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Base64Utils.html @@ -0,0 +1,289 @@ + + + + + + +MOA SP/SS Server Internal API: Class Base64Utils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class Base64Utils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.Base64Utils
+
+
+
+
public class Base64Utils
extends Object
+ +

+Utitility functions for encoding/decoding Base64 strings. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Base64Utils() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static byte[]decode(String base64String, + boolean ignoreInvalidChars) + +
+          Read the bytes encoded in a Base64 encoded String.
+static InputStreamdecodeToStream(String base64String, + boolean ignoreInvalidChars) + +
+          Read the bytes encoded in a Base64 encoded String and provide + them via an InputStream.
+static Stringencode(byte[] bytes) + +
+          Convert a byte array to a Base64 encoded String.
+static Stringencode(InputStream inputStream) + +
+          Convert the data contained in the given stream to a Base64 encoded + String.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Base64Utils

+
+public Base64Utils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+decode

+
+public static byte[] decode(String base64String,
+                            boolean ignoreInvalidChars)
+                     throws IOException
+
+
Read the bytes encoded in a Base64 encoded String.
+
Parameters:
base64String - The String containing the Base64 encoded + bytes.
ignoreInvalidChars - Whether to ignore invalid Base64 characters.
Returns:
byte[] The raw bytes contained in the base64String.
Throws:
IOException - Failed to read the Base64 data.
+
+
+
+ +

+decodeToStream

+
+public static InputStream decodeToStream(String base64String,
+                                         boolean ignoreInvalidChars)
+
+
Read the bytes encoded in a Base64 encoded String and provide + them via an InputStream.
+
Parameters:
base64String - The String containing the Base64 encoded + bytes.
ignoreInvalidChars - Whether to ignore invalid Base64 characters.
Returns:
The InputStream from which the binary content of the + base64String can be read.
+
+
+
+ +

+encode

+
+public static String encode(byte[] bytes)
+                     throws IOException
+
+
Convert a byte array to a Base64 encoded String.
+
Parameters:
bytes - The bytes to encode.
Returns:
String The Base64 encoded representation of the bytes.
Throws:
IOException - Failed to write the bytes as Base64 data.
+
+
+
+ +

+encode

+
+public static String encode(InputStream inputStream)
+                     throws IOException
+
+
Convert the data contained in the given stream to a Base64 encoded + String.
+
Parameters:
inputStream - The stream containing the data to encode.
Returns:
The Base64 encoded data of inputStream, as a + String.
Throws:
IOException - Failed to convert the data in the stream.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/BoolUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/BoolUtils.html new file mode 100644 index 000000000..d1ae55c28 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/BoolUtils.html @@ -0,0 +1,221 @@ + + + + + + +MOA SP/SS Server Internal API: Class BoolUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class BoolUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.BoolUtils
+
+
+
+
public class BoolUtils
extends Object
+ +

+Utility class for parsing XML schema boolean values. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
BoolUtils() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static booleanvalueOf(String boolStr) + +
+          Return the boolean value of an xsd:boolean type of DOM + element/attribute.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+BoolUtils

+
+public BoolUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+valueOf

+
+public static boolean valueOf(String boolStr)
+
+
Return the boolean value of an xsd:boolean type of DOM + element/attribute.
+
Parameters:
boolStr - The value of the xsd:boolean element/attribute.
Returns:
true, if boolStr equals + "true" or "1;". Otherwise, + false is returned.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/CollectionUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/CollectionUtils.html new file mode 100644 index 000000000..23f99fc14 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/CollectionUtils.html @@ -0,0 +1,222 @@ + + + + + + +MOA SP/SS Server Internal API: Class CollectionUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class CollectionUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.CollectionUtils
+
+
+
+
public class CollectionUtils
extends Object
+ +

+Various utility methods for dealing with java.util.Collection + classes. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
CollectionUtils() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static int[]toIntArray(List nums) + +
+          Convert a List of Number objects to an + int array.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+CollectionUtils

+
+public CollectionUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+toIntArray

+
+public static int[] toIntArray(List nums)
+
+
Convert a List of Number objects to an + int array.
+
Parameters:
nums - The List containing the numbers whose integer + value to put into the result.
Returns:
The int values of the Numbers contained + in nums.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Constants.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Constants.html new file mode 100644 index 000000000..cb10db432 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Constants.html @@ -0,0 +1,1007 @@ + + + + + + +MOA SP/SS Server Internal API: Interface Constants + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Interface Constants

+
+
+
public interface Constants
+ +

+Contains various constants used throughout the system. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static StringALL_SCHEMA_LOCATIONS + +
+          Contains all namespaces and local schema locations for XML schema + definitions relevant for MOA.
+static StringC14N_URI + +
+          URI of the Canonical XML algorithm
+static StringC14N_WITH_COMMENTS_URI + +
+          URI of the Canoncial XML with comments algorithm
+static StringDSIG_EC_NS_URI + +
+          URI of the Exclusive Canonicalization XML namespace
+static StringDSIG_EC_PREFIX + +
+          Prefix used for the Exclusive Canonicalization XML namespace
+static StringDSIG_EC_SCHEMA_LOCATION + +
+          Local location of the Exclusive Canonicalizaion XML schema definition
+static StringDSIG_FILTER2_NS_URI + +
+          URI of the XMLDSig XPath Filter XML namespace.
+static StringDSIG_FILTER2_PREFIX + +
+          Prefix used for the XMLDSig XPath Filter XML namespace
+static StringDSIG_FILTER2_SCHEMA_LOCATION + +
+          Local location of the XMLDSig XPath Filter XML schema definition.
+static StringDSIG_NS_URI + +
+          URI of the XMLDSig XML namespace.
+static StringDSIG_PREFIX + +
+          Prefix used for the XMLDSig XML namespace
+static StringDSIG_SCHEMA_LOCATION + +
+          Local location of the XMLDSig XML schema.
+static StringECDSA_NS_URI + +
+          URI of the ECDSA XML namespace
+static StringECDSA_PREFIX + +
+          Prefix used for ECDSA namespace
+static StringECDSA_SCHEMA_LOCATION + +
+          Local location of ECDSA XML schema definition
+static StringEXC_C14N_URI + +
+          URI of the Exclusive Canonical XML algorithm
+static StringEXC_C14N_WITH_COMMENTS_URI + +
+          URI of the Exclusive Canonical XML with commments algorithm
+static StringMOA_CONFIG_NS_URI + +
+          URI of the MOA configuration XML namespace.
+static StringMOA_CONFIG_PREFIX + +
+          Prefix used for the MOA configuration XML namespace
+static StringMOA_CONFIG_SCHEMA_LOCATION + +
+          Local location of the MOA configuration XML schema definition.
+static StringMOA_ID_CONFIG_NS_URI + +
+          URI of the MOA ID configuration XML namespace.
+static StringMOA_ID_CONFIG_PREFIX + +
+          Prefix used for the MOA configuration XML namespace
+static StringMOA_ID_CONFIG_SCHEMA_LOCATION + +
+          Local location of the MOA ID configuration XML schema definition.
+static StringMOA_NS_URI + +
+          URI of the MOA XML namespace.
+static StringMOA_PREFIX + +
+          Prefix used for the MOA XML namespace
+static StringMOA_SCHEMA_LOCATION + +
+          Local location of the MOA XML schema definition.
+static StringPD_NS_URI + +
+          URI of the PersonData XML namespace.
+static StringPD_PREFIX + +
+          Prefix used for the PersonData XML namespace
+static StringPD_SCHEMA_LOCATION + +
+          Local location of the PersonData XML schema definition
+static StringSAML_NS_URI + +
+          URI of the SAML namespace.
+static StringSAML_PREFIX + +
+          Prefix used for the SAML XML namespace
+static StringSAML_SCHEMA_LOCATION + +
+          Local location of the SAML XML schema definition.
+static StringSAMLP_NS_URI + +
+          URI of the SAML request-response protocol namespace.
+static StringSAMLP_PREFIX + +
+          Prefix used for the SAML request-response protocol namespace
+static StringSAMLP_SCHEMA_LOCATION + +
+          Local location of the SAML request-response protocol schema definition.
+static StringSCHEMA_ROOT + +
+          Root location of the schema files.
+static StringSHA1_URI + +
+          URI of the SHA1 digest algorithm
+static StringSL_MANIFEST_TYPE_URI + +
+          Security Layer manifest type URI.
+static StringSL10_NS_URI + +
+          URI of the Security Layer 1.0 namespace.
+static StringSL10_PREFIX + +
+          Prefix used for the Security Layer 1.0 XML namespace
+static StringSL10_SCHEMA_LOCATION + +
+          Local location of the Security Layer 1.0 XML schema definition
+static StringSL11_NS_URI + +
+          URI of the Security Layer 1.1 XML namespace
+static StringSL11_PREFIX + +
+          Prefix used for the Security Layer 1.1 XML namespace
+static StringSL11_SCHEMA_LOCATION + +
+          Local location of the Security Layer 1.1 XML schema definition
+static StringXML_NS_URI + +
+          URI of the XML namespace.
+static StringXML_PREFIX + +
+          Prefix used for the XML namespace
+static StringXML_SCHEMA_LOCATION + +
+          Local location of the XML schema definition.
+static StringXMLNS_NS_URI + +
+          URI of the XMLNS namespace
+static StringXSI_NS_URI + +
+          URI of the XSI XMLNS namespace
+static StringXSI_PREFIX + +
+          Prefix used for the XSI namespace
+static StringXSI_SCHEMA_LOCATION + +
+          Local location of the XSI schema definition.
+static StringXSLT_NS_URI + +
+          URI of the XSLT XML namespace
+static StringXSLT_PREFIX + +
+          Prefix used for the XSLT XML namespace
+  + + + + + + +

+ + + + + + + + +
+Field Detail
+ +

+SCHEMA_ROOT

+
+public static final String SCHEMA_ROOT
+
+
Root location of the schema files.
+
+ +

+MOA_NS_URI

+
+public static final String MOA_NS_URI
+
+
URI of the MOA XML namespace.
+
+ +

+MOA_PREFIX

+
+public static final String MOA_PREFIX
+
+
Prefix used for the MOA XML namespace
+
+ +

+MOA_SCHEMA_LOCATION

+
+public static final String MOA_SCHEMA_LOCATION
+
+
Local location of the MOA XML schema definition.
+
+ +

+MOA_CONFIG_NS_URI

+
+public static final String MOA_CONFIG_NS_URI
+
+
URI of the MOA configuration XML namespace.
+
+ +

+MOA_ID_CONFIG_NS_URI

+
+public static final String MOA_ID_CONFIG_NS_URI
+
+
URI of the MOA ID configuration XML namespace.
+
+ +

+MOA_CONFIG_PREFIX

+
+public static final String MOA_CONFIG_PREFIX
+
+
Prefix used for the MOA configuration XML namespace
+
+ +

+MOA_ID_CONFIG_PREFIX

+
+public static final String MOA_ID_CONFIG_PREFIX
+
+
Prefix used for the MOA configuration XML namespace
+
+ +

+MOA_CONFIG_SCHEMA_LOCATION

+
+public static final String MOA_CONFIG_SCHEMA_LOCATION
+
+
Local location of the MOA configuration XML schema definition.
+
+ +

+MOA_ID_CONFIG_SCHEMA_LOCATION

+
+public static final String MOA_ID_CONFIG_SCHEMA_LOCATION
+
+
Local location of the MOA ID configuration XML schema definition.
+
+ +

+SL10_NS_URI

+
+public static final String SL10_NS_URI
+
+
URI of the Security Layer 1.0 namespace.
+
+ +

+SL10_PREFIX

+
+public static final String SL10_PREFIX
+
+
Prefix used for the Security Layer 1.0 XML namespace
+
+ +

+SL10_SCHEMA_LOCATION

+
+public static final String SL10_SCHEMA_LOCATION
+
+
Local location of the Security Layer 1.0 XML schema definition
+
+ +

+SL11_NS_URI

+
+public static final String SL11_NS_URI
+
+
URI of the Security Layer 1.1 XML namespace
+
+ +

+SL11_PREFIX

+
+public static final String SL11_PREFIX
+
+
Prefix used for the Security Layer 1.1 XML namespace
+
+ +

+SL11_SCHEMA_LOCATION

+
+public static final String SL11_SCHEMA_LOCATION
+
+
Local location of the Security Layer 1.1 XML schema definition
+
+ +

+ECDSA_NS_URI

+
+public static final String ECDSA_NS_URI
+
+
URI of the ECDSA XML namespace
+
+ +

+ECDSA_PREFIX

+
+public static final String ECDSA_PREFIX
+
+
Prefix used for ECDSA namespace
+
+ +

+ECDSA_SCHEMA_LOCATION

+
+public static final String ECDSA_SCHEMA_LOCATION
+
+
Local location of ECDSA XML schema definition
+
+ +

+PD_NS_URI

+
+public static final String PD_NS_URI
+
+
URI of the PersonData XML namespace.
+
+ +

+PD_PREFIX

+
+public static final String PD_PREFIX
+
+
Prefix used for the PersonData XML namespace
+
+ +

+PD_SCHEMA_LOCATION

+
+public static final String PD_SCHEMA_LOCATION
+
+
Local location of the PersonData XML schema definition
+
+ +

+SAML_NS_URI

+
+public static final String SAML_NS_URI
+
+
URI of the SAML namespace.
+
+ +

+SAML_PREFIX

+
+public static final String SAML_PREFIX
+
+
Prefix used for the SAML XML namespace
+
+ +

+SAML_SCHEMA_LOCATION

+
+public static final String SAML_SCHEMA_LOCATION
+
+
Local location of the SAML XML schema definition.
+
+ +

+SAMLP_NS_URI

+
+public static final String SAMLP_NS_URI
+
+
URI of the SAML request-response protocol namespace.
+
+ +

+SAMLP_PREFIX

+
+public static final String SAMLP_PREFIX
+
+
Prefix used for the SAML request-response protocol namespace
+
+ +

+SAMLP_SCHEMA_LOCATION

+
+public static final String SAMLP_SCHEMA_LOCATION
+
+
Local location of the SAML request-response protocol schema definition.
+
+ +

+XML_NS_URI

+
+public static final String XML_NS_URI
+
+
URI of the XML namespace.
+
+ +

+XML_PREFIX

+
+public static final String XML_PREFIX
+
+
Prefix used for the XML namespace
+
+ +

+XML_SCHEMA_LOCATION

+
+public static final String XML_SCHEMA_LOCATION
+
+
Local location of the XML schema definition.
+
+ +

+XMLNS_NS_URI

+
+public static final String XMLNS_NS_URI
+
+
URI of the XMLNS namespace
+
+ +

+XSI_PREFIX

+
+public static final String XSI_PREFIX
+
+
Prefix used for the XSI namespace
+
+ +

+XSI_SCHEMA_LOCATION

+
+public static final String XSI_SCHEMA_LOCATION
+
+
Local location of the XSI schema definition.
+
+ +

+XSI_NS_URI

+
+public static final String XSI_NS_URI
+
+
URI of the XSI XMLNS namespace
+
+ +

+XSLT_NS_URI

+
+public static final String XSLT_NS_URI
+
+
URI of the XSLT XML namespace
+
+ +

+XSLT_PREFIX

+
+public static final String XSLT_PREFIX
+
+
Prefix used for the XSLT XML namespace
+
+ +

+DSIG_NS_URI

+
+public static final String DSIG_NS_URI
+
+
URI of the XMLDSig XML namespace.
+
+ +

+DSIG_PREFIX

+
+public static final String DSIG_PREFIX
+
+
Prefix used for the XMLDSig XML namespace
+
+ +

+DSIG_SCHEMA_LOCATION

+
+public static final String DSIG_SCHEMA_LOCATION
+
+
Local location of the XMLDSig XML schema.
+
+ +

+DSIG_FILTER2_NS_URI

+
+public static final String DSIG_FILTER2_NS_URI
+
+
URI of the XMLDSig XPath Filter XML namespace.
+
+ +

+DSIG_FILTER2_PREFIX

+
+public static final String DSIG_FILTER2_PREFIX
+
+
Prefix used for the XMLDSig XPath Filter XML namespace
+
+ +

+DSIG_FILTER2_SCHEMA_LOCATION

+
+public static final String DSIG_FILTER2_SCHEMA_LOCATION
+
+
Local location of the XMLDSig XPath Filter XML schema definition.
+
+ +

+DSIG_EC_NS_URI

+
+public static final String DSIG_EC_NS_URI
+
+
URI of the Exclusive Canonicalization XML namespace
+
+ +

+DSIG_EC_PREFIX

+
+public static final String DSIG_EC_PREFIX
+
+
Prefix used for the Exclusive Canonicalization XML namespace
+
+ +

+DSIG_EC_SCHEMA_LOCATION

+
+public static final String DSIG_EC_SCHEMA_LOCATION
+
+
Local location of the Exclusive Canonicalizaion XML schema definition
+
+ +

+ALL_SCHEMA_LOCATIONS

+
+public static final String ALL_SCHEMA_LOCATIONS
+
+
Contains all namespaces and local schema locations for XML schema + definitions relevant for MOA. For use in validating XML parsers.
+
+ +

+SL_MANIFEST_TYPE_URI

+
+public static final String SL_MANIFEST_TYPE_URI
+
+
Security Layer manifest type URI.
+
+ +

+SHA1_URI

+
+public static final String SHA1_URI
+
+
URI of the SHA1 digest algorithm
+
+ +

+C14N_URI

+
+public static final String C14N_URI
+
+
URI of the Canonical XML algorithm
+
+ +

+C14N_WITH_COMMENTS_URI

+
+public static final String C14N_WITH_COMMENTS_URI
+
+
URI of the Canoncial XML with comments algorithm
+
+ +

+EXC_C14N_URI

+
+public static final String EXC_C14N_URI
+
+
URI of the Exclusive Canonical XML algorithm
+
+ +

+EXC_C14N_WITH_COMMENTS_URI

+
+public static final String EXC_C14N_WITH_COMMENTS_URI
+
+
URI of the Exclusive Canonical XML with commments algorithm
+ + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DOMUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DOMUtils.html new file mode 100644 index 000000000..20307081f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DOMUtils.html @@ -0,0 +1,650 @@ + + + + + + +MOA SP/SS Server Internal API: Class DOMUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class DOMUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.DOMUtils
+
+
+
+
public class DOMUtils
extends Object
+ +

+Various utility functions for handling XML DOM trees. + + The parsing methods in this class make use of some features internal to the + Xerces DOM parser, mainly for performance reasons. As soon as JAXP + (currently at version 1.2) is better at schema handling, it should be used as + the parser interface. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
DOMUtils() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidaddSchemaToPool(InputStream inputStream, + String systemId) + +
+          Preparse a schema and add it to the schema pool.
+static booleancheckAttributeParentsInNodeList(org.w3c.dom.NodeList nodes) + +
+          Check, that each attribute node in the given NodeList has its + parent in the NodeList as well.
+static SetcollectNamespaceURIs(org.w3c.dom.Element context) + +
+          Collect all the namespace URIs used in the subtree of a given element.
+static MapgetNamespaceDeclarations(org.w3c.dom.Node node) + +
+          Build the namespace prefix to namespace URL mapping in effect for a given + node.
+static StringgetText(org.w3c.dom.Node node) + +
+          Return the text that a node contains. + +
+static booleanisAncestor(org.w3c.dom.Element candAnc, + org.w3c.dom.Node cand) + +
+          Check, if a given DOM element is an ancestor of a given node.
+static voidlocalizeNamespaceDeclarations(org.w3c.dom.Element context) + +
+          Add all namespace declarations declared in the parent(s) of a given + element and used in the subtree of the given element to the given element.
+static org.w3c.dom.DocumentFragmentnodeList2DocumentFragment(org.w3c.dom.NodeList nodeList) + +
+          Convert an unstructured NodeList into a + DocumentFragment.
+static org.w3c.dom.DocumentparseDocument(InputStream inputStream, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + +
+          Parse an XML document from an InputStream. + +
+static org.w3c.dom.DocumentparseDocument(InputStream inputStream, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation, + org.xml.sax.EntityResolver entityResolver, + org.xml.sax.ErrorHandler errorHandler) + +
+          Parse an XML document from an InputStream.
+static org.w3c.dom.DocumentparseDocument(String xmlString, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + +
+          Parse an UTF-8 encoded XML document from a String.
+static org.w3c.dom.DocumentparseDocument(String xmlString, + String encoding, + boolean validating, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + +
+          Parse an XML document from a String. + +
+static org.w3c.dom.ElementparseXmlValidating(InputStream inputStream) + +
+          A convenience method to parse an XML document validating.
+static StringserializeNode(org.w3c.dom.Node node) + +
+          Serialize the given DOM node. + +
+static byte[]serializeNode(org.w3c.dom.Node node, + String xmlEncoding) + +
+          Serialize the given DOM node to a byte array.
+static booleanvalidateElement(org.w3c.dom.Element element, + String externalSchemaLocations, + String externalNoNamespaceSchemaLocation) + +
+          Schema validate a given DOM element.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DOMUtils

+
+public DOMUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+addSchemaToPool

+
+public static void addSchemaToPool(InputStream inputStream,
+                                   String systemId)
+                            throws IOException
+
+
Preparse a schema and add it to the schema pool.
+
Parameters:
inputStream - An InputStream providing the contents of + the schema.
systemId - The systemId to use for the schema.
Throws:
IOException - An error occurred reading the schema.
+
+
+
+ +

+parseDocument

+
+public static org.w3c.dom.Document parseDocument(InputStream inputStream,
+                                                 boolean validating,
+                                                 String externalSchemaLocations,
+                                                 String externalNoNamespaceSchemaLocation,
+                                                 org.xml.sax.EntityResolver entityResolver,
+                                                 org.xml.sax.ErrorHandler errorHandler)
+                                          throws org.xml.sax.SAXException,
+                                                 IOException,
+                                                 javax.xml.parsers.ParserConfigurationException
+
+
Parse an XML document from an InputStream.
+
Parameters:
inputStream - The InputStream containing the XML + document.
validating - If true, parse validating.
externalSchemaLocations - A String containing namespace + URI to schema location pairs, the same way it is accepted by the xsi: + schemaLocation attribute.
externalNoNamespaceSchemaLocation - The schema location of the + schema for elements without a namespace, the same way it is accepted by the + xsi:noNamespaceSchemaLocation attribute.
entityResolver - An EntityResolver to resolve external + entities (schemas and DTDs). If null, it will not be set.
errorHandler - An ErrorHandler to decide what to do + with parsing errors. If null, it will not be set.
Returns:
The parsed XML document as a DOM tree.
Throws:
org.xml.sax.SAXException - An error occurred parsing the document.
IOException - An error occurred reading the document.
javax.xml.parsers.ParserConfigurationException - An error occurred configuring the XML + parser.
+
+
+
+ +

+parseDocument

+
+public static org.w3c.dom.Document parseDocument(InputStream inputStream,
+                                                 boolean validating,
+                                                 String externalSchemaLocations,
+                                                 String externalNoNamespaceSchemaLocation)
+                                          throws org.xml.sax.SAXException,
+                                                 IOException,
+                                                 javax.xml.parsers.ParserConfigurationException
+
+
Parse an XML document from an InputStream. + + It uses a MOAEntityResolver as the EntityResolver + and a MOAErrorHandler as the ErrorHandler.
+
Parameters:
inputStream - The InputStream containing the XML + document.
validating - If true, parse validating.
externalSchemaLocations - A String containing namespace + URI to schema location pairs, the same way it is accepted by the xsi: + schemaLocation attribute.
externalNoNamespaceSchemaLocation - The schema location of the + schema for elements without a namespace, the same way it is accepted by the + xsi:noNamespaceSchemaLocation attribute.
Returns:
The parsed XML document as a DOM tree.
Throws:
org.xml.sax.SAXException - An error occurred parsing the document.
IOException - An error occurred reading the document.
javax.xml.parsers.ParserConfigurationException - An error occurred configuring the XML + parser.
+
+
+
+ +

+parseDocument

+
+public static org.w3c.dom.Document parseDocument(String xmlString,
+                                                 String encoding,
+                                                 boolean validating,
+                                                 String externalSchemaLocations,
+                                                 String externalNoNamespaceSchemaLocation)
+                                          throws org.xml.sax.SAXException,
+                                                 IOException,
+                                                 javax.xml.parsers.ParserConfigurationException
+
+
Parse an XML document from a String. + + It uses a MOAEntityResolver as the EntityResolver + and a MOAErrorHandler as the ErrorHandler.
+
Parameters:
xmlString - The String containing the XML document.
encoding - The encoding of the XML document.
validating - If true, parse validating.
externalSchemaLocations - A String containing namespace + URI to schema location pairs, the same way it is accepted by the xsi: + schemaLocation attribute.
externalNoNamespaceSchemaLocation - The schema location of the + schema for elements without a namespace, the same way it is accepted by the + xsi:noNamespaceSchemaLocation attribute.
Returns:
The parsed XML document as a DOM tree.
Throws:
org.xml.sax.SAXException - An error occurred parsing the document.
IOException - An error occurred reading the document.
javax.xml.parsers.ParserConfigurationException - An error occurred configuring the XML + parser.
+
+
+
+ +

+parseDocument

+
+public static org.w3c.dom.Document parseDocument(String xmlString,
+                                                 boolean validating,
+                                                 String externalSchemaLocations,
+                                                 String externalNoNamespaceSchemaLocation)
+                                          throws org.xml.sax.SAXException,
+                                                 IOException,
+                                                 javax.xml.parsers.ParserConfigurationException
+
+
Parse an UTF-8 encoded XML document from a String.
+
Parameters:
xmlString - The String containing the XML document.
validating - If true, parse validating.
externalSchemaLocations - A String containing namespace + URI to schema location pairs, the same way it is accepted by the xsi: + schemaLocation attribute.
externalNoNamespaceSchemaLocation - The schema location of the + schema for elements without a namespace, the same way it is accepted by the + xsi:noNamespaceSchemaLocation attribute.
Returns:
The parsed XML document as a DOM tree.
Throws:
org.xml.sax.SAXException - An error occurred parsing the document.
IOException - An error occurred reading the document.
javax.xml.parsers.ParserConfigurationException - An error occurred configuring the XML + parser.
+
+
+
+ +

+parseXmlValidating

+
+public static org.w3c.dom.Element parseXmlValidating(InputStream inputStream)
+                                              throws javax.xml.parsers.ParserConfigurationException,
+                                                     org.xml.sax.SAXException,
+                                                     IOException
+
+
A convenience method to parse an XML document validating.
+
Parameters:
inputStream - The InputStream containing the XML + document.
Returns:
The root element of the parsed XML document.
Throws:
org.xml.sax.SAXException - An error occurred parsing the document.
IOException - An error occurred reading the document.
javax.xml.parsers.ParserConfigurationException - An error occurred configuring the XML + parser.
+
+
+
+ +

+validateElement

+
+public static boolean validateElement(org.w3c.dom.Element element,
+                                      String externalSchemaLocations,
+                                      String externalNoNamespaceSchemaLocation)
+                               throws javax.xml.parsers.ParserConfigurationException,
+                                      IOException,
+                                      org.xml.sax.SAXException,
+                                      javax.xml.transform.TransformerException
+
+
Schema validate a given DOM element.
+
Parameters:
element - The element to validate.
externalSchemaLocations - A String containing namespace + URI to schema location pairs, the same way it is accepted by the xsi: + schemaLocation attribute.
externalNoNamespaceSchemaLocation - The schema location of the + schema for elements without a namespace, the same way it is accepted by the + xsi:noNamespaceSchemaLocation attribute.
Returns:
true, if the element validates against + the schemas declared in it.
Throws:
org.xml.sax.SAXException - An error occurred parsing the document.
IOException - An error occurred reading the document from its + serialized representation.
javax.xml.parsers.ParserConfigurationException - An error occurred configuring the XML
javax.xml.transform.TransformerException - An error occurred serializing the element.
+
+
+
+ +

+serializeNode

+
+public static String serializeNode(org.w3c.dom.Node node)
+                            throws javax.xml.transform.TransformerException,
+                                   IOException
+
+
Serialize the given DOM node. + + The node will be serialized using the UTF-8 encoding.
+
Parameters:
node - The node to serialize.
Returns:
String The String representation of the given DOM + node.
Throws:
javax.xml.transform.TransformerException - An error occurred transforming the + node to a String.
IOException - An IO error occurred writing the node to a byte array.
+
+
+
+ +

+serializeNode

+
+public static byte[] serializeNode(org.w3c.dom.Node node,
+                                   String xmlEncoding)
+                            throws javax.xml.transform.TransformerException,
+                                   IOException
+
+
Serialize the given DOM node to a byte array.
+
Parameters:
node - The node to serialize.
xmlEncoding - The XML encoding to use.
Returns:
The serialized node, as a byte array. Using a compatible encoding + this can easily be converted into a String.
Throws:
javax.xml.transform.TransformerException - An error occurred transforming the node to a + byte array.
IOException - An IO error occurred writing the node to a byte array.
+
+
+
+ +

+getText

+
+public static String getText(org.w3c.dom.Node node)
+
+
Return the text that a node contains. + + This routine: +
    +
  • Ignores comments and processing instructions.
  • +
  • Concatenates TEXT nodes, CDATA nodes, and the results recursively + processing EntityRef nodes.
  • +
  • Ignores any element nodes in the sublist. (Other possible options are + to recurse into element sublists or throw an exception.)
  • +
+
Parameters:
node - A DOM node from which to extract text.
Returns:
A String representing its contents.
+
+
+
+ +

+getNamespaceDeclarations

+
+public static Map getNamespaceDeclarations(org.w3c.dom.Node node)
+
+
Build the namespace prefix to namespace URL mapping in effect for a given + node.
+
Parameters:
node - The context node for which build the map.
Returns:
The namespace prefix to namespace URL mapping ( + a String value to String value mapping).
+
+
+
+ +

+localizeNamespaceDeclarations

+
+public static void localizeNamespaceDeclarations(org.w3c.dom.Element context)
+
+
Add all namespace declarations declared in the parent(s) of a given + element and used in the subtree of the given element to the given element.
+
Parameters:
context - The element to which to add the namespaces.
+
+
+
+ +

+collectNamespaceURIs

+
+public static Set collectNamespaceURIs(org.w3c.dom.Element context)
+
+
Collect all the namespace URIs used in the subtree of a given element.
+
Parameters:
context - The element that should be searched for namespace URIs.
Returns:
All namespace URIs used in the subtree of context, + including the ones used in context itself.
+
+
+
+ +

+checkAttributeParentsInNodeList

+
+public static boolean checkAttributeParentsInNodeList(org.w3c.dom.NodeList nodes)
+
+
Check, that each attribute node in the given NodeList has its + parent in the NodeList as well.
+
Parameters:
nodes - The NodeList to check.
Returns:
true, if each attribute node in nodes + has its parent in nodes as well.
+
+
+
+ +

+nodeList2DocumentFragment

+
+public static org.w3c.dom.DocumentFragment nodeList2DocumentFragment(org.w3c.dom.NodeList nodeList)
+                                                              throws javax.xml.parsers.ParserConfigurationException
+
+
Convert an unstructured NodeList into a + DocumentFragment.
+
Parameters:
nodeList - Contains the node list to be converted into a DOM + DocumentFragment.
Returns:
the resulting DocumentFragment. The DocumentFragment will be + backed by a new DOM Document, i.e. all noded of the node list will be + cloned.
Throws:
javax.xml.parsers.ParserConfigurationException - An error occurred creating the + DocumentFragment.
+
+
+
+ +

+isAncestor

+
+public static boolean isAncestor(org.w3c.dom.Element candAnc,
+                                 org.w3c.dom.Node cand)
+
+
Check, if a given DOM element is an ancestor of a given node.
+
Parameters:
candAnc - The DOM element to check for being the ancestor.
cand - The node to check for being the child.
Returns:
true, if candAnc is an (indirect) + ancestor of cand; false otherwise.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DateTimeUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DateTimeUtils.html new file mode 100644 index 000000000..c0d022351 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/DateTimeUtils.html @@ -0,0 +1,241 @@ + + + + + + +MOA SP/SS Server Internal API: Class DateTimeUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class DateTimeUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.DateTimeUtils
+
+
+
+
public class DateTimeUtils
extends Object
+ +

+Utility for parsing and building XML type dateTime, + according to ISO 8601. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
http://www.w3.org/2001/XMLSchema-datatypes"
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
DateTimeUtils() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static StringbuildDateTime(Calendar cal) + +
+          Builds a dateTime value from a Calendar value.
+static DateparseDateTime(String dateTime) + +
+          Parse a String containing a date and time instant, given in + ISO 8601 format.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+DateTimeUtils

+
+public DateTimeUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+buildDateTime

+
+public static String buildDateTime(Calendar cal)
+
+
Builds a dateTime value from a Calendar value.
+
Parameters:
cal - the Calendar value
Returns:
the dateTime value
+
+
+
+ +

+parseDateTime

+
+public static Date parseDateTime(String dateTime)
+                          throws ParseException
+
+
Parse a String containing a date and time instant, given in + ISO 8601 format.
+
Parameters:
dateTime - The String to parse.
Returns:
The Date representation of the contents of + dateTime.
Throws:
ParseException - Parsing the dateTime failed.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/EntityResolverChain.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/EntityResolverChain.html new file mode 100644 index 000000000..4491d7e74 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/EntityResolverChain.html @@ -0,0 +1,250 @@ + + + + + + +MOA SP/SS Server Internal API: Class EntityResolverChain + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class EntityResolverChain

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.EntityResolverChain
+
+
+
All Implemented Interfaces:
org.xml.sax.EntityResolver
+
+
+
+
public class EntityResolverChain
extends Object
implements org.xml.sax.EntityResolver
+ +

+Implementation of the org.xml.sax.EntityResolver, + for use by a org.apache.xerces.parsers.DOMParser. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
EntityResolverChain() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddEntityResolver(org.xml.sax.EntityResolver entityResolver) + +
+          Add an EntityResolver to the chain.
+ org.xml.sax.InputSourceresolveEntity(String publicId, + String systemId) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+EntityResolverChain

+
+public EntityResolverChain()
+
+
+ + + + + + + + +
+Method Detail
+ +

+resolveEntity

+
+public org.xml.sax.InputSource resolveEntity(String publicId,
+                                             String systemId)
+                                      throws org.xml.sax.SAXException,
+                                             IOException
+
+
+
Specified by:
resolveEntity in interface org.xml.sax.EntityResolver
+
+
+
See Also:
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
+
+
+
+ +

+addEntityResolver

+
+public void addEntityResolver(org.xml.sax.EntityResolver entityResolver)
+
+
Add an EntityResolver to the chain.
+
+
+
+
Parameters:
entityResolver - The EntityResolver to add.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/FileUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/FileUtils.html new file mode 100644 index 000000000..b11c1d1d6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/FileUtils.html @@ -0,0 +1,324 @@ + + + + + + +MOA SP/SS Server Internal API: Class FileUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class FileUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.FileUtils
+
+
+
+
public class FileUtils
extends Object
+ +

+Utility for accessing files on the file system, and for reading from input streams. +

+

+
Version:
$Id$
+
Author:
Paul Ivancsics
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
FileUtils() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static byte[]readFile(String filename) + +
+          Reads a file, given by filename, into a byte array.
+static StringreadFile(String filename, + String encoding) + +
+          Reads a file, given by filename, into a String.
+static byte[]readResource(String name) + +
+          Reads a file from a resource.
+static StringreadResource(String name, + String encoding) + +
+          Reads a file from a resource.
+static byte[]readURL(String urlString) + +
+          Reads a file, given by URL, into a byte array.
+static StringreadURL(String urlString, + String encoding) + +
+          Reads a file, given by URL, into a String.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+FileUtils

+
+public FileUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+readURL

+
+public static byte[] readURL(String urlString)
+                      throws IOException
+
+
Reads a file, given by URL, into a byte array.
+
Parameters:
urlString - file URL
Returns:
file content
Throws:
IOException - on any exception thrown
+
+
+
+ +

+readURL

+
+public static String readURL(String urlString,
+                             String encoding)
+                      throws IOException
+
+
Reads a file, given by URL, into a String.
+
Parameters:
urlString - file URL
encoding - character encoding
Returns:
file content
Throws:
IOException - on any exception thrown
+
+
+
+ +

+readFile

+
+public static byte[] readFile(String filename)
+                       throws IOException
+
+
Reads a file, given by filename, into a byte array.
+
Parameters:
filename - filename
Returns:
file content
Throws:
IOException - on any exception thrown
+
+
+
+ +

+readFile

+
+public static String readFile(String filename,
+                              String encoding)
+                       throws IOException
+
+
Reads a file, given by filename, into a String.
+
Parameters:
filename - filename
encoding - character encoding
Returns:
file content
Throws:
IOException - on any exception thrown
+
+
+
+ +

+readResource

+
+public static byte[] readResource(String name)
+                           throws IOException
+
+
Reads a file from a resource.
+
Parameters:
name - resource name
Returns:
file content as a byte array
Throws:
IOException - on any exception thrown
+
+
+
+ +

+readResource

+
+public static String readResource(String name,
+                                  String encoding)
+                           throws IOException
+
+
Reads a file from a resource.
+
Parameters:
name - filename
encoding - character encoding
Returns:
file content
Throws:
IOException - on any exception thrown
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/KeyStoreUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/KeyStoreUtils.html new file mode 100644 index 000000000..9d35345c4 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/KeyStoreUtils.html @@ -0,0 +1,302 @@ + + + + + + +MOA SP/SS Server Internal API: Class KeyStoreUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class KeyStoreUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.KeyStoreUtils
+
+
+
+
public class KeyStoreUtils
extends Object
+ +

+Utility for creating and loading key stores. +

+

+
Version:
$Id$
+
Author:
Paul Ivancsics
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
KeyStoreUtils() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static KeyStorecreateKeyStore(String keyStoreType, + String[] certFilenames) + +
+          Creates a key store from X509 certificate files, aliasing them with + the index in the String[], starting with "0".
+static KeyStorecreateKeyStoreFromCertificateDirectory(String keyStoreType, + String certDirURLString) + +
+          Creates a key store from a directory containg X509 certificate files, + aliasing them with the index in the String[], starting with "0". +
+static KeyStoreloadKeyStore(String keystoreType, + InputStream in, + String password) + +
+          Loads a key store from an InputStream, and + closes the InputStream.
+static KeyStoreloadKeyStore(String keystoreType, + String urlString, + String password) + +
+          Loads a key store from file.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+KeyStoreUtils

+
+public KeyStoreUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+loadKeyStore

+
+public static KeyStore loadKeyStore(String keystoreType,
+                                    String urlString,
+                                    String password)
+                             throws IOException,
+                                    GeneralSecurityException
+
+
Loads a key store from file.
+
Parameters:
keystoreType - key store type
urlString - URL of key store
password - password protecting the key store
Returns:
key store loaded
Throws:
IOException - thrown while reading the key store from file
GeneralSecurityException - thrown while creating the key store
+
+
+
+ +

+loadKeyStore

+
+public static KeyStore loadKeyStore(String keystoreType,
+                                    InputStream in,
+                                    String password)
+                             throws IOException,
+                                    GeneralSecurityException
+
+
Loads a key store from an InputStream, and + closes the InputStream.
+
Parameters:
keystoreType - key store type
in - input stream
password - password protecting the key store
Returns:
key store loaded
Throws:
IOException - thrown while reading the key store from the stream
GeneralSecurityException - thrown while creating the key store
+
+
+
+ +

+createKeyStore

+
+public static KeyStore createKeyStore(String keyStoreType,
+                                      String[] certFilenames)
+                               throws IOException,
+                                      GeneralSecurityException
+
+
Creates a key store from X509 certificate files, aliasing them with + the index in the String[], starting with "0".
+
Parameters:
keyStoreType - key store type
certFilenames - certificate filenames
Returns:
key store created
Throws:
IOException - thrown while reading the certificates from file
GeneralSecurityException - thrown while creating the key store
+
+
+
+ +

+createKeyStoreFromCertificateDirectory

+
+public static KeyStore createKeyStoreFromCertificateDirectory(String keyStoreType,
+                                                              String certDirURLString)
+                                                       throws IOException,
+                                                              GeneralSecurityException
+
+
Creates a key store from a directory containg X509 certificate files, + aliasing them with the index in the String[], starting with "0". + All the files in the directory are considered to be certificates.
+
Parameters:
keyStoreType - key store type
certDirURLString - file URL of directory containing certificate filenames
Returns:
key store created
Throws:
IOException - thrown while reading the certificates from file
GeneralSecurityException - thrown while creating the key store
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOADefaultHandler.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOADefaultHandler.html new file mode 100644 index 000000000..4a519d62a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOADefaultHandler.html @@ -0,0 +1,328 @@ + + + + + + +MOA SP/SS Server Internal API: Class MOADefaultHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class MOADefaultHandler

+
+java.lang.Object
+  |
+  +--org.xml.sax.helpers.DefaultHandler
+        |
+        +--at.gv.egovernment.moa.util.MOADefaultHandler
+
+
+
All Implemented Interfaces:
org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler
+
+
+
+
public class MOADefaultHandler
extends org.xml.sax.helpers.DefaultHandler
+ +

+A DefaultHandler that uses a MOAEntityResolver and + a MOAErrorHandler. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Constructor Summary
MOADefaultHandler() + +
+          Create a new MOADefaultHandler.
MOADefaultHandler(org.xml.sax.EntityResolver entityResolver, + org.xml.sax.ErrorHandler errorHandler) + +
+          Create a new MOADefaultHandler.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiderror(org.xml.sax.SAXParseException exception) + +
+           
+ voidfatalError(org.xml.sax.SAXParseException exception) + +
+           
+ org.xml.sax.InputSourceresolveEntity(String publicId, + String systemId) + +
+           
+ voidwarning(org.xml.sax.SAXParseException exception) + +
+           
+ + + + + + + +
Methods inherited from class org.xml.sax.helpers.DefaultHandler
characters, endDocument, endElement, endPrefixMapping, ignorableWhitespace, notationDecl, processingInstruction, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MOADefaultHandler

+
+public MOADefaultHandler()
+
+
Create a new MOADefaultHandler.
+
+ +

+MOADefaultHandler

+
+public MOADefaultHandler(org.xml.sax.EntityResolver entityResolver,
+                         org.xml.sax.ErrorHandler errorHandler)
+
+
Create a new MOADefaultHandler.
+
Parameters:
entityResolver - The EntityResolver to use for resolving + external entities.
errorHandler - The ErrorHandler to use for reporting + parsing errors.
+
+
+ + + + + + + + +
+Method Detail
+ +

+resolveEntity

+
+public org.xml.sax.InputSource resolveEntity(String publicId,
+                                             String systemId)
+                                      throws org.xml.sax.SAXException
+
+
+
Overrides:
resolveEntity in class org.xml.sax.helpers.DefaultHandler
+
+
+
See Also:
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
+
+
+
+ +

+warning

+
+public void warning(org.xml.sax.SAXParseException exception)
+             throws org.xml.sax.SAXException
+
+
+
Overrides:
warning in class org.xml.sax.helpers.DefaultHandler
+
+
+
See Also:
ErrorHandler.warning(org.xml.sax.SAXParseException)
+
+
+
+ +

+error

+
+public void error(org.xml.sax.SAXParseException exception)
+           throws org.xml.sax.SAXException
+
+
+
Overrides:
error in class org.xml.sax.helpers.DefaultHandler
+
+
+
See Also:
ErrorHandler.error(org.xml.sax.SAXParseException)
+
+
+
+ +

+fatalError

+
+public void fatalError(org.xml.sax.SAXParseException exception)
+                throws org.xml.sax.SAXException
+
+
+
Overrides:
fatalError in class org.xml.sax.helpers.DefaultHandler
+
+
+
See Also:
ErrorHandler.fatalError(org.xml.sax.SAXParseException)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAEntityResolver.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAEntityResolver.html new file mode 100644 index 000000000..d89b9b3f8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAEntityResolver.html @@ -0,0 +1,242 @@ + + + + + + +MOA SP/SS Server Internal API: Class MOAEntityResolver + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class MOAEntityResolver

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.MOAEntityResolver
+
+
+
All Implemented Interfaces:
org.xml.sax.EntityResolver
+
+
+
+
public class MOAEntityResolver
extends Object
implements org.xml.sax.EntityResolver
+ +

+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, Sven Aigner
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
MOAEntityResolver() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ org.xml.sax.InputSourceresolveEntity(String publicId, + String systemId) + +
+          Resolve an entity. + +
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MOAEntityResolver

+
+public MOAEntityResolver()
+
+
+ + + + + + + + +
+Method Detail
+ +

+resolveEntity

+
+public org.xml.sax.InputSource resolveEntity(String publicId,
+                                             String systemId)
+
+
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.
+
Specified by:
resolveEntity in interface org.xml.sax.EntityResolver
+
+
+
Parameters:
publicId - The public ID of the resource.
systemId - The system ID of the resource.
Returns:
An InputSource from which the entity can be read, or + null, if the entity could not be found.
See Also:
EntityResolver.resolveEntity(java.lang.String, java.lang.String)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAErrorHandler.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAErrorHandler.html new file mode 100644 index 000000000..7b98e32e0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOAErrorHandler.html @@ -0,0 +1,282 @@ + + + + + + +MOA SP/SS Server Internal API: Class MOAErrorHandler + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class MOAErrorHandler

+
+java.lang.Object
+  |
+  +--org.apache.xml.utils.DefaultErrorHandler
+        |
+        +--at.gv.egovernment.moa.util.MOAErrorHandler
+
+
+
All Implemented Interfaces:
org.xml.sax.ErrorHandler, javax.xml.transform.ErrorListener
+
+
+
+
public class MOAErrorHandler
extends org.apache.xml.utils.DefaultErrorHandler
+ +

+An ErrorHandler that logs a message and throws a + SAXException upon error and fatal + parsing errors. +

+

+
Author:
Patrick Peck, Sven Aigner
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
MOAErrorHandler() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiderror(org.xml.sax.SAXParseException exception) + +
+          Logs a warning and rethrows the exception.
+ voidfatalError(org.xml.sax.SAXParseException exception) + +
+          Logs a warning and rethrows the exception.
+ voidwarning(org.xml.sax.SAXParseException exception) + +
+          Logs a warning message.
+ + + + + + + +
Methods inherited from class org.apache.xml.utils.DefaultErrorHandler
ensureLocationSet, error, fatalError, printLocation, printLocation, warning
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MOAErrorHandler

+
+public MOAErrorHandler()
+
+
+ + + + + + + + +
+Method Detail
+ +

+warning

+
+public void warning(org.xml.sax.SAXParseException exception)
+             throws org.xml.sax.SAXException
+
+
Logs a warning message.
+
Overrides:
warning in class org.apache.xml.utils.DefaultErrorHandler
+
+
+
See Also:
ErrorHandler.warning(SAXParseException)
+
+
+
+ +

+error

+
+public void error(org.xml.sax.SAXParseException exception)
+           throws org.xml.sax.SAXException
+
+
Logs a warning and rethrows the exception.
+
Overrides:
error in class org.apache.xml.utils.DefaultErrorHandler
+
+
+
See Also:
ErrorHandler.error(SAXParseException)
+
+
+
+ +

+fatalError

+
+public void fatalError(org.xml.sax.SAXParseException exception)
+                throws org.xml.sax.SAXException
+
+
Logs a warning and rethrows the exception.
+
Overrides:
fatalError in class org.apache.xml.utils.DefaultErrorHandler
+
+
+
See Also:
ErrorHandler.fatalError(SAXParseException)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOATimer.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOATimer.html new file mode 100644 index 000000000..43ff7ea9a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MOATimer.html @@ -0,0 +1,326 @@ + + + + + + +MOA SP/SS Server Internal API: Class MOATimer + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class MOATimer

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.MOATimer
+
+
+
+
public class MOATimer
extends Object
+ +

+A timer utility for named timers. +

+

+
Author:
Sven Aigner
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected MOATimer() + +
+          Create a new MOATimer. + +
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclearTiming(String id) + +
+          Remove a timing.
+ longduration(Object id) + +
+          Get the duration of an action.
+ StringdurationAsString(Object id) + +
+          Get the duration of an action, as a nicely formatted String.
+static MOATimergetInstance() + +
+          Return the single instance of this class.
+ voidstartTiming(Object id) + +
+          Start timing a certain action. + +
+ voidstopTiming(Object id) + +
+          Stop timing an action.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MOATimer

+
+protected MOATimer()
+
+
Create a new MOATimer. + + Protected to disallow multiple instances.
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static MOATimer getInstance()
+
+
Return the single instance of this class.
+
Returns:
The single instance of this class.
+
+
+
+ +

+startTiming

+
+public void startTiming(Object id)
+
+
Start timing a certain action. + + The timing belonging to the action ID is garbage collected as soon as there + exists no other reference to the action ID.
+
Parameters:
id - The action ID.
+
+
+
+ +

+stopTiming

+
+public void stopTiming(Object id)
+
+
Stop timing an action.
+
Parameters:
id - The action ID.
+
+
+
+ +

+duration

+
+public long duration(Object id)
+
+
Get the duration of an action.
+
Parameters:
id - The action ID for which to compute the duration.
Returns:
long The duration in milliseconds between calls to + startTiming() and stopTiming(). If + only startTiming() has been called for the action, then + current difference to the system time is returned. If no timing exists for + the action, - 1 is returned.
+
+
+
+ +

+durationAsString

+
+public String durationAsString(Object id)
+
+
Get the duration of an action, as a nicely formatted String.
+
Parameters:
id - The action ID.
Returns:
String The duration() as a String.
+
+
+
+ +

+clearTiming

+
+public void clearTiming(String id)
+
+
Remove a timing.
+
Parameters:
id - The action ID.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MessageProvider.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MessageProvider.html new file mode 100644 index 000000000..a4f72090e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/MessageProvider.html @@ -0,0 +1,252 @@ + + + + + + +MOA SP/SS Server Internal API: Class MessageProvider + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class MessageProvider

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.MessageProvider
+
+
+
+
public class MessageProvider
extends Object
+ +

+A singleton wrapper around a Message object. + + Provides the messages used in the common project. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
+protected MessageProvider(String[] resourceNames, + Locale[] locales) + +
+          Create a MessageProvider.
+  + + + + + + + + + + + + + + + +
+Method Summary
+static MessageProvidergetInstance() + +
+          Return the single instance of the MessageProvider. + +
+ StringgetMessage(String messageId, + Object[] parameters) + +
+          Get the message corresponding to a given message ID.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+MessageProvider

+
+protected MessageProvider(String[] resourceNames,
+                          Locale[] locales)
+
+
Create a MessageProvider.
+
Parameters:
resourceNames - The names of the resources containing the messages.
locales - The corresponding locales.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static MessageProvider getInstance()
+
+
Return the single instance of the MessageProvider. + + Intialilizes the MessageProvider with the default message + locations: /resources/properties/common_messages.
+
Returns:
The single MessageProvider.
+
+
+
+ +

+getMessage

+
+public String getMessage(String messageId,
+                         Object[] parameters)
+
+
Get the message corresponding to a given message ID.
+
Parameters:
messageId - The ID of the message.
parameters - The parameters to fill in into the message arguments.
Returns:
The formatted message.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Messages.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Messages.html new file mode 100644 index 000000000..923f14862 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/Messages.html @@ -0,0 +1,229 @@ + + + + + + +MOA SP/SS Server Internal API: Class Messages + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class Messages

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.Messages
+
+
+
+
public class Messages
extends Object
+ +

+Provides access to the system messages resource used for exception handling + and logging messages. + + Messages must be provided as a resource bundle at the path. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
Messages(String[] resourceNames, + Locale[] locales) + +
+          Create a new Message object containing the messages + in the given resources.
+  + + + + + + + + + + + +
+Method Summary
+ StringgetMessage(String messageId, + Object[] parameters) + +
+          Get the message corresponding to a given message ID.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+Messages

+
+public Messages(String[] resourceNames,
+                Locale[] locales)
+
+
Create a new Message object containing the messages + in the given resources.
+
Parameters:
resourceNames - The names of the resources containing the messages.
locales - The corresponding locales.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getMessage

+
+public String getMessage(String messageId,
+                         Object[] parameters)
+
+
Get the message corresponding to a given message ID.
+
Parameters:
messageId - The ID of the message.
parameters - The parameters to fill in into the message arguments.
Returns:
The formatted message.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeIteratorAdapter.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeIteratorAdapter.html new file mode 100644 index 000000000..ec6c4516e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeIteratorAdapter.html @@ -0,0 +1,362 @@ + + + + + + +MOA SP/SS Server Internal API: Class NodeIteratorAdapter + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class NodeIteratorAdapter

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.NodeIteratorAdapter
+
+
+
All Implemented Interfaces:
org.w3c.dom.traversal.NodeIterator
+
+
+
+
public class NodeIteratorAdapter
extends Object
implements org.w3c.dom.traversal.NodeIterator
+ +

+A NodeIterator implementation based on a + ListIterator. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
ListIterator, +NodeIterator
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
NodeIteratorAdapter(ListIterator nodeIterator) + +
+          Create a new NodeIteratorAdapter.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddetach() + +
+           
+ booleangetExpandEntityReferences() + +
+           
+ org.w3c.dom.traversal.NodeFiltergetFilter() + +
+           
+ org.w3c.dom.NodegetRoot() + +
+           
+ intgetWhatToShow() + +
+           
+ org.w3c.dom.NodenextNode() + +
+           
+ org.w3c.dom.NodepreviousNode() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+NodeIteratorAdapter

+
+public NodeIteratorAdapter(ListIterator nodeIterator)
+
+
Create a new NodeIteratorAdapter.
+
Parameters:
nodeIterator - The ListIterator to iterate over.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getRoot

+
+public org.w3c.dom.Node getRoot()
+
+
+
Specified by:
getRoot in interface org.w3c.dom.traversal.NodeIterator
+
+
+
See Also:
NodeIterator.getRoot()
+
+
+
+ +

+getWhatToShow

+
+public int getWhatToShow()
+
+
+
Specified by:
getWhatToShow in interface org.w3c.dom.traversal.NodeIterator
+
+
+
See Also:
NodeIterator.getWhatToShow()
+
+
+
+ +

+getFilter

+
+public org.w3c.dom.traversal.NodeFilter getFilter()
+
+
+
Specified by:
getFilter in interface org.w3c.dom.traversal.NodeIterator
+
+
+
See Also:
NodeIterator.getFilter()
+
+
+
+ +

+getExpandEntityReferences

+
+public boolean getExpandEntityReferences()
+
+
+
Specified by:
getExpandEntityReferences in interface org.w3c.dom.traversal.NodeIterator
+
+
+
See Also:
NodeIterator.getExpandEntityReferences()
+
+
+
+ +

+nextNode

+
+public org.w3c.dom.Node nextNode()
+                          throws org.w3c.dom.DOMException
+
+
+
Specified by:
nextNode in interface org.w3c.dom.traversal.NodeIterator
+
+
+
See Also:
NodeIterator.nextNode()
+
+
+
+ +

+previousNode

+
+public org.w3c.dom.Node previousNode()
+                              throws org.w3c.dom.DOMException
+
+
+
Specified by:
previousNode in interface org.w3c.dom.traversal.NodeIterator
+
+
+
See Also:
NodeIterator.previousNode()
+
+
+
+ +

+detach

+
+public void detach()
+
+
+
Specified by:
detach in interface org.w3c.dom.traversal.NodeIterator
+
+
+
See Also:
NodeIterator.detach()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeListAdapter.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeListAdapter.html new file mode 100644 index 000000000..d3c49e204 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/NodeListAdapter.html @@ -0,0 +1,249 @@ + + + + + + +MOA SP/SS Server Internal API: Class NodeListAdapter + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class NodeListAdapter

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.NodeListAdapter
+
+
+
All Implemented Interfaces:
org.w3c.dom.NodeList
+
+
+
+
public class NodeListAdapter
extends Object
implements org.w3c.dom.NodeList
+ +

+A NodeList implementation based on a List. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
List, +NodeList
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
NodeListAdapter(List nodeList) + +
+          Create a new NodeListAdapter.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ intgetLength() + +
+           
+ org.w3c.dom.Nodeitem(int index) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+NodeListAdapter

+
+public NodeListAdapter(List nodeList)
+
+
Create a new NodeListAdapter.
+
Parameters:
nodeList - The List containing the nodes.
+
+
+ + + + + + + + +
+Method Detail
+ +

+item

+
+public org.w3c.dom.Node item(int index)
+
+
+
Specified by:
item in interface org.w3c.dom.NodeList
+
+
+
See Also:
NodeList.item(int)
+
+
+
+ +

+getLength

+
+public int getLength()
+
+
+
Specified by:
getLength in interface org.w3c.dom.NodeList
+
+
+
See Also:
NodeList.getLength()
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/ResourceBundleChain.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/ResourceBundleChain.html new file mode 100644 index 000000000..f61f8f03c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/ResourceBundleChain.html @@ -0,0 +1,240 @@ + + + + + + +MOA SP/SS Server Internal API: Class ResourceBundleChain + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class ResourceBundleChain

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.ResourceBundleChain
+
+
+
+
public class ResourceBundleChain
extends Object
+ +

+A class to chain ResourceBundles. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
ResourceBundleChain() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddResourceBundle(ResourceBundle resourceBundle) + +
+          Add a ResourceBundle to the chain.
+ StringgetString(String key) + +
+          Return the value of the resource.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+ResourceBundleChain

+
+public ResourceBundleChain()
+
+
+ + + + + + + + +
+Method Detail
+ +

+addResourceBundle

+
+public void addResourceBundle(ResourceBundle resourceBundle)
+
+
Add a ResourceBundle to the chain.
+
Parameters:
resourceBundle - The ResourceBundle to add.
+
+
+
+ +

+getString

+
+public String getString(String key)
+                 throws MissingResourceException
+
+
Return the value of the resource.
+
Parameters:
key - The key to access the String resource.
Returns:
The resource value. All the registered ResourceBundles + are searched in the order in which they have previously been added to this + ResourceBundleChain.
Throws:
MissingResourceException - The resource coult not be found in any of + the bundles.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/SSLUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/SSLUtils.html new file mode 100644 index 000000000..252e1a08f --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/SSLUtils.html @@ -0,0 +1,408 @@ + + + + + + +MOA SP/SS Server Internal API: Class SSLUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class SSLUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.SSLUtils
+
+
+
+
public class SSLUtils
extends Object
+ +

+Utility for connecting to server applications via SSL. +

+

+
Version:
$Id$
+
Author:
Paul Ivancsics
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
SSLUtils() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static com.sun.net.ssl.KeyManager[]getKeyManagers(KeyStore clientKeyStore, + String clientKeyStorePassword) + +
+          Gets the KeyManagers from a default KeyManagerFactory, + initialized from the given client key store.
+static com.sun.net.ssl.KeyManager[]getKeyManagers(String clientKeyStoreType, + String clientKeyStoreURL, + String clientKeyStorePassword) + +
+          Loads the client key store from file and gets the + KeyManagers from a default KeyManagerFactory, + initialized from the given client key store.
+static com.sun.net.ssl.SSLContextgetSSLContext(KeyStore trustStore, + String clientKeyStoreType, + String clientKeyStoreURL, + String clientKeyStorePassword) + +
+          Creates an SSLContext initialized for the + given trust store and keystore.
+static javax.net.ssl.SSLSocketFactorygetSSLSocketFactory(KeyStore trustStore, + String clientKeyStoreType, + String clientKeyStoreURL, + String clientKeyStorePassword) + +
+          Creates an SSLSocketFactory which utilizes the + given trust store and keystore.
+static javax.net.ssl.SSLSocketFactorygetSSLSocketFactory(String trustStoreType, + InputStream trustStoreInputStream, + String trustStorePassword) + +
+          Creates an SSLSocketFactory which utilizes the given trust store.
+protected static com.sun.net.ssl.TrustManager[]getTrustManagers(KeyStore trustStore) + +
+          Gets the TrustManagers from a default TrustManagerFactory, + initialized from the given trust store.
+protected static com.sun.net.ssl.TrustManager[]getTrustManagers(String trustStoreType, + InputStream trustStoreInputStream, + String trustStorePassword) + +
+          Loads the trust store from an input stream and gets the + TrustManagers from a default TrustManagerFactory, + initialized from the given trust store.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+SSLUtils

+
+public SSLUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getSSLSocketFactory

+
+public static javax.net.ssl.SSLSocketFactory getSSLSocketFactory(String trustStoreType,
+                                                                 InputStream trustStoreInputStream,
+                                                                 String trustStorePassword)
+                                                          throws IOException,
+                                                                 GeneralSecurityException
+
+
Creates an SSLSocketFactory which utilizes the given trust store.
+
Parameters:
trustStoreType - key store type of trust store
trustStoreInputStream - input stream for reading JKS trust store containing + trusted server certificates; if null, the default + trust store will be utilized
trustStorePassword - if provided, it will be used to check + the integrity of the trust store; if omitted, it will not be checked
Returns:
SSLSocketFactory to be used by an HttpsURLConnection
Throws:
IOException - thrown while reading from the input stream
GeneralSecurityException - thrown while creating the socket factory
+
+
+
+ +

+getSSLSocketFactory

+
+public static javax.net.ssl.SSLSocketFactory getSSLSocketFactory(KeyStore trustStore,
+                                                                 String clientKeyStoreType,
+                                                                 String clientKeyStoreURL,
+                                                                 String clientKeyStorePassword)
+                                                          throws IOException,
+                                                                 GeneralSecurityException
+
+
Creates an SSLSocketFactory which utilizes the + given trust store and keystore.
+
Parameters:
trustStore - trust store containing trusted server certificates; + if null, the default trust store will be utilized
clientKeyStoreType - key store type of clientKeyStore
clientKeyStoreURL - URL of key store containing keys to be used for + client authentication; if null, the default key store will be utilized
clientKeyStorePassword - if provided, it will be used to check + the integrity of the client key store; if omitted, it will not be checked
Returns:
SSLSocketFactory to be used by an HttpsURLConnection
Throws:
IOException - thrown while reading key store file
GeneralSecurityException - thrown while creating the socket factory
+
+
+
+ +

+getSSLContext

+
+public static com.sun.net.ssl.SSLContext getSSLContext(KeyStore trustStore,
+                                                       String clientKeyStoreType,
+                                                       String clientKeyStoreURL,
+                                                       String clientKeyStorePassword)
+                                                throws IOException,
+                                                       GeneralSecurityException
+
+
Creates an SSLContext initialized for the + given trust store and keystore.
+
Parameters:
trustStore - trust store containing trusted server certificates; + if null, the default trust store will be utilized
clientKeyStoreType - key store type of clientKeyStore
clientKeyStoreURL - URL of key store containing keys to be used for + client authentication; if null, the default key store will be utilized
clientKeyStorePassword - if provided, it will be used to check + the integrity of the client key store; if omitted, it will not be checked
Returns:
SSLContext to be used for creating an SSLSocketFactory
Throws:
IOException - thrown while reading key store file
GeneralSecurityException - thrown while creating the SSL context
+
+
+
+ +

+getTrustManagers

+
+protected static com.sun.net.ssl.TrustManager[] getTrustManagers(String trustStoreType,
+                                                                 InputStream trustStoreInputStream,
+                                                                 String trustStorePassword)
+                                                          throws IOException,
+                                                                 GeneralSecurityException
+
+
Loads the trust store from an input stream and gets the + TrustManagers from a default TrustManagerFactory, + initialized from the given trust store.
+
Parameters:
trustStoreType - key store type of trust store
trustStoreInputStream - input stream for reading JKS trust store containing + trusted server certificates; if null, the default + trust store will be utilized
trustStorePassword - if provided, it will be used to check + the integrity of the trust store; if omitted, it will not be checked
Returns:
TrustManagers to be used for creating an + SSLSocketFactory utilizing the given trust store
Throws:
IOException - thrown while reading from the input stream
GeneralSecurityException - thrown while initializing the + default TrustManagerFactory
+
+
+
+ +

+getTrustManagers

+
+protected static com.sun.net.ssl.TrustManager[] getTrustManagers(KeyStore trustStore)
+                                                          throws GeneralSecurityException
+
+
Gets the TrustManagers from a default TrustManagerFactory, + initialized from the given trust store.
+
Parameters:
trustStore - the trust store to use
trustStorePassword - password protecting the given trust store
Returns:
TrustManagers to be used for creating an + SSLSocketFactory utilizing the given trust store
Throws:
GeneralSecurityException - thrown while initializing the + default TrustManagerFactory
+
+
+
+ +

+getKeyManagers

+
+public static com.sun.net.ssl.KeyManager[] getKeyManagers(String clientKeyStoreType,
+                                                          String clientKeyStoreURL,
+                                                          String clientKeyStorePassword)
+                                                   throws IOException,
+                                                          GeneralSecurityException
+
+
Loads the client key store from file and gets the + KeyManagers from a default KeyManagerFactory, + initialized from the given client key store.
+
Parameters:
clientKeyStoreType - key store type of clientKeyStore
clientKeyStoreURL - URL of key store containing keys to be used for + client authentication; if null, the default key store will be utilized
clientKeyStorePassword - password used to check the integrity of the client key store; + if null, it will not be checked
Returns:
KeyManagers to be used for creating an + SSLSocketFactory utilizing the given client key store
Throws:
IOException - thrown while reading from the key store file
GeneralSecurityException - thrown while initializing the + default KeyManagerFactory
+
+
+
+ +

+getKeyManagers

+
+public static com.sun.net.ssl.KeyManager[] getKeyManagers(KeyStore clientKeyStore,
+                                                          String clientKeyStorePassword)
+                                                   throws GeneralSecurityException
+
+
Gets the KeyManagers from a default KeyManagerFactory, + initialized from the given client key store.
+
Parameters:
clientKeyStore - client key store
clientKeyStorePassword - if provided, it will be used to check + the integrity of the client key store; if omitted, it will not be checked
Returns:
KeyManagers to be used for creating an + SSLSocketFactory utilizing the given client key store
Throws:
GeneralSecurityException - thrown while initializing the + default KeyManagerFactory
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamEntityResolver.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamEntityResolver.html new file mode 100644 index 000000000..df879dea8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamEntityResolver.html @@ -0,0 +1,237 @@ + + + + + + +MOA SP/SS Server Internal API: Class StreamEntityResolver + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class StreamEntityResolver

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.StreamEntityResolver
+
+
+
All Implemented Interfaces:
org.xml.sax.EntityResolver
+
+
+
+
public class StreamEntityResolver
extends Object
implements org.xml.sax.EntityResolver
+ +

+An EntityResolver that maps system IDs to + InputStreams. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
StreamEntityResolver(Map mappedEntities) + +
+          Create a StreamEntityResolver.
+  + + + + + + + + + + + +
+Method Summary
+ org.xml.sax.InputSourceresolveEntity(String publicId, + String systemId) + +
+          Resolve an entity by looking it up in the mapped entities. + +
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+StreamEntityResolver

+
+public StreamEntityResolver(Map mappedEntities)
+
+
Create a StreamEntityResolver.
+
Parameters:
mappedEntities - A mapping from public or system IDs + (String objects) to InputStreams.
+
+
+ + + + + + + + +
+Method Detail
+ +

+resolveEntity

+
+public org.xml.sax.InputSource resolveEntity(String publicId,
+                                             String systemId)
+                                      throws org.xml.sax.SAXException,
+                                             IOException
+
+
Resolve an entity by looking it up in the mapped entities. + + First, the public ID is looked up in the mapping, then the system ID.
+
Specified by:
resolveEntity in interface org.xml.sax.EntityResolver
+
+
+
Parameters:
publicId - The public ID of the entity.
systemId - The system ID of the entity.
Returns:
An InputStream containing the entity or + null if no entity could be found.
Throws:
org.xml.sax.SAXException - Signalling a parsing exception.
IOException - Error reading the entity.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamUtils.html new file mode 100644 index 000000000..a2615fd60 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/StreamUtils.html @@ -0,0 +1,265 @@ + + + + + + +MOA SP/SS Server Internal API: Class StreamUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class StreamUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.StreamUtils
+
+
+
+
public class StreamUtils
extends Object
+ +

+Utility methods for streams. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
StreamUtils() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static booleancompareStreams(InputStream is1, + InputStream is2) + +
+          Compare the contents of two InputStreams.
+static byte[]readStream(InputStream in) + +
+          Reads a byte array from a stream.
+static StringreadStream(InputStream in, + String encoding) + +
+          Reads a String from a stream, using given encoding.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+StreamUtils

+
+public StreamUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+compareStreams

+
+public static boolean compareStreams(InputStream is1,
+                                     InputStream is2)
+                              throws IOException
+
+
Compare the contents of two InputStreams.
+
Parameters:
is1 - The 1st InputStream to compare.
is2 - The 2nd InputStream to compare.
Returns:
boolean true, if both streams contain the exactly the + same content, false otherwise.
Throws:
IOException - An error occurred reading one of the streams.
+
+
+
+ +

+readStream

+
+public static byte[] readStream(InputStream in)
+                         throws IOException
+
+
Reads a byte array from a stream.
+
Parameters:
in - The InputStream to read.
Returns:
The bytes contained in the given InputStream.
Throws:
IOException - on any exception thrown
+
+
+
+ +

+readStream

+
+public static String readStream(InputStream in,
+                                String encoding)
+                         throws IOException
+
+
Reads a String from a stream, using given encoding.
+
Parameters:
in - The InputStream to read.
encoding - The character encoding to use for converting the bytes + of the InputStream into a String.
Returns:
The content of the given InputStream converted into + a String.
Throws:
IOException - on any exception thrown
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLDecoder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLDecoder.html new file mode 100644 index 000000000..297fe79c0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLDecoder.html @@ -0,0 +1,221 @@ + + + + + + +MOA SP/SS Server Internal API: Class URLDecoder + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class URLDecoder

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.URLDecoder
+
+
+
+
public class URLDecoder
extends Object
+ +

+Decodes an URL encoded String using a specified character encoding. + Provides a function missing in JDK 1.3. +

+

+
Version:
$Id$
+
Author:
Paul Ivancsics
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
URLDecoder() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static Stringdecode(String s, + String encoding) + +
+          Decodes an application/x-www-form-urlencoded string using a specific encoding scheme.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+URLDecoder

+
+public URLDecoder()
+
+
+ + + + + + + + +
+Method Detail
+ +

+decode

+
+public static String decode(String s,
+                            String encoding)
+                     throws UnsupportedEncodingException
+
+
Decodes an application/x-www-form-urlencoded string using a specific encoding scheme.
+
Parameters:
s - the string to decode
encoding - name of character encoding
Returns:
the newly decoded string
Throws:
UnsupportedEncodingException - if the encoding is not supported
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLEncoder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLEncoder.html new file mode 100644 index 000000000..4ac6d651b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/URLEncoder.html @@ -0,0 +1,221 @@ + + + + + + +MOA SP/SS Server Internal API: Class URLEncoder + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class URLEncoder

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.URLEncoder
+
+
+
+
public class URLEncoder
extends Object
+ +

+Translates a string into mime format "x-www-form-urlencoded". + Provides a function missing in JDK 1.3. +

+

+
Version:
$Id$
+
Author:
Paul Ivancsics
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
URLEncoder() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static Stringencode(String s, + String encoding) + +
+          Translates a string into x-www-form-urlencoded format.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+URLEncoder

+
+public URLEncoder()
+
+
+ + + + + + + + +
+Method Detail
+ +

+encode

+
+public static String encode(String s,
+                            String encoding)
+                     throws UnsupportedEncodingException
+
+
Translates a string into x-www-form-urlencoded format.
+
Parameters:
s - the string to be translated
encoding - the encoding to use
Returns:
the translated string
Throws:
UnsupportedEncodingException - when the desired encoding is not supported
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathException.html new file mode 100644 index 000000000..c067834a8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathException.html @@ -0,0 +1,284 @@ + + + + + + +MOA SP/SS Server Internal API: Class XPathException + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class XPathException

+
+java.lang.Object
+  |
+  +--java.lang.Throwable
+        |
+        +--java.lang.Exception
+              |
+              +--java.lang.RuntimeException
+                    |
+                    +--at.gv.egovernment.moa.util.XPathException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class XPathException
extends RuntimeException
+ +

+An exception occurred evaluating an XPath. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + +
+Constructor Summary
XPathException(String message, + Throwable wrapped) + +
+          Create a XPathException.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ ThrowablegetWrapped() + +
+          Return the wrapped exception.
+ voidprintStackTrace(PrintStream s) + +
+           
+ voidprintStackTrace(PrintWriter s) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getMessage, printStackTrace, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + + + + +
+Constructor Detail
+ +

+XPathException

+
+public XPathException(String message,
+                      Throwable wrapped)
+
+
Create a XPathException.
+
Parameters:
message - The exception message.
wrapped - The exception being the likely cause of this exception.
+
+
+ + + + + + + + +
+Method Detail
+ +

+getWrapped

+
+public Throwable getWrapped()
+
+
Return the wrapped exception.
+
Returns:
The wrapped exception being the likely cause of this exception.
+
+
+
+ +

+printStackTrace

+
+public void printStackTrace(PrintStream s)
+
+
+
Overrides:
printStackTrace in class Throwable
+
+
+
See Also:
Throwable.printStackTrace(java.io.PrintStream)
+
+
+
+ +

+printStackTrace

+
+public void printStackTrace(PrintWriter s)
+
+
+
Overrides:
printStackTrace in class Throwable
+
+
+
See Also:
Throwable.printStackTrace(java.io.PrintWriter)
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathUtils.html new file mode 100644 index 000000000..ee16972f5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/XPathUtils.html @@ -0,0 +1,543 @@ + + + + + + +MOA SP/SS Server Internal API: Class XPathUtils + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ +

+ +at.gv.egovernment.moa.util +
+Class XPathUtils

+
+java.lang.Object
+  |
+  +--at.gv.egovernment.moa.util.XPathUtils
+
+
+
+
public class XPathUtils
extends Object
+ +

+Utility methods to evaluate XPath expressions on DOM nodes. +

+

+
Version:
$Id$
+
Author:
Patrick Peck
+
+
+ +

+ + + + + + + + + + + + + + +
+Field Summary
+static StringALL_NODES_XPATH + +
+          The XPath expression selecting all nodes under a given root (including the + root node itself).
+  + + + + + + + + + + +
+Constructor Summary
XPathUtils() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static StringgetAttributeValue(org.w3c.dom.Element root, + String xpath, + String def) + +
+          Return the value of a DOM attribute whose location is given by an XPath + expression.
+static StringgetElementValue(org.w3c.dom.Element root, + String xpath, + String def) + +
+          Return the value of a DOM element whose location is given by an XPath + expression.
+static org.w3c.dom.traversal.NodeIteratorselectNodeIterator(org.w3c.dom.Node contextNode, + org.w3c.dom.Element namespaceElement, + String exp) + +
+          Return a NodeIterator over the nodes matching the XPath + expression.
+static org.w3c.dom.traversal.NodeIteratorselectNodeIterator(org.w3c.dom.Node contextNode, + Map namespaceMapping, + String exp) + +
+          Return a NodeIterator over the nodes matching the XPath + expression.
+static org.w3c.dom.traversal.NodeIteratorselectNodeIterator(org.w3c.dom.Node contextNode, + String exp) + +
+          Return a NodeIterator over the nodes matching the XPath + expression. + +
+static org.w3c.dom.NodeListselectNodeList(org.w3c.dom.Node contextNode, + org.w3c.dom.Element namespaceElement, + String exp) + +
+          Return a NodeList of all the nodes matching the XPath + expression.
+static org.w3c.dom.NodeListselectNodeList(org.w3c.dom.Node contextNode, + Map namespaceMapping, + String exp) + +
+          Return a NodeList of all the nodes matching the XPath + expression.
+static org.w3c.dom.NodeListselectNodeList(org.w3c.dom.Node contextNode, + String exp) + +
+          Return a NodeList of all the nodes matching the XPath + expression. + +
+static org.w3c.dom.NodeselectSingleNode(org.w3c.dom.Node contextNode, + org.w3c.dom.Element namespaceElement, + String exp) + +
+          Select the first node matching an XPath expression.
+static org.w3c.dom.NodeselectSingleNode(org.w3c.dom.Node contextNode, + Map namespaceMapping, + String exp) + +
+          Select the first node matching an XPath expression.
+static org.w3c.dom.NodeselectSingleNode(org.w3c.dom.Node contextNode, + String exp) + +
+          Select the first node matching an XPath expression. + +
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+ALL_NODES_XPATH

+
+public static final String ALL_NODES_XPATH
+
+
The XPath expression selecting all nodes under a given root (including the + root node itself).
+ + + + + + + + +
+Constructor Detail
+ +

+XPathUtils

+
+public XPathUtils()
+
+
+ + + + + + + + +
+Method Detail
+ +

+selectNodeIterator

+
+public static org.w3c.dom.traversal.NodeIterator selectNodeIterator(org.w3c.dom.Node contextNode,
+                                                                    String exp)
+                                                             throws XPathException
+
+
Return a NodeIterator over the nodes matching the XPath + expression. + + All namespace URIs and prefixes declared in the Constants + interface are used for resolving namespaces.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
exp - The XPath expression to evaluate.
Returns:
An iterator over the resulting nodes.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectNodeIterator

+
+public static org.w3c.dom.traversal.NodeIterator selectNodeIterator(org.w3c.dom.Node contextNode,
+                                                                    org.w3c.dom.Element namespaceElement,
+                                                                    String exp)
+                                                             throws XPathException
+
+
Return a NodeIterator over the nodes matching the XPath + expression.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
namespaceElement - An element from which to build the + namespace mapping for evaluating the XPath expression
exp - The XPath expression to evaluate.
Returns:
An iterator over the resulting nodes.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectNodeIterator

+
+public static org.w3c.dom.traversal.NodeIterator selectNodeIterator(org.w3c.dom.Node contextNode,
+                                                                    Map namespaceMapping,
+                                                                    String exp)
+                                                             throws XPathException
+
+
Return a NodeIterator over the nodes matching the XPath + expression.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
namespaceMapping - A namespace prefix to namespace URI mapping + (String to String) for evaluating the XPath + expression.
exp - The XPath expression to evaluate.
Returns:
An iterator over the resulting nodes.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectNodeList

+
+public static org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode,
+                                                  String exp)
+                                           throws XPathException
+
+
Return a NodeList of all the nodes matching the XPath + expression. + + All namespace URIs and prefixes declared in the Constants + interface are used for resolving namespaces.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
exp - The XPath expression to evaluate.
Returns:
A NodeList containing the matching nodes.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectNodeList

+
+public static org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode,
+                                                  org.w3c.dom.Element namespaceElement,
+                                                  String exp)
+                                           throws XPathException
+
+
Return a NodeList of all the nodes matching the XPath + expression.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
namespaceElement - An element from which to build the + namespace mapping for evaluating the XPath expression
exp - The XPath expression to evaluate.
Returns:
A NodeList containing the matching nodes.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectNodeList

+
+public static org.w3c.dom.NodeList selectNodeList(org.w3c.dom.Node contextNode,
+                                                  Map namespaceMapping,
+                                                  String exp)
+                                           throws XPathException
+
+
Return a NodeList of all the nodes matching the XPath + expression.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
namespaceMapping - A namespace prefix to namespace URI mapping + (String to String) for evaluating the XPath + expression.
exp - The XPath expression to evaluate.
Returns:
A NodeList containing the matching nodes.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectSingleNode

+
+public static org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode,
+                                                String exp)
+                                         throws XPathException
+
+
Select the first node matching an XPath expression. + + All namespace URIs and prefixes declared in the Constants + interface are used for resolving namespaces.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
exp - The XPath expression to evaluate.
Returns:
Node The first node matching the XPath expression, or + null, if no node matched.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectSingleNode

+
+public static org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode,
+                                                org.w3c.dom.Element namespaceElement,
+                                                String exp)
+                                         throws XPathException
+
+
Select the first node matching an XPath expression.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
namespaceElement - An element from which to build the + namespace mapping for evaluating the XPath expression
exp - The XPath expression to evaluate.
Returns:
Node The first node matching the XPath expression, or + null, if no node matched.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+selectSingleNode

+
+public static org.w3c.dom.Node selectSingleNode(org.w3c.dom.Node contextNode,
+                                                Map namespaceMapping,
+                                                String exp)
+                                         throws XPathException
+
+
Select the first node matching an XPath expression.
+
Parameters:
contextNode - The root node from which to evaluate the XPath + expression.
namespaceMapping - A namespace prefix to namespace URI mapping + (String to String) for evaluating the XPath + expression.
exp - The XPath expression to evaluate.
Returns:
Node The first node matching the XPath expression, or + null, if no node matched.
Throws:
XPathException - An error occurred evaluating the XPath expression.
+
+
+
+ +

+getElementValue

+
+public static String getElementValue(org.w3c.dom.Element root,
+                                     String xpath,
+                                     String def)
+
+
Return the value of a DOM element whose location is given by an XPath + expression.
+
Parameters:
root - The root element from which to evaluate the XPath.
xpath - The XPath expression pointing to the element whose value + to return.
def - The default value to return, if no element can be found using + the given xpath.
Returns:
The element value, if it can be located using the + xpath. Otherwise, def is returned.
+
+
+
+ +

+getAttributeValue

+
+public static String getAttributeValue(org.w3c.dom.Element root,
+                                       String xpath,
+                                       String def)
+
+
Return the value of a DOM attribute whose location is given by an XPath + expression.
+
Parameters:
root - The root element from which to evaluate the XPath.
xpath - The XPath expression pointing to the attribute whose value to + return.
def - The default value to return, if no attribute can be found using + the given xpath.
Returns:
The element value, if it can be located using the + xpath. Otherwise, def is returned.
+
+
+ +
+ + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Base64Utils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Base64Utils.html new file mode 100644 index 000000000..c58c688cc --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Base64Utils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.Base64Utils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.Base64Utils

+
+No usage of at.gv.egovernment.moa.util.Base64Utils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/BoolUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/BoolUtils.html new file mode 100644 index 000000000..a085f5dca --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/BoolUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.BoolUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.BoolUtils

+
+No usage of at.gv.egovernment.moa.util.BoolUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/CollectionUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/CollectionUtils.html new file mode 100644 index 000000000..5cf4dd0de --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/CollectionUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.CollectionUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.CollectionUtils

+
+No usage of at.gv.egovernment.moa.util.CollectionUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Constants.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Constants.html new file mode 100644 index 000000000..c0338882c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Constants.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Interface at.gv.egovernment.moa.util.Constants + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Interface
at.gv.egovernment.moa.util.Constants

+
+No usage of at.gv.egovernment.moa.util.Constants +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DOMUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DOMUtils.html new file mode 100644 index 000000000..74e631bd7 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DOMUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.DOMUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.DOMUtils

+
+No usage of at.gv.egovernment.moa.util.DOMUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DateTimeUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DateTimeUtils.html new file mode 100644 index 000000000..04a71fe70 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/DateTimeUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.DateTimeUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.DateTimeUtils

+
+No usage of at.gv.egovernment.moa.util.DateTimeUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/EntityResolverChain.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/EntityResolverChain.html new file mode 100644 index 000000000..fc307f0fe --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/EntityResolverChain.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.EntityResolverChain + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.EntityResolverChain

+
+No usage of at.gv.egovernment.moa.util.EntityResolverChain +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/FileUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/FileUtils.html new file mode 100644 index 000000000..eb0af1766 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/FileUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.FileUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.FileUtils

+
+No usage of at.gv.egovernment.moa.util.FileUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/KeyStoreUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/KeyStoreUtils.html new file mode 100644 index 000000000..dccffd17c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/KeyStoreUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.KeyStoreUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.KeyStoreUtils

+
+No usage of at.gv.egovernment.moa.util.KeyStoreUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOADefaultHandler.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOADefaultHandler.html new file mode 100644 index 000000000..77f6441cc --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOADefaultHandler.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.MOADefaultHandler + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.MOADefaultHandler

+
+No usage of at.gv.egovernment.moa.util.MOADefaultHandler +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAEntityResolver.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAEntityResolver.html new file mode 100644 index 000000000..3f783e56a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAEntityResolver.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.MOAEntityResolver + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.MOAEntityResolver

+
+No usage of at.gv.egovernment.moa.util.MOAEntityResolver +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAErrorHandler.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAErrorHandler.html new file mode 100644 index 000000000..b5cbf70ae --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOAErrorHandler.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.MOAErrorHandler + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.MOAErrorHandler

+
+No usage of at.gv.egovernment.moa.util.MOAErrorHandler +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOATimer.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOATimer.html new file mode 100644 index 000000000..27de9845c --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MOATimer.html @@ -0,0 +1,131 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.MOATimer + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.MOATimer

+
+ + + + + + + + + +
+Packages that use MOATimer
at.gv.egovernment.moa.util  
+  +

+ + + + + +
+Uses of MOATimer in at.gv.egovernment.moa.util
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.util that return MOATimer
+static MOATimerMOATimer.getInstance() + +
+          Return the single instance of this class.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MessageProvider.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MessageProvider.html new file mode 100644 index 000000000..8de070ce2 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/MessageProvider.html @@ -0,0 +1,133 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.MessageProvider + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.MessageProvider

+
+ + + + + + + + + +
+Packages that use MessageProvider
at.gv.egovernment.moa.util  
+  +

+ + + + + +
+Uses of MessageProvider in at.gv.egovernment.moa.util
+  +

+ + + + + + + + + +
Methods in at.gv.egovernment.moa.util that return MessageProvider
+static MessageProviderMessageProvider.getInstance() + +
+          Return the single instance of the MessageProvider. + +
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Messages.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Messages.html new file mode 100644 index 000000000..6b4c4a5c5 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/Messages.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.Messages + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.Messages

+
+No usage of at.gv.egovernment.moa.util.Messages +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeIteratorAdapter.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeIteratorAdapter.html new file mode 100644 index 000000000..0f4029e8e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeIteratorAdapter.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.NodeIteratorAdapter + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.NodeIteratorAdapter

+
+No usage of at.gv.egovernment.moa.util.NodeIteratorAdapter +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeListAdapter.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeListAdapter.html new file mode 100644 index 000000000..eb2b8a07e --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/NodeListAdapter.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.NodeListAdapter + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.NodeListAdapter

+
+No usage of at.gv.egovernment.moa.util.NodeListAdapter +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/ResourceBundleChain.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/ResourceBundleChain.html new file mode 100644 index 000000000..61fc73f31 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/ResourceBundleChain.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.ResourceBundleChain + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.ResourceBundleChain

+
+No usage of at.gv.egovernment.moa.util.ResourceBundleChain +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/SSLUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/SSLUtils.html new file mode 100644 index 000000000..6ca0ba169 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/SSLUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.SSLUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.SSLUtils

+
+No usage of at.gv.egovernment.moa.util.SSLUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamEntityResolver.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamEntityResolver.html new file mode 100644 index 000000000..e3bcbe069 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamEntityResolver.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.StreamEntityResolver + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.StreamEntityResolver

+
+No usage of at.gv.egovernment.moa.util.StreamEntityResolver +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamUtils.html new file mode 100644 index 000000000..91c33c718 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/StreamUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.StreamUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.StreamUtils

+
+No usage of at.gv.egovernment.moa.util.StreamUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLDecoder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLDecoder.html new file mode 100644 index 000000000..2eb5e97ea --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLDecoder.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.URLDecoder + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.URLDecoder

+
+No usage of at.gv.egovernment.moa.util.URLDecoder +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLEncoder.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLEncoder.html new file mode 100644 index 000000000..0232f6cc1 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/URLEncoder.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.URLEncoder + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.URLEncoder

+
+No usage of at.gv.egovernment.moa.util.URLEncoder +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathException.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathException.html new file mode 100644 index 000000000..2729ebf8d --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathException.html @@ -0,0 +1,222 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.XPathException + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.XPathException

+
+ + + + + + + + + +
+Packages that use XPathException
at.gv.egovernment.moa.util  
+  +

+ + + + + +
+Uses of XPathException in at.gv.egovernment.moa.util
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in at.gv.egovernment.moa.util that throw XPathException
+static org.w3c.dom.traversal.NodeIteratorXPathUtils.selectNodeIterator(org.w3c.dom.Node contextNode, + String exp) + +
+          Return a NodeIterator over the nodes matching the XPath + expression. + +
+static org.w3c.dom.traversal.NodeIteratorXPathUtils.selectNodeIterator(org.w3c.dom.Node contextNode, + org.w3c.dom.Element namespaceElement, + String exp) + +
+          Return a NodeIterator over the nodes matching the XPath + expression.
+static org.w3c.dom.traversal.NodeIteratorXPathUtils.selectNodeIterator(org.w3c.dom.Node contextNode, + Map namespaceMapping, + String exp) + +
+          Return a NodeIterator over the nodes matching the XPath + expression.
+static org.w3c.dom.NodeListXPathUtils.selectNodeList(org.w3c.dom.Node contextNode, + String exp) + +
+          Return a NodeList of all the nodes matching the XPath + expression. + +
+static org.w3c.dom.NodeListXPathUtils.selectNodeList(org.w3c.dom.Node contextNode, + org.w3c.dom.Element namespaceElement, + String exp) + +
+          Return a NodeList of all the nodes matching the XPath + expression.
+static org.w3c.dom.NodeListXPathUtils.selectNodeList(org.w3c.dom.Node contextNode, + Map namespaceMapping, + String exp) + +
+          Return a NodeList of all the nodes matching the XPath + expression.
+static org.w3c.dom.NodeXPathUtils.selectSingleNode(org.w3c.dom.Node contextNode, + String exp) + +
+          Select the first node matching an XPath expression. + +
+static org.w3c.dom.NodeXPathUtils.selectSingleNode(org.w3c.dom.Node contextNode, + org.w3c.dom.Element namespaceElement, + String exp) + +
+          Select the first node matching an XPath expression.
+static org.w3c.dom.NodeXPathUtils.selectSingleNode(org.w3c.dom.Node contextNode, + Map namespaceMapping, + String exp) + +
+          Select the first node matching an XPath expression.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathUtils.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathUtils.html new file mode 100644 index 000000000..cb42695d8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/class-use/XPathUtils.html @@ -0,0 +1,95 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Class at.gv.egovernment.moa.util.XPathUtils + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Class
at.gv.egovernment.moa.util.XPathUtils

+
+No usage of at.gv.egovernment.moa.util.XPathUtils +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-frame.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-frame.html new file mode 100644 index 000000000..3cf41351b --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-frame.html @@ -0,0 +1,92 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.util + + + + + +at.gv.egovernment.moa.util + + + + +
+Interfaces  + +
+Constants
+ + + + + + +
+Classes  + +
+Base64Utils +
+BoolUtils +
+CollectionUtils +
+DateTimeUtils +
+DOMUtils +
+EntityResolverChain +
+FileUtils +
+KeyStoreUtils +
+MessageProvider +
+Messages +
+MOADefaultHandler +
+MOAEntityResolver +
+MOAErrorHandler +
+MOATimer +
+NodeIteratorAdapter +
+NodeListAdapter +
+ResourceBundleChain +
+SSLUtils +
+StreamEntityResolver +
+StreamUtils +
+URLDecoder +
+URLEncoder +
+XPathUtils
+ + + + + + +
+Exceptions  + +
+XPathException
+ + + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-summary.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-summary.html new file mode 100644 index 000000000..10c671230 --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-summary.html @@ -0,0 +1,242 @@ + + + + + + +MOA SP/SS Server Internal API: Package at.gv.egovernment.moa.util + + + + + + + + + + + + + + + + + +
+ +
+ + +
+

+Package at.gv.egovernment.moa.util +

+ + + + + + + + + +
+Interface Summary
ConstantsContains various constants used throughout the system.
+  + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
Base64UtilsUtitility functions for encoding/decoding Base64 strings.
BoolUtilsUtility class for parsing XML schema boolean values.
CollectionUtilsVarious utility methods for dealing with java.util.Collection + classes.
DateTimeUtilsUtility for parsing and building XML type dateTime, + according to ISO 8601.
DOMUtilsVarious utility functions for handling XML DOM trees. + +
EntityResolverChainImplementation of the org.xml.sax.EntityResolver, + for use by a org.apache.xerces.parsers.DOMParser.
FileUtilsUtility for accessing files on the file system, and for reading from input streams.
KeyStoreUtilsUtility for creating and loading key stores.
MessageProviderA singleton wrapper around a Message object. + +
MessagesProvides access to the system messages resource used for exception handling + and logging messages. + +
MOADefaultHandlerA DefaultHandler that uses a MOAEntityResolver and + a MOAErrorHandler.
MOAEntityResolverAn EntityResolver that looks up entities stored as + local resources. + +
MOAErrorHandlerAn ErrorHandler that logs a message and throws a + SAXException upon error and fatal + parsing errors.
MOATimerA timer utility for named timers.
NodeIteratorAdapterA NodeIterator implementation based on a + ListIterator.
NodeListAdapterA NodeList implementation based on a List.
ResourceBundleChainA class to chain ResourceBundles.
SSLUtilsUtility for connecting to server applications via SSL.
StreamEntityResolverAn EntityResolver that maps system IDs to + InputStreams.
StreamUtilsUtility methods for streams.
URLDecoderDecodes an URL encoded String using a specified character encoding. +
URLEncoderTranslates a string into mime format "x-www-form-urlencoded". +
XPathUtilsUtility methods to evaluate XPath expressions on DOM nodes.
+  + +

+ + + + + + + + + +
+Exception Summary
XPathExceptionAn exception occurred evaluating an XPath.
+  + +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-tree.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-tree.html new file mode 100644 index 000000000..5e3cc9e4a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-tree.html @@ -0,0 +1,127 @@ + + + + + + +MOA SP/SS Server Internal API: at.gv.egovernment.moa.util Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For Package at.gv.egovernment.moa.util +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+
    +
  • interface at.gv.egovernment.moa.util.Constants
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-use.html b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-use.html new file mode 100644 index 000000000..43658268a --- /dev/null +++ b/spss.server/doc/api-doc-internal/at/gv/egovernment/moa/util/package-use.html @@ -0,0 +1,135 @@ + + + + + + +MOA SP/SS Server Internal API: Uses of Package at.gv.egovernment.moa.util + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Uses of Package
at.gv.egovernment.moa.util

+
+ + + + + + + + + +
+Packages that use at.gv.egovernment.moa.util
at.gv.egovernment.moa.util  
+  +

+ + + + + + + + + + + + + + +
+Classes in at.gv.egovernment.moa.util used by at.gv.egovernment.moa.util
MessageProvider + +
+          A singleton wrapper around a Message object. + +
MOATimer + +
+          A timer utility for named timers.
XPathException + +
+          An exception occurred evaluating an XPath.
+  +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/deprecated-list.html b/spss.server/doc/api-doc-internal/deprecated-list.html new file mode 100644 index 000000000..ec6333eb6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/deprecated-list.html @@ -0,0 +1,93 @@ + + + + + + +MOA SP/SS Server Internal API: Deprecated List + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Deprecated API

+
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/help-doc.html b/spss.server/doc/api-doc-internal/help-doc.html new file mode 100644 index 000000000..4140ebcb6 --- /dev/null +++ b/spss.server/doc/api-doc-internal/help-doc.html @@ -0,0 +1,152 @@ + + + + + + +MOA SP/SS Server Internal API: API Help + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

+Overview

+
+ +

+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+

+Package

+
+ +

+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    +
  • Interfaces (italic)
  • Classes
  • Exceptions
  • Errors
+
+

+Class/Interface

+
+ +

+Each class, interface, inner class and inner interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Inner Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+

+Use

+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+

+Tree (Class Hierarchy)

+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

+Deprecated API

+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+Serialized Form

+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/index-all.html b/spss.server/doc/api-doc-internal/index-all.html new file mode 100644 index 000000000..9281718d8 --- /dev/null +++ b/spss.server/doc/api-doc-internal/index-all.html @@ -0,0 +1,2380 @@ + + + + + + +MOA SP/SS Server Internal API: Index + + + + + + + + + + + + + + + + + +
+ +
+ + +A B C D E F G H I K L M N O P R S T U V W X
+

+A

+
+
AbstractKeyModuleConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl.
Base implementation class for the KeyModuleConfiguration + interface and the interfaces derived from it.
AbstractKeyModuleConfigurationImpl(String) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl +
Creata new AbstractKeyModuleConfigurationImpl. +
AbstractObservableConfiguration - class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration.
A base class for observable configuration data.
AbstractObservableConfiguration() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration +
  +
addCertToCertStore(String, String) - +Method in class at.gv.egovernment.moa.spss.server.tools.CertTool +
Add a certificate to a directory certificate store. +
addEntityResolver(EntityResolver) - +Method in class at.gv.egovernment.moa.util.EntityResolverChain +
Add an EntityResolver to the chain. +
addError(String, String) - +Method in class at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder +
Add a ErrorResponse element to the response. +
addObserver(Observer) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration +
  +
addObserver(Observer) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
  +
addResourceBundle(ResourceBundle) - +Method in class at.gv.egovernment.moa.util.ResourceBundleChain +
Add a ResourceBundle to the chain. +
addResult(CMSSignatureVerificationResult) - +Method in class at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder +
Add a verification result to the response. +
addSchemaToPool(InputStream, String) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Preparse a schema and add it to the schema pool. +
addSignatureEnvironment(Element) - +Method in class at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder +
Add a SignatureEnvironment element to the response. +
addXPathFilter(XPath2Filter) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl +
Add an XPath-Filter2 expression to the list of filters. +
ALL_NODES_XPATH - +Static variable in class at.gv.egovernment.moa.util.XPathUtils +
The XPath expression selecting all nodes under a given root (including the + root node itself). +
ALL_SCHEMA_LOCATIONS - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Contains all namespaces and local schema locations for XML schema + definitions relevant for MOA. +
ARCHIVE_REVOCATION_INFO_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property determining whether to + archive revocation information. +
ArchiveConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl.
An implementation of the ArchiveConfiguration interface + using configuration data provided by the MOA configuration file.
ArchiveConfigurationImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl +
Create a new ArchiveConfigurationImpl. +
archiveRevocationInfo(String, String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl +
  +
at.gv.egovernment.moa.logging - package at.gv.egovernment.moa.logging
 
at.gv.egovernment.moa.spss - package at.gv.egovernment.moa.spss
 
at.gv.egovernment.moa.spss.server.config - package at.gv.egovernment.moa.spss.server.config
 
at.gv.egovernment.moa.spss.server.iaik.cmsverify - package at.gv.egovernment.moa.spss.server.iaik.cmsverify
 
at.gv.egovernment.moa.spss.server.iaik.config - package at.gv.egovernment.moa.spss.server.iaik.config
 
at.gv.egovernment.moa.spss.server.iaik.pki - package at.gv.egovernment.moa.spss.server.iaik.pki
 
at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation - package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation
 
at.gv.egovernment.moa.spss.server.iaik.pki.revocation - package at.gv.egovernment.moa.spss.server.iaik.pki.revocation
 
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore - package at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore
 
at.gv.egovernment.moa.spss.server.iaik.xml - package at.gv.egovernment.moa.spss.server.iaik.xml
 
at.gv.egovernment.moa.spss.server.iaik.xmlsign - package at.gv.egovernment.moa.spss.server.iaik.xmlsign
 
at.gv.egovernment.moa.spss.server.iaik.xmlverify - package at.gv.egovernment.moa.spss.server.iaik.xmlverify
 
at.gv.egovernment.moa.spss.server.init - package at.gv.egovernment.moa.spss.server.init
 
at.gv.egovernment.moa.spss.server.invoke - package at.gv.egovernment.moa.spss.server.invoke
 
at.gv.egovernment.moa.spss.server.logging - package at.gv.egovernment.moa.spss.server.logging
 
at.gv.egovernment.moa.spss.server.service - package at.gv.egovernment.moa.spss.server.service
 
at.gv.egovernment.moa.spss.server.tools - package at.gv.egovernment.moa.spss.server.tools
 
at.gv.egovernment.moa.spss.server.transaction - package at.gv.egovernment.moa.spss.server.transaction
 
at.gv.egovernment.moa.spss.server.util - package at.gv.egovernment.moa.spss.server.util
 
at.gv.egovernment.moa.spss.util - package at.gv.egovernment.moa.spss.util
 
at.gv.egovernment.moa.util - package at.gv.egovernment.moa.util
 
AUTO_ADD_CERTIFICATES_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property which determines if + certificates should be added to the cert store automatically. +
autoAddCertificates() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
  +
AxisHandler - class at.gv.egovernment.moa.spss.server.service.AxisHandler.
An handler that is invoked on each web service request and performs some + central message handling. + +
AxisHandler() - +Constructor for class at.gv.egovernment.moa.spss.server.service.AxisHandler +
  +
+
+

+B

+
+
Base64TransformationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl.
An implementation of the Base64Transformation + Transformation type.
Base64TransformationImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl +
Create a new Base64TransformationImpl. +
Base64Utils - class at.gv.egovernment.moa.util.Base64Utils.
Utitility functions for encoding/decoding Base64 strings.
Base64Utils() - +Constructor for class at.gv.egovernment.moa.util.Base64Utils +
  +
BoolUtils - class at.gv.egovernment.moa.util.BoolUtils.
Utility class for parsing XML schema boolean values.
BoolUtils() - +Constructor for class at.gv.egovernment.moa.util.BoolUtils +
  +
buildChainingModes() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the chaining modes for all configured trust anchors. +
buildCreateSignatureEnvironmentProfiles(File) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the CreateSignatureEnvironmentProfiles. +
buildCreateTransformsInfoProfiles(File) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the CreateTransformsInfoProfiles. +
buildCRLDistributionPoints() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the CRL distribution points mapping. +
buildDateTime(Calendar) - +Static method in class at.gv.egovernment.moa.util.DateTimeUtils +
Builds a dateTime value from a Calendar value. +
buildGenericConfiguration() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the mapping of generic configuration properties. +
buildHardwareCryptoModules() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the configured hardware crypto modules. +
buildHardwareKeyModules(List) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the configured hardware keys. +
buildKeyGroupMappings(Map, IssuerAndSerial) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the key group mapping. +
buildKeyGroups(List) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the key group configuration. +
buildSoftwareKeyModules(List, File) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the configured software keys. +
buildSupplementProfiles(File) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the SupplementProfiles. +
buildTransformationSupplements() - +Method in class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory +
Build supplemental data objects used in the transformations. +
buildTrustProfiles(File) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Bulid the trust profile mapping. +
buildVerifyTransformsInfoProfiles(File) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Build the VerifyTransformsInfoProfiles. +
ByteArrayDataObjectImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl.
A BinaryDataObject encapsulating Base64 data.
ByteArrayDataObjectImpl(byte[]) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl +
Create a new ByteArrayDataObjectImpl. +
ByteStreamDataObjectImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl.
A BinaryDataObject encapsulating binary data from a stream.
ByteStreamDataObjectImpl(InputStream) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl +
Create a new ByteStreamDataObjectImpl. +
+
+

+C

+
+
C14N_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the Canonical XML algorithm +
C14N_WITH_COMMENTS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the Canoncial XML with comments algorithm +
CanonicalizationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl.
An implementation of the CanonicalizationTransform + Transformation type.
CanonicalizationImpl(String) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl +
Create a new CanonicalizationTransformImpl object. +
CertStoreConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl.
An implementation of the CertStoreConfiguration interface based + on MOA configuration data.
CertStoreConfigurationImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl +
Create a new CertStoreConfigurationImpl. +
CertTool - class at.gv.egovernment.moa.spss.server.tools.CertTool.
A tool to support X509 certificate handling for configuring the MOA SP/SS + service. + +
CertTool() - +Constructor for class at.gv.egovernment.moa.spss.server.tools.CertTool +
  +
checkAttributeParentsInNodeList(NodeList) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Check, that each attribute node in the given NodeList has its + parent in the NodeList as well. +
checkSecurityLayerManifest() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
  +
checkXMLDsigManifests() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
  +
clearTiming(String) - +Method in class at.gv.egovernment.moa.util.MOATimer +
Remove a timing. +
CMSSignatureVerificationInvoker - class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker.
A class providing an interface to the + CMSSignatureVerificationModule. + +
CMSSignatureVerificationInvoker() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker +
Create a new CMSSignatureVerificationInvoker. + + +
CMSSignatureVerificationProfileFactory - class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationProfileFactory.
A factory to create a CMSSignatureVerificationProfile from a + VerifyCMSSignatureRequest and the current MOA configuration + data.
CMSSignatureVerificationProfileFactory(VerifyCMSSignatureRequest) - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationProfileFactory +
Create a new CMSSignatureVerificationProfileFactory. +
CMSSignatureVerificationProfileImpl - class at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl.
An implementation of the CMSSignatureVerificationProfile + interface.
CMSSignatureVerificationProfileImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl +
  +
CollectionUtils - class at.gv.egovernment.moa.util.CollectionUtils.
Various utility methods for dealing with java.util.Collection + classes.
CollectionUtils() - +Constructor for class at.gv.egovernment.moa.util.CollectionUtils +
  +
collectNamespaceURIs(Element) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Collect all the namespace URIs used in the subtree of a given element. +
compareStreams(InputStream, InputStream) - +Static method in class at.gv.egovernment.moa.util.StreamUtils +
Compare the contents of two InputStreams. +
CONFIG_PROPERTY_NAME - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the system property which contains the file name of the + configuration file. +
ConfigurationDataImpl - class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl.
An implementation of the ConfigurationData interface using + MOA configuration data.
ConfigurationDataImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl +
Create a new ConfigurationDataImpl. +
ConfigurationException - exception at.gv.egovernment.moa.spss.server.config.ConfigurationException.
Exception signalling an error in the configuration.
ConfigurationException(String, Object[]) - +Constructor for class at.gv.egovernment.moa.spss.server.config.ConfigurationException +
Create a ConfigurationException. +
ConfigurationException(String, Object[], Throwable) - +Constructor for class at.gv.egovernment.moa.spss.server.config.ConfigurationException +
Create a ConfigurationException. +
ConfigurationPartsBuilder - class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder.
A class that builds configuration data from a DOM based representation.
ConfigurationPartsBuilder(Element) - +Constructor for class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Create a new ConfigurationPartsBuilder. +
ConfigurationProvider - class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.
A class providing access to the MOA configuration data. + +
ConfigurationProvider(String) - +Constructor for class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Constructor for ConfigurationProvider. +
ConfigurationServlet - class at.gv.egovernment.moa.spss.server.service.ConfigurationServlet.
A servlet to initialize and update the MOA configuration.
ConfigurationServlet() - +Constructor for class at.gv.egovernment.moa.spss.server.service.ConfigurationServlet +
  +
ConfiguratorImpl - class at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl.
Default implementation of Configurator.
ConfiguratorImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl +
  +
configure(ConfigurationProvider) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator +
Configure the IAIK MOA subsystem. +
Constants - interface at.gv.egovernment.moa.util.Constants.
Contains various constants used throughout the system.
createFromContentOptionalRefType(Content, String, boolean, boolean, boolean, boolean) - +Method in class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory +
Create a DataObject from a Content object. +
createFromSignatureEnvironment(Element, String, String) - +Method in class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory +
Create an XMLDataObject from the given signature environment. +
createFromTransformParameter(TransformParameter) - +Method in class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory +
Create a DataObject from a TransformParameter + object. +
createFromURI(String, boolean) - +Method in class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory +
Create a DataObject from data located at the given URI. +
createFromXmlDataObjectAssociation(XMLDataObjectAssociation, boolean, boolean) - +Method in class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory +
Create a DataObject from a + XMLDataObjectAssociation object. +
createKeyStore(String, String[]) - +Static method in class at.gv.egovernment.moa.util.KeyStoreUtils +
Creates a key store from X509 certificate files, aliasing them with + the index in the String[], starting with "0". +
createKeyStoreFromCertificateDirectory(String, String) - +Static method in class at.gv.egovernment.moa.util.KeyStoreUtils +
Creates a key store from a directory containg X509 certificate files, + aliasing them with the index in the String[], starting with "0". + +
createMoaException(Exception) - +Method in class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Create a MOAException from a given IAIKException + by looking it up in the mapping. +
createNew() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl +
  +
createProfile() - +Method in class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationProfileFactory +
Create a CMSSignatureVerificationProfile from the given + request and the current MOA configuration. +
createProfile() - +Method in class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory +
Create a XMLSignatureCreationProfile from the + VerifyXMLSignaturesRequest and the current MOA configuration. +
createProfile(SingleSignatureInfo) - +Method in class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationProfileFactory +
Create a XMLSignatureCreationProfile for the given + SingleSignatureInfo object.. +
createSignatureEnvironment(Content, List) - +Method in class at.gv.egovernment.moa.spss.server.invoke.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). +
createTransformation(Transform) - +Method in class at.gv.egovernment.moa.spss.server.invoke.TransformationFactory +
Create a Transformation based on a + Transform object. +
createTransformationList(List) - +Method in class at.gv.egovernment.moa.spss.server.invoke.TransformationFactory +
Create a List of Transformations from a + List of Transforms. +
createXMLSignature(CreateXMLSignatureRequest) - +Method in class at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl +
Create an XML signature. +
createXMLSignature(CreateXMLSignatureRequest, Set) - +Method in class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker +
Process the CreateXMLSignatureRequest message and invoke the + XMLSignatureCreationModule for every + SingleSignatureInfo contained in the request. +
CreateXMLSignatureRequest(Element[]) - +Method in class at.gv.egovernment.moa.spss.server.service.SignatureCreationService +
Handle a CreateXMLSignatureRequest. +
CreateXMLSignatureResponseBuilder - class at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder.
A class to build a CreateXMLSignatureResponse. + +
CreateXMLSignatureResponseBuilder() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder +
  +
CRLDistributionPointAdapter - class at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter.
A class that wraps an + at.gv.egovernment.moa.spss.server.config.DistributionPoint as a + iaik.pki.revocation.CRLDistributionPoint.
CRLDistributionPointAdapter(DistributionPoint) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter +
Create a new CRLDistributionPointAdapter. +
+
+

+D

+
+
DATABASE_ARCHIVE_PARAMETER_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property giving the database URL of + the CRL archive. +
DataBaseArchiveParameterImpl - class at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl.
An implementation of the DataBaseArchiveParameter interface.
DataBaseArchiveParameterImpl(String) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl +
Create a new DataBaseArchiveParameterImpl. +
DataObjectFactory - class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory.
A class to create DataObjects contained in different + locations of the MOA XML request format.
DataObjectFactory() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory +
Create a new DataObjectFactory. + + +
DataObjectImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl.
Abstract base implementation for the classes derived from + DataObject.
DataObjectImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
  +
DataObjectTreatmentImpl - class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl.
An object encapsulating how to treat an associated DataObject + when creating a signature.
DataObjectTreatmentImpl(IdGenerator) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
Create a new DataObjectTreatmentImpl. +
DateTimeUtils - class at.gv.egovernment.moa.util.DateTimeUtils.
Utility for parsing and building XML type dateTime, + according to ISO 8601.
DateTimeUtils() - +Constructor for class at.gv.egovernment.moa.util.DateTimeUtils +
  +
debug(Object) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log a debug message. +
debug(TransactionId, Object, Throwable) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
decode(String, boolean) - +Static method in class at.gv.egovernment.moa.util.Base64Utils +
Read the bytes encoded in a Base64 encoded String. +
decode(String, String) - +Static method in class at.gv.egovernment.moa.util.URLDecoder +
Decodes an application/x-www-form-urlencoded string using a specific encoding scheme. +
decodeToStream(String, boolean) - +Static method in class at.gv.egovernment.moa.util.Base64Utils +
Read the bytes encoded in a Base64 encoded String and provide + them via an InputStream. +
detach() - +Method in class at.gv.egovernment.moa.util.NodeIteratorAdapter +
  +
DIRECTORY_CERTSTORE_PARAMETER_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property giving the root directory of + a directory based cert store. +
DirectoryCertStoreParametersImpl - class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl.
An implementation of the DirectoryCertStoreParameters interface.
DirectoryCertStoreParametersImpl(String, String, boolean, boolean) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl +
Create a new DirectoryCertStoreParameterImpl. +
DistributionPoint - class at.gv.egovernment.moa.spss.server.config.DistributionPoint.
A class containing information about a CRL distribution point.
DistributionPoint(String, String) - +Constructor for class at.gv.egovernment.moa.spss.server.config.DistributionPoint +
Create a DistributionPoint with a URI and a list of reason + codes. +
doGet(HttpServletRequest, HttpServletResponse) - +Method in class at.gv.egovernment.moa.spss.server.service.ConfigurationServlet +
Handle a HTTP GET request, used to indicated that the MOA + configuration needs to be updated (reloaded). +
DOMUtils - class at.gv.egovernment.moa.util.DOMUtils.
Various utility functions for handling XML DOM trees. + +
DOMUtils() - +Constructor for class at.gv.egovernment.moa.util.DOMUtils +
  +
doPost(HttpServletRequest, HttpServletResponse) - +Method in class at.gv.egovernment.moa.spss.server.service.ConfigurationServlet +
Do the same as doGet. +
DSIG_EC_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the Exclusive Canonicalization XML namespace +
DSIG_EC_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the Exclusive Canonicalization XML namespace +
DSIG_EC_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the Exclusive Canonicalizaion XML schema definition +
DSIG_FILTER2_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the XMLDSig XPath Filter XML namespace. +
DSIG_FILTER2_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the XMLDSig XPath Filter XML namespace +
DSIG_FILTER2_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the XMLDSig XPath Filter XML schema definition. +
DSIG_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the XMLDSig XML namespace. +
DSIG_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the XMLDSig XML namespace +
DSIG_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the XMLDSig XML schema. +
duration(Object) - +Method in class at.gv.egovernment.moa.util.MOATimer +
Get the duration of an action. +
durationAsString(Object) - +Method in class at.gv.egovernment.moa.util.MOATimer +
Get the duration of an action, as a nicely formatted String. +
+
+

+E

+
+
ECDSA_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the ECDSA XML namespace +
ECDSA_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for ECDSA namespace +
ECDSA_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of ECDSA XML schema definition +
encode(byte[]) - +Static method in class at.gv.egovernment.moa.util.Base64Utils +
Convert a byte array to a Base64 encoded String. +
encode(InputStream) - +Static method in class at.gv.egovernment.moa.util.Base64Utils +
Convert the data contained in the given stream to a Base64 encoded + String. +
encode(String, String) - +Static method in class at.gv.egovernment.moa.util.URLEncoder +
Translates a string into x-www-form-urlencoded format. +
EntityResolverChain - class at.gv.egovernment.moa.util.EntityResolverChain.
Implementation of the org.xml.sax.EntityResolver, + for use by a org.apache.xerces.parsers.DOMParser.
EntityResolverChain() - +Constructor for class at.gv.egovernment.moa.util.EntityResolverChain +
  +
EnvelopedSignatureTransformationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl.
An implementation of the EnvelopedSignatureTransformation + Transformation type.
EnvelopedSignatureTransformationImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl +
Create a new EnvelopedSignatureTransformationImpl. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +
Compare this KeyGroupEntry to another. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial +
Compare this IssuerAndSerial to another object. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl +
Compare this XPath2Transformation to another. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.EnvelopedSignatureTransformationImpl +
Compare this object to another EnvelopedSignatureTransformation. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl +
Compare this object to another CanonicalizationTransform. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
Compare this object to another. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl +
Compare this object to another Canonicalization. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +
Compare this XPathTransformation to another. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl +
Compare this XSLTTransformation to another. +
equals(Object) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.Base64TransformationImpl +
Compare this Base64Transformation to another. +
error(Object) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log an error message. +
error(Object, Throwable) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log an error message. +
error(SAXParseException) - +Method in class at.gv.egovernment.moa.util.MOAErrorHandler +
Logs a warning and rethrows the exception. +
error(SAXParseException) - +Method in class at.gv.egovernment.moa.util.MOADefaultHandler +
  +
error(TransactionId, Object, Throwable) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
evaluateSignatureLocation(Element, ElementSelector) - +Static method in class at.gv.egovernment.moa.spss.server.invoke.InvokerUtils +
Select the signature parent element. +
EXC_C14N_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the Exclusive Canonical XML algorithm +
EXC_C14N_WITH_COMMENTS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the Exclusive Canonical XML with commments algorithm +
ExclusiveCanonicalizationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl.
An implementation of the ExclusiveCanonicalization type + of Transformation.
ExclusiveCanonicalizationImpl(String, List) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl +
Create a new ExclusiveCanonicalizationImpl object. +
ExternalURIResolver - class at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver.
Resolve external URIs and provide them as a stream.
ExternalURIResolver() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver +
  +
+
+

+F

+
+
fatal(Object) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log a fatal error message. +
fatal(Object, Throwable) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log a fatal error message. +
fatal(TransactionId, Object, Throwable) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
fatalError(SAXParseException) - +Method in class at.gv.egovernment.moa.util.MOAErrorHandler +
Logs a warning and rethrows the exception. +
fatalError(SAXParseException) - +Method in class at.gv.egovernment.moa.util.MOADefaultHandler +
  +
FileUtils - class at.gv.egovernment.moa.util.FileUtils.
Utility for accessing files on the file system, and for reading from input streams.
FileUtils() - +Constructor for class at.gv.egovernment.moa.util.FileUtils +
  +
+
+

+G

+
+
generateWSDL(MessageContext) - +Method in class at.gv.egovernment.moa.spss.server.service.AxisHandler +
Generate the WSDL into the msgContext. + + +
getAlgorithmURI() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl +
  +
getAlternativeDistributionPoints(X509Certificate, Date) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl +
  +
getArchiveConfiguration() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl +
  +
getArchiveParameters() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl +
Return the ArchiveParameters describing this + ArchiveConfiguration. +
getAttributeValue(Element, String, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return the value of a DOM attribute whose location is given by an XPath + expression. +
getCanonicalizationAlgorithmName() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Returns the canonicalization algorithm name. +
getCanonicalizationAlgorithmName() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the name of the canonicalization algorithm used during signature + creation. +
getCertificateValidationProfile() - +Method in class at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl +
  +
getCertificateValidationProfile() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
  +
getCertStoreConfiguration() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl +
  +
getChainingMode(X509Certificate) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the chaining mode for a given trust anchor. +
getChainingMode(X509Certificate) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl +
  +
getClientCertificate() - +Method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContext +
Returns the client certificate. +
getConfigElem() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Returns the root element of the MOA configuration. +
getConfiguration() - +Method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContext +
Returns the ConfigurationProvider associated with this + transaction. +
getContentType() - +Method in class at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver +
Return the content type of the data detected at the URI from the previous + call of resolve(). +
getCreateSignatureEnvironmentProfile(String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return a CreateSignatureEnvironmentProfile with the given ID. +
getCreateTransformsInfoProfile(String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return a CreateTransformsInfoProfile with the given ID. +
getCRLArchiveDuration() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Return the CRL archive duration. +
getCRLArchiveDuration() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the CRL archive duration. +
getCRLDP(X509Certificate) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the CRL distribution points for a given CA. +
getCryptoModuleConfigurations() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl +
  +
getDataObjectTreatmentList() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getDefaultChainingMode() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Returns the default chaining mode from the configuration. +
getDigestMethodAlgorithmName() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Returns the digest method algorithm name. +
getDigestMethodAlgorithmName() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the name of the digest algorithm used during signature creation. +
getDsigDataObjectID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
  +
getDsigManifestID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getElement() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl +
  +
getElement() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl +
  +
getElementValue(Element, String, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return the value of a DOM element whose location is given by an XPath + expression. +
getExpandEntityReferences() - +Method in class at.gv.egovernment.moa.util.NodeIteratorAdapter +
  +
getFactory() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl +
  +
getFileName() - +Method in class at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule +
Return the name of the PKCS12 keystore file containing this + SoftwareKey. +
getFilter() - +Method in class at.gv.egovernment.moa.util.NodeIteratorAdapter +
  +
getFilterType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
  +
getFinalContentType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
  +
getGenericConfiguration(String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the value of a generic configuration. +
getGenericConfiguration(String, String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the value of a generic configuration, or a given default value. +
getHardwareCryptoModules() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the configured hardware crypto modules. +
getHardwareKeyModules() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the hardware key modules configuration. +
getHashAlgorithmName() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
  +
getId() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroup +
Return the ID of this KeyGroup. +
getId() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyModule +
Return the key ID. +
getId() - +Method in class at.gv.egovernment.moa.spss.server.config.TrustProfile +
Return the ID of this TrustProfile. +
getId() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl +
  +
getInclusiveNamespacePrefixes() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl +
  +
getInitialAnyPolicyInhibit() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
  +
getInitialExplicitPolicy() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
  +
getInitialPolicyMappingInhibit() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
  +
getInitialPolicySet() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
  +
getInputStream() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl +
Return the binary data encoded in the Base64 String as a + stream. +
getInputStream() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl +
Return the binary data from this object as a stream. +
getInstance() - +Static method in class at.gv.egovernment.moa.logging.LoggingContextManager +
Get the single instance of the LoggingContextManager class. +
getInstance() - +Static method in class at.gv.egovernment.moa.util.MessageProvider +
Return the single instance of the MessageProvider. + + +
getInstance() - +Static method in class at.gv.egovernment.moa.util.MOATimer +
Return the single instance of this class. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the single instance of configuration data. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker +
Get the single instance of this class. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Get the single instance of this class. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory +
Return the only instance of this class. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker +
Return the only instance of this class. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker +
Get the only instance of this class. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.TransformationFactory +
Get the single instance of the factory. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager +
Get the single instance of TransactionContextManager. +
getInstance() - +Static method in class at.gv.egovernment.moa.spss.util.MessageProvider +
Return the single instance of the MessageProvider. + + +
getInstance(Class) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLogFactory +
  +
getInstance(String) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLogFactory +
  +
getIssuerDN() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +
Return the issuer DN of this KeyGroupEntry for identifying the + certificate within the key module. +
getIssuerDN() - +Method in class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial +
Return the issuer DN in RFC2253 format. +
getJDBCUrl() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.DataBaseArchiveParameterImpl +
  +
getKeyGroupEntries() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroup +
Return the KeyEntrys contained in this KeyGroup. +
getKeyGroupEntries(Principal, BigInteger, String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the set of KeyGroupEntrys of a given key group, which a + client (identified by an issuer/serial pair) may access. +
getKeyGroups() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the key group mapping. +
getKeyManagers(KeyStore, String) - +Static method in class at.gv.egovernment.moa.util.SSLUtils +
Gets the KeyManagers from a default KeyManagerFactory, + initialized from the given client key store. +
getKeyManagers(String, String, String) - +Static method in class at.gv.egovernment.moa.util.SSLUtils +
Loads the client key store from file and gets the + KeyManagers from a default KeyManagerFactory, + initialized from the given client key store. +
getKeyModuleConfigurations() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl +
  +
getKeySet() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getKeyStoreAsStream() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl +
  +
getKeyStoreAuthenticationData() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl +
  +
getKeyStoreTypeName() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl +
  +
getLength() - +Method in class at.gv.egovernment.moa.util.NodeListAdapter +
  +
getLoggerConfig() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl +
  +
getLoggingContext() - +Method in class at.gv.egovernment.moa.logging.LoggingContextManager +
Return the LoggingContext for the current thread. +
getLogID() - +Method in class at.gv.egovernment.moa.spss.server.logging.TransactionId +
  +
getMaxRevocationAge(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl +
  +
getMessage(String, Object[]) - +Method in class at.gv.egovernment.moa.util.MessageProvider +
Get the message corresponding to a given message ID. +
getMessage(String, Object[]) - +Method in class at.gv.egovernment.moa.util.Messages +
Get the message corresponding to a given message ID. +
getMessage(String, Object[]) - +Method in class at.gv.egovernment.moa.spss.util.MessageProvider +
Get the message corresponding to a given message ID. +
getMessageId() - +Method in class at.gv.egovernment.moa.spss.MOAException +
Returns the message ID of this exception. +
getMimeType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
  +
getModuleID() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +
Return the key module ID to which this KeyGroupEntry belongs + to. +
getModuleID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.AbstractKeyModuleConfigurationImpl +
  +
getModuleName() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl +
  +
getModuleName() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl +
  +
getName() - +Method in class at.gv.egovernment.moa.spss.server.config.HardwareKeyModule +
Return the name of this HardwareKey. +
getName() - +Method in class at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule +
Returns the name of this HardwareCryptoModule. +
getNameConstraintsProcessing() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
  +
getNamespaceDeclarations() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
  +
getNamespaceDeclarations() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +
  +
getNamespaceDeclarations(Node) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Build the namespace prefix to namespace URL mapping in effect for a given + node. +
getNodeId() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl +
  +
getNodeId() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
getNodeID() - +Method in class at.gv.egovernment.moa.logging.LoggingContext +
Return the node ID. +
getNodeList() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl +
  +
getOCSPRequestHashAlgorithm() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl +
  +
getParameters() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.CertStoreConfigurationImpl +
  +
getPassWord() - +Method in class at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule +
Return the password to access the keystore file. +
getPKIConfiguration() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl +
  +
getPolicyProcessing() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
  +
getPreferredServiceOrder(X509Certificate) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl +
  +
getProperties() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl +
  +
getPublicKeyParamsAsCert(X509Certificate) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl +
  +
getPublicKeyParamsAsSpec(X509Certificate) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl +
  +
getReasonCodes() - +Method in class at.gv.egovernment.moa.spss.server.config.DistributionPoint +
Return a binary representation of the reason codes of this distribution + point. +
getReasonCodes() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter +
  +
getReferenceID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
  +
getRequestName() - +Method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContext +
Returns the name of the request. +
getResponse() - +Method in class at.gv.egovernment.moa.spss.server.invoke.CreateXMLSignatureResponseBuilder +
Get the CreateXMLSignatureResponse built so far. +
getResponse() - +Method in class at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder +
Get the VerifyCMSSignatureResponse built so far. +
getResponse() - +Method in class at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder +
Get the VerifyMLSignatureResponse built so far. +
getRevocationChecking() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
  +
getRevocationConfiguration() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl +
  +
getRevocationProfile() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
  +
getRoot() - +Method in class at.gv.egovernment.moa.util.NodeIteratorAdapter +
  +
getRootDirectory() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl +
  +
getSecurityLayerManifestID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSecurityLayerManifestTypeURI() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSerial() - +Method in class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial +
Return the serial number. +
getSerialNumber() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +
Return the serial number of this KeyGroupEntry for identifying + the certificate within the key module. +
getSignatureAlgorithmName(KeyEntryID) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSignatureChildIndex() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl +
  +
getSignatureID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSignatureInsertionLocation() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSignatureStructureType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSignedInfoCanonicalization() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSignedProperties() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSignedPropertiesID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
getSigningTime() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl +
  +
getSlotID() - +Method in class at.gv.egovernment.moa.spss.server.config.HardwareKeyModule +
Return the slot ID of this HardwareKey. +
getSlotID() - +Method in class at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule +
Returns the slot ID of this HardwareCryptoModule. +
getSlotID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl +
  +
getSlotID() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl +
  +
getSoftwareKeyModules() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return the software key module configuration. +
getSSLContext(KeyStore, String, String, String) - +Static method in class at.gv.egovernment.moa.util.SSLUtils +
Creates an SSLContext initialized for the + given trust store and keystore. +
getSSLSocketFactory(KeyStore, String, String, String) - +Static method in class at.gv.egovernment.moa.util.SSLUtils +
Creates an SSLSocketFactory which utilizes the + given trust store and keystore. +
getSSLSocketFactory(String, InputStream, String) - +Static method in class at.gv.egovernment.moa.util.SSLUtils +
Creates an SSLSocketFactory which utilizes the given trust store. +
getString(String) - +Method in class at.gv.egovernment.moa.util.ResourceBundleChain +
Return the value of the resource. +
getStylesheetElement() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl +
  +
getSupplementProfile(String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return a SupplementProfile with the given ID. +
getText(Node) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Return the text that a node contains. + + +
getTransactionContext() - +Method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager +
Get the TransactionContext for the current thread. +
getTransactionID() - +Method in class at.gv.egovernment.moa.logging.LoggingContext +
Return the transaction ID. +
getTransactionID() - +Method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContext +
Returns the unique transaction ID. +
getTransformationList() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
  +
getTransformationSupplements() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
  +
getTransformationSupplements() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
  +
getTrustManagers(KeyStore) - +Static method in class at.gv.egovernment.moa.util.SSLUtils +
Gets the TrustManagers from a default TrustManagerFactory, + initialized from the given trust store. +
getTrustManagers(String, InputStream, String) - +Static method in class at.gv.egovernment.moa.util.SSLUtils +
Loads the trust store from an input stream and gets the + TrustManagers from a default TrustManagerFactory, + initialized from the given trust store. +
getTrustProfile(String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return a TrustProfile with the given ID. +
getTrustStoreProfile() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
  +
getType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.ArchiveConfigurationImpl +
Return the type of archive. + + +
getType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter +
  +
getType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl +
  +
getType() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
  +
getTypeURI() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
  +
getUri() - +Method in class at.gv.egovernment.moa.spss.server.config.TrustProfile +
Return the URI of this TrustProfile. +
getUri() - +Method in class at.gv.egovernment.moa.spss.server.config.DistributionPoint +
Return the URI of the distribution point. +
getUri() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.CRLDistributionPointAdapter +
  +
getURI() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
  +
getURI() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
  +
getUserPIN() - +Method in class at.gv.egovernment.moa.spss.server.config.HardwareKeyModule +
Return the user PIN to access this HardwareKey. +
getUserPIN() - +Method in class at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule +
Returns the user PIN of this HardwareCryptoModule. +
getUserPIN() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl +
  +
getUserPIN() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl +
  +
getValidationConfiguration() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl +
  +
getValidationProfile() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
  +
getVerifyTransformsInfoProfile(String) - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Return a VerifyTransformsInfoProfile with the given ID. +
getWarnings() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationPartsBuilder +
Returns the warnings encountered during building the configuration. +
getWarnings() - +Method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Returns the warnings encountered during building the configuration. +
getWarnings() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator +
Return the warnings encountered during configuration. +
getWhatToShow() - +Method in class at.gv.egovernment.moa.util.NodeIteratorAdapter +
  +
getWrapped() - +Method in class at.gv.egovernment.moa.util.XPathException +
Return the wrapped exception. +
getWrapped() - +Method in class at.gv.egovernment.moa.spss.MOAException +
Returns the exception wrapped by this MOAException. +
getXPathExpression() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
  +
getXPathExpression() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +
  +
getXPathFilters() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl +
  +
+
+

+H

+
+
HardwareCryptoModule - class at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule.
Contains configuration data for a hardware crypto module.
HardwareCryptoModule(String, String, String) - +Constructor for class at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule +
Create a new HardwareCryptoModule. +
HardwareCryptoModuleConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl.
An implementation of the HardwareCryptoModuleConfiguration + wrapping a HardwareCryptoModule from the MOA configuration.
HardwareCryptoModuleConfigurationImpl(HardwareCryptoModule) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.HardwareCryptoModuleConfigurationImpl +
Create a new HardwareCryptoModuleConfigurationImpl. +
HardwareKeyModule - class at.gv.egovernment.moa.spss.server.config.HardwareKeyModule.
A class that contains information about a hardware key module.
HardwareKeyModule(String, String, String, String) - +Constructor for class at.gv.egovernment.moa.spss.server.config.HardwareKeyModule +
Create a new HardwareKey. +
HardwareKeyModuleConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl.
An implementation of the HardwareKeyModuleConfiguration + interface wrapping a HardwareKeyModule from the MOA + configuration.
HardwareKeyModuleConfigurationImpl(HardwareKeyModule) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.HardwareKeyModuleConfigurationImpl +
Create a new HardwareKeyModuleConfigurationImpl. +
hashCode() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +
  +
hashCode() - +Method in class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial +
Return the hash code of this IssuerAndSerial. +
hashCode() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl +
Returns the hash code of the algorithm URI. +
hashCode() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl +
  +
hashCode() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
  +
hashCode() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +
  +
hashCode() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl +
  +
+
+

+I

+
+
IAIK_LOG_HIERARCHY - +Static variable in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
The hierarchy to log all IAIK output to. +
IaikConfigurator - class at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator.
A class responsible for configuring the IAIK MOA modules.
IaikConfigurator() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator +
  +
IaikExceptionMapper - class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper.
Map an exception from the iaik namespace to a + MOAException.
IaikExceptionMapper() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Create a new IaikExceptionMapper. + + +
IaikLog - class at.gv.egovernment.moa.spss.server.logging.IaikLog.
An implementation of the iaik.logging.Log + interface that is based on Jakarta Commons-Logging.
IaikLog(String) - +Constructor for class at.gv.egovernment.moa.spss.server.logging.IaikLog +
Create a new IaikLog. +
IaikLogFactory - class at.gv.egovernment.moa.spss.server.logging.IaikLogFactory.
An implementation of the iaik.logging.LogFactory abstract + class to log messages to the MOA logging subsystem.
IaikLogFactory() - +Constructor for class at.gv.egovernment.moa.spss.server.logging.IaikLogFactory +
  +
IaikLogMsg - class at.gv.egovernment.moa.spss.server.logging.IaikLogMsg.
A unified message type to log messages from the IAIK subsystem.
IaikLogMsg(TransactionId, String, Object) - +Constructor for class at.gv.egovernment.moa.spss.server.logging.IaikLogMsg +
Create a IaikLogMsg object. +
IdGenerator - class at.gv.egovernment.moa.spss.server.util.IdGenerator.
Generate unique ID values for various objects in the response.
IdGenerator(String, Set) - +Constructor for class at.gv.egovernment.moa.spss.server.util.IdGenerator +
Create a new IdGenerator. +
includeHashInputData() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
  +
includeReferenceInputData() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
  +
info(Object) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log an info message. +
info(TransactionId, Object, Throwable) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
init() - +Static method in class at.gv.egovernment.moa.spss.server.init.SystemInitializer +
Initialize the MOA SP/SS webservice. +
init() - +Method in class at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl +
  +
init() - +Method in class at.gv.egovernment.moa.spss.server.service.ConfigurationServlet +
Perform some initial initialization tasks for the MOA web services + application. + + +
invoke(MessageContext) - +Method in class at.gv.egovernment.moa.spss.server.service.AxisHandler +
Handle an invocation of this handler. +
InvokerUtils - class at.gv.egovernment.moa.spss.server.invoke.InvokerUtils.
Utility methods for invoking the IAIK MOA modules.
InvokerUtils() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.InvokerUtils +
  +
isAncestor(Element, Node) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Check, if a given DOM element is an ancestor of a given node. +
isDebugEnabled() - +Static method in class at.gv.egovernment.moa.logging.Logger +
Test, if the debug log level is enabled. +
isDebugEnabled() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
isDebugEnabled(String) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Test, if the debug log level is enabled for a given hierarchy. +
isErrorEnabled() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
isFatalEnabled() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
isIncludedInSignature() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
  +
isInfoEnabled() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
isReadOnly() - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.DirectoryCertStoreParametersImpl +
  +
isReferenceInManifest() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
  +
isSecurityLayerConform() - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
  +
IssuerAndSerial - class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial.
A class containing the issuer and serial number of a certificate, which can + be used to uniquely identify the certificate. + +
IssuerAndSerial(Principal, BigInteger) - +Constructor for class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial +
Create an IssuerAndSerial object. + + +
IssuerAndSerial(String, BigInteger) - +Constructor for class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial +
Create an IssuerAndSerial object. +
isTraceEnabled() - +Static method in class at.gv.egovernment.moa.logging.Logger +
Test, if the trace log level is enabled. +
isTraceEnabled(String) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Test, if the trace log level is enabled for a given hierarchy. +
isWarnEnabled() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
item(int) - +Method in class at.gv.egovernment.moa.util.NodeListAdapter +
  +
+
+

+K

+
+
KeyGroup - class at.gv.egovernment.moa.spss.server.config.KeyGroup.
A collection of KeyGroupEntrys with its own ID.
KeyGroup(String, Set) - +Constructor for class at.gv.egovernment.moa.spss.server.config.KeyGroup +
Create a KeyGroup. +
KeyGroupEntry - class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry.
A class containing information about an entry in a key group.
KeyGroupEntry(String, IssuerAndSerial) - +Constructor for class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +
Create a new KeyGroupEntry. +
KeyGroupEntry(String, String, BigInteger) - +Constructor for class at.gv.egovernment.moa.spss.server.config.KeyGroupEntry +
Create a new KeyGroupEntry. +
KeyModule - class at.gv.egovernment.moa.spss.server.config.KeyModule.
A class that contains information about a key module.
KeyModule(String) - +Constructor for class at.gv.egovernment.moa.spss.server.config.KeyModule +
Create a Key object. +
KeyStoreUtils - class at.gv.egovernment.moa.util.KeyStoreUtils.
Utility for creating and loading key stores.
KeyStoreUtils() - +Constructor for class at.gv.egovernment.moa.util.KeyStoreUtils +
  +
+
+

+L

+
+
loadKeyStore(String, InputStream, String) - +Static method in class at.gv.egovernment.moa.util.KeyStoreUtils +
Loads a key store from an InputStream, and + closes the InputStream. +
loadKeyStore(String, String, String) - +Static method in class at.gv.egovernment.moa.util.KeyStoreUtils +
Loads a key store from file. +
localizeNamespaceDeclarations(Element) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Add all namespace declarations declared in the parent(s) of a given + element and used in the subtree of the given element to the given element. +
Logger - class at.gv.egovernment.moa.logging.Logger.
A utility class acting as a facade to the logging subsystem. + +
Logger() - +Constructor for class at.gv.egovernment.moa.logging.Logger +
  +
LoggerConfigImpl - class at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl.
Default implementation of the LoggerConfig interface.
LoggerConfigImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.LoggerConfigImpl +
  +
LoggingContext - class at.gv.egovernment.moa.logging.LoggingContext.
Encapsulates contextual information (i.e. per request information) for + logging purposes.
LoggingContext(String) - +Constructor for class at.gv.egovernment.moa.logging.LoggingContext +
Create a new LoggingContext. +
LoggingContextManager - class at.gv.egovernment.moa.logging.LoggingContextManager.
Provides each thread with a single instance of LoggingContext.
LoggingContextManager() - +Constructor for class at.gv.egovernment.moa.logging.LoggingContextManager +
Creates a new LoggingContextManager. + + +
LogMsg - class at.gv.egovernment.moa.logging.LogMsg.
A unified message type to log messages from inside the MOA subsystem.
LogMsg(Object) - +Constructor for class at.gv.egovernment.moa.logging.LogMsg +
Create a LogMsg object. +
lookupMessage(Class) - +Method in class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Recursively look up the message associated with an + IAIKException. + + +
+
+

+M

+
+
main(String[]) - +Static method in class at.gv.egovernment.moa.spss.server.tools.CertTool +
Main entry point of the tool. +
map(IAIKException) - +Method in class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Map an IAIKException to a MOAException. +
map(IAIKRuntimeException) - +Method in class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Map an IAIKRuntimeException to a MOAException. +
mapCreateSignatureEnvironmentProfile(CreateSignatureEnvironmentProfile, ConfigurationProvider) - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +
Map a CreateSignatureEnvironmentProfile to a + CreateSignatureEnvironmentProfileExplicit. +
mapCreateTransformsInfoProfile(CreateTransformsInfoProfile, ConfigurationProvider) - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +
Map a CreateTransformsInfoProfile to a + CreateTransformsInfoProfileExplicit. +
mapSupplementProfile(SupplementProfile, ConfigurationProvider) - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +
Map a SupplementProfile to a + SupplementProfileExplicit. +
mapSupplementProfiles(List, ConfigurationProvider) - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +
Map a List of SupplementProfiles to their + explicit representation. +
mapVerifyTransformsInfoProfile(VerifyTransformsInfoProfile, ConfigurationProvider) - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +
Map a VerifyTransformsInfoProfile to a + VerifyTransformsInfoProfileExplicit. +
mapVerifyTransformsInfoProfiles(List, ConfigurationProvider) - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +
Map a List of VerifyTransformsInfoProfiles to + their explicit representation. +
MAX_REVOCATION_AGE_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property determining the maximum + age of CRL entries. +
MessageProvider - class at.gv.egovernment.moa.util.MessageProvider.
A singleton wrapper around a Message object. + +
MessageProvider - class at.gv.egovernment.moa.spss.util.MessageProvider.
Singleton wrapper around a Messages object.
MessageProvider(String[], Locale[]) - +Constructor for class at.gv.egovernment.moa.util.MessageProvider +
Create a MessageProvider. +
MessageProvider(String[], Locale[]) - +Constructor for class at.gv.egovernment.moa.spss.util.MessageProvider +
Create a MessageProvider. +
Messages - class at.gv.egovernment.moa.util.Messages.
Provides access to the system messages resource used for exception handling + and logging messages. + +
Messages(String[], Locale[]) - +Constructor for class at.gv.egovernment.moa.util.Messages +
Create a new Message object containing the messages + in the given resources. +
MOA_CONFIG_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the MOA configuration XML namespace. +
MOA_CONFIG_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the MOA configuration XML namespace +
MOA_CONFIG_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the MOA configuration XML schema definition. +
MOA_ID_CONFIG_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the MOA ID configuration XML namespace. +
MOA_ID_CONFIG_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the MOA configuration XML namespace +
MOA_ID_CONFIG_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the MOA ID configuration XML schema definition. +
MOA_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the MOA XML namespace. +
MOA_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the MOA XML namespace +
MOA_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the MOA XML schema definition. +
MOAApplicationException - exception at.gv.egovernment.moa.spss.MOAApplicationException.
Base class of application specific MOA exceptions. + +
MOAApplicationException(String, Object[]) - +Constructor for class at.gv.egovernment.moa.spss.MOAApplicationException +
Create a new MOAApplicationException. +
MOAApplicationException(String, Object[], Throwable) - +Constructor for class at.gv.egovernment.moa.spss.MOAApplicationException +
Create a new MOAApplicationException. +
MOADefaultHandler - class at.gv.egovernment.moa.util.MOADefaultHandler.
A DefaultHandler that uses a MOAEntityResolver and + a MOAErrorHandler.
MOADefaultHandler() - +Constructor for class at.gv.egovernment.moa.util.MOADefaultHandler +
Create a new MOADefaultHandler. +
MOADefaultHandler(EntityResolver, ErrorHandler) - +Constructor for class at.gv.egovernment.moa.util.MOADefaultHandler +
Create a new MOADefaultHandler. +
MOAEntityResolver - class at.gv.egovernment.moa.util.MOAEntityResolver.
An EntityResolver that looks up entities stored as + local resources. + +
MOAEntityResolver() - +Constructor for class at.gv.egovernment.moa.util.MOAEntityResolver +
  +
MOAErrorHandler - class at.gv.egovernment.moa.util.MOAErrorHandler.
An ErrorHandler that logs a message and throws a + SAXException upon error and fatal + parsing errors.
MOAErrorHandler() - +Constructor for class at.gv.egovernment.moa.util.MOAErrorHandler +
  +
MOAException - exception at.gv.egovernment.moa.spss.MOAException.
Base class of MOA specific exceptions. + +
MOAException(String, Object[]) - +Constructor for class at.gv.egovernment.moa.spss.MOAException +
Create a MOAException. +
MOAException(String, Object[], Throwable) - +Constructor for class at.gv.egovernment.moa.spss.MOAException +
Create a MOAException. +
MOASystemException - exception at.gv.egovernment.moa.spss.MOASystemException.
Base class of technical MOA exceptions. + +
MOASystemException(String, Object[]) - +Constructor for class at.gv.egovernment.moa.spss.MOASystemException +
Create a new MOASystemException. +
MOASystemException(String, Object[], Throwable) - +Constructor for class at.gv.egovernment.moa.spss.MOASystemException +
Create a new MOASystemException. +
MOATimer - class at.gv.egovernment.moa.util.MOATimer.
A timer utility for named timers.
MOATimer() - +Constructor for class at.gv.egovernment.moa.util.MOATimer +
Create a new MOATimer. + + +
+
+

+N

+
+
nextId() - +Method in class at.gv.egovernment.moa.spss.server.util.IdGenerator +
Create the next ID value in the sequence. +
nextID() - +Static method in class at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator +
Returns the next transaction ID. +
nextNode() - +Method in class at.gv.egovernment.moa.util.NodeIteratorAdapter +
  +
NODE_ID_PROPERTY - +Static variable in class at.gv.egovernment.moa.logging.LoggingContext +
The name of the node ID system property. +
NodeIteratorAdapter - class at.gv.egovernment.moa.util.NodeIteratorAdapter.
A NodeIterator implementation based on a + ListIterator.
NodeIteratorAdapter(ListIterator) - +Constructor for class at.gv.egovernment.moa.util.NodeIteratorAdapter +
Create a new NodeIteratorAdapter. +
nodeList2DocumentFragment(NodeList) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Convert an unstructured NodeList into a + DocumentFragment. +
NodeListAdapter - class at.gv.egovernment.moa.util.NodeListAdapter.
A NodeList implementation based on a List.
NodeListAdapter(List) - +Constructor for class at.gv.egovernment.moa.util.NodeListAdapter +
Create a new NodeListAdapter. +
notify(NotificationData) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration +
  +
notify(NotificationData) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
  +
+
+

+O

+
+
onFault(MessageContext) - +Method in class at.gv.egovernment.moa.spss.server.service.AxisHandler +
Called, when the processing of the web service fails. +
+
+

+P

+
+
parseDateTime(String) - +Static method in class at.gv.egovernment.moa.util.DateTimeUtils +
Parse a String containing a date and time instant, given in + ISO 8601 format. +
parseDocument(InputStream, boolean, String, String) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Parse an XML document from an InputStream. + + +
parseDocument(InputStream, boolean, String, String, EntityResolver, ErrorHandler) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Parse an XML document from an InputStream. +
parseDocument(String, boolean, String, String) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Parse an UTF-8 encoded XML document from a String. +
parseDocument(String, String, boolean, String, String) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Parse an XML document from a String. + + +
parseXmlValidating(InputStream) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
A convenience method to parse an XML document validating. +
PD_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the PersonData XML namespace. +
PD_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the PersonData XML namespace +
PD_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the PersonData XML schema definition +
PKIConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl.
An implementation of the PKIConfiguration interface using data + from the MOA configuration.
PKIConfigurationImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.PKIConfigurationImpl +
Create a new PKIConfigurationImpl. +
PKIProfileImpl - class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl.
Implementation of the PKIProfile interface containing + information needed for certificate path validation.
PKIProfileImpl(ConfigurationProvider, String) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
Create a new PKIProfileImpl. +
previousNode() - +Method in class at.gv.egovernment.moa.util.NodeIteratorAdapter +
  +
printCertInfo(String, PrintStream) - +Method in class at.gv.egovernment.moa.spss.server.tools.CertTool +
Print the information about the certificate. + + +
printStackTrace() - +Method in class at.gv.egovernment.moa.spss.MOAException +
Print a stack trace of this exception to System.err. +
printStackTrace(PrintStream) - +Method in class at.gv.egovernment.moa.util.XPathException +
  +
printStackTrace(PrintStream) - +Method in class at.gv.egovernment.moa.spss.MOAException +
Print a stack trace of this exception, including the wrapped exception. +
printStackTrace(PrintWriter) - +Method in class at.gv.egovernment.moa.util.XPathException +
  +
printStackTrace(PrintWriter) - +Method in class at.gv.egovernment.moa.spss.MOAException +
Print a stack trace of this exception, including the wrapped exception. +
ProfileMapper - class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper.
Map ProfileID objects to their explicit represantation.
ProfileMapper() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.ProfileMapper +
  +
+
+

+R

+
+
readFile(String) - +Static method in class at.gv.egovernment.moa.util.FileUtils +
Reads a file, given by filename, into a byte array. +
readFile(String, String) - +Static method in class at.gv.egovernment.moa.util.FileUtils +
Reads a file, given by filename, into a String. +
readResource(String) - +Static method in class at.gv.egovernment.moa.util.FileUtils +
Reads a file from a resource. +
readResource(String, String) - +Static method in class at.gv.egovernment.moa.util.FileUtils +
Reads a file from a resource. +
readStream(InputStream) - +Static method in class at.gv.egovernment.moa.util.StreamUtils +
Reads a byte array from a stream. +
readStream(InputStream, String) - +Static method in class at.gv.egovernment.moa.util.StreamUtils +
Reads a String from a stream, using given encoding. +
readURL(String) - +Static method in class at.gv.egovernment.moa.util.FileUtils +
Reads a file, given by URL, into a byte array. +
readURL(String, String) - +Static method in class at.gv.egovernment.moa.util.FileUtils +
Reads a file, given by URL, into a String. +
registerMessage(Class, String, Class) - +Method in class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Register a single IAIKException to message mapping. +
registerMessages() - +Method in class at.gv.egovernment.moa.spss.server.invoke.IaikExceptionMapper +
Build the complete IAIKException to message code mapping. +
release() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLogFactory +
  +
reload() - +Static method in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
Reload the configuration data and set it if successful. +
removeObserver(Observer) - +Method in class at.gv.egovernment.moa.spss.server.iaik.config.AbstractObservableConfiguration +
  +
removeObserver(Observer) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
  +
reparseRequest(Element) - +Static method in class at.gv.egovernment.moa.spss.server.service.ServiceUtils +
Reparse the request with schema-validation turned on so that ID references + are resolved. +
resolve(String) - +Method in class at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver +
Return a stream to data at the given URI. + + +
resolveEntity(String, String) - +Method in class at.gv.egovernment.moa.util.MOAEntityResolver +
Resolve an entity. + + +
resolveEntity(String, String) - +Method in class at.gv.egovernment.moa.util.StreamEntityResolver +
Resolve an entity by looking it up in the mapped entities. + + +
resolveEntity(String, String) - +Method in class at.gv.egovernment.moa.util.EntityResolverChain +
  +
resolveEntity(String, String) - +Method in class at.gv.egovernment.moa.util.MOADefaultHandler +
  +
ResourceBundleChain - class at.gv.egovernment.moa.util.ResourceBundleChain.
A class to chain ResourceBundles.
ResourceBundleChain() - +Constructor for class at.gv.egovernment.moa.util.ResourceBundleChain +
  +
REVOCATION_CHECKING_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property determining whether + to check the revocation status of signer certificates. +
RevocationArchiveCleaner - class at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner.
A Runnable for periodically cleaning up the revocation archive.
RevocationArchiveCleaner(long) - +Constructor for class at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner +
Create a new RevocationArchiveCleaner. +
RevocationConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl.
An implementation of the RevocationConfiguration interface using + MOA configuration data.
RevocationConfigurationImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.RevocationConfigurationImpl +
Create a new RevocationConfigurationImpl. +
RevocationProfileImpl - class at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl.
An implementation of the RevocationProfile interface providing + information about revocation status checking, based on MOA configuration + data.
RevocationProfileImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.pki.revocation.RevocationProfileImpl +
Create a new RevocationProfileImpl. +
run() - +Method in class at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner +
Run the RevocationArchiveCleaner in its own + Thread. +
+
+

+S

+
+
SAML_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the SAML namespace. +
SAML_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the SAML XML namespace +
SAML_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the SAML XML schema definition. +
SAMLP_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the SAML request-response protocol namespace. +
SAMLP_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the SAML request-response protocol namespace +
SAMLP_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the SAML request-response protocol schema definition. +
SCHEMA_ROOT - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Root location of the schema files. +
selectNodeIterator(Node, Element, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return a NodeIterator over the nodes matching the XPath + expression. +
selectNodeIterator(Node, Map, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return a NodeIterator over the nodes matching the XPath + expression. +
selectNodeIterator(Node, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return a NodeIterator over the nodes matching the XPath + expression. + + +
selectNodeList(Node, Element, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return a NodeList of all the nodes matching the XPath + expression. +
selectNodeList(Node, Map, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return a NodeList of all the nodes matching the XPath + expression. +
selectNodeList(Node, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Return a NodeList of all the nodes matching the XPath + expression. + + +
selectSingleNode(Node, Element, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Select the first node matching an XPath expression. +
selectSingleNode(Node, Map, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Select the first node matching an XPath expression. +
selectSingleNode(Node, String) - +Static method in class at.gv.egovernment.moa.util.XPathUtils +
Select the first node matching an XPath expression. + + +
serializeNode(Node) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Serialize the given DOM node. + + +
serializeNode(Node, String) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Serialize the given DOM node to a byte array. +
ServiceContextUtils - class at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils.
A utility class for setting up and tearing down thread-local context + information needed for calling the Invoker classes.
ServiceContextUtils() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils +
  +
ServiceUtils - class at.gv.egovernment.moa.spss.server.service.ServiceUtils.
Helper methods for the Service classes.
ServiceUtils() - +Constructor for class at.gv.egovernment.moa.spss.server.service.ServiceUtils +
  +
setAlgorithmURI(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl +
Sets the algorithm URI. +
setBytes(byte[]) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl +
Set the Base64 data. +
setCertificateValidationProfile(PKIProfile) - +Method in class at.gv.egovernment.moa.spss.server.iaik.cmsverify.CMSSignatureVerificationProfileImpl +
Sets the profile for validating the signer certificate. +
setCertificateValidationProfile(PKIProfile) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
Sets the profile for validating the signer certificate. +
setCheckSecurityLayerManifest(boolean) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
Set whether to check the references in the Security Layer manifest. +
setCheckXMLDsigManifests(boolean) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
Sets whether to check the references of all XML Dsig manifests. +
setContentType(String) - +Method in class at.gv.egovernment.moa.spss.server.invoke.ExternalURIResolver +
Set the content type of the data at the URI. +
setDataObjectTreatmentList(List) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Sets the list of DataObjectTreatments. +
setElement(Element) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl +
Set the DOM element contained in this XMLDataObject. +
setElement(Element) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl +
Set the dsig:Signature DOM element. +
setFilterType(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
Set the filter type. +
setFinalContentType(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
Sets the final content type. +
setHashAlgorithmName(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
Sets the hash algorithm name. +
setHierarchy(String) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Set the default hierarchy to which the Logger should send its + logging output. +
setIncludedInSignature(boolean) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
Sets whether the associated DataObject is to be included in + the signature. +
setIncludeHashInputData(boolean) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
Set whether to include the hash input data in the result. +
setIncludeReferenceInputData(boolean) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
Set whether to include the reference input data in the result. +
setInclusiveNamespacePrefixes(List) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl +
Sets the namespace prefixes to be processed according to canonical XML. +
setInputStream(InputStream) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl +
Set the input stream from which to read the binary data. +
setKeySet(Set) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Set the set of KeyEntryIDs which may be used for signature + creation. +
setLoggingContext(LoggingContext) - +Method in class at.gv.egovernment.moa.logging.LoggingContextManager +
Set the LoggingContext context for the current thread. +
setMimeType(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
Set the mime type. +
setNamespaceDeclarations(Map) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
Set the namespace declarations. +
setNamespaceDeclarations(Map) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +
Set the namespace declarations. +
setNodeId(String) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
setNodeList(NodeList) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl +
Set the list of DOM nodes contained in this + XMLNodeListDataObject. +
setReferenceID(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
Set the reference ID. +
setReferenceInManifest(boolean) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
Sets whether the associated DataObject is + to be included in the dsig:Manifest. +
setRequestName(String) - +Method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContext +
Sets the name of the request. +
setResult(XMLSignatureVerificationResult, XMLSignatureVerificationProfile, ReferencesCheckResult) - +Method in class at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder +
Sets the verification result to the response. + + +
setRevocationProfile(RevocationProfile) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
Sets the RevocationProfile. +
setSecurityLayerConform(boolean) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Sets the security layer conformity. +
setSecurityLayerManifestTypeURI(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Set the SecurityLayerManifestTypeURI. +
setSignatureChildIndex(int) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl +
Sets the position index at which to append the signature to the parent + element. +
setSignatureInsertionLocation(XMLSignatureInsertionLocation) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Set the location where the signature is to be inserted into the signature + parent. +
setSignatureStructureType(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Set the signature structure type. +
setSignedInfoCanonicalization(Canonicalization) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Sets the canonicalization method to use for the SignedInfo object. +
setSignedProperties(List) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Set the signed properties. +
setStyleSheetElement(Element) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl +
Set the XSLT stylesheet element. +
setTransactionContext(TransactionContext) - +Method in class at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager +
Set the TransactionContext for the current thread. +
setTransformationList(List) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
Set the list of transformations for the associated DataObject. +
setTransformationSupplements(List) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl +
Sets the transformation supplements for the associated + DataObject. +
setTransformationSupplements(List) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
Sets the transformation supplements. +
setTrustStoreProfile(TrustStoreProfile) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
Sets the TrustStoreProfile. +
setType(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
Sets the the trust store type. +
setTypeURI(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
Set the type URI. +
setUpContexts() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils +
Set up the thread-local context information needed for calling the various + Invoker classes. +
setURI(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
Sets the trust store URI. +
setURI(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl +
Set the URI. +
setValidationProfile(ValidationProfile) - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
Sets the ValidationProfile. +
setXPathExpression(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
Set the XPath expression. +
setXPathExpression(String) - +Method in class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +
Set the XPath expression. +
SHA1_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the SHA1 digest algorithm +
SignatureCreationService - class at.gv.egovernment.moa.spss.server.service.SignatureCreationService.
The service endpoint for the SignatureCreation web service.
SignatureCreationService() - +Constructor for class at.gv.egovernment.moa.spss.server.service.SignatureCreationService +
  +
SignatureCreationServiceImpl - class at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl.
An implementation of the SignatureCreationService, using + the XMLSignatureCreationInvoker.
SignatureCreationServiceImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.SignatureCreationServiceImpl +
  +
SignatureVerificationService - class at.gv.egovernment.moa.spss.server.service.SignatureVerificationService.
The service endpoint for the SignatureVerification web service.
SignatureVerificationService() - +Constructor for class at.gv.egovernment.moa.spss.server.service.SignatureVerificationService +
  +
SignatureVerificationServiceImpl - class at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl.
An implementation of the SignatureVerificationService using + the XMLSignatureVerificationInvoker and the + CMSSignatureVerificationInvoker.
SignatureVerificationServiceImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl +
  +
SigningTimeImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl.
An implementation of the SigningTime Property.
SigningTimeImpl(Date) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.SigningTimeImpl +
Create a new SigningTimeImpl. +
SL_MANIFEST_TYPE_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Security Layer manifest type URI. +
SL10_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the Security Layer 1.0 namespace. +
SL10_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the Security Layer 1.0 XML namespace +
SL10_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the Security Layer 1.0 XML schema definition +
SL11_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the Security Layer 1.1 XML namespace +
SL11_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the Security Layer 1.1 XML namespace +
SL11_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the Security Layer 1.1 XML schema definition +
SoftwareKeyModule - class at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule.
A class containing information about a software key, stored in PKCS12 format.
SoftwareKeyModule(String, String, String) - +Constructor for class at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule +
Create a new SoftwareKey. +
SoftwareKeyModuleConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl.
An implementation of the SoftwareKeyModuleConfiguration wrapping + a SoftwareKeyModule from the MOA configuration.
SoftwareKeyModuleConfigurationImpl(SoftwareKeyModule) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.SoftwareKeyModuleConfigurationImpl +
Create a new SoftwareKeyModuleConfigurationImpl. +
SSLUtils - class at.gv.egovernment.moa.util.SSLUtils.
Utility for connecting to server applications via SSL.
SSLUtils() - +Constructor for class at.gv.egovernment.moa.util.SSLUtils +
  +
startTiming(Object) - +Method in class at.gv.egovernment.moa.util.MOATimer +
Start timing a certain action. + + +
stopTiming(Object) - +Method in class at.gv.egovernment.moa.util.MOATimer +
Stop timing an action. +
StreamEntityResolver - class at.gv.egovernment.moa.util.StreamEntityResolver.
An EntityResolver that maps system IDs to + InputStreams.
StreamEntityResolver(Map) - +Constructor for class at.gv.egovernment.moa.util.StreamEntityResolver +
Create a StreamEntityResolver. +
StreamUtils - class at.gv.egovernment.moa.util.StreamUtils.
Utility methods for streams.
StreamUtils() - +Constructor for class at.gv.egovernment.moa.util.StreamUtils +
  +
SystemInitializer - class at.gv.egovernment.moa.spss.server.init.SystemInitializer.
MOA SP/SS web service initialization.
SystemInitializer() - +Constructor for class at.gv.egovernment.moa.spss.server.init.SystemInitializer +
  +
+
+

+T

+
+
tearDownContexts() - +Static method in class at.gv.egovernment.moa.spss.server.invoke.ServiceContextUtils +
Tear down thread-local context information. +
TEST_SIGNING_TIME_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property used for setting the + signing time to a predefined value. +
toErrorResponse() - +Method in class at.gv.egovernment.moa.spss.MOAException +
Convert this MOAException to an ErrorResponse + element from the MOA namespace. +
toIntArray(List) - +Static method in class at.gv.egovernment.moa.util.CollectionUtils +
Convert a List of Number objects to an + int array. +
toString() - +Method in class at.gv.egovernment.moa.logging.LogMsg +
Convert this log message to a String. +
toString() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyGroup +
Return a String representation of this KeyGroup. +
toString() - +Method in class at.gv.egovernment.moa.spss.server.config.KeyModule +
Return a String representation of this Key. +
toString() - +Method in class at.gv.egovernment.moa.spss.server.config.DistributionPoint +
Return a String representation of this distribution point. +
toString() - +Method in class at.gv.egovernment.moa.spss.server.config.IssuerAndSerial +
Return a String representation of this + IssuerAndSerial object. +
toString() - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLogMsg +
Convert this log message to a String. +
toString() - +Method in class at.gv.egovernment.moa.spss.server.logging.TransactionId +
  +
trace(Object) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Trace a message. +
TransactionContext - class at.gv.egovernment.moa.spss.server.transaction.TransactionContext.
Contains information about the current request.
TransactionContext(String, X509Certificate[], ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.transaction.TransactionContext +
Create a TransactionContext object. +
TransactionContextManager - class at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager.
Provides each thread with an instance of TransactionContext. + +
TransactionContextManager() - +Constructor for class at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager +
Creates a new TransactionContextManager. + + +
TransactionId - class at.gv.egovernment.moa.spss.server.logging.TransactionId.
An implementation of the iaik.logging.TransactionId interface.
TransactionId(String) - +Constructor for class at.gv.egovernment.moa.spss.server.logging.TransactionId +
Create a TransactionId object. +
TransactionIDGenerator - class at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator.
A generator for unique transaction IDs. + +
TransactionIDGenerator() - +Constructor for class at.gv.egovernment.moa.spss.server.transaction.TransactionIDGenerator +
  +
TransformationFactory - class at.gv.egovernment.moa.spss.server.invoke.TransformationFactory.
A factory to create Transformation objects from + Transform objects.
TransformationFactory() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.TransformationFactory +
Create a new TransformationFactory. + + +
TransformationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl.
Base implementation class for Transformation derived classes.
TransformationImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.TransformationImpl +
  +
TrustProfile - class at.gv.egovernment.moa.spss.server.config.TrustProfile.
Information about a trust profile.
TrustProfile(String, String) - +Constructor for class at.gv.egovernment.moa.spss.server.config.TrustProfile +
Create a TrustProfile. +
TrustStoreProfileImpl - class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl.
An implementation of the TrustStoreProfile interface, using data + from the MOA configuration.
TrustStoreProfileImpl(ConfigurationProvider, String) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore.TrustStoreProfileImpl +
Create a new TrustStoreProfileImpl. +
+
+

+U

+
+
uniqueId() - +Method in class at.gv.egovernment.moa.spss.server.util.IdGenerator +
Create the next unique ID value which is unique in the reserved ID set. + + +
update() - +Method in class at.gv.egovernment.moa.spss.server.init.ConfiguratorImpl +
  +
URLDecoder - class at.gv.egovernment.moa.util.URLDecoder.
Decodes an URL encoded String using a specified character encoding. +
URLDecoder() - +Constructor for class at.gv.egovernment.moa.util.URLDecoder +
  +
URLEncoder - class at.gv.egovernment.moa.util.URLEncoder.
Translates a string into mime format "x-www-form-urlencoded". +
URLEncoder() - +Constructor for class at.gv.egovernment.moa.util.URLEncoder +
  +
USE_AUTHORITY_INFO_ACCESS_PROPERTY - +Static variable in class at.gv.egovernment.moa.spss.server.config.ConfigurationProvider +
The name of the generic configuration property whether the authority + info access should be used. +
useAuthorityInfoAccess() - +Method in class at.gv.egovernment.moa.spss.server.iaik.pki.PKIProfileImpl +
  +
+
+

+V

+
+
validateElement(Element, String, String) - +Static method in class at.gv.egovernment.moa.util.DOMUtils +
Schema validate a given DOM element. +
validateRequest(Element[]) - +Static method in class at.gv.egovernment.moa.spss.server.service.ServiceUtils +
Schema-validate a request. +
ValidationConfigurationImpl - class at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl.
An implementation of the ValidationConfiguration interface using + MOA configuration data.
ValidationConfigurationImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.config.ValidationConfigurationImpl +
Create a new ValidationConfigurationImpl. +
ValidationProfileImpl - class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl.
An implementation of the ValidationProfile interface providing + information about certificat path validation.
ValidationProfileImpl(ConfigurationProvider) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation.ValidationProfileImpl +
Create a new ValidationProfileImpl object. + + +
valueOf(String) - +Static method in class at.gv.egovernment.moa.util.BoolUtils +
Return the boolean value of an xsd:boolean type of DOM + element/attribute. +
verifyCMSSignature(VerifyCMSSignatureRequest) - +Method in class at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl +
Verify a CMS signature. +
verifyCMSSignature(VerifyCMSSignatureRequest) - +Method in class at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker +
Verify a CMS signature. +
VerifyCMSSignatureRequest(Element[]) - +Method in class at.gv.egovernment.moa.spss.server.service.SignatureVerificationService +
Handle a VerifyCMSSignatureRequest. +
VerifyCMSSignatureResponseBuilder - class at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder.
A class to build a VerifyCMSSignatureResponse object. + +
VerifyCMSSignatureResponseBuilder() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.VerifyCMSSignatureResponseBuilder +
  +
verifyXMLSignature(VerifyXMLSignatureRequest) - +Method in class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker +
Process the VerifyXMLSignatureRequest message and invoke the + XMLSignatureVerificationModule. +
verifyXMLSignature(VerifyXMLSignatureRequest) - +Method in class at.gv.egovernment.moa.spss.server.invoke.SignatureVerificationServiceImpl +
Verify an XML signature. +
VerifyXMLSignatureRequest(Element[]) - +Method in class at.gv.egovernment.moa.spss.server.service.SignatureVerificationService +
Handle a VerifyXMLSignatureRequest. +
VerifyXMLSignatureResponseBuilder - class at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder.
A class to build a VerifyXMLSignatureResponse object. + +
VerifyXMLSignatureResponseBuilder() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.VerifyXMLSignatureResponseBuilder +
  +
+
+

+W

+
+
warn(Object) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log a warning message. +
warn(Object, Throwable) - +Static method in class at.gv.egovernment.moa.logging.Logger +
Log a warning message. +
warn(TransactionId, Object, Throwable) - +Method in class at.gv.egovernment.moa.spss.server.logging.IaikLog +
  +
warning(SAXParseException) - +Method in class at.gv.egovernment.moa.util.MOAErrorHandler +
Logs a warning message. +
warning(SAXParseException) - +Method in class at.gv.egovernment.moa.util.MOADefaultHandler +
  +
+
+

+X

+
+
XML_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the XML namespace. +
XML_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the XML namespace +
XML_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the XML schema definition. +
XMLDataObjectImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl.
A DataObject containing a single DOM element.
XMLDataObjectImpl(Element) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl +
Create a new XMLDataObjectImpl. +
XMLNodeListDataObjectImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl.
A DataObject containing a list of DOM nodes.
XMLNodeListDataObjectImpl(NodeList) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl +
Create a new XMLNodeListDataObjectImpl. +
XMLNS_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the XMLNS namespace +
XMLSignatureCreationInvoker - class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker.
A class providing an API based interface to the + XMLSignatureCreationModule. + +
XMLSignatureCreationInvoker() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker +
Create a new XMLSignatureCreationInvoker. + + +
XMLSignatureCreationProfileFactory - class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationProfileFactory.
A factory to create XMLSignatureCreationProfiles from a + CreateXMLSignatureRequest, based on the current MOA + configuration.
XMLSignatureCreationProfileFactory(CreateXMLSignatureRequest, Set) - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationProfileFactory +
Create a new XMLSignatureCreationProfileFactory. +
XMLSignatureCreationProfileImpl - class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl.
An object providing auxiliary information for creating an XML signature.
XMLSignatureCreationProfileImpl(int, Set) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl +
Create a new XMLSignatureCreationProfileImpl. +
XMLSignatureImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl.
An object containing an XMLDsig signature in the form of a + dsig:Signature DOM element.
XMLSignatureImpl(Element) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.XMLSignatureImpl +
Create a new XMLSignatureImpl. +
XMLSignatureInsertionLocationImpl - class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl.
An object giving the location of where the signature will be + inserted into the parent element.
XMLSignatureInsertionLocationImpl(int) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl +
Create a new XMLSignatureInsertLocationImpl. +
XMLSignatureVerificationInvoker - class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker.
A class providing a DOM based interface to the + XMLSignatureVerificationModule. + +
XMLSignatureVerificationInvoker() - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker +
Create a new XMLSignatureCreationInvoker. + + +
XMLSignatureVerificationProfileFactory - class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory.
A factory to create a XMLSignatureVerificationProfile from a + VerifyXMLSignatureRequest, based on the current MOA + configuration.
XMLSignatureVerificationProfileFactory(VerifyXMLSignatureRequest) - +Constructor for class at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationProfileFactory +
Create a new XMLSignatureVerificationProfileFactory. +
XMLSignatureVerificationProfileImpl - class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl.
An object providing auxiliary information for verifying an XML signature.
XMLSignatureVerificationProfileImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xmlverify.XMLSignatureVerificationProfileImpl +
  +
XPath2FilterImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl.
An object encapsulating an XPath-Filter2 expression.
XPath2FilterImpl(String, String, Map) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2FilterImpl +
Create a new XPath2FilterImpl object. +
XPath2TransformationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl.
An object encapsulating a Transformation containing several + XPath-Filter2 expressions.
XPath2TransformationImpl() - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.XPath2TransformationImpl +
Create a new XPath2TransformationImpl. + + +
XPathException - exception at.gv.egovernment.moa.util.XPathException.
An exception occurred evaluating an XPath.
XPathException(String, Throwable) - +Constructor for class at.gv.egovernment.moa.util.XPathException +
Create a XPathException. +
XPathTransformationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl.
A Transformation containing an XPath expression.
XPathTransformationImpl(String, Map) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.XPathTransformationImpl +
Create a new XPathTransformationImpl. + + +
XPathUtils - class at.gv.egovernment.moa.util.XPathUtils.
Utility methods to evaluate XPath expressions on DOM nodes.
XPathUtils() - +Constructor for class at.gv.egovernment.moa.util.XPathUtils +
  +
XSI_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the XSI XMLNS namespace +
XSI_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the XSI namespace +
XSI_SCHEMA_LOCATION - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Local location of the XSI schema definition. +
XSLT_NS_URI - +Static variable in interface at.gv.egovernment.moa.util.Constants +
URI of the XSLT XML namespace +
XSLT_PREFIX - +Static variable in interface at.gv.egovernment.moa.util.Constants +
Prefix used for the XSLT XML namespace +
XSLTTransformationImpl - class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl.
A Transformation containing an XSLT transformation.
XSLTTransformationImpl(Element) - +Constructor for class at.gv.egovernment.moa.spss.server.iaik.xml.XSLTTransformationImpl +
Create a new XSLTTransformationImpl object. +
+
+A B C D E F G H I K L M N O P R S T U V W X + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/index.html b/spss.server/doc/api-doc-internal/index.html new file mode 100644 index 000000000..3e76b5068 --- /dev/null +++ b/spss.server/doc/api-doc-internal/index.html @@ -0,0 +1,25 @@ + + + + + + +MOA SP/SS Server Internal API + + + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to <A HREF="overview-summary.html">Non-frame version.</A> + diff --git a/spss.server/doc/api-doc-internal/overview-frame.html b/spss.server/doc/api-doc-internal/overview-frame.html new file mode 100644 index 000000000..43c7e3155 --- /dev/null +++ b/spss.server/doc/api-doc-internal/overview-frame.html @@ -0,0 +1,76 @@ + + + + + + +MOA SP/SS Server Internal API: Overview + + + + + + + + + +
+
+ + + + + +
All Classes +

+ +Packages +
+at.gv.egovernment.moa.logging +
+at.gv.egovernment.moa.spss +
+at.gv.egovernment.moa.spss.server.config +
+at.gv.egovernment.moa.spss.server.iaik.cmsverify +
+at.gv.egovernment.moa.spss.server.iaik.config +
+at.gv.egovernment.moa.spss.server.iaik.pki +
+at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation +
+at.gv.egovernment.moa.spss.server.iaik.pki.revocation +
+at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore +
+at.gv.egovernment.moa.spss.server.iaik.xml +
+at.gv.egovernment.moa.spss.server.iaik.xmlsign +
+at.gv.egovernment.moa.spss.server.iaik.xmlverify +
+at.gv.egovernment.moa.spss.server.init +
+at.gv.egovernment.moa.spss.server.invoke +
+at.gv.egovernment.moa.spss.server.logging +
+at.gv.egovernment.moa.spss.server.service +
+at.gv.egovernment.moa.spss.server.tools +
+at.gv.egovernment.moa.spss.server.transaction +
+at.gv.egovernment.moa.spss.server.util +
+at.gv.egovernment.moa.spss.util +
+at.gv.egovernment.moa.util +
+

+ +

+  + + diff --git a/spss.server/doc/api-doc-internal/overview-summary.html b/spss.server/doc/api-doc-internal/overview-summary.html new file mode 100644 index 000000000..4f4a65bbb --- /dev/null +++ b/spss.server/doc/api-doc-internal/overview-summary.html @@ -0,0 +1,249 @@ + + + + + + +MOA SP/SS Server Internal API: Overview + + + + + + + + + + + + + + + + + +
+ +
+ + +


+
+

+

MOA SP/SS Server Internal API

+
+ + + + + + + + + + + + + +
+MOA Configuration
at.gv.egovernment.moa.spss.server.config 
at.gv.egovernment.moa.spss.server.iaik.config 
+ +

+  + + + + + + + + + + + + +
+Web Service Handling
at.gv.egovernment.moa.spss.server.service 
at.gv.egovernment.moa.spss.server.transaction 
+ +

+  + + + + + + + + +
+Mapping MOA API calls to the IAIK API
at.gv.egovernment.moa.spss.server.invoke 
+ +

+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Implementations of IAIK interfaces
at.gv.egovernment.moa.spss.server.iaik.cmsverify 
at.gv.egovernment.moa.spss.server.iaik.pki 
at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation 
at.gv.egovernment.moa.spss.server.iaik.pki.revocation 
at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore 
at.gv.egovernment.moa.spss.server.iaik.xml 
at.gv.egovernment.moa.spss.server.iaik.xmlsign 
at.gv.egovernment.moa.spss.server.iaik.xmlverify 
+ +

+  + + + + + + + + + + + + +
+Utilities
at.gv.egovernment.moa.spss.server.util 
at.gv.egovernment.moa.util 
+ +

+  + + + + + + + + + + + + +
+Logging
at.gv.egovernment.moa.logging 
at.gv.egovernment.moa.spss.server.logging 
+ +

+  + + + + + + + + +
+External Tools
at.gv.egovernment.moa.spss.server.tools 
+ +

+  + + + + + + + + + + + + + + + + +
+Other Packages
at.gv.egovernment.moa.spss 
at.gv.egovernment.moa.spss.server.init 
at.gv.egovernment.moa.spss.util 
+ +


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/overview-tree.html b/spss.server/doc/api-doc-internal/overview-tree.html new file mode 100644 index 000000000..1fa48f2bf --- /dev/null +++ b/spss.server/doc/api-doc-internal/overview-tree.html @@ -0,0 +1,200 @@ + + + + + + +MOA SP/SS Server Internal API: Class Hierarchy + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Hierarchy For All Packages

+
+
+
Package Hierarchies:
at.gv.egovernment.moa.logging, at.gv.egovernment.moa.spss, at.gv.egovernment.moa.spss.server.config, at.gv.egovernment.moa.spss.server.iaik.cmsverify, at.gv.egovernment.moa.spss.server.iaik.config, at.gv.egovernment.moa.spss.server.iaik.pki, at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation, at.gv.egovernment.moa.spss.server.iaik.pki.revocation, at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore, at.gv.egovernment.moa.spss.server.iaik.xml, at.gv.egovernment.moa.spss.server.iaik.xmlsign, at.gv.egovernment.moa.spss.server.iaik.xmlverify, at.gv.egovernment.moa.spss.server.init, at.gv.egovernment.moa.spss.server.invoke, at.gv.egovernment.moa.spss.server.logging, at.gv.egovernment.moa.spss.server.service, at.gv.egovernment.moa.spss.server.tools, at.gv.egovernment.moa.spss.server.transaction, at.gv.egovernment.moa.spss.server.util, at.gv.egovernment.moa.spss.util, at.gv.egovernment.moa.util
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+
    +
  • interface at.gv.egovernment.moa.util.Constants
+
+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/package-list b/spss.server/doc/api-doc-internal/package-list new file mode 100644 index 000000000..4cc05ae78 --- /dev/null +++ b/spss.server/doc/api-doc-internal/package-list @@ -0,0 +1,21 @@ +at.gv.egovernment.moa.logging +at.gv.egovernment.moa.spss +at.gv.egovernment.moa.spss.server.config +at.gv.egovernment.moa.spss.server.iaik.cmsverify +at.gv.egovernment.moa.spss.server.iaik.config +at.gv.egovernment.moa.spss.server.iaik.pki +at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation +at.gv.egovernment.moa.spss.server.iaik.pki.revocation +at.gv.egovernment.moa.spss.server.iaik.pki.store.truststore +at.gv.egovernment.moa.spss.server.iaik.xml +at.gv.egovernment.moa.spss.server.iaik.xmlsign +at.gv.egovernment.moa.spss.server.iaik.xmlverify +at.gv.egovernment.moa.spss.server.init +at.gv.egovernment.moa.spss.server.invoke +at.gv.egovernment.moa.spss.server.logging +at.gv.egovernment.moa.spss.server.service +at.gv.egovernment.moa.spss.server.tools +at.gv.egovernment.moa.spss.server.transaction +at.gv.egovernment.moa.spss.server.util +at.gv.egovernment.moa.spss.util +at.gv.egovernment.moa.util diff --git a/spss.server/doc/api-doc-internal/packages.html b/spss.server/doc/api-doc-internal/packages.html new file mode 100644 index 000000000..f1d9430a1 --- /dev/null +++ b/spss.server/doc/api-doc-internal/packages.html @@ -0,0 +1,26 @@ + + + + + + +MOA SP/SS Server Internal API + + + + + +
+ +
+ +
+
+The front page has been relocated.Please see: +
+          Frame version +
+          Non-frame version.
+ + + diff --git a/spss.server/doc/api-doc-internal/serialized-form.html b/spss.server/doc/api-doc-internal/serialized-form.html new file mode 100644 index 000000000..7a59bdfa0 --- /dev/null +++ b/spss.server/doc/api-doc-internal/serialized-form.html @@ -0,0 +1,246 @@ + + + + + + +Serialized Form + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+

+Serialized Form

+
+
+ + + + + +
+Package at.gv.egovernment.moa.spss
+ +

+ + + + + +
+Class at.gv.egovernment.moa.spss.MOAApplicationException implements Serializable
+ +

+ +

+ + + + + +
+Class at.gv.egovernment.moa.spss.MOAException implements Serializable
+ +

+ + + + + +
+Serialized Fields
+ +

+messageId

+
+String messageId
+
+
The message ID.
+
+ +

+wrapped

+
+Throwable wrapped
+
+
The wrapped Throwable.
+ +

+ + + + + +
+Class at.gv.egovernment.moa.spss.MOASystemException implements Serializable
+ +

+ +

+


+ + + + + +
+Package at.gv.egovernment.moa.spss.server.config
+ +

+ + + + + +
+Class at.gv.egovernment.moa.spss.server.config.ConfigurationException implements Serializable
+ +

+ +

+


+ + + + + +
+Package at.gv.egovernment.moa.spss.server.service
+ +

+ + + + + +
+Class at.gv.egovernment.moa.spss.server.service.AxisHandler implements Serializable
+ +

+ +

+ + + + + +
+Class at.gv.egovernment.moa.spss.server.service.ConfigurationServlet implements Serializable
+ +

+ +

+


+ + + + + +
+Package at.gv.egovernment.moa.util
+ +

+ + + + + +
+Class at.gv.egovernment.moa.util.XPathException implements Serializable
+ +

+ + + + + +
+Serialized Fields
+ +

+wrapped

+
+Throwable wrapped
+
+
The wrapped exception.
+ +

+


+ + + + + + + + + + + + + +
+ +
+ + +
+ + + diff --git a/spss.server/doc/api-doc-internal/stylesheet.css b/spss.server/doc/api-doc-internal/stylesheet.css new file mode 100644 index 000000000..07dc9eaf3 --- /dev/null +++ b/spss.server/doc/api-doc-internal/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ +.TableRowColor { background: #FFFFFF } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: normal; font-family: normal } +.FrameHeadingFont { font-size: normal; font-family: normal } +.FrameItemFont { font-size: normal; font-family: normal } + +/* Example of smaller, sans-serif font in frames */ +/* .FrameItemFont { font-size: 10pt; font-family: Helvetica, Arial, sans-serif } */ + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF;}/* Light mauve */ +.NavBarCell1Rev { background-color:#00008B;}/* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} + diff --git a/spss.server/doc/moa-spss.htm b/spss.server/doc/moa-spss.htm new file mode 100644 index 000000000..6bde0bf20 --- /dev/null +++ b/spss.server/doc/moa-spss.htm @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/spss.server/doc/moa_images/east.gif b/spss.server/doc/moa_images/east.gif new file mode 100644 index 000000000..e76117cb0 Binary files /dev/null and b/spss.server/doc/moa_images/east.gif differ diff --git a/spss.server/doc/moa_images/idle.gif b/spss.server/doc/moa_images/idle.gif new file mode 100644 index 000000000..28b8148e5 Binary files /dev/null and b/spss.server/doc/moa_images/idle.gif differ diff --git a/spss.server/doc/moa_images/moa_diagramm1.jpg b/spss.server/doc/moa_images/moa_diagramm1.jpg new file mode 100644 index 000000000..776331fb8 Binary files /dev/null and b/spss.server/doc/moa_images/moa_diagramm1.jpg differ diff --git a/spss.server/doc/moa_images/moa_thema.gif b/spss.server/doc/moa_images/moa_thema.gif new file mode 100644 index 000000000..f59075528 Binary files /dev/null and b/spss.server/doc/moa_images/moa_thema.gif differ diff --git a/spss.server/doc/moa_images/north.gif b/spss.server/doc/moa_images/north.gif new file mode 100644 index 000000000..b4316b5d7 Binary files /dev/null and b/spss.server/doc/moa_images/north.gif differ diff --git a/spss.server/doc/moa_images/pfeil.gif b/spss.server/doc/moa_images/pfeil.gif new file mode 100644 index 000000000..e4eeb1740 Binary files /dev/null and b/spss.server/doc/moa_images/pfeil.gif differ diff --git a/spss.server/doc/moa_images/print.gif b/spss.server/doc/moa_images/print.gif new file mode 100644 index 000000000..b8e59144e Binary files /dev/null and b/spss.server/doc/moa_images/print.gif differ diff --git a/spss.server/doc/moa_images/select.gif b/spss.server/doc/moa_images/select.gif new file mode 100644 index 000000000..59a1694c5 Binary files /dev/null and b/spss.server/doc/moa_images/select.gif differ diff --git a/spss.server/doc/moa_images/south.gif b/spss.server/doc/moa_images/south.gif new file mode 100644 index 000000000..c70ab3e97 Binary files /dev/null and b/spss.server/doc/moa_images/south.gif differ diff --git a/spss.server/doc/moa_images/transdot.gif b/spss.server/doc/moa_images/transdot.gif new file mode 100644 index 000000000..e31aba280 Binary files /dev/null and b/spss.server/doc/moa_images/transdot.gif differ diff --git a/spss.server/doc/moa_images/west.gif b/spss.server/doc/moa_images/west.gif new file mode 100644 index 000000000..135698ee7 Binary files /dev/null and b/spss.server/doc/moa_images/west.gif differ diff --git a/spss.server/doc/moa_spss/APIClientExample.txt b/spss.server/doc/moa_spss/APIClientExample.txt new file mode 100644 index 000000000..10324f221 --- /dev/null +++ b/spss.server/doc/moa_spss/APIClientExample.txt @@ -0,0 +1,100 @@ +import java.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.SignatureCreationService; +import at.gv.egovernment.moa.spss.api.xmlsign.*; +import at.gv.egovernment.moa.spss.api.common.*; + +/** + * @author Sven Aigner + * + * Dies ist ein einfaches Beispielprogramm für die Erstellung + * einer digitalen Signatur mittel der API-Funktionen des + * MOA-SPSS Servers + */ +public class APIClientExample { + + /** + * Hauptfunktion des Beispielprogramms + * @param args wird nicht ausgewertet + * @throws Exception sollten Fehler auftreten werden die Fehler an die Java-VM weitergeleitet + */ + public static void main(String[] args) throws Exception{ + + // Serverfunktionshandler instanzieren + SPSSFactory spf = SPSSFactory.getInstance(); + + // Signaturedaten in ein Contentobjekt einbinden + byte []data = "Dies sind Testdaten".getBytes("UTF-8"); + ByteArrayInputStream bis = new ByteArrayInputStream(data); + Content cont = spf.createContent(bis,"http://uri.data.org"); + + // Beschreibungselement zu den Daten erstellen + MetaInfo mi = spf.createMetaInfo("text/plain","Testdaten",null); + + // Transformationen erstellen + CreateTransformsInfo cti = spf.createCreateTransformsInfo(null,mi); + CreateTransformsInfoProfile ct = spf.createCreateTransformsInfoProfile(cti,null); + + // Datenobjekt aufbauen + DataObjectInfo doi = spf.createDataObjectInfo(DataObjectInfo.STRUCTURE_DETACHED,false,cont,ct); + + List dataobjectinfolist = new ArrayList(); + dataobjectinfolist.add(doi); + // alles zusammenpacken zu einer SingleSignature + SingleSignatureInfo ssi = spf.createSingleSignatureInfo(dataobjectinfolist,null,false); + + List singlesignatureinfolist = new ArrayList(); + singlesignatureinfolist.add(ssi); + // die Signatur in einen Request einbetten + CreateXMLSignatureRequest cxsreq = spf.createCreateXMLSignatureRequest("PKCS12RSAKey1",singlesignatureinfolist); + + // Signatureerstellungsservice aufrufen + SignatureCreationService scs = SignatureCreationService.getInstance(); + + // Response auswerten + CreateXMLSignatureResponse cxsres = scs.createXMLSignature(cxsreq); + + List elements = cxsres.getResponseElements(); + + SignatureEnvironmentResponse ser = (SignatureEnvironmentResponse)elements.get(0); + + // Responsetyp lesen + 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 + Element se = ser.getSignatureEnvironment(); + System.out.println("Signaturerstellung erfolgreich"); + + displayTree(se); + } + } + + /** + * Einfache Ausgabefunktion für einen DOM-Baum + * @param input auszugebender Knoten + */ + public static void displayTree(Node input) + { + // Ausgabe eines Knotens + System.out.println(input); + // Alle Kindknoten ausgeben + NodeList children = input.getChildNodes(); + for(int counter=0;counter + * Die Datenübertragung erfolgt über eine sichere Verbindung (Clientauthentisierung) + */ +public class HTTPSClientExampleClientAuth { + + // SOAP Konstanten + // CreationServer + private static final QName SERVICE_QNAME = new QName("SignatureCreation"); + private static final String ENDPOINT = "http://localhost:8080/moa-spss/services/SignatureCreation"; + // Secure Endpoint + private static final String SECURE_ENDPOINT = "https://localhost:8443/moa-spss/services/SignatureCreation"; + + /* + VerificationService + wenn Sie diese Werte für ENDPOINT und SERVICE verwenden können Sie eine + Signaturprüfung anstatt einer Signaturerstellung durchführen (entweder mit + ENDPOINT für eine nicht sichere Verbindung bzw. SECURE_ENDPOINT für eine + sichere Verbindung) + + private static final QName SERVICE_QNAME = new QName("SignatureVerification"); + private static final String ENDPOINT = + "http://localhost:8080/moa-spss/services/SignatureVerification"; + private static final String SECURE_ENDPOINT = + "https://localhost:8443/moa-spss/services/SignatureVerification"; + */ + public static final String HANDLER = "java.protocol.handler.pkgs"; + public static final String KEYSTORE = "javax.net.ssl.keyStore"; + public static final String KEYSTOREPASSWORD = "javax.net.ssl.keyStorePassword"; + public static final String TRUSTSTORE = "javax.net.ssl.trustStore"; + public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword"; + + + /** + * 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 ist eine SSL Verbindung mit Clientauthentisierung. + * + * @param args wird nicht verwendet + */ + + public static void main(String[] args) { + + try { + /* + Einrichten der SSL Verbindungseigenschaften + + Die Verbindung wird über SSL hergestellt, als TrustStore und als Keystore + wird ein JavaKeyStore verwendet der die notwendigen Daten enthält + */ + + Security.addProvider(new Provider()); + System.setProperty(HANDLER,"com.sun.net.ssl.internal.www.protocol"); + System.setProperty(KEYSTORE, "client.keystore"); + System.setProperty(KEYSTOREPASSWORD, "changeit"); + System.setProperty(TRUSTSTORE, "client.keystore"); + System.setProperty(TRUSTSTOREPASSWORD, "changeit"); + + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream("example_request.xml"); + + // Parser/DOMBuilder instanzieren + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + // XML Datei in einen DOM-Baum umwandeln + Document root_request = builder.parse(inputStream); + + // AXIS-Server instanzieren + Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME); + + // Call öffnen + Call call = service.createCall(); + + // Neues BodyElement anlegen und mit dem DOM-Baum füllen + SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement()); + SOAPBodyElement[] params = new SOAPBodyElement[] {body}; + + // Call mit Endpoint verknüpfen + call.setTargetEndpointAddress(SECURE_ENDPOINT); + + // Call auslösen und die Antworten speichern + System.out.println("Calling ..."); + Vector responses = (Vector) call.invoke(params); + + // erstes BodyElement auslesen + SOAPBodyElement response = (SOAPBodyElement) responses.get(0); + + // aus der Response den DOM-Baum lesen + Document root_response = response.getAsDocument(); + System.out.println("Return ..."); + + // Ausgabe auf System.out zum Testen + OutputFormat format = new OutputFormat((Document)root_response); + + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + XMLSerializer serializer = new XMLSerializer (System.out, format); + serializer.asDOMSerializer(); + serializer.serialize(root_response); + + // Antwort verarbeiten + // ... + // ... + } + catch(Exception e) + { + e.printStackTrace(); + } + + } +} diff --git a/spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt b/spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt new file mode 100644 index 000000000..cb8db75d5 --- /dev/null +++ b/spss.server/doc/moa_spss/HTTPSClientExampleServerAuth.txt @@ -0,0 +1,143 @@ +import java.io.FileInputStream; +import java.security.Security; +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.LineSeparator; +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.w3c.dom.Document; + +import com.sun.net.ssl.internal.ssl.Provider; + +/** + * @author Sven + * + * Dies ist eine Beispielklasse die den Zugriff auf MOA-SPSS mittels AXIS erklärt.
+ * Die Datenübertragung erfolgt über eine sichere Verbindung (Serverauthentisierung) + */ +public class HTTPSClientExampleServerAuth { + + // SOAP Konstanten + // CreationServer + private static final QName SERVICE_QNAME = new QName("SignatureCreation"); + private static final String ENDPOINT = "http://localhost:8080/moa-spss/services/SignatureCreation"; + // Secure Endpoint + private static final String SECURE_ENDPOINT = "https://localhost:8443/moa-spss/services/SignatureCreation"; + + /* + Secure Endpoint + dieser Endpoint kann alternativ zum ersten ENDPOINT verwendet werden + um eine sichere Verbindung zum Server herzustellen + private static final String SECURE_ENDPOINT = + "https://localhost:8443/moa-spss/services/SignatureCreation"; + */ + + /* + VerificationService + wenn Sie diese Werte für ENDPOINT und SERVICE verwenden können Sie eine + Signaturprüfung anstatt einer Signaturerstellung durchführen (entweder mit + ENDPOINT für eine nicht sichere Verbindung bzw. SECURE_ENDPOINT für eine + sichere Verbindung) + + private static final QName SERVICE_QNAME = new QName("SignatureVerification"); + private static final String ENDPOINT = + "http://localhost:8080/moa-spss/services/SignatureVerification"; + private static final String SECURE_ENDPOINT = + "https://localhost:8443/moa-spss/services/SignatureVerification"; + */ + + // SSL 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"; + + /** + * 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 ist eine SSL Verbindung mit Serverauthentisierung. + * + * @param args wird nicht verwendet + */ + public static void main(String[] args) { + + try { + /* + Einrichten der SSL Verbindungseigenschaften + + Die Verbindung wird über SSL hergestellt, als TrustStore wird + ein JavaKeyStore verwendet der die notwendigen Daten enthält + */ + + Security.addProvider(new Provider()); + System.setProperty(HANDLER,"com.sun.net.ssl.internal.www.protocol"); + System.setProperty(TRUSTSTORE, "client.keystore"); + System.setProperty(TRUSTSTOREPASSWORD, "changeit"); + + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream("example_request.xml"); + + // Parser/DOMBuilder instanzieren + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + // XML Datei in einen DOM-Baum umwandeln + Document root_request = builder.parse(inputStream); + + // AXIS-Server instanzieren + Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME); + + // Call öffnen + Call call = service.createCall(); + + // Neues BodyElement anlegen und mit dem DOM-Baum füllen + SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement()); + SOAPBodyElement[] params = new SOAPBodyElement[] {body}; + + // Call mit Endpoint verknüpfen + call.setTargetEndpointAddress(SECURE_ENDPOINT); + + // Call auslösen und die Antworten speichern + System.out.println("Calling ..."); + Vector responses = (Vector) call.invoke(params); + + // erstes BodyElement auslesen + SOAPBodyElement response = (SOAPBodyElement) responses.get(0); + + // aus der Response den DOM-Baum lesen + Document root_response = response.getAsDocument(); + System.out.println("Return ..."); + + // Ausgabe auf System.out zum Testen + OutputFormat format = new OutputFormat((Document)root_response); + + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + XMLSerializer serializer = new XMLSerializer (System.out, format); + serializer.asDOMSerializer(); + serializer.serialize(root_response); + + // Antwort verarbeiten + // ... + // ... + } + catch(Exception e) + { + e.printStackTrace(); + } + + } +} \ No newline at end of file diff --git a/spss.server/doc/moa_spss/MOA-SPSS-1.1.pdf b/spss.server/doc/moa_spss/MOA-SPSS-1.1.pdf new file mode 100644 index 000000000..dfe9e80a1 Binary files /dev/null and b/spss.server/doc/moa_spss/MOA-SPSS-1.1.pdf differ diff --git a/spss.server/doc/moa_spss/MOA-SPSS-1.1.xsd b/spss.server/doc/moa_spss/MOA-SPSS-1.1.xsd new file mode 100644 index 000000000..809842cf9 --- /dev/null +++ b/spss.server/doc/moa_spss/MOA-SPSS-1.1.xsd @@ -0,0 +1,430 @@ + + + + + + + + + + + + + + + + + + + + + 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/doc/moa_spss/MOA-SPSS-Configuration-1.0.xsd b/spss.server/doc/moa_spss/MOA-SPSS-Configuration-1.0.xsd new file mode 100644 index 000000000..8eb488f48 --- /dev/null +++ b/spss.server/doc/moa_spss/MOA-SPSS-Configuration-1.0.xsd @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dient zum Konfigurieren von HW Crypto-Module via PKCS#11 (s. iaik.server.modules.crypto.HarwwareCryptoModuleConfiguration) + + + + + + + + + + dient zum Konfigurieren von HW Key-Module via PKCS#11 (s. iaik.server. modules.crypto.HardwareKeyModuleConfiguration + + + + + + + + + + + dient zum Konfigurieren von SW Key-Module via PKCS#12 Dateien (s. iaik. server.modules.crypto.SoftwareKeyModuleConfiguration + + + + + + + + + + definiert eine Gruppe von Keys + + + + + + Ein Schlüssel wird bezeichnet durch ein Tripel bestehend aus der ID des KeyModules (siehe z.B. SoftwareKeyModule/@id), sowie Issuer und Seriennummer des zum Schlüssel gehörigen Zertifikats + + + + + + + + + + + + + + + ordnet oben definierte KeyGroups Online-Applikationen zu, die diese KeyGroups verwenden dürfen + + + + + + wenn das Element nicht auftritt, dann können die zugeordneten KeyGroups von allen Online-Applikationen verwendet werden + + + + + + + + + + + + + spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung + + + + + + ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden + + + + + + + + + + + + + + + + spezifiziert die Dauer, die Revozierungsinformation archiviert werden muss in Tagen + + + + + + + + spezifiziert CRL Distribution Points + + + + + + spezifiziert die CA, für die der u.a. DP verwendet werden soll + + + + + das Attribut reasonCodes enthält eine Liste von möglichen reasonCodes lt. RFC 3280: unspecified, keyCompromise, cACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold, removeFromCRL, privilegeWithdrawn, aACompromise + + + + + + + + + + + + + ordnet eine Datei, die ein CreateTransformsInfoProfile-Element enthält, einer id zu + + + + + + + + + ordnet eine Datei, die ein CreateSignatureEnvironmentProfile-Element enthält, einer id zu + + + + + + + + + ordnet eine Datei, die ein VerifyTransformsInfoProfile-Element enthält, einer id zu + + + + + + + + + ordnet eine Datei, die ein SupplementProfile-Element enthält, einer id zu + + + + + + + + + ordnet ein Verzeichnis, das vertrauenswürdige Zertifikate enthält einer id zu + + + + + + + + + + + + + + + + diff --git a/spss.server/doc/moa_spss/examples/conf/MOA-SPSSConfiguration.xml b/spss.server/doc/moa_spss/examples/conf/MOA-SPSSConfiguration.xml new file mode 100644 index 000000000..61f15c5cc --- /dev/null +++ b/spss.server/doc/moa_spss/examples/conf/MOA-SPSSConfiguration.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + SWKeyModule1 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1044289238331 + + + + + + SWKeyModule2 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 99991044289238331 + + + + + + + + + + CN=patrick peck,OU=MOA,O=BRZ,L=Vienna,S=Vienna,C=AT + 1039104204 + + + + + + CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT + 536 + + + + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + + + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + + + + + + + + + diff --git a/spss.server/doc/moa_spss/examples/conf/MinimalSPConfig.xml b/spss.server/doc/moa_spss/examples/conf/MinimalSPConfig.xml new file mode 100644 index 000000000..d52391843 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/conf/MinimalSPConfig.xml @@ -0,0 +1,4 @@ + + + + diff --git a/spss.server/doc/moa_spss/examples/conf/MinimalSSConfig.xml b/spss.server/doc/moa_spss/examples/conf/MinimalSSConfig.xml new file mode 100644 index 000000000..a55f5eabc --- /dev/null +++ b/spss.server/doc/moa_spss/examples/conf/MinimalSSConfig.xml @@ -0,0 +1,17 @@ + + + + + + SWKeyModule1 + + CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT + 1044289238331 + + + + + + + diff --git a/spss.server/doc/moa_spss/examples/conf/keys/ecc(ego).p12 b/spss.server/doc/moa_spss/examples/conf/keys/ecc(ego).p12 new file mode 100644 index 000000000..f84e793c5 Binary files /dev/null and b/spss.server/doc/moa_spss/examples/conf/keys/ecc(ego).p12 differ diff --git a/spss.server/doc/moa_spss/examples/conf/keys/test-ee2003_normal(buergerkarte).p12 b/spss.server/doc/moa_spss/examples/conf/keys/test-ee2003_normal(buergerkarte).p12 new file mode 100644 index 000000000..efaeb9b98 Binary files /dev/null and b/spss.server/doc/moa_spss/examples/conf/keys/test-ee2003_normal(buergerkarte).p12 differ diff --git a/spss.server/doc/moa_spss/examples/conf/trustProfiles/trustProfile1/IAIKRoot.cer b/spss.server/doc/moa_spss/examples/conf/trustProfiles/trustProfile1/IAIKRoot.cer new file mode 100644 index 000000000..c0c60558a Binary files /dev/null and b/spss.server/doc/moa_spss/examples/conf/trustProfiles/trustProfile1/IAIKRoot.cer differ diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest1.xml b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest1.xml new file mode 100644 index 000000000..f2966d4a9 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest1.xml @@ -0,0 +1,18 @@ + + + PKCS12RSAKey1 + + + + Diese Daten werden signiert. + + + + + text/plain + + + + + + diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest2.xml b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest2.xml new file mode 100644 index 000000000..0037fa570 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureRequest2.xml @@ -0,0 +1,90 @@ + + + PKCS12RSAKey1 + + + + Diese Daten werden signiert. + + + + + text/plain + + + + + + + + + RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM= + + + + + text/plain + + + + + + + + + Gesundheitliche Auswirkungen elektronischer Signaturen + Ellipse + Kurvenreich + 1951-04-16 + Hinterm Berg + 6-930-21512-12 + + + + + + + + + + + + + + text/html + + + + + PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJh +bnNmb3JtIiB2ZXJzaW9uPSIxLjAiPg0KPHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIi8+DQo8eHNs +OnRlbXBsYXRlIG1hdGNoPSJkYXRhOmJvb2siIHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5v +cmciPg0KPEhUTUw+DQo8Qk9EWT4NCjxIMT5CdWNoOiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iZGF0 +YTp0aXRsZSIvPjwvSDE+DQo8L0JPRFk+DQo8L0hUTUw+DQo8L3hzbDp0ZW1wbGF0ZT4NCjwveHNs +OnN0eWxlc2hlZXQ+ + + + + + + + + + nach diesem Text wird die Signatur in das Dokument eingefuegt + + + + //env:Document + + + + diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse1.xml b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse1.xml new file mode 100644 index 000000000..5dcbceac5 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse1.xml @@ -0,0 +1,24 @@ + +tLODyeiWFbAkQKwhrR23jtcgu4k=IE0l+lYkfHmak11z2VJD7OLLZwsDT3pWaxPalTmiW9iEymd7dTILJ0rC49BgKs7r +BAUktEvhAo+Uy6hiXxdz9r58YfXimCCtIf0IS80GuWJUXMYvgkNMNFWq/qNEkbK+ +3GwNyykETR2VUt51mYVkG0CxfMbgKwh/AkFblmdYo/Y=MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1Diese Daten werden signiert. \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse2.xml b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse2.xml new file mode 100644 index 000000000..8139a66ab --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/CreateXMLSignatureResponse2.xml @@ -0,0 +1,2 @@ + +N/EFe1Sj5J5+18ChKLUPK586LmQ=dg1cRDpm/S5Uf2kBz6X6vdiD7ECftOMJx7hPQTCunV3/WvHx/IQ66Skj4axKbiOs 0AvLk5JKtw3MtvBWbT8tqfjRZ+3r6xi252B7X4W/+mHHesXX+yUPIW3n1TY/Dy0o fxIUWF3qZZKIO5A94ButZJlecgmFZ8hzi0yiuFM25ao=MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx 26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1Diese Daten werden signiert.tLODyeiWFbAkQKwhrR23jtcgu4k=nach diesem Text wird die Signatur in das Dokument eingefuegtWVob54034HfToUBDAErL5z6GFxo= gJhOZajRF42VUda+ZBhWNdljSLc=PLCDCNiI+09sMH1d0rH2CfwDYkY=7oKv0peUxxN1jIlmd5yVFPRYocM=NyNKwlFZNNIEjYNViERbvDWRqDfh/ZFwUrAFWyDU37kj/xHDLFn+T2X13Sx+8oaz pa5523rqVHlOExeyp5xMCAlYGMm6e04rjGrTidNNmCr2LQEZ7pDBYkAki/afp8Ey QbVQr+WmBNcVRfLH0i6HknorR3iGJHUdx9A/kEGbhBE=MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx 26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 Gesundheitliche Auswirkungen elektronischer Signaturen Ellipse Kurvenreich 1951-04-16 Hinterm Berg 6-930-21512-12 Ym+XR9T2r7NKwGo3ndiOeenFLFE=2003-06-04T11:49:35dL59VDpBsujcngd207z0ohPl1/U=CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331text/plaintext/html \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/TestDatenGenerator.zip b/spss.server/doc/moa_spss/examples/requestsResponses/TestDatenGenerator.zip new file mode 100644 index 000000000..134913cb2 Binary files /dev/null and b/spss.server/doc/moa_spss/examples/requestsResponses/TestDatenGenerator.zip differ diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureRequest.xml b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureRequest.xml new file mode 100644 index 000000000..1331cd3d0 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureRequest.xml @@ -0,0 +1,28 @@ + 2003-04-04T09:30:47-05:00 MIIGAAYJKoZIhvcNAQcCoIIF8TCCBe0CAQExCzAJBgUrDgMCGgUAMDsGCSqGSIb3DQEHAaAuBCxE +aWVzIHNpbmQgVGVzdGRhdGVuDQoyLiBaZWlsZQ0KMy4gWmVpbGUNCmF1c6CCA9swggPXMIIDRKAD +AgECAgYA8yR9NTswCQYFKw4DAh0FADCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5J +VkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZv +cm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0 +IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0EwHhcNMDMwMjAzMTYyMDU1WhcNMDMxMjMwMjI1OTMw +WjCBmDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5JVkVSU0lUWSBPRiBURUNITk9MT0dZ +MUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZvcm1hdGlvbiBQcm9jZXNzaW5nIGFu +ZCBDb21tdW5pY2F0aW9uczEYMBYGA1UEAxQPSXNvbGRlIEL8cmdlcmluMIGfMA0GCSqGSIb3DQEB +AQUAA4GNADCBiQKBgQDnebSqeDo73NUgC4nbY+z3Vf6l12EyID0/RC6wx7FD5ASR97jecQUhOhRn +e66gBAV36fgxczoPry1ly0ZTk7hbkCr9sSMjh58gdLQROHOA0DKaqZP1n0ggSGqb/WOFDhJdNbff +LdefeXHboOJN4Cl+25AHfzxiVX5Gz6tPIX2JFQIDAQABo4IBHDCCARgwDAYDVR0TAQH/BAIwADAO +BgNVHQ8BAf8EBAMCBsAwEQYJYIZIAYb4QgEBBAQDAgUgMGcGA1UdIARgMF4wXAYMKwYBBAGVEgEC +ewEBMEwwSgYIKwYBBQUHAgIwPho8VGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1heSBiZSB1c2VkIGZv +ciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzMDwGA1UdHwQ1MDMwMaAvoC2GK2h0dHA6Ly93d3cuaWFp +ay5hdC90ZXN0Q0EvaWFpa190ZXN0X3NpZy5jcmwwHQYDVR0OBBYEFCg66gjFLwzWj8NNmQlSzSWc +3kDtMB8GA1UdIwQYMBaAFEwgsFYCDPeICpaIpRS0Ucw6tfK/MAkGBSsOAwIdBQADgYEAJjzWjybN +vxgK5MyB6mXJKbmcCTGOy/VPmf8fPPVwt9IMlnQfI1NXH8YOzNj4PHbwx1b7oMuj2dY9IT/g/6T0 +dcl7/ATIC/jg6uO+nMYYqOqhzdfy/ivMyjowFE2W67SbfLWmS1NX+rhqJYP+dsZd2uf8CgoC85IB +DdB7pf51P/UxggG9MIIBuQIBATCBtzCBrDELMAkGA1UEBhMCQVQxJjAkBgNVBAoTHUdSQVogVU5J +VkVSU0lUWSBPRiBURUNITk9MT0dZMUcwRQYDVQQLEz5JbnNpdHV0ZSBmb3IgQXBwbGllZCBJbmZv +cm1hdGlvbiBQcm9jZXNzaW5nIGFuZCBDb21tdW5pY2F0aW9uczEVMBMGA1UECxMMSUFJSyBUZXN0 +IENBMRUwEwYDVQQDEwxJQUlLIFRlc3QgQ0ECBgDzJH01OzAJBgUrDgMCGgUAoF0wGAYJKoZIhvcN +AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDMwNDE3MTQ0ODA4WjAjBgkqhkiG9w0B +CQQxFgQUWVob54034HfToUBDAErL5z6GFxowDQYJKoZIhvcNAQEBBQAEgYA3PgDZt7KWMUscVY6J +0NVA83Al3+3rEFrvtClcfNNeCwptd9zRTv7Xvj7JLoozNoCr4sg2K9cwfjpinUrh9EartS1gqoRR +7Binn38eR1lRSU+Pg3HaXh9EnEDIeCsI8qDGYCJ1TOf/YwJzUR1YYCZMyrJK2mpmDmT9fmvKwdJO +iA== TrustProfile1 \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureResponse.xml b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureResponse.xml new file mode 100644 index 000000000..9fc8f57bd --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyCMSSignatureResponse.xml @@ -0,0 +1,22 @@ + +CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=ATCN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/100 \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest1.xml b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest1.xml new file mode 100644 index 000000000..f52b288ad --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest1.xml @@ -0,0 +1,8 @@ + + + 2003-03-24T12:41:54+01:00 + + tLODyeiWFbAkQKwhrR23jtcgu4k=IE0l+lYkfHmak11z2VJD7OLLZwsDT3pWaxPalTmiW9iEymd7dTILJ0rC49BgKs7rBAUktEvhAo+Uy6hiXxdz9r58YfXimCCtIf0IS80GuWJUXMYvgkNMNFWq/qNEkbK+3GwNyykETR2VUt51mYVkG0CxfMbgKwh/AkFblmdYo/Y=MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UEAxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFowgZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xkZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zVIAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68tZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBeMFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNhdGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtfdGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNVHSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8mzb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DLo9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktTV/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1Diese Daten werden signiert.//dsig:Signature + + TrustProfile1 + diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest2.xml b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest2.xml new file mode 100644 index 000000000..194738900 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureRequest2.xml @@ -0,0 +1,60 @@ + + + 2003-03-24T12:41:54+01:00 + + + nach diesem Text wird die Signatur in das Dokument eingefuegtWVob54034HfToUBDAErL5z6GFxo= + + gJhOZajRF42VUda+ZBhWNdljSLc=PLCDCNiI+09sMH1d0rH2CfwDYkY=q0HHxe1K9hoC7OFHxHiIR3Si+lE=hxUgloDXBZvoavTrNQYDoEvtS8WF50iHC41vUFUbphVWkHYZcI2+VLCl+J7GoCu5 +rKiv7Z6QqFxe0GDSAR3d8qjW2gNU6GtX4UJxdVaGlXxTOofUfQSEyoq8Xw0PHhBs +TknuIMtwfxANPSO8CbSPXm5w8DPoMuzskaZyXFZQJbo=MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1 + + Gesundheitliche Auswirkungen elektronischer Signaturen + Ellipse + Kurvenreich + 1951-04-16 + Hinterm Berg + 6-930-21512-12 + + Ym+XR9T2r7NKwGo3ndiOeenFLFE=2003-06-12T13:03:49dL59VDpBsujcngd207z0ohPl1/U=CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331text/plaintext/html + + //dsig:Signature + + + + + + + + + + + + + + + + + +TrustProfile1 + diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse1.xml b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse1.xml new file mode 100644 index 000000000..17bd7684a --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse1.xml @@ -0,0 +1,22 @@ + +CN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=ATMIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/100 \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse2.xml b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse2.xml new file mode 100644 index 000000000..c367b0b0e --- /dev/null +++ b/spss.server/doc/moa_spss/examples/requestsResponses/VerifyXMLSignatureResponse2.xml @@ -0,0 +1,62 @@ +Calling ... +Return ... + +CN=Isolde B\C3\BCrgerin,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=ATCN=IAIK Test CA,OU=IAIK Test CA,OU=Insitute for Applied Information Processing and Communications,O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT1044289238331MIID1zCCA0SgAwIBAgIGAPMkfTU7MAkGBSsOAwIdBQAwgawxCzAJBgNVBAYTAkFU +MSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVDSE5PTE9HWTFHMEUGA1UE +CxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBh +bmQgQ29tbXVuaWNhdGlvbnMxFTATBgNVBAsTDElBSUsgVGVzdCBDQTEVMBMGA1UE +AxMMSUFJSyBUZXN0IENBMB4XDTAzMDIwMzE2MjA1NVoXDTAzMTIzMDIyNTkzMFow +gZgxCzAJBgNVBAYTAkFUMSYwJAYDVQQKEx1HUkFaIFVOSVZFUlNJVFkgT0YgVEVD +SE5PTE9HWTFHMEUGA1UECxM+SW5zaXR1dGUgZm9yIEFwcGxpZWQgSW5mb3JtYXRp +b24gUHJvY2Vzc2luZyBhbmQgQ29tbXVuaWNhdGlvbnMxGDAWBgNVBAMUD0lzb2xk +ZSBC/HJnZXJpbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA53m0qng6O9zV +IAuJ22Ps91X+pddhMiA9P0QusMexQ+QEkfe43nEFIToUZ3uuoAQFd+n4MXM6D68t +ZctGU5O4W5Aq/bEjI4efIHS0EThzgNAymqmT9Z9IIEhqm/1jhQ4SXTW33y3Xn3lx +26DiTeApftuQB388YlV+Rs+rTyF9iRUCAwEAAaOCARwwggEYMAwGA1UdEwEB/wQC +MAAwDgYDVR0PAQH/BAQDAgbAMBEGCWCGSAGG+EIBAQQEAwIFIDBnBgNVHSAEYDBe +MFwGDCsGAQQBlRIBAnsBATBMMEoGCCsGAQUFBwICMD4aPFRoaXMgY2VydGlmaWNh +dGUgb25seSBtYXkgYmUgdXNlZCBmb3IgZGVtb25zdHJhdGlvbiBwdXJwb3NlczA8 +BgNVHR8ENTAzMDGgL6AthitodHRwOi8vd3d3LmlhaWsuYXQvdGVzdENBL2lhaWtf +dGVzdF9zaWcuY3JsMB0GA1UdDgQWBBQoOuoIxS8M1o/DTZkJUs0lnN5A7TAfBgNV +HSMEGDAWgBRMILBWAgz3iAqWiKUUtFHMOrXyvzAJBgUrDgMCHQUAA4GBACY81o8m +zb8YCuTMgeplySm5nAkxjsv1T5n/Hzz1cLfSDJZ0HyNTVx/GDszY+Dx28MdW+6DL +o9nWPSE/4P+k9HXJe/wEyAv44OrjvpzGGKjqoc3X8v4rzMo6MBRNluu0m3y1pktT +V/q4aiWD/nbGXdrn/AoKAvOSAQ3Qe6X+dT/1RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=PEhUTUwgeG1sbnM6ZGF0YT0iaHR0cDovL3VyaS5kYXRhLm9yZyI+DQo8Qk9EWT4N +CjxIMT5CdWNoOiBHZXN1bmRoZWl0bGljaGUgQXVzd2lya3VuZ2VuIGVsZWt0cm9u +aXNjaGVyIFNpZ25hdHVyZW48L0gxPg0KPC9CT0RZPg0KPC9IVE1MPg0KPGRzaWc6TWFuaWZlc3QgeG1sbnM6ZHNpZz0iaHR0cDovL3d3dy53My5vcmcvMjAw +MC8wOS94bWxkc2lnIyIgeG1sbnM6ZW52PSJodHRwOi8vdXJpLmVudi5vcmciIHht +bG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFu +Y2UiIElkPSJtYW5pZmVzdC0yLTEiPjxkc2lnOlJlZmVyZW5jZSBVUkk9Imh0dHA6 +Ly9sb2NhbGhvc3Q6ODA4MC9UZXN0RGF0ZW5HZW5lcmF0b3IvcmVzb3VyY2VzL0NY +MV9ib29rX25vdF9oZXJlLnhzbCI+PGRzaWc6RGlnZXN0TWV0aG9kIEFsZ29yaXRo +bT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI3NoYTEiPjwvZHNp +ZzpEaWdlc3RNZXRob2Q+PGRzaWc6RGlnZXN0VmFsdWU+WW0rWFI5VDJyN05Ld0dv +M25kaU9lZW5GTEZFPTwvZHNpZzpEaWdlc3RWYWx1ZT48L2RzaWc6UmVmZXJlbmNl +PjwvZHNpZzpNYW5pZmVzdD4=PGV0c2k6U2lnbmVkUHJvcGVydGllcyB4bWxuczpkc2lnPSJodHRwOi8vd3d3Lncz +Lm9yZy8yMDAwLzA5L3htbGRzaWcjIiB4bWxuczplbnY9Imh0dHA6Ly91cmkuZW52 +Lm9yZyIgeG1sbnM6ZXRzaT0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMy92MS4x +LjEjIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1h +LWluc3RhbmNlIj48ZXRzaTpTaWduZWRTaWduYXR1cmVQcm9wZXJ0aWVzPjxldHNp +OlNpZ25pbmdUaW1lPjIwMDMtMDYtMTJUMTM6MDM6NDk8L2V0c2k6U2lnbmluZ1Rp +bWU+PGV0c2k6U2lnbmluZ0NlcnRpZmljYXRlPjxldHNpOkNlcnQ+PGV0c2k6Q2Vy +dERpZ2VzdD48ZXRzaTpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3 +LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSI+PC9ldHNpOkRpZ2VzdE1ldGhv +ZD48ZXRzaTpEaWdlc3RWYWx1ZT5kTDU5VkRwQnN1amNuZ2QyMDd6MG9oUGwxL1U9 +PC9ldHNpOkRpZ2VzdFZhbHVlPjwvZXRzaTpDZXJ0RGlnZXN0PjxldHNpOklzc3Vl +clNlcmlhbD48ZHNpZzpYNTA5SXNzdWVyTmFtZT5DTj1JQUlLIFRlc3QgQ0EsT1U9 +SUFJSyBUZXN0IENBLE9VPUluc2l0dXRlIGZvciBBcHBsaWVkIEluZm9ybWF0aW9u +IFByb2Nlc3NpbmcgYW5kIENvbW11bmljYXRpb25zLE89R1JBWiBVTklWRVJTSVRZ +IE9GIFRFQ0hOT0xPR1ksQz1BVDwvZHNpZzpYNTA5SXNzdWVyTmFtZT48ZHNpZzpY +NTA5U2VyaWFsTnVtYmVyPjEwNDQyODkyMzgzMzE8L2RzaWc6WDUwOVNlcmlhbE51 +bWJlcj48L2V0c2k6SXNzdWVyU2VyaWFsPjwvZXRzaTpDZXJ0PjwvZXRzaTpTaWdu +aW5nQ2VydGlmaWNhdGU+PGV0c2k6U2lnbmF0dXJlUG9saWN5SWRlbnRpZmllcj48 +ZXRzaTpTaWduYXR1cmVQb2xpY3lJbXBsaWVkPjwvZXRzaTpTaWduYXR1cmVQb2xp +Y3lJbXBsaWVkPjwvZXRzaTpTaWduYXR1cmVQb2xpY3lJZGVudGlmaWVyPjwvZXRz +aTpTaWduZWRTaWduYXR1cmVQcm9wZXJ0aWVzPjxldHNpOlNpZ25lZERhdGFPYmpl +Y3RQcm9wZXJ0aWVzPjxldHNpOkRhdGFPYmplY3RGb3JtYXQgT2JqZWN0UmVmZXJl +bmNlPSIjcmVmZXJlbmNlLTItMSI+PGV0c2k6TWltZVR5cGU+dGV4dC9wbGFpbjwv +ZXRzaTpNaW1lVHlwZT48L2V0c2k6RGF0YU9iamVjdEZvcm1hdD48ZXRzaTpEYXRh +T2JqZWN0Rm9ybWF0IE9iamVjdFJlZmVyZW5jZT0iI3JlZmVyZW5jZS0yLTIiPjxl +dHNpOk1pbWVUeXBlPnRleHQvaHRtbDwvZXRzaTpNaW1lVHlwZT48L2V0c2k6RGF0 +YU9iamVjdEZvcm1hdD48L2V0c2k6U2lnbmVkRGF0YU9iamVjdFByb3BlcnRpZXM+ +PC9ldHNpOlNpZ25lZFByb3BlcnRpZXM+00 \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/testclient/APIClientExample.java b/spss.server/doc/moa_spss/examples/testclient/APIClientExample.java new file mode 100644 index 000000000..10324f221 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/testclient/APIClientExample.java @@ -0,0 +1,100 @@ +import java.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.SignatureCreationService; +import at.gv.egovernment.moa.spss.api.xmlsign.*; +import at.gv.egovernment.moa.spss.api.common.*; + +/** + * @author Sven Aigner + * + * Dies ist ein einfaches Beispielprogramm für die Erstellung + * einer digitalen Signatur mittel der API-Funktionen des + * MOA-SPSS Servers + */ +public class APIClientExample { + + /** + * Hauptfunktion des Beispielprogramms + * @param args wird nicht ausgewertet + * @throws Exception sollten Fehler auftreten werden die Fehler an die Java-VM weitergeleitet + */ + public static void main(String[] args) throws Exception{ + + // Serverfunktionshandler instanzieren + SPSSFactory spf = SPSSFactory.getInstance(); + + // Signaturedaten in ein Contentobjekt einbinden + byte []data = "Dies sind Testdaten".getBytes("UTF-8"); + ByteArrayInputStream bis = new ByteArrayInputStream(data); + Content cont = spf.createContent(bis,"http://uri.data.org"); + + // Beschreibungselement zu den Daten erstellen + MetaInfo mi = spf.createMetaInfo("text/plain","Testdaten",null); + + // Transformationen erstellen + CreateTransformsInfo cti = spf.createCreateTransformsInfo(null,mi); + CreateTransformsInfoProfile ct = spf.createCreateTransformsInfoProfile(cti,null); + + // Datenobjekt aufbauen + DataObjectInfo doi = spf.createDataObjectInfo(DataObjectInfo.STRUCTURE_DETACHED,false,cont,ct); + + List dataobjectinfolist = new ArrayList(); + dataobjectinfolist.add(doi); + // alles zusammenpacken zu einer SingleSignature + SingleSignatureInfo ssi = spf.createSingleSignatureInfo(dataobjectinfolist,null,false); + + List singlesignatureinfolist = new ArrayList(); + singlesignatureinfolist.add(ssi); + // die Signatur in einen Request einbetten + CreateXMLSignatureRequest cxsreq = spf.createCreateXMLSignatureRequest("PKCS12RSAKey1",singlesignatureinfolist); + + // Signatureerstellungsservice aufrufen + SignatureCreationService scs = SignatureCreationService.getInstance(); + + // Response auswerten + CreateXMLSignatureResponse cxsres = scs.createXMLSignature(cxsreq); + + List elements = cxsres.getResponseElements(); + + SignatureEnvironmentResponse ser = (SignatureEnvironmentResponse)elements.get(0); + + // Responsetyp lesen + 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 + Element se = ser.getSignatureEnvironment(); + System.out.println("Signaturerstellung erfolgreich"); + + displayTree(se); + } + } + + /** + * Einfache Ausgabefunktion für einen DOM-Baum + * @param input auszugebender Knoten + */ + public static void displayTree(Node input) + { + // Ausgabe eines Knotens + System.out.println(input); + // Alle Kindknoten ausgeben + NodeList children = input.getChildNodes(); + for(int counter=0;counter + * Die Datenübertragung erfolgt über eine sichere Verbindung (Clientauthentisierung) + */ +public class HTTPSClientExampleClientAuth { + + // SOAP Konstanten + // CreationServer + private static final QName SERVICE_QNAME = new QName("SignatureCreation"); + private static final String ENDPOINT = "http://localhost:8080/moa-spss/services/SignatureCreation"; + // Secure Endpoint + private static final String SECURE_ENDPOINT = "https://localhost:8443/moa-spss/services/SignatureCreation"; + + /* + VerificationService + wenn Sie diese Werte für ENDPOINT und SERVICE verwenden können Sie eine + Signaturprüfung anstatt einer Signaturerstellung durchführen (entweder mit + ENDPOINT für eine nicht sichere Verbindung bzw. SECURE_ENDPOINT für eine + sichere Verbindung) + + private static final QName SERVICE_QNAME = new QName("SignatureVerification"); + private static final String ENDPOINT = + "http://localhost:8080/moa-spss/services/SignatureVerification"; + private static final String SECURE_ENDPOINT = + "https://localhost:8443/moa-spss/services/SignatureVerification"; + */ + public static final String HANDLER = "java.protocol.handler.pkgs"; + public static final String KEYSTORE = "javax.net.ssl.keyStore"; + public static final String KEYSTOREPASSWORD = "javax.net.ssl.keyStorePassword"; + public static final String TRUSTSTORE = "javax.net.ssl.trustStore"; + public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword"; + + + /** + * 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 ist eine SSL Verbindung mit Clientauthentisierung. + * + * @param args wird nicht verwendet + */ + + public static void main(String[] args) { + + try { + /* + Einrichten der SSL Verbindungseigenschaften + + Die Verbindung wird über SSL hergestellt, als TrustStore und als Keystore + wird ein JavaKeyStore verwendet der die notwendigen Daten enthält + */ + + Security.addProvider(new Provider()); + System.setProperty(HANDLER,"com.sun.net.ssl.internal.www.protocol"); + System.setProperty(KEYSTORE, "client.keystore"); + System.setProperty(KEYSTOREPASSWORD, "changeit"); + System.setProperty(TRUSTSTORE, "client.keystore"); + System.setProperty(TRUSTSTOREPASSWORD, "changeit"); + + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream("example_request.xml"); + + // Parser/DOMBuilder instanzieren + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + // XML Datei in einen DOM-Baum umwandeln + Document root_request = builder.parse(inputStream); + + // AXIS-Server instanzieren + Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME); + + // Call öffnen + Call call = service.createCall(); + + // Neues BodyElement anlegen und mit dem DOM-Baum füllen + SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement()); + SOAPBodyElement[] params = new SOAPBodyElement[] {body}; + + // Call mit Endpoint verknüpfen + call.setTargetEndpointAddress(SECURE_ENDPOINT); + + // Call auslösen und die Antworten speichern + System.out.println("Calling ..."); + Vector responses = (Vector) call.invoke(params); + + // erstes BodyElement auslesen + SOAPBodyElement response = (SOAPBodyElement) responses.get(0); + + // aus der Response den DOM-Baum lesen + Document root_response = response.getAsDocument(); + System.out.println("Return ..."); + + // Ausgabe auf System.out zum Testen + OutputFormat format = new OutputFormat((Document)root_response); + + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + XMLSerializer serializer = new XMLSerializer (System.out, format); + serializer.asDOMSerializer(); + serializer.serialize(root_response); + + // Antwort verarbeiten + // ... + // ... + } + catch(Exception e) + { + e.printStackTrace(); + } + + } +} \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java b/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java new file mode 100644 index 000000000..26e0df9f1 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/testclient/HTTPSClientExampleServerAuth.java @@ -0,0 +1,143 @@ +import java.io.FileInputStream; +import java.security.Security; +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.LineSeparator; +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.w3c.dom.Document; + +import com.sun.net.ssl.internal.ssl.Provider; + +/** + * @author Sven + * + * Dies ist eine Beispielklasse die den Zugriff auf MOA-SPSS mittels AXIS erklärt.
+ * Die Datenübertragung erfolgt über eine sichere Verbindung (Serverauthentisierung) + */ +public class HTTPSClientExampleServerAuth { + + // SOAP Konstanten + // CreationServer + private static final QName SERVICE_QNAME = new QName("SignatureCreation"); + private static final String ENDPOINT = "http://localhost:8080/moa-spss/services/SignatureCreation"; + // Secure Endpoint + private static final String SECURE_ENDPOINT = "https://localhost:8443/moa-spss/services/SignatureCreation"; + + /* + Secure Endpoint + dieser Endpoint kann alternativ zum ersten ENDPOINT verwendet werden + um eine sichere Verbindung zum Server herzustellen + private static final String SECURE_ENDPOINT = + "https://localhost:8443/moa-spss/services/SignatureCreation"; + */ + + /* + VerificationService + wenn Sie diese Werte für ENDPOINT und SERVICE verwenden können Sie eine + Signaturprüfung anstatt einer Signaturerstellung durchführen (entweder mit + ENDPOINT für eine nicht sichere Verbindung bzw. SECURE_ENDPOINT für eine + sichere Verbindung) + + private static final QName SERVICE_QNAME = new QName("SignatureVerification"); + private static final String ENDPOINT = + "http://localhost:8080/moa-spss/services/SignatureVerification"; + private static final String SECURE_ENDPOINT = + "https://localhost:8443/moa-spss/services/SignatureVerification"; + */ + + // SSL 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"; + + /** + * 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 ist eine SSL Verbindung mit Serverauthentisierung. + * + * @param args wird nicht verwendet + */ + public static void main(String[] args) { + + try { + /* + Einrichten der SSL Verbindungseigenschaften + + Die Verbindung wird über SSL hergestellt, als TrustStore wird + ein JavaKeyStore verwendet der die notwendigen Daten enthält + */ + + Security.addProvider(new Provider()); + System.setProperty(HANDLER,"com.sun.net.ssl.internal.www.protocol"); + System.setProperty(TRUSTSTORE, "client.keystore"); + System.setProperty(TRUSTSTOREPASSWORD, "changeit"); + + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream("example_request.xml"); + + // Parser/DOMBuilder instanzieren + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + // XML Datei in einen DOM-Baum umwandeln + Document root_request = builder.parse(inputStream); + + // AXIS-Server instanzieren + Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME); + + // Call öffnen + Call call = service.createCall(); + + // Neues BodyElement anlegen und mit dem DOM-Baum füllen + SOAPBodyElement body = new SOAPBodyElement(root_request.getDocumentElement()); + SOAPBodyElement[] params = new SOAPBodyElement[] {body}; + + // Call mit Endpoint verknüpfen + call.setTargetEndpointAddress(SECURE_ENDPOINT); + + // Call auslösen und die Antworten speichern + System.out.println("Calling ..."); + Vector responses = (Vector) call.invoke(params); + + // erstes BodyElement auslesen + SOAPBodyElement response = (SOAPBodyElement) responses.get(0); + + // aus der Response den DOM-Baum lesen + Document root_response = response.getAsDocument(); + System.out.println("Return ..."); + + // Ausgabe auf System.out zum Testen + OutputFormat format = new OutputFormat((Document)root_response); + + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + XMLSerializer serializer = new XMLSerializer (System.out, format); + serializer.asDOMSerializer(); + serializer.serialize(root_response); + + // Antwort verarbeiten + // ... + // ... + } + catch(Exception e) + { + e.printStackTrace(); + } + + } +} \ No newline at end of file diff --git a/spss.server/doc/moa_spss/examples/testclient/client.keystore b/spss.server/doc/moa_spss/examples/testclient/client.keystore new file mode 100644 index 000000000..bdb6a5d14 Binary files /dev/null and b/spss.server/doc/moa_spss/examples/testclient/client.keystore differ diff --git a/spss.server/doc/moa_spss/examples/testclient/example_request.xml b/spss.server/doc/moa_spss/examples/testclient/example_request.xml new file mode 100644 index 000000000..6b8166d06 --- /dev/null +++ b/spss.server/doc/moa_spss/examples/testclient/example_request.xml @@ -0,0 +1,19 @@ + + PKCS12RSAKey1 + + + + Testdaten + + + + + text/plain + + + + + + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/faqs.htm b/spss.server/doc/moa_spss/faqs.htm new file mode 100644 index 000000000..9c01f31ee --- /dev/null +++ b/spss.server/doc/moa_spss/faqs.htm @@ -0,0 +1,100 @@ + + + FAQs - Häufig gestellte Fragen + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
FAQs

+ +
+ +
+
FAQs - Häufig gestellte Fragen
+ +
+

Konflikt zwischen JDK 1.3.1 und IAIK JCE Provider

+

+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 angeworfen, 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
+
+

+ +
+ + + + + + + +

+
+
© 2003
+
+
+ + +
+ + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/links.htm b/spss.server/doc/moa_spss/links.htm new file mode 100644 index 000000000..cd9888c30 --- /dev/null +++ b/spss.server/doc/moa_spss/links.htm @@ -0,0 +1,122 @@ + + + MOA Links + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
MOA Links

+ + + + +
+ +
+ +
+
MOA Links
+ +
+ + + + + + + +

+
+
© 2003
+
+
+ + +
+ + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/moa.htm b/spss.server/doc/moa_spss/moa.htm new file mode 100644 index 000000000..cd66138d1 --- /dev/null +++ b/spss.server/doc/moa_spss/moa.htm @@ -0,0 +1,177 @@ + + + MOA Module fuer Online Applikationen + + + + + + + + + +
+ + + + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + + + +
+
MOA-SP/SS

+
+ Allgemein
+ + + + + +
+ +
+
+
+
+ +
Allgemein
+

+Dieses Dokument enthält die Dokumentation für die Module

+
    +
  • MOA-SP (Signaturprüfung)
  • +
  • MOA-SS (Serversignatur).
  • +
+

+Diese Module können von An-wendungen verwendet werden um Signaturen zu erstellen +bzw. diese zu überprüfen. +

+Die Funktionalität und der Aufbau der Schnittstelle zu den Modulen ist in der +Spezifikation Version 1.1 detailliert beschrieben. Da +diese beiden Module auf der + +Spezifikation des Security-Layer (Version 1.1) aufbauen ist ein Verständnis dieser Spezifikation +ebenfalls erforderlich. +

+

+
+ +
+ + + +
+

 

+
+
+
+

Modul Signaturprüfung (MOA-SP)

+
+Das Modul Signaturprüfung dient zum Überprüfen von einfachen bzw. sicheren + +XML-Signaturen und +CMS-Signaturen. +Bei XML-Signaturen kann zusätzlich überprüft werden ob sie der +Security-Layer Spezifikation entsprechen. +

+Im Zuge der Prüfung werden sowohl die Signatur, optionale XMLDSig-Manifeste, +das optionale Signaturmanifest (siehe Security-Layer), als auch die Gültigkeit +und Anwendbarkeit des Zertifikats überprüft. +

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

+ +
+ + + +
+

 

+
+ +
+
+

Modul Serversignatur (MOA-SS)

+
+Das Modul Serversignatur dient zum Erstellen von XML-Signaturen in Anlehnung an die + +Security-Layer Spezifikation. Die Signatur kann sowohl in Software +erstellt werden als auch mittels eines Hardware Security Moduls (HSM), das +den privaten Schlüssel enthält und die Signatur berechnet. +

+Der Zugriff auf einzelne Signaturschlüssel in MOA-SP 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. + +
+ +
+

+ + + + + + + +

+
+
© 2003
+
+
+ + +
+ + diff --git a/spss.server/doc/moa_spss/sp-admin.htm b/spss.server/doc/moa_spss/sp-admin.htm new file mode 100644 index 000000000..16990cee9 --- /dev/null +++ b/spss.server/doc/moa_spss/sp-admin.htm @@ -0,0 +1,300 @@ + + + MOA SP/SS-Administration + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
MOA-SP/SS

+
+ Übersicht
+ + + + +
+ +
+
+
MOA SP/SS-Administration
+

+Die Module Signaturprüfung (SP) und Serversignatur (SS) sind als plattformunabhängige Module ausgelegt, die entweder als Webservice über HTTP(S) oder als Klassenbibliothek über ein API angesprochen werden können. Für den Einsatz der Module als Klassenbibliothek wird eine Java Virtual Machine vorausgesetzt, für den Betrieb als Webservice wird zusätzlich ein Java Servlet Container benötigt. +

+Dieses Handbuch beschreibt die Installation und Konfiguration der MOA SP/SS-Module, sowohl als Webservice als auch als Klassenbibliothek, sowie die Einrichtung der Systemumgebung. Ein Großteil der Beschreibung bezieht sich auf beide Einsatzmöglichkeiten (als Webservice und als Klassenbibliothek); wo dies nicht der Fall ist, wird explizit zwischen MOA SP/SS Webservice und MOA SP/SS Klassenbibliothek unterschieden. +

+
+
+ + +
+ + + +
+

 

+
+

Übersicht

+
+Für den Einsatz der MOA SP/SS Module sind unterschiedliche Szenarien möglich, die unterschiedliche Möglichkeiten bieten und die Installation unterschiedlicher Software- und Hardware-Komponenten erfordern. Dieser Abschnitt gibt einen kurzen Überblick über die notwendige Basis-Installation und optionale weitere Konfigurationsmöglichkeiten. +
+
+
+ +
+ + + +
+

 

+
+
Basis-Installation (Webservice)
+

+Die Basis-Installation des Webservices stellt einerseits die minimalen Anforderungen für den Betrieb des MOA SP/SS Webservices dar, andererseits dient sie als Ausgangspunkt für weitere (optionale) Konfigurations-Möglichkeiten. Sie erlaubt bereits den uneingeschränkten Betrieb des MOA SP/SS Webservices. +

+Folgende Software ist Voraussetzung für die Basis-Installation des Webservices: +

+
    +
  • JDK 1.3.1 oder JDK 1.4.1
  • +
  • Tomcat 4.1.18
  • +
  • MOA SP/SS Webservice 1.0
  • +
+
+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. +

+Ausgehend von der Basis-Installation können die optionalen Konfigurationen, die in den nachfolgenden Abschnitten beschrieben werden, unabhängig und in beliebiger Kombination aufgesetzt werden. +
+
+
+ +
+ + + +
+

 

+
+
Basis-Installation (Klassenbibliothek)
+

+Die Basis-Installation der Klassenbibliothek stellt einerseits die minimalen Anforderungen für den Einsatz der MOA SP/SS Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt für weitere (optionale) Konfigurations-Möglichkeiten. Sie erlaubt bereits den uneingeschränkten Einsatz der MOA SP/SS Klassenbibliothek. +

+Folgende Software ist Voraussetzung für die Basis-Installation der Klassenbibliothek: +

+
    +
  • JDK 1.3.1 oder JDK 1.4.1
  • +
  • MOA SP/SS Klassenbibliothek 1.0
  • +
+
+Die MOA SP/SS Klassenbibliothek verwendet Log4j als Logging Toolkit. +

+Ausgehend von der Basis-Installation können die optionalen Konfigurationen, die in den nachfolgenden Abschnitten beschrieben werden, unabhängig und in beliebiger Kombination aufgesetzt werden. +
+
+
+ +
+ + + +
+

 

+
+

Konfiguration mit vorgeschaltetem Webserver (optional)

+
+Dem MOA SP/SS Webservice kann optional ein Webserver vorgeschaltet sein. Unter Microsoft Windows ist das im Regelfall der Microsoft Internet Information Server (MS IIS), auf Unix-Systemen kommt üblicherweise der Apache Webserver zum Einsatz. +

+ Folgende Software ist unter Windows Voraussetzung: +
+
    +
  • MS IIS 5.0
  • +
  • Jakarta mod_jk 1.2.2
  • +
+
Folgende Software ist unter Unix/Linux Voraussetzung:
+
    +
  • Apache Webserver 2.0.x mit mod_SSL
  • +
  • Jakarta mod_jk 1.2.2
  • +
+
In diesem Fall übernimmt der vorgeschaltete Webserver die Funktion des HTTP- und HTTPS-Endpunktes. Beide Protokolle werden im Webserver konfiguriert. +

+Mittels mod_jk werden die Webservice-Aufrufe, die im vorgeschalteten Webserver eintreffen, an Tomcat weitergeleitet, bzw. die Antwort von Tomcat wieder an den Webserver zurückübermittelt. +
+
+
+ +
+ + + +
+

 

+
+

Konfiguration mit PostgreSQL (optional)

+
+Die MOA SP/SS Module können eine PostgreSQL Datenbank nutzen, um: +
+
    +
  • Certificate Revocation Lists (CRLs) zu cachen, und
  • +
  • Log-Meldungen zu speichern
  • +
+
Für den Zugriff auf PostgreSQL ist die Installation folgender Software Voraussetzung:
+
    +
  • PostgreSQL 7.3
  • +
+
+
+ +
+ + + +
+

 

+
+

Konfiguration mit HSM (optional)

+
+Die MOA SP/SS Module können mittels PKCS#11 auf Hardware Security Modules (HSMs) zugreifen. Sie wurden mit folgendem HSM getestet: +
+
    +
  • Eracom protectserver orange external
  • +
+
+

+ +
+ + + +
+

 

+
+

Zusammenfassung

+
+Notwendig für den Einsatz der MOA SP/SS Module ist eine Basis-installation des Webservices oder der Klassenbibliothek. Weitere optionale Konfigurationen können unabhängig und in beliebiger Kombination miteinander durchgeführt werden, um eine bessere Integration der Module in die vorhandene Betriebs- bzw. Applikations-Infrastruktur zu erreichen. +
+
+

+ + + +
+ + + +
+

 

+
+

Referenzierte Software

+
+Die Versionsangaben beziehen sich auf die Versionen, mit denen die MOA SP/SS Module entwickelt und getestet wurde. Geringfügig andere Software-Versionen stellen üblicherweise kein Problem dar. +
+

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KomponenteVersion
JDK 1.3.1 
JDK 1.4.1 
Tomcat 4.1.18 
MOA SP/SS Webservices 1.0.6 
Apache Webserver 1.3.x  
Apache Webserver 2.0.x  
Microsoft Internet Information Server 5.0  
mod_SSL (*) 
Jakarta mod_jk 1.2.2 
Jakarta Log4j 1.2.7 
PostgreSQL 7.3 
HSM (Eracom protectserver orange external) n/a 
+
+

+ +
+(*) passend zur Version des Apache Webservers +
+
+

+ + + + + +

+
+
© 2003
+
+
+ + +
+ + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/sp-admin_1.htm b/spss.server/doc/moa_spss/sp-admin_1.htm new file mode 100644 index 000000000..4c3d5c1fb --- /dev/null +++ b/spss.server/doc/moa_spss/sp-admin_1.htm @@ -0,0 +1,355 @@ + + + MOA SP/SS-Administration + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
MOA-SP/SS

+ +
+ Basis-Installation
    (Webservice)
+ + + +
+ +

+ +
+

Basis-Installation (Webservice)

+
+

Vorbereitung

+
+Installation des JDK
+Installieren Sie das JDK 1.3.1 oder JDK 1.4.1 in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der JDK-Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet. +

+Installation von Tomcat
+Installieren Sie Tomcat in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als $CATALINA_HOME bezeichnet. Hinweis: Tomcat wird in einer Distribution für JDKs ab Version 1.2 und in einer Distribution speziell für JDK 1.4 ausgeliefert. Installieren Sie die zur Version Ihres JDK passende Tomcat-Version. +

+Entpacken des MOA SP/SS Webservices
+Entpacken Sie die Datei moa-spss-1.0.x.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet. +

+Installation der IAIK JCE und JSSE im JDK 1.3.1
+Da Java in der Version 1.3.1 ohne Unterstützung für Kryptographie und SSL ausgeliefert wird, muss dies manuell nachträglich installiert werden. Für den Betrieb des MOA SP/SS Webservices ist es deshalb notwendig, die Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext13 in das Verzeichnis $JAVA_HOME/jre/lib/ext zu kopieren. +

+Installation der IAIK JCE im JDK 1.4.1
+Um die mit MOA SP/SS ausgelieferte IAIK JCE im JDK 1.4.1 zu installieren, müssen die Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext14 in das Verzeichnis $JAVA_HOME/lib/ext kopiert werden. Zusätzlich müssen die sogenannten "Unlimited Strength Jurisdiction Policy Files 1.4.1" heruntergeladen, entpackt und ins Verzeichnis $JAVA_HOME/jre/lib/security kopiert werden. Der Download für diese Dateien findet sich am unteren Ende der Download-Seite für das JDK 1.4.1 in der Sektion "Other Downloads". +

+
+
+ + +
+ + +
+

 

+
+

+
+
+

Konfiguration von Tomcat

+
+Minimale Konfiguration
+Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grundsätzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enthält und viele Ports offen lässt. Die Datei $MOA_SPSS_INST/tomcat/server.xml enthält eine minimale Tomcat-Konfiguration, die ausschließlich den Connector für HTTP freischaltet. Durch kopieren dieser Datei nach $CATALINA_HOME/conf/server.xml kann Tomcat mit dieser Konfiguration gestartet werden.

+SSL
+Ein sicherer Betrieb des MOA SP/SS Webservices setzt voraus, dass für die Übertragung der Daten SSL verwendet wird. Das Dokument Tomcat SSL Configuration HOW-TO gibt einen guten Überblick über die Konfiguration von SSL in Tomcat. Da das JDK bereits im Abschnitt "Vorbereitung" auf SSL vorbereitet wurde, sind an dieser Stelle nur noch folgende Schritte notwendig: +
+
    +
  • Erstellung eines Server-Keystores, welches den privaten Schlüssel des Servers sowie das Server-Zertifikat enthält, z.B. mit dem Java Keytool.
  • +
  • Erstellung eines Keystores mit vertrauenswürdigen Client-Zertifikaten, z.B. mit dem Java Keytool (nur, wenn SSL Client-Authentisierung verwendet werden soll)
  • +
  • Konfiguration des SSL-Connectors in $CATALINA_HOME/conf/server.xml (optional mit Client-Authentisierung)
  • +
+
+Die Konfiguration von SSL im Tomcat kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, der die SSL-Kommunikation mit dem Aufrufer des Webservices übernimmt. +
+

+
+MOA Administrator
+Der Aufruf der URL für die dynamische Konfiguration des MOA SP/SS Webservices ist durch eine Passwort-Abfrage geschützt, und kann nur von Benutzern aufgerufen werden, die der Benutzer-Rolle moa-admin zugeordnet werden können.
+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" password="moa" roles="moa-admin"/>
+
+
+
+ +
+ + +
+

 

+
+

+
+
+

Deployment des MOA SP/SS Webservices in Tomcat

+
+Um das MOA SP/SS Webservice in Tomcat für den Ablauf 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 Verzeichnis $CATALINA_HOME/webapps kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis $CATALINA_HOME/webapps/ moa-spss entpackt.
  • +
  • Die MOA SP/SS Konfigurationsdatei und zugehörige Profil-Verzeichnisse müssen in ein beliebiges Verzeichnis im Filesystem kopiert werden (z.B. $CATALINA_HOME/ conf/moa).
    In $MOA_SPSS_INST/conf befindet sich eine funktionsfähige Konfiguration, die als Ausgangspunkt für die Konfiguration des MOA SP/SS Webservices dienen kann.
  • +
  • Wird Tomcat unter JDK 1.3.1 betrieben, müssen die Dateien aus dem Verzeichnis $MOA_SPSS_INST/endorsed13 in das Tomcat-Verzeichnis $CATALINA_HOME/common/endorsed kopiert werden. Folgende Libraries sind für das Deployment im endorsed Verzeichnis vorgesehen: +
      +
    • Xerces-J-2.0.2 (bestehend aus xercesImpl.jar und xmlParserAPIs.jar).
    • +
    +Eventuell vorhandene Dateien mit dem gleichen Namen müssen ersetzt werden. +
  • +
  • Wird Tomcat unter JDK 1.4.1 betrieben, müssen die Dateien aus dem Verzeichnis $MOA_SPSS_INST/endorsed14 in das Tomcat-Verzeichnis $CATALINA_HOME/common/endorsed kopiert werden. Folgende Libraries sind für das Deployment im endorsed Verzeichnis vorgesehen: +
      +
    • Xalan-J-2.2.0 (bestehend aus xalan.jar.jar und bsf.jar).
    • +
    +Eventuell vorhandene Dateien mit dem gleichen Namen müssen ersetzt werden. +
  • +
  • Folgende Java System-Properties können optional gesetzt sein:
    +
      +
    • moa.spss.server.configuration=Name der MOA SP/SS Konfigurationsdatei. Eine beispielhafte MOA SP/SS Konfiguration ist in $MOA_SPSS_INST/conf/moa-spss/ MOA-SPSSConfiguration.xml enthalten. Ist diese System-Property nicht gesetzt, wird automatisch eine im Web-Archive unter WEB-INF/conf enthaltene Default-Konfiguration herangezogen.
    • +
    • log4j.configuration=URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration ist in $MOA_SPSS_INST/conf/moa-spss/log4j.properties enthalten. Ist diese System-Property nicht gesetzt, wird automatisch eine im Web-Archive unter WEB-INF/classes enthaltene Default-Konfiguration herangezogen.
    • +
    • moa.node.id=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. Der Name des Knotens ist frei wählbar.
    • +
    • javax.net.ssl.trustStore=Dateiname des Truststores für vertrauenswürdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). Relative Dateinamen werden zum Verzeichnis, von dem Tomcat gestartet wird, aufgelöst.
    • +
    • 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 ist "jks" oder "pkcs12" üblich.
    • +
    +Diese Java System-Properties werden Tomcat über die Umgebungsvariable CATALINA_OPTS mitgeteilt. Die Dateien $MOA_SPSS_INST/tomcat/moa-env.bat und
    $MOA_SPSS_INST/tomcat/moa-env.sh enthalten Beispiele zum Setzen dieser Umgebungsvariablen unter Windows bzw. Unix/Linux. +
+
+
+ + + +
+ + +
+

 

+
+

+
+
+

Starten und Stoppen von Tomcat

+
+Nach dem Deployment und der Konfiguration kann Tomcat aus seinem Wurzelverzeichnis mit
+
+    bin\catalina start (unter Windows) oder 
+    bin/catalina.sh start (unter Unix/Linux) 
+
+gestartet werden. Das Stoppen von Tomcat erfolgt analog mit
+
+    bin\catalina stop  (unter Windows) oder 
+    bin/catalina.sh stop (unter Unix/Linux) 
+
+Ein erfolgreicher Startvorgang 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 kann einfach überprüft werden, indem der Endpunkt mit einem Web-Browser aufgerufen wird und zu einer Anzeige einer Informationsseite führt. +

+
+Dynamische Konfigurations-Updates können durch den Aufruf der URL http://host:port/moa-spss/ConfigurationUpdate (z.B. durch Eingabe in einem Browser) durchgeführt werden.
+Konnte das MOA-SPSS Webservice nicht ordnungsgemäß konfiguriert und gestartet werden, geht das aus der Log-Meldung hervor:
+
+    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. +
+
+ + +
+ + +
+

 

+
+

+
+
+
+

Logging

+
+Das MOA SP/SS Webservice verwendet Jakarta 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-SPSS 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 IAIK Kryptographie-Modulen
  • +
+
+Als Ausgangspunkt für die Logging-Konfiguration liegt die Datei $MOA_SPSS_INST/conf/moa-spss/log4j.properties bei. 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. +

+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., dass eine neue Anfrage eingelangt ist.
  • +
  • WARN: Bei der Ausführung einer Operation sind leichte Fehler aufgetreten. Der Ablauf des Webservices ist nicht weiter beeinträchtigt.
  • +
  • ERROR: Die Ausführung einer Operation 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, an 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 Tomcat Worker-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).
+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. +

+ + +Wichtige Log-Meldungen
+Neben den im Abschnitt "Starten und Stoppen von Tomcat" 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 3. 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. +
+
+

+ + + + + + +

+
+
© 2003
+
+
+ + +
+ + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/sp-admin_2.htm b/spss.server/doc/moa_spss/sp-admin_2.htm new file mode 100644 index 000000000..147a8ba9c --- /dev/null +++ b/spss.server/doc/moa_spss/sp-admin_2.htm @@ -0,0 +1,536 @@ + + + MOA SP/SS-Administration + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
MOA-SP/SS

+ + + +
+ Konfiguration
+ +
+ +

+ + +
+
Konfiguration der SP/SS-Module
+ +
+

SP/SS-Konfigurationsdatei

+

+Die Konfiguration von MOA SP/SS wird mittels einer XML-basierten Konfigurationsdatei, die dem Schema MOA-SPSS-Configuration-1.0.xsd entspricht, durchgeführt. +

+Der Ort der Konfigurationsdatei wird im Abschnitt Deployment der Web-Applikation in Tomcat beschrieben. +

+Die folgenden Abschnitte erläutern das Format der Konfigurationsdatei. +MOA-SPSSConfiguration.xml zeigt ein Beispiel +für eine umfassende Konfigurationsdatei. +

+Enthält die Konfigurationsdatei relative Pfadangaben, werden diese relativ zum Verzeichnis, in dem die Konfigurationsdatei +gespeichert ist, interpretiert. + +
+

+CanonicalizationAlgorithm
+Als Inhalt des Elements CanonicalizationAlgorithm 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. +

+Gültige Werte:
+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
+
+
+Default-Wert:
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 +

+

+ +
+

+DigestMethodAlgorithm
+Als Inhalt des Elements DigestMethodAlgorithm kann der Digest-Algorithmus spe­zi­fi­ziert werden, der in der Signatur als Inhalt von dsig:Reference/dsig:DigestMethod aufscheint. +

+Gültige Werte:
http://www.w3.org/2000/09/xmldsig#sha1 +

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

+

+ +
+

+GenericConfiguration
+Das Element GenericConfiguration ermöglicht das Setzen von Namen-Werte Paaren mittels der Attribute name und value. Die folgende Liste spezifiziert +

    +
  • gültige Werte für das name-Attribut,
  • +
  • eine Beschreibung
  • +
  • gültige Werte für das value-Attribut und
  • +
  • den Default-Wert für das value-Attribut.
  • +
+ + + + +
name: autoAddCertificate
+Gibt an, ob Zertifikate, die in der Signtur enthalten sind bzw. bei der Zertifikatspfaderstellung verwendet werden, +automatisch im Zertifikatsspeicher +(siehe Parameter DirectoryCertStoreParameters.RootDir) +gespeichert werden sollen (siehe auch Parameter +useAuthorityInfoAccess).
+
+value:
+Gültige Werte: true/false
+Default-Wert: true +
+ + + +
name: DirectoryCertStoreParameters.RootDir
+Gibt den Pfadnamen zum Verzeichnis an, das als Zertifikatsspeicher verwendet wird.
+
+value:
+Gültige Werte: Name eines Verzeichnisses, das Verzeichnis muss noch nicht existieren
+Default-Wert: certstore +
+ + + + +
name: useAuthorityInfoAccess
+Gibt an, ob die Zertifikatserweiterung AuthorityInformationAccess für die Zertifikatspfaderstellung verwendet +werden soll. Wird der Wert auf true gesetzt, dann setzt MOA auch autoAddCertificate automatisch +auf true und ignoriert den Wert aus der Konfigurationsdatei.
+
+value:
+Gültige Werte: true/false
+Default-Wert: true +
+ + + + +
name: checkRevocation
+Gibt ab, ob bei der Zertifikatsüberprüfung auch der Zertifikatsstatus überprüft werden soll. Der Zertifikatsstatus +wird mittels Certificate Revocation Lists (CRL) überprüft.
+
+value:
+Gültige Werte: true/false
+Default-Wert: false +
+ + + + +
name: maxRevocationAge
+Wenn der Zertifikatsstatus überprüft werden soll (siehe Parameter checkRevocation), +gibt dieser Parameter an, wann eine aktuelle Revozierungsinformation (CRL) geladen werden soll.
+
+value:
+Gültige Werte: +
    +
  • negativer Wert: bei jedem Zugriff auf Revozierungsinformation wird eine aktuelle Revozierungsinformation geladen
  • +
  • 0: eine neue Revozierungsinformation wird zu dem Zeitpunkt geladen, der im nextUpdate-Feld der CRL spezifiziert ist
  • +
  • positiver Wert: Zeitspanne in Millisekunden, die eine Revozierungsinformation ohne neuerliche Abfrage verwendet werden darf
  • +
+Default-Wert: 0 +
+ + + +
name: archiveRevocationInfo
+Gibt an, ob Revozierungsinformation archiviert werden soll +(siehe auch Parameter DataBaseArchiveParameter.JDBCUrl). +
+
+value:
+Gültige Werte: true/false
+Default-Wert: false +
+ + + + +
name: DataBaseArchiveParameter.JDBCUrl
+Gibt eine JDBC-URL zur Datenbank an, in der Revozierungsinformation archiviert werden soll. Wird dieser +Parameter nicht gesetzt, dann wertet MOA den Parameter archiveRevocationInfo nicht aus der Konfigurationsdatei +aus sondern setzt den Wert automatisch auf false. +
+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 wobei +host, moadb, moauser und moapassword an die tatsächlich verwendete Datenbank angepasst werden muss.
+Die Verwendung von "&amp" ist erforderlich, da "&" einen Fehler bei der Validierung der +Konfigurationsdatei verursacht. +
+Die Archivdaten werden nur MOA-SPSS-intern benötigt und das Format ist daher für den Betrieb des Servers nicht relevant. +
+value:
Gültige Werte: String +
+ +

+ +
+

+HardwareKeyModule
+Mittels dieses Elements werden Hardware-Key-Module konfiguriert. HardwareKeyModule hat vier Attribute: +

+ + + + + + + + + + + + + + + + + + +
Attribut-NameAttribut-TypBeschreibung
idtokeneine vom Administrator gewählte Bezeichnung für das Key-Modul; diese id wird von KeyGroup/Key/KeyModuleID referenziert.
namestringder Name des PKCS#11-Moduls; der Name enthält den Dateinamen der DLL (Windows) oder der Shared-Library +(Unix), die das PKCS#11-Modul implementiert; der Wert enthält entweder einen Dateinamen mit absoluter Pfadangabe bzw. +einen Dateinamen ohne Pfadangabe. Im letzteren Fall wird der Dateiname relativ zum Suchpfad des Betriebssystems +interpretiert.
slotIDstringein spezifischer Slot des PKCS#11 HW Moduls; das Attribut ist optional, wird keine slotID spezifiziert, dann selektiert MOA SP/SS einen Slot für die Signaturerstellung.
userPINstringder PIN für die Aktivierung des privaten Schlüssels
+

+ +
+

+SoftwareKeyModule
+Mittels dieses Elements werden Software-Key-Module in Form von PKCS#12-Dateien konfiguriert. SoftwareKeyModule hat drei Attribute: +

+ + + + + + + + + + + + + + +
Attribut-NameAttribut-TypBeschreibung
idtokeneine vom Administrator gewählte Bezeichnung für das Key-Modul; diese id wird von KeyGroup/Key/KeyModuleID referenziert.
filenamestringder Dateiname der PKCS#12-Datei; das Attribut enthält entweder einen absoluten Pfadnamen oder einen +Pfadnamen relativ zur MOA SP/SS Konfigurationsdatei.
passwordstringdas Passwort zur Aktivierung des privaten Schlüssels in der PKCS#12-Datei
+

+ +
+

+KeyGroup
+Eine KeyGroup ist eine Zusammenfassung mehreren Keys in eine Gruppe. Der durch das Attribut id definierte Bezeichner +dieser KeyGroup wird im CreateXMLSignatureRequest im Element KeyIdentifier verwendet. MOA-SS wählt einen Schlüssel +aus der KeyGroup für die Signaturerstellung aus. Durch die Zusammenfassung mehrere Schlüssel in eine Gruppe +kann die Verfügbarkeit und der Durchsatz der Signaturerstellung erhöht werden.
+Das Kind-Element Key identifiziert einen privaten Schlüssel. +Ein Schlüssel wird durch das Element KeyModuleID (siehe z.B. SoftwareKeyModule/@id), Issuer +und Seriennummer des zum Schlüssel gehörigen Zertifikats im Element KeyCertIssuerSerial bezeichnet. +

+Die Konfiguration des Elements Key erfolgt in einem 2-stufigen Prozess:
+

    +
  1. Zuerst werden die verwendeten PKCS#12-Dateien und PKCS#11-Module als Elemente HardwareKeyModule und SoftwareKeyModule in der Konfigurationsdatei erfasst
  2. +
  3. Beim Starten des MOA SP/SS-Servers werden die verfügbaren Schlüssel im Log-File aufgelistet: +

    +
    INFO | 10 12:56:43,023 | main |
    +       Key ID=SWKeyModule1;
    +       CN=IAIK Test CA,OU=IAIK Test CA,
    +       OU=Insitute for Applied Information
    +       Processing and Communications,
    +       O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT;
    +       1044289238331
    +INFO | 10 12:56:43,023 | main |
    +       Key ID=SWKeyModule2;
    +       CN=IAIK Test CA,OU=IAIK Test CA,
    +       OU=Insitute for Applied Information
    +       Processing and Communications,
    +       O=GRAZ UNIVERSITY OF TECHNOLOGY,C=AT;
    +       1044289238331
    +INFO | 10 12:56:43,023 | main |
    +       Key ID=SWKeyModule3;
    +       CN=IAIK ECDSA Test,OU=JavaSecurity,O=IAIK,C=AT;
    +       68172
    +INFO | 10 12:56:43,023 | main |
    +       Key ID=SWKeyModule4;
    +       CN=IAIK DSA Test CA,OU=JavaSecurity,O=IAIK,C=AT;
    +       761791
    +
  4. +
  5. Für jeden verfügbaren Schlüssel werden die Inhalte der Elemente Key/KeyModuleID, Key/KeyCertIssuerSerial/X509IssuerName und Key/KeyCertIssuerSerial/X509SerialNumber dem Log-File entnommen und in die Konfigurationsdatei eingetragen
  6. +
  7. Nach einem neuerlichen Start von MOA SP/SS stehen die Key-Definitionen zur Verfügung
  8. +
+

+

Sind die zu den zu konfigurierenden Schlüsseln zugehörigen Zertifikate bekannt, +kann alternativ die Konfiguration in einem Schritt erfolgen, indem +die benötigten Informationen mit dem Skript certtool -info <certfilename> aus dem Zertifikat gelesen werden. +<certfilename> bezeichnet den Dateinamen eines X.509 Zertifikates in DER-Kodierung. +

+certtool ist im Verzeichnis $MOA_SPSS_INST/tools abgelegt.

+ +
+

+KeyGroupMapping
+Das Element KeyGroupMapping ordnet einem Client von MOA SS die ihm zur Verfügung stehenden KeyGroups zu, indem das +den Client repräsentierende TLS Client-Zertifikat (Element X509IssuerSerial) mit einer oder mehreren KeyGroups +assoziiert wird.

+Enthält das Element KeyGroupMapping kein Element X509IssuerSerial, dann können die in diesem Element definierten +KeyGroups von jedem Client (auch ohne TLS Client Authentisierung) verwendet werden. +

+ +
+

+ChainingModes
+Das Element ChainingModes definiert, ob bei der Zertifikatspfadüberprüfung das Kettenmodell ("chaining") oder das Modell nach PKIX RFC 3280 ("pkix") verwendet werden soll. +

+Das Attribut systemDefaultMode spezifiziert das Modell, das im Standardfall verwendet werden soll. +Mit dem Kind-Element TrustAnchor kann für jeden Trust Anchor ein abweichendes Modell spezifiziert werden. +Ein Trust Anchor ist ein Zertifikat, das im TrustProfile spezifiziert ist (Erklärung siehe +TrustProfile). +Ein Trust Anchor wird durch den Typ dsig:X509IssuerSerialType spezifiziert. +Das für diesen Trust Anchor gültige Modell wird durch das Attribut mode spezifiziert. +

+Gültige Werte für die Attribute systemDefaultMode und mode sind "chaining" und "pkix". +

+ +
+

+CRLArchive
+Im Attribut duration wird spezifiziert, wie lange (in Tagen) gecachte CRLs archiviert werden müssen. +

+ +
+

+CRLDistributionPoint
+Das Element CRLDistributionPoint dient zum Spezifizieren von URLs, die auf CRLs von CAs (Zertifikatsaussteller) verweisen.

+Eine CA wird über das Element CAIssuerDN identifiziert, das den Issuer-DN der CA als String enthält. CRLDistributionPoint kann +das Element DistributionPoint einmal oder mehrmals enthalten. Das Element DistributionPoint hat zwei Attribute:
+

    +
  • der Wert des Attributs uri enthält den CRL Distribution Point; es werden die Protokolle HTTP, HTTPS und LDAP +unterstützt.
  • +
  • der Wert des optionalen Attributs reasonCodes (vom Typ NMTOKENS) enthält eine Liste von Reason Codes +(nach RFC 3280). Die über uri referenzierte CRL enthält nur CRL Einträge mit den spezifizierten Reason Codes. +Wird der Wert dieses Attributs nicht gesetzt dann kann die CRL Einträge mit allen reason codes enthalten.
    +Gültige Werte:
    +unspecified, keyCompromise, cACompromise, affiliationChanged, superseded, +cessationOfOperation, certificateHold, removeFromCRL, privilegeWithdrawn, aACompromise
  • +
+

+ +
+

+CreateSignatureEnvironmentProfile
+CreateTransformsInfoProfile
+VerifyTransformsInfoProfile
+SupplementProfile

+Jedes dieser Elemente enthält das Attribut id und das Attribut filename. Das Attribut id bezeichnet das Profil +wie es im CreateXMLSignatureRequest bzw. VerifyXMLSignatureRequest tatsächlich referenziert wird. + Das Attribut filename bezeichnet die Datei, die die +entsprechenden Elemente gemäß MOA SP/SS Schemas [MOA SP/SS Schema] beinhaltet. Die Datei beinhaltet wohlgeformtes +XML mit genau einem Element als Dokumentelement. +

+Die folgende Tabelle bezeichnet jene Elemente, die in den Dateien als Dokumentelement verwendet werden müssen: +

+ + + + + + + + + + + + + + +
ProfilnameWurzelelement
CreateSignatureEnvironmentProfileCreateSignatureEnvironmentProfile
CreateTransformsInfoProfileCreateTransformsInfoProfile
VerifyTransformsInfoProfileVerifyTransformsInfoProfile
SupplementProfileSupplementProfile
+ +

+

+ +
+

+TrustProfile
+Ein TrustProfile enthält Zertifikate, die als vertrauenswürdig betrachtet werden. Vertrauenswürdige Zertifikate können +selbst-signierte Wurzel-Zertifikate, Zertifikate von Zwischen CAs oder End-Entity Zertifikate sein. Für die +erfolgreiche Überprüfung eines Zertifikats muss (unter anderem) ein Zertifikatspfad zu einem Zertifikat aufgebaut +werden können, das in jenem Trustprofile enthalten ist, welches im Verify-Request bezeichnet ist.
+
+TrustProfile enthält zwei Attribute: +

    +
  • Das Attribut id spezifiziert die TrustProfileID wie sie im Message-Format von MOA-SP referenziert wird
  • +
  • Das Attribut uri spezifiziert eine URL, die ein Verzeichnis im lokalen Dateisystem referenziert +(nur das Schema file wird unterstützt). Alle für diese TrustProfileID vertrauenswürdigen +Zertifikate werden in diesem Verzeichnis gespeichert.
  • +
+

+ +
+

+ + +
+ + + +
+

 

+
+
+Beispiele +MinimalSPConfig.xml +



+


+Beispiele +MinimalSSConfig.xml +
+
+

Minimale Konfigurations-Dateien

+ +
+MOA-SP
+Wird nur die Signaturprüfungs-Funktion von MOA-SP/SS verwendet, dann muss die Konfigurationsdatei zumindest folgende Elemente enthalten:
+
    +
  • ein Element TrustProfile
  • +
+
+ +
+MOA-SS
+Wird nur die Server-Signatur-Funktion von MOA-SP/SS verwendet, dann muss die Konfigurationsdatei zumindest folgende Elemente enthalten:
+
    +
  • ein Element HardwareKeyModule oder SoftwareKeyModule
  • +
  • ein Element KeyGroup mit einem Kind-Element Key
  • +
  • ein Element KeyGroupMapping mit einem Kind-Element
    KeyGroup
  • +
+
+ +
+

+ + +
+ + + +
+

 

+
+

+
+
+

Änderung der Konfiguration während des Betriebs

+
+Der Inhalt dieser Konfiguration, bzw. jene Teile, auf die indirekt verwiesen wird (z.B. die Dateien, die die +Transformations-Profile enthalten), können während des laufenden Betriebes des MOA-Servers geändert werden. Der +Server selbst wird durch den Aufruf einer URL im Applikationskontext von MOA SP/SS +(siehe ConfigurationUpdate) +dazu veranlasst, die geänderte Konfigurati-on neu einzulesen. Im Falle einer fehlerhaften neuen Konfiguration +wird die ursprüngliche Konfiguration beibehalten. +

+
+
+

+ + + + + + +

+
+
© 2003
+
+
+ + +
+ + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/sp-admin_3.htm b/spss.server/doc/moa_spss/sp-admin_3.htm new file mode 100644 index 000000000..2e8152abf --- /dev/null +++ b/spss.server/doc/moa_spss/sp-admin_3.htm @@ -0,0 +1,237 @@ + + + MOA SP/SS-Administration + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
+
MOA-SP/SS

+ + + + +
+ Optionale
    Komponenten
+
+ +
+
+Optionale
Komponenten

+IIS
+Apache
+HSM
+PostgreSQL
+
+
+

Konfiguration der optionalen Komponenten

+

Konfiguration des Microsoft Internet Information Server (optional)

+
+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 deployten Webservice wird durch Jakarta mod_jk durchgeführt. Die angeführten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.

+Konfiguration von Jakarta mod_jk im MS IIS
+Für die Kommunikation des MS IIS mit dem im Tomcat deployten Webservice wird das ISAPI-Modul von Jakarta 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. +

+Konfiguration von Tomcat
+Damit Tomcat die Aufrufe, die von MS IIS mittels Jakarta mod_jk weiterleitet, entgegennehmen kann, muss in $CATALINA_HOME/conf/server.xml der AJP 1.3 Connector aktiviert werden. Im Gegenzug können die Connectoren für HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden Connector Konfigurations-Elemente in dieser Datei. Die Datei $MOA_SPSS_INST/tomcat/server.mod_jk.xml enthält eine Konfiguration, die ausschließlich den Port für den mod_jk Connector offen lässt. +

+
+
+Konfiguration von SSL
+Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ bzw. online zur Verfügung. +
+
+

+ + +
+ + + +
+

 

+
+

+
+
+

Konfiguration des Apache Webservers (optional)

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

+Konfiguration von Jakarta mod_jk im Apache Webserver
+ 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. + +

+Konfiguration von Tomcat
+Die Konfiguration von Tomcat ist analog wie im Abschnitt über den MS IIS durchzuführen. +

+ +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 von mod_SSL gibt die Online-Dokumentation. +

+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 Option
+
+    SSLOptions +ExportCertData +StdEnvVars
+
+in der Apache-Konfiguration erreicht. Je nach vorhandener SSL-Konfiguration des Apache Webservers kann diese Option im globalen Kontext, im Kontext des Virtual Hosts oder im Kontexts eines Verzeichnisses spezifiziert werden.
+ +
+
+

+ + +
+ + + +
+

 

+
+

+
+
+

HSM, am Beispiel Eracom protectserver orange external (optional)

+
+Eracom protectserver orange external wird gemäß der Installationsanleitung installiert. +

+Die Bibliotheken in $MOA_SPSS_INST/pkcs11 müssen anschließend in den Library-Pfad +des jeweiligen Betriebssystems kopiert werden (Windows 2000: ein Verzeichnis, das +in der Umgebungsvariablen PATH vorhanden ist; Linux: ein Verzeichnis, das in der +Umgebungsvariablen LD_LIBRARY_PATH vorhanden ist). Der Name der PKCS#11-Bibliothek +wird als Wert des Attributs +/MOAConfiguration/HardwareKeyModule/@name in der +Konfigurationsdatei verwendet. +
+

+

+
+ + +
+ + + +
+

 

+
+

Konfiguration von PostgreSQL (optional)

+
+Die MOA SP/SS Module können PostgreSQL zum Zwischenspeichern von Certificate Revocation Lists (CRLs) und zum Abspeichern von Log-Meldungen verwenden. In beiden Fällen wird eine installierte und konfigurierte Datenbank vorausgesetzt. Eine detaillierte Übersicht über die Installation und Konfiguration von PostgreSQL gibt die Online-Dokumentation. Hinweis: Eine Möglichkeit, PostgreSQL unter MS Windows zu installieren, besteht darin, Cygwin mit dem PostgreSQL-Package zu installieren. Alternative Installationsvarianten werden auf dieser Seite angeführt.

+Anlegen eines Benutzers und einer Datenbank für MOA
+Damit die MOA SP/SS Module eine Verbindung zu PostgreSQL aufbauen kann, müssen der Name eines PostgreSQL-Benutzers und einer -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, die die Verbindungsparameter enthält. Wurden der Benutzer und die Datenbank wie im obigen Beispiel angelegt, ist folgende JDBC-URL anzugeben (durchgeschrieben, in einer Zeile): +
+    jdbc:postgresql://host/moadb?user=moa&
+      password=moapass
+
+(Annahme: als Passwort für den Benutzer moa wurde moapass gewählt). +Die Zeichen jdbc:postgresql:// sind unveränderliche Bestandteile einer PostgreSQL JDBC-URL. host gibt den Rechner an, auf dem PostgreSQL läuft. Der nächste Parameter (moadb) identifiziert den Namen der Datenbank. Über die Parameter user= und pass= werden Benutzer und Passwort bekanntgegeben. + + +

+ +Caching von CRLs
+Zum Cachen von CRLs müssen in der MOA SP/SS Konfigurationsdatei die Einträge archiveRevocationInfo auf true und DataBaseArchiveParameter.JDBCUrl auf eine gültige JDBC-URL gesetzt werden. Da es sich hier um einen Eintrag in eine XML-Datei handelt, muss das Zeichen "&" in der oben gezeigten JDBC-URL durch die Zeichenfolge "&amp;" ersetzt werden. +

+Logging
+Für das Logging in eine PostgreSQL Datenbank mittels Jakarta 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);
+
+Um das Logging in die Datenbank Log4j bekannt zu machen, muss die Log4j-Konfiguration adaptiert werden. Die Datei $MOA_SPSS_INST/conf/moa-spss/log4j.properties enthält bereits eine beispielhafte Jakarta Log4j-Konfiguration für das Logging in eine PostgreSQL Datenbank, die standardmäßig ausgeschaltet ist. 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.
+Hinweis: Bei Tests hat sich das Logging in eine Datenbank mit Jakarta Log4j als Performance-Engpass herausgestellt. Es wird deshalb empfohlen, auf dieses Feature zu verzichten. +

+
+ +
+

+ + + + + + +

+
+
© 2003
+
+
+ + +
+ + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/sp-admin_4.htm b/spss.server/doc/moa_spss/sp-admin_4.htm new file mode 100644 index 000000000..45aba4695 --- /dev/null +++ b/spss.server/doc/moa_spss/sp-admin_4.htm @@ -0,0 +1,183 @@ + + + MOA SP/SS-Administration + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
MOA-SP/SS

+ + +
+ Basis-Installation
    (Klassenbibliothek)
+ + +
+ +

+
+Installationsschritte: +

+Vorbereitung
+Klassenpfad
+Logging
+
+
+

Basis-Installation (Klassenbibliothek)

+
+

Vorbereitung

+
+Installation des JDK
+Installieren Sie das JDK 1.3.1 oder JDK 1.4.1 in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der JDK-Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet. +

+Entpacken der MOA SP/SS Klassenbibliothek
+Entpacken Sie die Datei moa-spss-1.0.x-lib.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet. +

+Installation der IAIK JCE und JSSE im JDK 1.3.1
+Da Java in der Version 1.3.1 ohne Unterstützung für Kryptographie und SSL ausgeliefert wird, muss dies manuell nachträglich installiert werden. Für den Einsatz der MOA SP/SS Klassenbibliothek ist es deshalb notwendig, die Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext13 in das Verzeichnis $JAVA_HOME/jre/lib/ext zu kopieren. +

+Installation der IAIK JCE im JDK 1.4.1
+Um die mit MOA SP/SS ausgelieferte IAIK JCE im JDK 1.4.1 zu installieren, müssen die Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext14 in das Verzeichnis $JAVA_HOME/lib/ext kopiert werden. Zusätzlich müssen die sogenannten "Unlimited Strength Jurisdiction Policy Files 1.4.1" heruntergeladen, entpackt und ins Verzeichnis $JAVA_HOME/jre/lib/security kopiert werden. Der Download für diese Dateien findet sich am unteren Ende der Download-Seite für das JDK 1.4.1 in der Sektion "Other Downloads". +

+
+
+ + + +
+
+
+

 

+
+

+
+
+

Einbinden der Bibliotheken in den Klassenpfad

+
+Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu können, müssen die mit MOA SP/SS ausgelieferten Klassenbibliotheken in den Java Klassenpfad der Applikation eingebunden werden. Folgende Tabelle gibt Aufschluss über die eingesetzten Klassenbibliotheken:

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
KlassenbibliothekVersionDateien
MOA SP/SS1.0.x  moa-spss.jar, moa-common.jar
IAIK MOA1.07  lib/iaik-moa-full.jar, lib/iaikPkcs11Provider.jar, lib/iaikPkcs11Wrapper.jar, lib/iaik_cms.jar, lib/iaik_ecc.jar, lib/ixsil.jar, lib/ext13/iaik_jce_full.jar, lib/ext14/iaik_ecc.jar, lib/ext14/iaik_jce_full.jar, lib/ext14/ iaikPkcs11Provider_signed.jar
JAXP1.2_01  lib/jaxp-api.jar, lib/sax.jar, lib/dom.jar
Xerces-J2.0.2  lib/xercesImpl.jar, lib/xmlParserAPIs.jar
Xalan-J2.2.0  lib/xalan.jar, lib/bsf.jar
Jaxen1.0  lib/jaxen-core.jar, lib/jaxen-dom.jar, lib/saxpath.jar
Commons-Logging1.0.2  lib/commons-logging-api.jar, lib/commons-logging.jar
Log4j1.2.7  lib/log4j-1.2.7.jar
Commons-Discovery0.2  lib/commons-discovery.jar
JSSE1.0.3_01  lib/ext13/jsse.jar, lib/ext13/jcert.jar, lib/ext13/jnet.jar
Postgres JDBC27.3  lib/pg73jdbc2.jar
+
+
+
+Folgende Einschränkungen sind zu beachten:
+
    +
  • Unter JDK 1.4.1 muss die Angabe der IAIK MOA Bibliotheken lib/iaik_ecc.jar und lib/iaikPkcs11Provider.jar entfallen, da diese bereits im Vorbereitungsschritt ins JDK kopiert wurden, und damit automatisch zur Verfügung stehen. +
  • Unter JDK 1.4.1 muss die Angabe der JSSE-Bibliotheken entfallen, da diese bereits im JDK enthalten sind.
  • +
  • Wenn keine Datenbank-Funktionalität verwendet wird, kann die Angabe des Postgres JDBC-Treibers entfallen.
  • +
+ +
+
+ +
+ + +
+

 

+
+
+
+
+

Logging

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

+ + + + +

+
+
© 2003
+
+
+ +
+ + \ No newline at end of file diff --git a/spss.server/doc/moa_spss/sp-anwendung.htm b/spss.server/doc/moa_spss/sp-anwendung.htm new file mode 100644 index 000000000..4adccb46d --- /dev/null +++ b/spss.server/doc/moa_spss/sp-anwendung.htm @@ -0,0 +1,1079 @@ + + + MOA SP/SS-Anwendung + + + + + + + + + +
+ + +
+ Module für Online-Applikationen +
+
+  +
+
+Projekt moa  +
+
+ + + + + + +
+
MOA-SP/SS

+ + + + + +
+
+ + + + + + + +
+
+

+
+
MOA SP/SS-Anwendung
+

+Die Module Signaturprüfung (SP) und Serversignatur (SS) sind als plattformunabhängige Module ausgelegt, die über ein +Webservice bzw. ein Java-API verwendet werden können. +

+Dieses Handbuch beschreibt die Verwendung der SP/SS-Module anhand einfacher exemplarischer Anwendungen: +

    +
  • HTTPClientExample.java
    Aufruf des Webservice über HTTP
  • +
  • HTTPSClientExampleServerAuth.java
    Aufruf des Webservice über eine TLS-Verbindung mit serverseitiger Authentisierung
  • +
  • HTTPSClientExampleClientAuth.java
    Aufruf des Webservice über eine TLS-Verbindung mit client- und serverseitiger Authentisierung
  • +
  • APIClientExample.java
    Aufruf des API
  • +
+Weiters werden folgende Beispiel-Requests beschrieben: +
    +
  • einfache Requests für die Erstellung und Überprüfung einer XML-Signatur
  • +
  • umfassende Requests für die Erstellung und Überprüfung einer XML-Signatur
  • +
  • ein Request für die Überprüfung einer CMS-Signatur
  • +
+ +

+
+ + +
+ + + +
+

 

+ +
+

Voraussetzungen

+
+Die folgende Liste enthält die erforderlichen Java-Bibliotheken, um die Beispielprogramme auszuführen. +Die angeführten Versionsnummern bezeichnen jene Versionen dieser Java-Bibliotheken, mit denen die +Beispielprogramme getestet wurden. +

+ + + + + + + + + + + + + + + + + + + +
Java-BibliothekVersionBemerkung
JDK1.3+Java Development Kit
Xerces
XML Parser
2.0.2+nicht nötig wenn JDK 1.4 verwendet wird
+ Download: xml.apache.org/xerces2-j
AXIS Framework1.0+Download: xml.apache.org/axis
JSSE1.0.3+wenn eine SSL Verbindung verwendet wird, nicht nötig wenn JDK 1.4 verwendet wird
Download: java.sun.com/products/jsse
Servlet API2.3+nicht nötig wenn AXIS 1.1 verwendet wird
+Download: java.sun.com/products/servlet
+
+
+

+ + + +
+ + + +
+

 

+

 

+
+

Beispiel-Programme

+
Im folgenden werden vier Beispiele für Client-Applikationen beschrieben:
+
    +
  • HTTPClientExample
    +Aufruf des Webservice über HTTP
  • +
  • HTTPSClientExampleServerAuth
    +Aufruf des Webservice über eine TLS-Verbindung mit serverseitiger Authentisierung
  • +
  • HTTPSClientExampleClientAuth
    +Aufruf des Webservice über eine TLS-Verbindung mit client- und serverseitiger Authentisierung
  • +
  • APIClientExample
    +Aufruf des API
  • +
+
+

+ + + +
+ + + +
+

 

+ +
+

Beispiel HTTPClientExample

+
+1. Einlesen des XML-Request aus einer Datei
+
+    FileInputStream inputStream = 
+        new FileInputStream("example_request.xml");
+

+ +2. Aufbau der DOM-Struktur
+Erstellen der BuilderFactory für den Parser +
+    DocumentBuilderFactory factory = 
+        DocumentBuilderFactory.newInstance();
+
+Namespaces müssen im Request definiert sein, darum +
+    factory.setNamespaceAware(true);
+
+Einen neuen Builder instanzieren +
+    DocumentBuilder builder = 
+        factory.newDocumentBuilder();
+
+XML-Datei einlesen und parsen +
+    Document root_request = 
+        builder.parse(inputStream);
+
+

+ +3. AXIS Service instanzieren
+Service erstellen. SERVICE_QNAME ist entweder SignatureCreation oder SignatureVerification. +
+    Service service = 
+        ServiceFactory.newInstance().
+            createService(SERVICE_QNAME);
+
+Call Object erstellen +
+    Call call = service.createCall();
+
+Ein SOAP Body Objekt erzeugen und mit dem Request aus der Datei füllen +
+    SOAPBodyElement body = 
+        new SOAPBodyElement(root_request.
+            getDocumentElement());
+    SOAPBodyElement[] params = 
+        new SOAPBodyElement[] {body};
+
+Serviceendpunkt einstellen. URL zum Server mit dem Webservice z.b. http://localhost:8080/moa-spss/services/SignatureCreation. +
+    call.setTargetEndpointAddress(ENDPOINT);
+
+

+ +4. Service aufrufen
+Request durchführen (Parameter werden als Array von SOAPBodyElement-Objekten übergeben) +
+    Vector responses = (Vector)call.invoke(params);
+
+Response auslesen +
+    SOAPBodyElement response = 
+        (SOAPBodyElement) responses.get(0);
+
+Response-Document auslesen +
+    Document root_response = response.getAsDocument();
+
+

+ +5. Exceptions behandeln
+Folgende Exceptions können auftreten und müssen bei der Dokumentverarbeitung +behandelt werden:
+ + + + + + + + + + + + + + + + + +
ExceptionBeschreibung
FileNotFoundExceptionDatei kann nicht gefunden werden
IOExceptionDatei kann nicht gelesen werden
ParserConfigurationExceptionParsereinstellungen nicht korrekt
xxSAXExceptionFehler beim Parsen (z.b. XML-Fehler in der Eingabedatei)
ServiceExceptionFehler beim Durchführen des AXIS Request
RemoteExceptionProbleme mit der Verbindung
+ +
+
+

+ + + +
+ + + +
+

 

+ +
+

Beispiel HTTPSClientExampleServerAuth

+
+Zusätzlich zu HTTPClientExample:

+Erst werden die Konstanten für die Systemproperties gesetzt +
+    handler = "java.protocol.handler.pkgs";
+    trustStore = "javax.net.ssl.trustStore";
+    trustStorePassword = 
+      "javax.net.ssl.trustStorePassword";
+
+Hinzufügen des SSL-Providers in das Systemobjekt Security +
+    Security.addProvider(
+      new com.sun.net.ssl.internal.ssl.Provider());
+
+Setzen der Systemproperties für den SSL-Provider +
+    System.setProperty(
+      handler,"com.sun.net.ssl.internal.www.protocol");
+    System.setProperty(
+      trustStore, "client.keystore");
+    System.setProperty(trustStorePassword, "changeit");
+
+ +Danach muß nur noch der Endpunkt umgestellt werden von ENDPOINT zu SECURE_ENDPOINT +
+    "http://localhost:8080/moa-spss/
+            services/SignatureCreation"
+
+wird zu +
+    "https://localhost:8443/moa-spss/
+            services/SignatureCreation"
+
+AXIS erkennt das es sich um eine sichere Verbindung handelt und initialisert die Verbindung über einen SecureSocket. +
+
+

+ + + +
+ + + +
+

 

+ +
+

Beispiel HTTPSClientExampleClientAuth

+
+Zusätzlich zu HTTPSClientExampleServerAuth:

+Für Clientauthorisierung kommen noch folgende Properties hinzu +
+    keyStore = "javax.net.ssl.keyStore";
+    keyStorePassword = "javax.net.ssl.keyStorePassword";
+    System.setProperty(
+        keyStore, "client.keystore");
+    System.setProperty(keyStorePassword, "changeit");
+
+
+
+

+ +
+ + + +
+

 

+
+Beispiel:
+APIClientExample
+

+
+
+

Beispiel APIClientExample

+
+Folgende VM-Properties müssen gesetzt sein um das API Beispiel +ausführen zu können.

+ + + + + + + + + + + + + +
moa.spss.server.configuration
Pfad zur Konfiguration von MOA-SPSSBeispiel C:\moa\ConfigurationTest.xml
log4j.configuration
Pfad zu einer gültigen Log4J KonfigurationBeispiel file:/C:/moa/log4j.properties
+
+Serverfunktionshandler instanzieren +
	SPSSFactory spf = 
+		SPSSFactory.getInstance();
+ +Signaturedaten in ein Contentobjekt einbinden +
	byte[]data = 
+		"Dies sind Testdaten".getBytes("UTF-8");
+	ByteArrayInputStream bis = 
+		new ByteArrayInputStream(data);
+	Content cont = 
+		spf.createContent(bis,"http://uri.data.org");
+ +Beschreibungselement zu den Daten erstellen +
	MetaInfo mi = 
+	spf.createMetaInfo("text/plain","Testdaten",null);
+ +Transformationen erstellen +
	CreateTransformsInfo cti = 
+		spf.createCreateTransformsInfo(null,mi);
+	CreateTransformsInfoProfile ct = 
+		spf.createCreateTransformsInfoProfile(
+			cti,
+			null);
+ +Datenobjekt aufbauen +
	DataObjectInfo doi = 
+		spf.createDataObjectInfo(
+			DataObjectInfo.STRUCTURE_DETACHED,
+			false,
+			cont,
+			ct);
+	List dataobjectinfolist = new ArrayList();
+	dataobjectinfolist.add(doi);
+ +alles zusammenpacken zu einer SingleSignature +
	SingleSignatureInfo ssi = 
+		spf.createSingleSignatureInfo(
+			dataobjectinfolist,
+			null,
+			false);
+	List singlesignatureinfolist = new ArrayList();
+	singlesignatureinfolist.add(ssi);
+die Signatur in einen Request einbetten +
	CreateXMLSignatureRequest cxsreq = 
+		spf.createCreateXMLSignatureRequest(
+			"PKCS12RSAKey1",
+			singlesignatureinfolist);
+ +Signatureerstellungsservice instanzieren +
	SignatureCreationService scs = 
+		SignatureCreationService.getInstance();
+ +Signatureerstellungsservice aufrufen +
	CreateXMLSignatureResponse cxsres = 
+		scs.createXMLSignature(cxsreq);
+ +Response auswerten +
	List elements = cxsres.getResponseElements();
+	
+	SignatureEnvironmentResponse ser = 
+	(SignatureEnvironmentResponse)elements.get(0);
+ +Responsetyp lesen +
	int response_type = ser.getResponseType();
+	if(response_type == 
+		SignatureEnvironmentResponse.ERROR_RESPONSE)
+	{
+		...
+	}
+
+Fehlerfall +
	System.out.println("Bei der Erstellung der 
+	Signatur ist ein Fehler aufgetreten");
+
+Signaturerstellung erfolgreich +
	Element se = ser.getSignatureEnvironment();
+	System.out.println(
+		"Signaturerstellung erfolgreich");
+	displayTree(se);
+
+ +
+
+

+ + +
+ + + +
+

 

+
+

Beispiel-Requests

+
+In den folgenden Abschnitten werden einfache und umfassende Beispiele für Requests beschrieben, die an MOA-SP/SS +gesendet werden können. Damit soll der Anwendungsentwickler einen Überblick über die +Möglichkeiten von MOA-SP/SS vermittelt bekommen. Die detaillierte und vollständige Beschreibung +des Funktionsumfangs ist in den Spezifikationen von MOA-SP/SS und des Security-Layers enthalten. +
+
+

+ + + +
+ + + +
+

 

+
+Beispiel:
+Request
+Response
+

+
+
+

Beispiel:
einfacher CreateXMLSignatureRequest

+
+Das Beispiel in CreateXMLSignatureReqest1.xml zeigt einen +einfachen <CreateXMLSignatureRequest>. Die Bedeutung der einzelnen Elemente +wird im folgenden beschrieben: +
+  <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+
+PKCS12RSAKey1 bezeichnet eine Schlüsselgruppe aus der MOA-SS einen Signaturschlüssel selektieren soll +und muss einer im Konfigurationsfile definierten <KeyGroup> entsprechen. +
+  <SingleSignatureInfo SecurityLayerConformity="false">
+
+Für jedes <SingleSignatureInfo>-Element 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. +
+    <DataObjectInfo Structure="enveloping">
+
+Für jedes Daten-Objekt, das in die 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 soll +(Structure="enveloping") oder via eine URL referenziert werden soll (Structure="detached"). +

+Im Fall von Structure="enveloping" muss im nachfolgenden DataObject Element entweder das +Attribut Reference gesetzt sein oder die zu signierenden Daten explizit im Element Base64Content oder +XMLContent spezifiziert sein. Die Angabe der zu signierenden Daten über das Attribut Reference +und gleichzeitig dem Element Base64Content oder XMLContent ist nicht erlaubt. +

+Im Fall von Structure="detached" muss das Attribut Reference im nachfolgenden DataObject +Element gesetzt sein. Die Angabe der Elemente Base64Content oder XMLContent ist optional. +
+      <DataObject>
+        <XMLContent xml:space="preserve">
+          Diese Daten werden signiert.
+        <XMLContent>
+      </DataObject>
+
+Die zu signierenden Daten werden im Element <DataObject> spezifiziert und können entweder als +<XMLContent> oder <Base64Content> oder über das Attribut Reference +angegeben werden. +
+      <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 keine Transformationen angegeben so muss zumindest der MIME-Type der zu signierenden Daten spezifiziert werden. +

+Die von diesem Request erzeugt Response ist in CreateXMLSignatureResponse1.xml abgelegt. +

+
+

+ + +
+ + + +
+

 

+
+Beispiel:
+Request
+Response
+

+
+
+

Beispiel:
einfacher VerifyXMLSignatureRequest

+
+Die oben erzeugte XML-Signatur kann mit dem in VerifyXMLSignatureReqest1.xml gezeigten +einfachen <VerifyXMLSignatureRequest> wieder überprüft werden. +
+<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
+          Id="signature-1"
+          xmlns:dsig="http://www.w3.org/2000/09/
+                             xmldsig#">
+          .........
+        </dsig:Signature>
+      </XMLContent>
+    </VerifySignatureEnvironment>
+
+ +Im Element VerifySignatureInfo wird zuerst die zu überprüfende Signatur im Element +VerifySignatureEnvironment angegeben. Im Beispiel wird die Signatur als Kind-Element von +<XMLContent> spezifiziert. Alternativ könnte die Signatur in Base64-Kodierung +im Element <Base64Content> oder mit dem Attribut Reference über eine URL +referenziert werden. + +
+    <VerifySignatureLocation>
+      //dsig:Signature
+    </VerifySignatureLocation>
+    
+  </VerifySignatureInfo>
+
+ +Weiters muss mittels eines XPath-Ausdrucks im Element <VerifySignatureLocation> +die Position der zu prüfenden Signatur spezifiziert werden. Werden im XPath-Ausdruck +Namespace-Prefixes verwendet, müssen die entsprechenden Namespace-Deklarationen im Kontext +des Elements VerifySignatureLocation bekannt sein. Im Beispiel wird das Prefix dsig +verwendet, das im Element <VerifyXMLSignatureRequest> deklariert wird. + +
+  <TrustProfileID>TrustProfile1<TrustProfileID>
+
+Abschließend wird im Element <TrustProfileID> ein Trustprofile spezifiziert, das am MOA-SP Server +definiert ist und jene Zertifikate enthält, die für diesen Request als vertrauenswürdig gelten. +

+Die von diesem Request erzeugt Response ist in VerifyXMLSignatureResponse1.xml abgelegt. Die Response enthält das Ergebnis der Signaturprüfung +im Element <SignatureCheck>, das Ergebnis der Zertifikatsprüfung im Element +<CertificateCheck> und Informationen über den Signator im Element +<SignerInfo>/<X509Data>. Die Informationen über den Signator bestehen aus den Elementen +<X509SubjectName>, <X509IssuerSerial> und <X509Certificate>. + +

+
+

+ + +
+ + + +
+

 

Beispiel:
Request
+Response +


+
+

Beispiel:
umfassender CreateXMLSignatureRequest

Das Beispiel in CreateXMLSignatureReqest2.xml zeigt einen umfassenden +<CreateXMLSignatureRequest>. +

+Das Beispiel benötigt zwei Dateien, die über die URL +http://localhost:8080/TestDatenGenerator/resources/<Dateiname> erreichbar sind. +Bevor der Beispiel-Request ausgeführt wird, muss daher +TestDatenGenerator.zip +entpackt und in $CATALINA_HOME/webapps kopiert werden. Voraussetzung ist, dass Tomcat auf Port 8080 läuft. + +
+<CreateXMLSignatureRequest
+  xmlns="http://reference.e-government.gv.at/
+      namespace/moa/20020822#"
+  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+  <KeyIdentifier>PKCS12RSAKey1</KeyIdentifier>
+  <SingleSignatureInfo SecurityLayerConformity="false">
+    <DataObjectInfo Structure="enveloping" 
+    ChildOfManifest="true">
+      <DataObject>
+        <XMLContent>Diese Daten werden 
+        signiert.</XMLContent>
+      </DataObject>
+      <CreateTransformsInfoProfile>
+        <CreateTransformsInfo>
+          <FinalDataMetaInfo>
+            <MimeType>text/plain</MimeType>
+          </FinalDataMetaInfo>
+        </CreateTransformsInfo>
+      </CreateTransformsInfoProfile>
+    </DataObjectInfo>
+  </SingleSignatureInfo>
+
+ +Der Anfang des Requests ist identisch mit dem einfachen CreateXMLSignatureRequest. +Als Variation wurde <ChildOfManifest= "true"> gesetzt. + +Damit wird spezifiziert, dass die zugehörige <dsig:Reference> nicht in das Element +<SignedInfo> sondern in ein XMLDSig-Manifest eingefügt werden soll. + +Wird das Attribut <ChildOfManifest> nicht gesetzt, dann +wird kein XMLDSig-Manifest erzeugt. + +
+  <SingleSignatureInfo SecurityLayerConformity="true">
+
+ +Anschließend wird angegeben, dass eine zweite Signatur erstellt werden soll. +SecurityLayerConformity="true" gibt an, dass die Signatur entsprechend der Security-Layer +Spezifikation Version 1.1 erstellt werden muss, d.h. es werden Signaturattribute und gegebenenfalls ein + +Signatur-Manifest erzeugt. Wird eine Security-Layer konforme Signatur erzeugt, dann +darf <ChildOfManifest="true"> nicht gesetzt sein. +

+Die zweite Signatur soll zwei Datenobjekte enthalten: + +

+    <DataObjectInfo Structure="detached">
+
+ +Für das erste Datenobjekt sollen die signierten Daten nicht in der Signatur enthalten sein (Structure="detached"). + +
+      <DataObject
+        Reference="http://localhost:8080/TestDatenGenerator
+                   /resources/testDaten.txt">
+        <Base64Content>
+          RGllcyBz........DQphdXM=
+        </Base64Content>
+      </DataObject>
+      <CreateTransformsInfoProfile>
+        <CreateTransformsInfo>
+          <FinalDataMetaInfo>
+            <MimeType>text/plain</MimeType>
+          </FinalDataMetaInfo>
+        </CreateTransformsInfo>
+      </CreateTransformsInfoProfile>
+    </DataObjectInfo>
+
+ +Die zu signierenden Daten sind in Base64-Kodierung angegeben und werden in der Signatur über die URL, die im +Attribut Reference angegeben ist, referenziert. Diese URL wird im Zuge der Signaturerstellung +nicht aufgelöst, da die Daten bereits explizit im Request angegeben sind. Es werden keine weitere +Transformationen für das Datenobjekt angegeben. + +
+    <DataObjectInfo Structure="enveloping">
+      <DataObject>
+        <XMLContent xml:space="preserve">
+          <data:book
+            xmlns:data="http://uri.data.org"
+            data:hardback="yes">
+            <data:title>
+              Gesundheitliche Auswirkungen 
+              elektronischer Signaturen
+            </data:title>
+            <data:first-name>Ellipse</data:first-name>
+            <data:last-name>Kurvenreich</data:last-name>
+            <data:birth-date>1951-04-16</data:birth-date>
+            <data:birth-location>
+              Hinterm Berg
+            </data:birth-location>
+            <data:register-number>
+              6-930-21512-12
+            </data:register-number>
+          </data:book>
+        </XMLContent>
+      </DataObject>
+
+ +Das zweite Datenobjekt, das signiert werden soll ist eine XML-Struktur. +

+Für die XML-Struktur wird eine Transformation spezifiziert, die angewendet werden muss, bevor die Daten signiert +werden: +

+      <CreateTransformsInfoProfile>
+
+Transformationen können entweder explizit im Request im Element <CreateTransformsInfoProfile> +angegeben werden oder mit dem Element <CreateTransformsInfoProfileID> über eine am MOA-SS-Server +konfigurierte Profil-ID referenziert werden. +
+        <CreateTransformsInfo>
+
+Im Transformationsprofil werden im Element <CreateTransformsInfo> die Transformationskette +(<dsig:Transforms>) und optionale Ergänzungsobjekte (<Supplement>) angegeben. +
+          <dsig:Transforms>
+            <dsig:Transform
+              Algorithm="http://www.w3.org/TR/
+                1999/REC-xslt-19991116">
+              <xsl:stylesheet
+                xmlns:xsl="http://www.w3.org/
+                   1999/XSL/Transform"
+                version="1.0">
+                <xsl:include
+                  href="http://localhost:8080/
+                        TestDatenGenerator/resources/
+                        CX1_book_not_here.xsl"/>
+              </xsl:stylesheet>
+            </dsig:Transform>
+          </dsig:Transforms>
+
+Im Beispiel besteht die Transformationskette aus einer XSLT-Transformation, die ein weiteres XSLT Stylesheet inkludiert. +MOA-SS unterstützt alle Transformationen aus der XMLDSig-Spezifikation sowie Exclusive XML Canonicalization 1.0 und +XPath Filter 2.0. + +
          
+          <FinalDataMetaInfo>
+            <MimeType>text/html</MimeType>
+          </FinalDataMetaInfo>
+        </CreateTransformsInfo>
+
+<FinalDataMetaInfo> gibt den MIME-Type der Daten an, die das Ergebnis der Transformation bilden und +tatsächlich signiert werden. +

+Weiters können optional Ergänzungsobjekte angegeben werden, die Daten enthalten, die von MOA-SP zur +Signaturerstellung verwendet werden sollen: +

+        <Supplement>
+          <Content Reference="http://localhost:8080/
+                              TestDatenGenerator/resources/
+                              CX1_book_not_here.xsl">
+            <Base64Content>PHhzbDpzdHls.....eWxlc2hlZXQ+
+            </Base64Content>
+          </Content>
+        </Supplement>
+      </CreateTransformsInfoProfile>
+    </DataObjectInfo>
+
+Im aktuellen Beispiel wird ein Ergänzungsobjekt für jenes Stylesheet angegeben, das im Stylesheet der oben +spezifizierten XSLT-Transformation referenziert wird. MOA-SS wird die angegebene URL nicht auflösen sondern +stattdessen die im Ergänzungsobjekt enthaltenen Daten verwenden. +

+

+    <CreateSignatureInfo xmlns:env="http://uri.env.org">
+
+Abschließend wird hier noch mittels des optionalen Elements <CreateSignatureInfo> festgelegt, +dass die zu erzeugende Signatur in ein bereits bestehendes XML-Dokument eingebettet werden soll. Im Beispiel +wird das Namespace-Prefix env hier deklariert, da es weiter unten im Element +CreateSignatureLocation verwendet werden wird. +
+      <CreateSignatureEnvironment>
+        <XMLContent>
+          <env:Document
+            xmlns:env="http://uri.env.org"
+            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+            xsi:schemaLocation="http://uri.env.org
+                                http://anyhost/envSchema.xsd">
+            nach diesem Text wird die Signatur in das Dokument
+            eingefügt
+          </env:Document>
+        </XMLContent>
+      </CreateSignatureEnvironment>
+
+Im Element <CreateSignatureEnvironment> wird das XML-Dokument angegeben. +
+      <CreateSignatureEnvironmentProfile>
+        <CreateSignatureLocation Index="1">
+          /env:Document
+        </CreateSignatureLocation>
+      </CreateSignatureEnvironmentProfile>
+
+Anschließend wird im Profil angegeben an welcher Position des XML-Dokuments die Signatur eingefügt werden +soll. Im Element <CreateSignatureLocation> wird ein XPath-Ausdruck angegeben, der das +Element selektiert, als dessen Kind die Signatur eingefügt werden soll. Das Attribut Index spezifiziert +die Position innerhalb dieses Elements, an der die Signatur eingefügt werden soll. "0" gibt an, +dass die Signatur als erstes Kind eingefügt werden soll. +
+    </CreateSignatureInfo>
+  </SingleSignatureInfo>
+</CreateXMLSignatureRequest>
+
+Abschließend müssen alle Elemente wieder geschlossen werden. +

+Die von diesem Request erzeugt Response ist in +CreateXMLSignatureResponse2.xml abgelegt. Die Response enthält zwei Elemente SignatureEnvironment, die die +beiden erzeugten Signaturen enthalten. +

+
+

+ +
+ + + + + +
+

 

+
+Beispiel:
+Request
+Response
+

+
+
+

Beispiel:
umfassender VerifyXMLSignatureRequest

+
+Das Beispiel in +VerifyXMLSignatureReqest2.xml zeigt wie die im obigen Beispiel erzeugte zweite Signatur +überprüft werden kann. +
+<VerifyXMLSignatureRequest
+  xmlns="http://reference.e-government.gv.at/
+     namespace/moa/20020822#"
+  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+  <DateTime>2003-03-24T12:41:54+01:00</DateTime>
+
+Optional kann ein Datum und eine Uhrzeit angegeben werden, für die die Überprüfung durchgeführt werden soll. + +
  
+  <VerifySignatureInfo>
+    <VerifySignatureEnvironment>
+     <XMLContent>
+       <env:Document xmlns:env="http://uri.env.org" .....>
+         nach diesem Text ..... Dokument eingefuegt
+         <dsig:Signature .....>.....</dsig:Signature>
+       </env:Document>
+      </XMLContent>
+    </VerifySignatureEnvironment>
+
+Die Signatur inklusive des umgebenden XML-Dokuments wird im Element <VerifySignatureEnvironment> +angegeben. +
    
+    <VerifySignatureLocation>
+      //dsig:Signature
+    </VerifySignatureLocation>
+  </VerifySignatureInfo>
+
+Die zu prüfende Signatur aus dem Element <VerifySignatureEnvironment> wird über einen XPath-Ausdruck +spezifiziert. + +Enthält die Signatur ID-Attribute, die referenziert werden, dann muss das XML-Dokument validierend geparst werden können. +Im Beispiel-Request wird die URL des Schemas für das Element env:Document im Attribut xsi:schemaLocation +spezifiziert (http://anyhost/envSchema.xsd). Soll MOA-SP diese URL nicht selbst auflösen, dann kann das +Schema kann im Element SupplementProfile übergeben werden: + +
+  <SupplementProfile>
+    <Content Reference="http://anyhost/envSchema.xsd">
+      <XMLContent xml:space="preserve">
+        <xsd:schema
+          targetNamespace="http://uri.env.org"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+          elementFormDefault="qualified"
+          attributeFormDefault="unqualified">
+          <xsd:element name="Document">
+            <xsd:complexType mixed="true">
+              <xsd:sequence minOccurs="0"
+                            maxOccurs="unbounded">
+                <xsd:any namespace="##any"
+                         processContents="lax"/>
+              </xsd:sequence>
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:schema>
+      </XMLContent>
+    </Content>
+  </SupplementProfile>
+
+ +
+  <ReturnHashInputData/>
+
+Das Element gibt an, dass für jedes dsig:SignedInfo/dsig:Reference Element jene Daten, die für die +Hash-Berechnung der Signatur als Eingangsdaten verwendet werden, in der Antwort returniert werden sollen. + +
+  <TrustProfileID>TrustProfile1</TrustProfileID>
+</VerifyXMLSignatureRequest>
+
+Abschließend wird ein am MOA-SP Server definiertes Profil angegeben, dass jene Zertifikate umfasst, die für +diesen Request als vertrauenswürdig anzusehen sind. +

+ +Die von diesem Request erzeugt Response ist in +VerifyXMLSignatureResponse2.xml abgelegt. Zusätzlich zu den Daten der Response des einfachen +VerifyXMLSignatureRequests enthält diese Response für jedes dsig:SignedInfo/dsig:Reference Element +ein HashInputData Element. +

+
+

+ + + + + +
+ + + +
+

 

+
+Beispiel:
+Request
+Response
+

+
+
+

Beispiel:
VerifyCMSSignatureRequest

+
+Das Beispiel in VerifyCMSSignatureRequest.xml zeigt einen +einfachen <VerifyCMSSignatureRequest>. Die Bedeutung der einzelnen Elemente +wird im folgenden beschrieben: +
+<VerifyCMSSignatureRequest
+  xmlns="http://reference.e-government.gv.at/
+    namespace/moa/20020822#"
+  xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+  Signatories="1">
+
+Das optionale Attribut Signatories enthält eine Liste von positiven Ganzzahlen und gibt an, welche Signaturen +im CMS-Datenobjekt überprüft werden sollen. Signatories="1" gibt an, dass die erste Signatur geprüft +werden soll. +Wird das Attribut nicht spezifiziert, dann wird ebenfalls die erste Signatur geprüft. Signatories="all" +gibt an, dass alle im CMS-Objekt enthaltene Signaturen geprüft werden sollen. + +
+  <DateTime>2003-04-04T09:30:47-05:00</DateTime>
+
+Das optionale Element <DateTime> gibt an für welchen Zeitpunkt die Signaturüberprüfung +durchgeführt werden soll. Ist das Element nicht im Request enthalten, dann wird die aktuelle Systemzeit +verwendet. + +
+  <CMSSignature>MIIGAAYJKo...mT9fmvKwdJOiA==</CMSSignature>
+
+Das Element <CMSSignature> enthält das CMS-Signaturobjekt in Base64-Kodierung. +

+Sind die signierten Daten nicht in der CMS-Signatur enthalten, müssen sie im DataObject-Element +angegeben werden. Optional kann der MIME-Type dieser Daten spezifiziert werden. Die eigentlichen Daten +müssen im Base64Content-Element in Base64-Kodierung vorliegen. + +
+  <TrustProfileID>TrustProfile1<TrustProfileID>
+
+ +TrustProfile1 referenziert ein im Konfigurationsfile des MOA-Server definiertes Profil, das +jene Zertifikate umfasst, die für diese Überprüfung als vertrauenswürdig gelten. + + +

+Die von diesem Request erzeugt Response ist in +VerifyCMSSignatureResponse.xml abgelegt. Die Response enthält die selben Informationen wie die Response zum +einfachen VerifyXMLSignatureRequest. +

+
+

+ + + + + + +

+
+
© 2003
+
+
+ + +
+ + \ No newline at end of file diff --git a/spss.server/lib/axis-1.0/axis.jar b/spss.server/lib/axis-1.0/axis.jar new file mode 100644 index 000000000..7cf31027a Binary files /dev/null and b/spss.server/lib/axis-1.0/axis.jar differ diff --git a/spss.server/lib/axis-1.0/jaxrpc.jar b/spss.server/lib/axis-1.0/jaxrpc.jar new file mode 100644 index 000000000..4a2081643 Binary files /dev/null and b/spss.server/lib/axis-1.0/jaxrpc.jar differ diff --git a/spss.server/lib/axis-1.0/saaj.jar b/spss.server/lib/axis-1.0/saaj.jar new file mode 100644 index 000000000..cf43f1fcd Binary files /dev/null and b/spss.server/lib/axis-1.0/saaj.jar differ diff --git a/spss.server/lib/axis-1.0/wsdl4j.jar b/spss.server/lib/axis-1.0/wsdl4j.jar new file mode 100644 index 000000000..e90968e03 Binary files /dev/null and b/spss.server/lib/axis-1.0/wsdl4j.jar differ diff --git a/spss.server/lib/commons-discovery-0.2/commons-discovery.jar b/spss.server/lib/commons-discovery-0.2/commons-discovery.jar new file mode 100644 index 000000000..b88554847 Binary files /dev/null and b/spss.server/lib/commons-discovery-0.2/commons-discovery.jar differ diff --git a/spss.server/lib/commons-logging-1.0.2/commons-logging-api.jar b/spss.server/lib/commons-logging-1.0.2/commons-logging-api.jar new file mode 100644 index 000000000..d6ad90330 Binary files /dev/null and b/spss.server/lib/commons-logging-1.0.2/commons-logging-api.jar differ diff --git a/spss.server/lib/commons-logging-1.0.2/commons-logging.jar b/spss.server/lib/commons-logging-1.0.2/commons-logging.jar new file mode 100644 index 000000000..aca1e4132 Binary files /dev/null and b/spss.server/lib/commons-logging-1.0.2/commons-logging.jar differ diff --git a/spss.server/lib/iDoclet-1.0/iDoclet.jar b/spss.server/lib/iDoclet-1.0/iDoclet.jar new file mode 100644 index 000000000..6b4600e94 Binary files /dev/null and b/spss.server/lib/iDoclet-1.0/iDoclet.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/iaik-moa-full.jar b/spss.server/lib/iaik-moa-1.07/iaik-moa-full.jar new file mode 100644 index 000000000..da94b68c3 Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/iaik-moa-full.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/iaikPkcs11Provider.jar b/spss.server/lib/iaik-moa-1.07/iaikPkcs11Provider.jar new file mode 100644 index 000000000..52c32ff7e Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/iaikPkcs11Provider.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/iaikPkcs11Wrapper.jar b/spss.server/lib/iaik-moa-1.07/iaikPkcs11Wrapper.jar new file mode 100644 index 000000000..5d69f255c Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/iaikPkcs11Wrapper.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/iaik_cms.jar b/spss.server/lib/iaik-moa-1.07/iaik_cms.jar new file mode 100644 index 000000000..0f8be7bf0 Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/iaik_cms.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/iaik_ecc.jar b/spss.server/lib/iaik-moa-1.07/iaik_ecc.jar new file mode 100644 index 000000000..8c528a215 Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/iaik_ecc.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/iaik_jce_full.jar b/spss.server/lib/iaik-moa-1.07/iaik_jce_full.jar new file mode 100644 index 000000000..8d0f093e6 Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/iaik_jce_full.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/ixsil.jar b/spss.server/lib/iaik-moa-1.07/ixsil.jar new file mode 100644 index 000000000..606430367 Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/ixsil.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/signed/iaikPkcs11Provider_signed.jar b/spss.server/lib/iaik-moa-1.07/signed/iaikPkcs11Provider_signed.jar new file mode 100644 index 000000000..fd56f9911 Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/signed/iaikPkcs11Provider_signed.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/signed/iaik_ecc.jar b/spss.server/lib/iaik-moa-1.07/signed/iaik_ecc.jar new file mode 100644 index 000000000..4279ff571 Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/signed/iaik_ecc.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/signed/iaik_jce_full.jar b/spss.server/lib/iaik-moa-1.07/signed/iaik_jce_full.jar new file mode 100644 index 000000000..13f0b90be Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/signed/iaik_jce_full.jar differ diff --git a/spss.server/lib/iaik-moa-1.07/win32/pkcs11wrapper.dll b/spss.server/lib/iaik-moa-1.07/win32/pkcs11wrapper.dll new file mode 100644 index 000000000..dcc61609e Binary files /dev/null and b/spss.server/lib/iaik-moa-1.07/win32/pkcs11wrapper.dll differ diff --git a/spss.server/lib/jaxen-1.0/jaxen-core.jar b/spss.server/lib/jaxen-1.0/jaxen-core.jar new file mode 100644 index 000000000..e52bf679c Binary files /dev/null and b/spss.server/lib/jaxen-1.0/jaxen-core.jar differ diff --git a/spss.server/lib/jaxen-1.0/jaxen-dom.jar b/spss.server/lib/jaxen-1.0/jaxen-dom.jar new file mode 100644 index 000000000..1a9926357 Binary files /dev/null and b/spss.server/lib/jaxen-1.0/jaxen-dom.jar differ diff --git a/spss.server/lib/jaxen-1.0/saxpath.jar b/spss.server/lib/jaxen-1.0/saxpath.jar new file mode 100644 index 000000000..2b43955ba Binary files /dev/null and b/spss.server/lib/jaxen-1.0/saxpath.jar differ diff --git a/spss.server/lib/jaxp-1.2_01/dom.jar b/spss.server/lib/jaxp-1.2_01/dom.jar new file mode 100644 index 000000000..f91f80a8b Binary files /dev/null and b/spss.server/lib/jaxp-1.2_01/dom.jar differ diff --git a/spss.server/lib/jaxp-1.2_01/jaxp-api.jar b/spss.server/lib/jaxp-1.2_01/jaxp-api.jar new file mode 100644 index 000000000..7a3295ee6 Binary files /dev/null and b/spss.server/lib/jaxp-1.2_01/jaxp-api.jar differ diff --git a/spss.server/lib/jaxp-1.2_01/sax.jar b/spss.server/lib/jaxp-1.2_01/sax.jar new file mode 100644 index 000000000..9ffb844e5 Binary files /dev/null and b/spss.server/lib/jaxp-1.2_01/sax.jar differ diff --git a/spss.server/lib/jsse-1.0.3_01/jcert.jar b/spss.server/lib/jsse-1.0.3_01/jcert.jar new file mode 100644 index 000000000..d33134214 Binary files /dev/null and b/spss.server/lib/jsse-1.0.3_01/jcert.jar differ diff --git a/spss.server/lib/jsse-1.0.3_01/jnet.jar b/spss.server/lib/jsse-1.0.3_01/jnet.jar new file mode 100644 index 000000000..e1d340093 Binary files /dev/null and b/spss.server/lib/jsse-1.0.3_01/jnet.jar differ diff --git a/spss.server/lib/jsse-1.0.3_01/jsse.jar b/spss.server/lib/jsse-1.0.3_01/jsse.jar new file mode 100644 index 000000000..123188c5e Binary files /dev/null and b/spss.server/lib/jsse-1.0.3_01/jsse.jar differ diff --git a/spss.server/lib/junit-3.8.1/junit.jar b/spss.server/lib/junit-3.8.1/junit.jar new file mode 100644 index 000000000..674d71e89 Binary files /dev/null and b/spss.server/lib/junit-3.8.1/junit.jar differ diff --git a/spss.server/lib/log4j-1.2.7/log4j-1.2.7.jar b/spss.server/lib/log4j-1.2.7/log4j-1.2.7.jar new file mode 100644 index 000000000..1595a56ef Binary files /dev/null and b/spss.server/lib/log4j-1.2.7/log4j-1.2.7.jar differ diff --git a/spss.server/lib/postgres-jdbc2-7.3/pg73jdbc2.jar b/spss.server/lib/postgres-jdbc2-7.3/pg73jdbc2.jar new file mode 100644 index 000000000..8bf46dd8e Binary files /dev/null and b/spss.server/lib/postgres-jdbc2-7.3/pg73jdbc2.jar differ diff --git a/spss.server/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip b/spss.server/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip new file mode 100644 index 000000000..c450772ea Binary files /dev/null and b/spss.server/lib/servlet-2.3/servlet-2_3-fcs-classfiles.zip differ diff --git a/spss.server/lib/xalan-j-2.2/bsf.jar b/spss.server/lib/xalan-j-2.2/bsf.jar new file mode 100644 index 000000000..19036c1bc Binary files /dev/null and b/spss.server/lib/xalan-j-2.2/bsf.jar differ diff --git a/spss.server/lib/xalan-j-2.2/xalan.jar b/spss.server/lib/xalan-j-2.2/xalan.jar new file mode 100644 index 000000000..8dd6dca25 Binary files /dev/null and b/spss.server/lib/xalan-j-2.2/xalan.jar differ diff --git a/spss.server/lib/xerces-j-2.0.2/xercesImpl.jar b/spss.server/lib/xerces-j-2.0.2/xercesImpl.jar new file mode 100644 index 000000000..f25d73cd7 Binary files /dev/null and b/spss.server/lib/xerces-j-2.0.2/xercesImpl.jar differ diff --git a/spss.server/lib/xerces-j-2.0.2/xmlParserAPIs.jar b/spss.server/lib/xerces-j-2.0.2/xmlParserAPIs.jar new file mode 100644 index 000000000..c1fa1d645 Binary files /dev/null and b/spss.server/lib/xerces-j-2.0.2/xmlParserAPIs.jar differ diff --git a/spss.server/res/resources/properties/spss_messages_de.properties b/spss.server/res/resources/properties/spss_messages_de.properties new file mode 100644 index 000000000..cab226a82 --- /dev/null +++ b/spss.server/res/resources/properties/spss_messages_de.properties @@ -0,0 +1,140 @@ +# 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 +2221=Fehler bei der Behandlung des Schlüssels +2222=Fehler beim Erstellen des Manifests +2223=Fehler beim Erstellen der Referenz +2224=Hashwert nicht verfügbar +2225=Signier-Algorithmus wird nicht unterstützt +2226=Fehler beim Einbetten der Signatur +2227=Fehler beim Berechnen des Signaturwertes +2228=Fehler beim Behandeln der SignedProperties +2229=Signator-Zertifikat nicht verfügbar +2230=Fehler beim Auflösen eines Supplements +2231=Die Schlüsselgruppe ist nicht verfügbar +2232=Die Schlüsselgruppe ist leer +2233=Fehler beim Durchführen der Transformation +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}) +2240=Allgemeiner Fehler beim Verifizieren der Signatur +2241=Algorithmus wird nicht unterstützt +2242=Fehler beim Parsen der CMS Signatur +2243=Signator-Zertifikat nicht verfügbar +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 +2248=Fehler beim Vorbereiten der Daten +2249=Das Attribut Signatories enthält einen ungültigen Index (Index={0}) +2262=Fehler beim Behandeln des Manifests +2263=Fehler beim Parsen der Properties +2264=Fehler beim Behandeln der Referenz +2265=Fehler beim Durchführen der Transformation +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 +2270=Fehler beim Decodieren des Hash-Wertes +2271=Falsche Anzahl an ReferenceInfo Elementen in SignatureManfestCheckParams +2280=Die Angabe XMLContent wird derzeit nicht unterstützt + +2900=Interner Server-Fehler + +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: kein gültiger Wert für CRLArchive/duration +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 biem 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=Die URI für das TrustProfile mit id={0} ist ungültig (URI={1}) +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=Fehler in der Konfiguration: {0} nicht konfiguriert oder ungültig, verwende den Default-Wert: {1} +config.24=Fehler in der Konfiguration: Die GenericConfiguration mit name={0} ist bereits gesetzt +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 TrustProfile mit id={0} 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.30=Fehler in der Konfiguration: Die GenericConfiguration {0} zeigt nicht auf ein existierendes Verzeichnis oder das Verzeichnis konnte nicht erstellt werden +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 + +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 + +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}) diff --git a/spss.server/res/resources/security/cacerts b/spss.server/res/resources/security/cacerts new file mode 100644 index 000000000..6eeaba418 Binary files /dev/null and b/spss.server/res/resources/security/cacerts differ diff --git a/spss.server/res/resources/wsdl/MOA-SP-SS-1.0-20020829.wsdl b/spss.server/res/resources/wsdl/MOA-SP-SS-1.0-20020829.wsdl new file mode 100644 index 000000000..33940af66 --- /dev/null +++ b/spss.server/res/resources/wsdl/MOA-SP-SS-1.0-20020829.wsdl @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spss.server/server-config.wsdd b/spss.server/server-config.wsdd new file mode 100644 index 000000000..658da7464 --- /dev/null +++ b/spss.server/server-config.wsdd @@ -0,0 +1,49 @@ + + + + + + + + + + http://reference.e-government.gv.at/namespace/moa/20020822# + + + + + + + + + + + + + http://reference.e-government.gv.at/namespace/moa/20020822# + + + + + + + + + + + + + + + + + + + diff --git a/spss.server/src/at/gv/egovernment/moa/spss/MOAApplicationException.java b/spss.server/src/at/gv/egovernment/moa/spss/MOAApplicationException.java new file mode 100644 index 000000000..0d7abd1d3 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/MOAApplicationException.java @@ -0,0 +1,41 @@ +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 { + + /** + * 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/src/at/gv/egovernment/moa/spss/MOAException.java b/spss.server/src/at/gv/egovernment/moa/spss/MOAException.java new file mode 100644 index 000000000..a102d256b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/MOAException.java @@ -0,0 +1,164 @@ +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 { + /** 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/src/at/gv/egovernment/moa/spss/MOASystemException.java b/spss.server/src/at/gv/egovernment/moa/spss/MOASystemException.java new file mode 100644 index 000000000..5a49b6852 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/MOASystemException.java @@ -0,0 +1,40 @@ +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 { + + /** + * 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/src/at/gv/egovernment/moa/spss/api/Configurator.java b/spss.server/src/at/gv/egovernment/moa/spss/api/Configurator.java new file mode 100644 index 000000000..a0efa8924 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/Configurator.java @@ -0,0 +1,60 @@ +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/src/at/gv/egovernment/moa/spss/api/SPSSFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/api/SPSSFactory.java new file mode 100644 index 000000000..178a45273 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/SPSSFactory.java @@ -0,0 +1,993 @@ +package at.gv.egovernment.moa.spss.api; + +import java.io.InputStream; +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 org.apache.commons.discovery.tools.DiscoverClass; + +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 + * @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 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 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 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 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); + + /** + * 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 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. + * @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); + + /** + * 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 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. + * @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 publicAuthority, + String publicAuthorityID); + + /** + * 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/src/at/gv/egovernment/moa/spss/api/SignatureCreationService.java b/spss.server/src/at/gv/egovernment/moa/spss/api/SignatureCreationService.java new file mode 100644 index 000000000..a84ca2a83 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/SignatureCreationService.java @@ -0,0 +1,57 @@ +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/src/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java b/spss.server/src/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java new file mode 100644 index 000000000..d0fcb029a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/SignatureVerificationService.java @@ -0,0 +1,69 @@ +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/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java new file mode 100644 index 000000000..b4ecb3937 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContent.java @@ -0,0 +1,28 @@ +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/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java new file mode 100644 index 000000000..58c2b0259 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentExcplicit.java @@ -0,0 +1,19 @@ +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/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java new file mode 100644 index 000000000..7c4e6d913 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSContentReference.java @@ -0,0 +1,17 @@ +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/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java new file mode 100644 index 000000000..37f6fd396 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/CMSDataObject.java @@ -0,0 +1,25 @@ +package at.gv.egovernment.moa.spss.api.cmsverify; + +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(); +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java new file mode 100644 index 000000000..6d1f389af --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureRequest.java @@ -0,0 +1,52 @@ +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/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java new file mode 100644 index 000000000..5f2e6d255 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponse.java @@ -0,0 +1,21 @@ +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/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java new file mode 100644 index 000000000..49ddb9419 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/cmsverify/VerifyCMSSignatureResponseElement.java @@ -0,0 +1,32 @@ +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/src/at/gv/egovernment/moa/spss/api/common/Base64Transform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/Base64Transform.java new file mode 100644 index 000000000..94785727d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/Base64Transform.java @@ -0,0 +1,13 @@ +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/src/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java new file mode 100644 index 000000000..352461e52 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/CanonicalizationTransform.java @@ -0,0 +1,17 @@ +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/src/at/gv/egovernment/moa/spss/api/common/CheckResult.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/CheckResult.java new file mode 100644 index 000000000..974483d82 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/CheckResult.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/common/Content.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/Content.java new file mode 100644 index 000000000..173e9d395 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/Content.java @@ -0,0 +1,37 @@ +package at.gv.egovernment.moa.spss.api.common; + +/** + * Encapsulates content data. + * + * @author Patrick Peck + * @author Stephan Grill + * @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; + + /** + * Gets the type of content contained in this object. + * + * @return The type of content, either BINARY_CONTENT or + * XML_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/src/at/gv/egovernment/moa/spss/api/common/ContentBinary.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentBinary.java new file mode 100644 index 000000000..664afa406 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentBinary.java @@ -0,0 +1,21 @@ +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/src/at/gv/egovernment/moa/spss/api/common/ContentReference.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentReference.java new file mode 100644 index 000000000..c10f0c2f8 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentReference.java @@ -0,0 +1,11 @@ +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/src/at/gv/egovernment/moa/spss/api/common/ContentXML.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentXML.java new file mode 100644 index 000000000..ad5930452 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ContentXML.java @@ -0,0 +1,19 @@ +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/src/at/gv/egovernment/moa/spss/api/common/ElementSelector.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ElementSelector.java new file mode 100644 index 000000000..862cb84da --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ElementSelector.java @@ -0,0 +1,28 @@ +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/src/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java new file mode 100644 index 000000000..f951e35c0 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/EnvelopedSignatureTransform.java @@ -0,0 +1,15 @@ +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/src/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java new file mode 100644 index 000000000..369270259 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/ExclusiveCanonicalizationTransform.java @@ -0,0 +1,27 @@ +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/src/at/gv/egovernment/moa/spss/api/common/MetaInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/MetaInfo.java new file mode 100644 index 000000000..fea0a1b42 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/MetaInfo.java @@ -0,0 +1,31 @@ +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(); +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/common/SignerInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/SignerInfo.java new file mode 100644 index 000000000..c3b4aaadc --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/SignerInfo.java @@ -0,0 +1,43 @@ +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 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/src/at/gv/egovernment/moa/spss/api/common/Transform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/Transform.java new file mode 100644 index 000000000..49a4e7c35 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/Transform.java @@ -0,0 +1,16 @@ +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/src/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java new file mode 100644 index 000000000..d2ea88968 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/X509IssuerSerial.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java new file mode 100644 index 000000000..e1e034222 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XMLDataObjectAssociation.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/common/XPathFilter.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathFilter.java new file mode 100644 index 000000000..247776ce0 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathFilter.java @@ -0,0 +1,38 @@ +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/src/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java new file mode 100644 index 000000000..335d37dbf --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathFilter2Transform.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/common/XPathTransform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathTransform.java new file mode 100644 index 000000000..f1cc1a2bc --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XPathTransform.java @@ -0,0 +1,30 @@ +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/src/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java new file mode 100644 index 000000000..7f44bb060 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/common/XSLTTransform.java @@ -0,0 +1,23 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java new file mode 100644 index 000000000..4af075da2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/Base64TransformImpl.java @@ -0,0 +1,22 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java new file mode 100644 index 000000000..dd700cf21 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentExplicitImpl.java @@ -0,0 +1,40 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java new file mode 100644 index 000000000..f9c080a0d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSContentReferenceImpl.java @@ -0,0 +1,38 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java new file mode 100644 index 000000000..6eec4e847 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CMSDataObjectImpl.java @@ -0,0 +1,46 @@ +package at.gv.egovernment.moa.spss.api.impl; + +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; + + /** + * 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; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java new file mode 100644 index 000000000..cf446d1b4 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CanonicalizationTransformImpl.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java new file mode 100644 index 000000000..2acb12e51 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CheckResultImpl.java @@ -0,0 +1,52 @@ +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.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.CheckResult#getInfo() + */ + public NodeList getInfo() { + return info; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java new file mode 100644 index 000000000..bbed6bf8b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentBinaryImpl.java @@ -0,0 +1,40 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java new file mode 100644 index 000000000..7f331d2cd --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentImpl.java @@ -0,0 +1,28 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java new file mode 100644 index 000000000..50609aa0e --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentReferenceImpl.java @@ -0,0 +1,24 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java new file mode 100644 index 000000000..c03f5edde --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ContentXMLImpl.java @@ -0,0 +1,40 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java new file mode 100644 index 000000000..22e4cd61d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileExplicitImpl.java @@ -0,0 +1,66 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java new file mode 100644 index 000000000..1c7dc6439 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureEnvironmentProfileIDImpl.java @@ -0,0 +1,39 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java new file mode 100644 index 000000000..097af7fff --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureInfoImpl.java @@ -0,0 +1,50 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java new file mode 100644 index 000000000..c0b36f505 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateSignatureLocationImpl.java @@ -0,0 +1,31 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java new file mode 100644 index 000000000..ff4108248 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoImpl.java @@ -0,0 +1,51 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java new file mode 100644 index 000000000..508b6c083 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileExplicitImpl.java @@ -0,0 +1,62 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java new file mode 100644 index 000000000..5cd1fcc48 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateTransformsInfoProfileIDImpl.java @@ -0,0 +1,38 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java new file mode 100644 index 000000000..08f94cc31 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureRequestImpl.java @@ -0,0 +1,53 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java new file mode 100644 index 000000000..590258e30 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/CreateXMLSignatureResponseImpl.java @@ -0,0 +1,37 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java new file mode 100644 index 000000000..8ab2241de --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/DataObjectInfoImpl.java @@ -0,0 +1,79 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java new file mode 100644 index 000000000..e460bd584 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ElementSelectorImpl.java @@ -0,0 +1,47 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java new file mode 100644 index 000000000..a1be3d86a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/EnvelopedSignatureTransformImpl.java @@ -0,0 +1,22 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java new file mode 100644 index 000000000..d7047ab44 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ErrorResponseImpl.java @@ -0,0 +1,52 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java new file mode 100644 index 000000000..bf21c8634 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ExclusiveCanonicalizationTransformImpl.java @@ -0,0 +1,48 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java new file mode 100644 index 000000000..9174e3a46 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultImpl.java @@ -0,0 +1,44 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java new file mode 100644 index 000000000..0071a14f3 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ManifestRefsCheckResultInfoImpl.java @@ -0,0 +1,32 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java new file mode 100644 index 000000000..c435dd8fd --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/MetaInfoImpl.java @@ -0,0 +1,59 @@ +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; + + /** + * 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; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java new file mode 100644 index 000000000..923a4bce1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferenceInfoImpl.java @@ -0,0 +1,38 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java new file mode 100644 index 000000000..6bb4d30ac --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultImpl.java @@ -0,0 +1,46 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java new file mode 100644 index 000000000..a21b417ae --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/ReferencesCheckResultInfoImpl.java @@ -0,0 +1,46 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java new file mode 100644 index 000000000..ab6240f79 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SPSSFactoryImpl.java @@ -0,0 +1,559 @@ +package at.gv.egovernment.moa.spss.api.impl; + +import java.io.InputStream; +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.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 SingleSignatureInfo createSingleSignatureInfo( + List dataObjectInfos, + CreateSignatureInfo createSignatureInfo, + boolean securityLayerConform) { + SingleSignatureInfoImpl singleSignatureInfo = new SingleSignatureInfoImpl(); + singleSignatureInfo.setDataObjectInfos(dataObjectInfos); + singleSignatureInfo.setCreateSignatureInfo(createSignatureInfo); + 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 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) { + + CMSDataObjectImpl cmsDataObject = new CMSDataObjectImpl(); + cmsDataObject.setMetaInfo(metaInfo); + cmsDataObject.setContent(content); + + 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 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) { + MetaInfoImpl metaInfo = new MetaInfoImpl(); + metaInfo.setMimeType(mimeType); + metaInfo.setDescription(description); + metaInfo.setAnyElements(otherInfo); + 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 publicAuthority, + String publicAuthorityID) { + SignerInfoImpl signerInfo = new SignerInfoImpl(); + signerInfo.setSignerCertificate(signerCertificate); + signerInfo.setQualifiedCertificate(qualifiedCertificate); + signerInfo.setPublicAuthority(publicAuthority); + signerInfo.setPublicAuhtorityID(publicAuthorityID); + 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/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java new file mode 100644 index 000000000..57d30ad3b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureEnvironmentResponseImpl.java @@ -0,0 +1,41 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java new file mode 100644 index 000000000..5924f8447 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignatureManifestCheckParamsImpl.java @@ -0,0 +1,52 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java new file mode 100644 index 000000000..277f1a008 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java @@ -0,0 +1,81 @@ +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; + + /** + * 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 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/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java new file mode 100644 index 000000000..b50a65c68 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SingleSignatureInfoImpl.java @@ -0,0 +1,49 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java new file mode 100644 index 000000000..78723fec2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileExplicitImpl.java @@ -0,0 +1,39 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java new file mode 100644 index 000000000..320827fad --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/SupplementProfileIDImpl.java @@ -0,0 +1,37 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java new file mode 100644 index 000000000..51c7a543f --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformImpl.java @@ -0,0 +1,26 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java new file mode 100644 index 000000000..2901fb1bb --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterBinaryImpl.java @@ -0,0 +1,42 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java new file mode 100644 index 000000000..9fe60638e --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterImpl.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java new file mode 100644 index 000000000..25449504c --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformParameterURIImpl.java @@ -0,0 +1,24 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java new file mode 100644 index 000000000..a7843e68c --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/TransformPatameterHashImpl.java @@ -0,0 +1,54 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java new file mode 100644 index 000000000..a3c37aaef --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureRequestImpl.java @@ -0,0 +1,93 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java new file mode 100644 index 000000000..40dc04683 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSignatureResponseElementImpl.java @@ -0,0 +1,62 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java new file mode 100644 index 000000000..f258380e0 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyCMSSinatureResponseImpl.java @@ -0,0 +1,37 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java new file mode 100644 index 000000000..2653e2fd2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureInfoImpl.java @@ -0,0 +1,47 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java new file mode 100644 index 000000000..933e42987 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifySignatureLocationImpl.java @@ -0,0 +1,15 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java new file mode 100644 index 000000000..594f9c246 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsDataImpl.java @@ -0,0 +1,36 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java new file mode 100644 index 000000000..d9a864499 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileExplicitImpl.java @@ -0,0 +1,61 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java new file mode 100644 index 000000000..fb1f10cea --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyTransformsInfoProfileIDImpl.java @@ -0,0 +1,38 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java new file mode 100644 index 000000000..26d7def4c --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureRequestImpl.java @@ -0,0 +1,113 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java new file mode 100644 index 000000000..f163013c1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/VerifyXMLSignatureResponseImpl.java @@ -0,0 +1,134 @@ +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. */ + private List hashInputDatas = new ArrayList(); + /** The reference input data objects. */ + 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/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java new file mode 100644 index 000000000..e6d644fd9 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/X509IssuerSerialImpl.java @@ -0,0 +1,45 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java new file mode 100644 index 000000000..b603c3367 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XMLDataObjectAssociationImpl.java @@ -0,0 +1,45 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java new file mode 100644 index 000000000..a96a8f161 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilter2TransformImpl.java @@ -0,0 +1,43 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java new file mode 100644 index 000000000..72d91bc58 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathFilterImpl.java @@ -0,0 +1,64 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java new file mode 100644 index 000000000..1c9817ecc --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XPathTransformImpl.java @@ -0,0 +1,59 @@ +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/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java new file mode 100644 index 000000000..c6ddc0fd6 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/impl/XSLTransformImpl.java @@ -0,0 +1,37 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java new file mode 100644 index 000000000..319d3ac9d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParser.java @@ -0,0 +1,288 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java new file mode 100644 index 000000000..eec9c4882 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureResponseBuilder.java @@ -0,0 +1,119 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java new file mode 100644 index 000000000..66c08e0ab --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/ProfileParser.java @@ -0,0 +1,285 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java new file mode 100644 index 000000000..0fff949b1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/RequestParserUtils.java @@ -0,0 +1,147 @@ +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 XML_ASSOC_CONTENT_XPATH = MOA + "Content"; + private static final String CONTENT_XPATH = + MOA + "Base64Content | " + MOA + "XMLContent"; + 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); + + return factory.createMetaInfo(mimeType, description, anyOther); + } + + /** + * 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 { // "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/src/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java new file mode 100644 index 000000000..cc3e73e41 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java @@ -0,0 +1,213 @@ +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 SL11 = Constants.SL11_PREFIX + ":"; + private static final String SL11_NS_URI = Constants.SL11_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, + boolean isPublicAuthority, + String publicAuthorityID) + 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(SL11_NS_URI, SL11 + "QualifiedCertificate") + : null; + 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) { + String attrValue = "xmlns:" + Constants.SL11_PREFIX; + qualifiedCertificateElem.setAttributeNS( + XMLNS_NS_URI, + attrValue, + SL11_NS_URI); + x509DataElem.appendChild(qualifiedCertificateElem); + } + if (isPublicAuthority) { + x509DataElem.appendChild(publicAuthorityElem); + if (publicAuthorityID != null) { + codeElem.appendChild(response.createTextNode(publicAuthorityID)); + publicAuthorityElem.appendChild(codeElem); + } + } + 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); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java new file mode 100644 index 000000000..84f377826 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/TransformParser.java @@ -0,0 +1,251 @@ +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. + * @throws MOAApplicationException An error occurred parsing the + * transformElem. + */ + private Transform parseExclusiveC14nTransform( + String algorithmUri, + Element transformElem) + throws MOAApplicationException { + + Element inclusiveNamespacesElem = + (Element) XPathUtils.selectSingleNode( + transformElem, + INCLUSIVE_NAMESPACES_XPATH); + + if (inclusiveNamespacesElem == null) { + throw new MOAApplicationException("2217", null); + } else { + StringTokenizer tokenizer = + new StringTokenizer(inclusiveNamespacesElem.getAttribute("PrefixList")); + List inclusiveNamespaces = new ArrayList(); + + 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/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java new file mode 100644 index 000000000..74d14b7cc --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParser.java @@ -0,0 +1,169 @@ +package at.gv.egovernment.moa.spss.api.xmlbind; + +import java.io.InputStream; +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"; + + /** 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); + } + + return factory.createCMSDataObject(metaInfo, content); + } 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/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java new file mode 100644 index 000000000..3fc8f223d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureResponseBuilder.java @@ -0,0 +1,101 @@ +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.isPublicAuthority(), + signerInfo.getPublicAuhtorityID()); + + ResponseBuilderUtils.addCodeInfoElement( + responseDoc, + responseElem, + "SignatureCheck", + signatureCheck.getCode(), + signatureCheck.getInfo()); + + ResponseBuilderUtils.addCodeInfoElement( + responseDoc, + responseElem, + "CertificateCheck", + certCheck.getCode(), + certCheck.getInfo()); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java new file mode 100644 index 000000000..e736af522 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParser.java @@ -0,0 +1,275 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java new file mode 100644 index 000000000..56bcf63fa --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureResponseBuilder.java @@ -0,0 +1,300 @@ +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.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().isPublicAuthority(), + response.getSignerInfo().getPublicAuhtorityID()); + + // add HashInputData elements + responseData = response.getHashInputDatas(); + if (responseData != null && !responseData.isEmpty()) { + for (iter = responseData.iterator(); iter.hasNext();) { + Content content = (Content) iter.next(); + addContent("HashInputData", content); + } + } + + // add ReferenceInputData elements + responseData = response.getReferenceInputDatas(); + if (responseData != null && !responseData.isEmpty()) { + for (iter = responseData.iterator(); iter.hasNext();) { + Content content = (Content) iter.next(); + addContent("ReferenceInputData", content); + } + } + + // 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 content The Content to add. Based on the type of + * the Content, either a Base64Content element + * or a XMLContent subelement will be added. A + * ContentBinary of type BinaryDataObject will be + * added as a Base64Content child element. + * ContentXML will be added as XMLContent child + * element. + * @throws MOAApplicationException An error occurred adding the content. + */ + private void addContent(String elementName, Content content) + throws MOAApplicationException { + + Element contentElem = responseDoc.createElementNS(MOA_NS_URI, elementName); + + switch (content.getContentType()) { + case Content.XML_CONTENT : + ContentXML contentXml = (ContentXML) content; + 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) content; + 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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java new file mode 100644 index 000000000..425c410ad --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfile.java @@ -0,0 +1,30 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java new file mode 100644 index 000000000..6aebd102b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileExplicit.java @@ -0,0 +1,30 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java new file mode 100644 index 000000000..1c0d87adc --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureEnvironmentProfileID.java @@ -0,0 +1,20 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java new file mode 100644 index 000000000..5ceae4d0a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureInfo.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java new file mode 100644 index 000000000..81374ceaa --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateSignatureLocation.java @@ -0,0 +1,23 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java new file mode 100644 index 000000000..94152434e --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfo.java @@ -0,0 +1,27 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java new file mode 100644 index 000000000..40acfd317 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfile.java @@ -0,0 +1,28 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java new file mode 100644 index 000000000..aeb74445f --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileExplicit.java @@ -0,0 +1,26 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java new file mode 100644 index 000000000..3631ead29 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateTransformsInfoProfileID.java @@ -0,0 +1,18 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java new file mode 100644 index 000000000..b8157fdfb --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureRequest.java @@ -0,0 +1,26 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java new file mode 100644 index 000000000..6bf54e6a5 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponse.java @@ -0,0 +1,20 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java new file mode 100644 index 000000000..2162d82fd --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/CreateXMLSignatureResponseElement.java @@ -0,0 +1,29 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java new file mode 100644 index 000000000..43d49c587 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/DataObjectInfo.java @@ -0,0 +1,48 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java new file mode 100644 index 000000000..30fa4fb52 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/ErrorResponse.java @@ -0,0 +1,24 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java new file mode 100644 index 000000000..449349a68 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/SignatureEnvironmentResponse.java @@ -0,0 +1,20 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java new file mode 100644 index 000000000..9c74c5157 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlsign/SingleSignatureInfo.java @@ -0,0 +1,32 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java new file mode 100644 index 000000000..1984ba349 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResult.java @@ -0,0 +1,24 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java new file mode 100644 index 000000000..258840162 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ManifestRefsCheckResultInfo.java @@ -0,0 +1,19 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java new file mode 100644 index 000000000..4c644583b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferenceInfo.java @@ -0,0 +1,19 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java new file mode 100644 index 000000000..7b5488613 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResult.java @@ -0,0 +1,23 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java new file mode 100644 index 000000000..be21b61c2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/ReferencesCheckResultInfo.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java new file mode 100644 index 000000000..8f0efacf3 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SignatureManifestCheckParams.java @@ -0,0 +1,26 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java new file mode 100644 index 000000000..569e691ca --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfile.java @@ -0,0 +1,28 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java new file mode 100644 index 000000000..7dd37a2d1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileExplicit.java @@ -0,0 +1,19 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java new file mode 100644 index 000000000..5b5083be9 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/SupplementProfileID.java @@ -0,0 +1,18 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java new file mode 100644 index 000000000..3e173e0cd --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameter.java @@ -0,0 +1,40 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java new file mode 100644 index 000000000..600227dfd --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterBinary.java @@ -0,0 +1,21 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java new file mode 100644 index 000000000..ec45ea4f4 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterHash.java @@ -0,0 +1,26 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java new file mode 100644 index 000000000..4a6f0a58f --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/TransformParameterURI.java @@ -0,0 +1,12 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java new file mode 100644 index 000000000..386651c47 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureInfo.java @@ -0,0 +1,27 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java new file mode 100644 index 000000000..f05e3e889 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifySignatureLocation.java @@ -0,0 +1,13 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java new file mode 100644 index 000000000..909fc58a2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfile.java @@ -0,0 +1,28 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java new file mode 100644 index 000000000..ff19683da --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileExplicit.java @@ -0,0 +1,25 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java new file mode 100644 index 000000000..0df3664da --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyTransformsInfoProfileID.java @@ -0,0 +1,18 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java new file mode 100644 index 000000000..eb71f500b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureRequest.java @@ -0,0 +1,55 @@ +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/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java new file mode 100644 index 000000000..14ac71e67 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/api/xmlverify/VerifyXMLSignatureResponse.java @@ -0,0 +1,60 @@ +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/src/at/gv/egovernment/moa/spss/overview.htm b/spss.server/src/at/gv/egovernment/moa/spss/overview.htm new file mode 100644 index 000000000..9b17bbf91 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/overview.htm @@ -0,0 +1,155 @@ + + + + + + +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/src/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java new file mode 100644 index 000000000..f2b847053 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationException.java @@ -0,0 +1,34 @@ +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 { + + /** + * Create a ConfigurationException. + * + * @see at.gv.egovernment.moa.spss.server.MOAException#MOAException(String, Object[]) + */ + public ConfigurationException(String messageId, Object[] parameters) { + super(messageId, parameters); + } + + /** + * Create a ConfigurationException. + * @see at.gv.egovernment.moa.spss.server.MOAException#MOAException(String, Object[], Throwable) + */ + public ConfigurationException( + String messageId, + Object[] parameters, + Throwable wrapped) { + + super(messageId, parameters, wrapped); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java new file mode 100644 index 000000000..1e966911b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java @@ -0,0 +1,956 @@ +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.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +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 iaik.ixsil.exceptions.URIException; +import iaik.ixsil.util.URI; +import iaik.pki.pathvalidation.ChainingModes; +import iaik.utils.RFC2253NameParser; +import iaik.utils.RFC2253NameParserException; + +import at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; +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.util.MessageProvider; + +/** + * 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 + "DigestMethodAlgorithm/@name"; + private static final String C14N_ALGORITHM_XPATH = + ROOT + CONF + "CanonicalizationAlgorithm/@name"; + private static final String HARDWARE_CRYPTO_MODULE_XPATH = + ROOT + CONF + "HardwareCryptoModule"; + private static final String HARDWARE_KEY_XPATH = + ROOT + CONF + "HardwareKeyModule"; + private static final String SOFTWARE_KEY_XPATH = + ROOT + CONF + "SoftwareKeyModule"; + private static final String KEYGROUP_XPATH = ROOT + CONF + "KeyGroup"; + private static final String KEY_XPATH = CONF + "Key"; + private static final String KEY_MODULE_ID_XPATH = CONF + "KeyModuleID"; + private static final String KEY_CERT_XPATH = CONF + "KeyCertIssuerSerial"; + private static final String KEYGROUP_MAPPING_XPATH = + ROOT + CONF + "KeyGroupMapping"; + private static final String KEYGROUP_MAPPING_KEYGROUP_XPATH = + CONF + "KeyGroup"; + private static final String ISSUER_SERIAL_XPATH = CONF + "X509IssuerSerial"; + private static final String ISSUER_XPATH = DSIG + "X509IssuerName"; + private static final String SERIAL_XPATH = DSIG + "X509SerialNumber"; + private static final String CHAINING_MODES_XPATH = + ROOT + CONF + "ChainingModes"; + private static final String CHAINING_MODES_DEFAULT_XPATH = + CHAINING_MODES_XPATH + "/@systemDefaultMode"; + private static final String TRUST_ANCHOR_XPATH = + ROOT + CONF + "ChainingModes/" + CONF + "TrustAnchor"; + private static final String CRL_DISTRIBUTION_POINT_XPATH = + ROOT + CONF + "CRLDistributionPoint"; + private static final String CA_ISSUER_DN_XPATH = CONF + "CAIssuerDN"; + private static final String DISTRIBUTION_POINT_XPATH = + CONF + "DistributionPoint"; + private static final String CRL_ARCHIVE_XPATH = ROOT + CONF + "CRLArchive"; + private static final String GENERIC_CONFIGURATION_XPATH = + ROOT + CONF + "GenericConfiguration"; + private static final String CREATE_TRANSFORMS_INFO_PROFILE_XPATH = + ROOT + CONF + "CreateTransformsInfoProfile"; + private static final String CREATE_SIGNATURE_ENVIRONMENT_PROFILE_XPATH = + ROOT + CONF + "CreateSignatureEnvironmentProfile"; + private static final String VERIFY_TRANSFORMS_INFO_PROFILE_XPATH = + ROOT + CONF + "VerifyTransformsInfoProfile"; + private static final String SUPPLEMENT_PROFILE_XPATH = + ROOT + CONF + "SupplementProfile"; + private static final String TRUST_PROFILE_XPATH = + ROOT + CONF + "TrustProfile"; + + // + // 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 }; + + /** 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 */ + private static final String DIGEST_ALGORITHM_DEFAULT = Constants.SHA1_URI; + + /** The root element of the MOA configuration */ + private Element configElem; + + /** 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. + */ + public ConfigurationPartsBuilder(Element configElem) { + this.configElem = configElem; + } + + /** + * Returns the root element of the MOA configuration. + * + * @return The root element of the MOA configuration. + */ + public Element getConfigElem() { + return configElem; + } + + /** + * 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 = + getAttributeValue(getConfigElem(), DIGEST_METHOD_XPATH, null); + + if (digestMethod == null + || !ACCEPTED_DIGEST_ALGORITHMS.contains(digestMethod)) { + warn( + "config.23", + new Object[] { "DigestMethodAlgorithm", DIGEST_ALGORITHM_DEFAULT }); + digestMethod = DIGEST_ALGORITHM_DEFAULT; + } + + return digestMethod; + } + + /** + * Returns the canonicalization algorithm name. + * + * @return The canonicalization algorithm name from the configuration. + */ + public String getCanonicalizationAlgorithmName() { + String c14nAlgorithm = + getAttributeValue(getConfigElem(), C14N_ALGORITHM_XPATH, null); + + if (c14nAlgorithm == null + || !ACCEPTED_C14N_ALGORITHMS.contains(c14nAlgorithm)) { + warn( + "config.23", + new Object[] { "CanonicalizationAlgorithm", C14N_ALGORITHM_DEFAULT }); + c14nAlgorithm = C14N_ALGORITHM_DEFAULT; + } + + return c14nAlgorithm; + } + + /** + * Build the mapping of generic configuration properties. + * + * @return The mapping of generic configuration properties (a name to value + * mapping) from the configuration. + */ + public Map buildGenericConfiguration() { + Map genericConfiguration = new HashMap(); + NodeIterator gcIter = + XPathUtils.selectNodeIterator( + getConfigElem(), + GENERIC_CONFIGURATION_XPATH); + Element gcElem; + + while ((gcElem = (Element) gcIter.nextNode()) != null) { + String gcName = gcElem.getAttribute("name"); + String gcValue = gcElem.getAttribute("value"); + + if (genericConfiguration.containsKey(gcName)) { + warn("config.24", new Object[] { gcName }); + } else { + genericConfiguration.put(gcName, gcValue); + } + } + + return genericConfiguration; + } + + /** + * 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 = modElem.getAttribute("name"); + String slotID = modElem.getAttribute("slotID"); + String userPIN = modElem.getAttribute("userPIN"); + HardwareCryptoModule module = + new HardwareCryptoModule(name, slotID, userPIN); + modules.add(module); + } + + return modules; + } + + /** + * Build the configured hardware keys. + * + * @param 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 = keyElem.getAttribute("id"); + String name = keyElem.getAttribute("name"); + String slotID = keyElem.getAttribute("slotID"); + String userPIN = keyElem.getAttribute("userPIN"); + + 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 The keyModules that the configuration already knows about. To + * prevent multiple key modules with the same ID. + * @param configRoot The directory containing the main configuration file. + * Used to resolve keystore files configured using a relative URI. + * @return The software keys contained in the configuration. + */ + public List buildSoftwareKeyModules(List keyModules, File configRoot) { + 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 = keyElem.getAttribute("id"); + String fileName = keyElem.getAttribute("filename"); + String passWord = keyElem.getAttribute("password"); + + 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 = keyGroupElem.getAttribute("id"); + Set keyGroupEntries = + buildKeyGroupEntries(keyGroupId, keyModuleIds, keyGroupElem); + KeyGroup keyGroup = new KeyGroup(keyGroupId, keyGroupEntries); + + 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, KEY_XPATH); + while ((keyEntryElem = (Element) keyEntryIter.nextNode()) != null) { + String keyModuleId = + getElementValue(keyEntryElem, KEY_MODULE_ID_XPATH, ""); + Element keyCertElem = + (Element) XPathUtils.selectSingleNode(keyEntryElem, KEY_CERT_XPATH); + 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, ISSUER_SERIAL_XPATH); + IssuerAndSerial issuerAndSerial; + + // build the IssuerAndSerial who has access to the key groups + 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, + KEYGROUP_MAPPING_KEYGROUP_XPATH); + while ((keyGroupElem = (Element) keyGroupIter.nextNode()) != null) { + String keyGroupId = keyGroupElem.getAttribute("id"); + 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 = + getAttributeValue( + getConfigElem(), + CHAINING_MODES_DEFAULT_XPATH, + CM_CHAINING); + + 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(trustAnchorElem); + String mode = trustAnchorElem.getAttribute("mode"); + + 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.CHAIN_MODE; + } + } + + /** + * Build the CRL distribution points mapping. + * + * @return The mapping from certificate authorities to distribution points. + */ + public Map buildCRLDistributionPoints() { + Map crlDps = new HashMap(); + NodeIterator crlDpIter; + Element crlDpElem; + + // select all CRLDistributionPoint elements and build the + // CRLDistributionPoints + crlDpIter = + XPathUtils.selectNodeIterator( + getConfigElem(), + CRL_DISTRIBUTION_POINT_XPATH); + + // build the mapping of CA name to distribution points + while ((crlDpElem = (Element) crlDpIter.nextNode()) != null) { + String caIssuerDNText = + getElementValue(crlDpElem, CA_ISSUER_DN_XPATH, ""); + RFC2253NameParser nameParser = new RFC2253NameParser(caIssuerDNText); + NodeIterator dpIter = + XPathUtils.selectNodeIterator(crlDpElem, DISTRIBUTION_POINT_XPATH); + String caIssuerDN; + Set dps; + Element dpElem; + + try { + caIssuerDN = nameParser.parse().getName(); + + // check, if a mapping exists or make a new mapping + dps = (Set) crlDps.get(caIssuerDN); + if (dps == null) { + dps = new HashSet(); + crlDps.put(caIssuerDN, dps); + } + + // add the distribution points of this CA to the set + while ((dpElem = (Element) dpIter.nextNode()) != null) { + DistributionPoint dp = buildDistributionPoint(dpElem); + dps.add(dp); + } + } catch (RFC2253NameParserException e) { + warn("config.13", new Object[] { caIssuerDNText }, e); + } + + } + + return crlDps; + } + + /** + * Build a distribution point from the DOM representation. + * + * @param dpElem The root element of the distribution point. + * @return The distribution point. + */ + private DistributionPoint buildDistributionPoint(Element dpElem) { + String uri = dpElem.getAttribute("uri"); + String reasonCodes = dpElem.getAttribute("reasonCodes"); + + return new DistributionPoint(uri, reasonCodes != null ? reasonCodes : ""); + } + + /** + * Return the CRL archive duration. + * + * @return The value of the CRL archive duration setting from the + * configuration. + */ + public int getCRLArchiveDuration() { + Element crlArchiveElem = + (Element) XPathUtils.selectSingleNode(getConfigElem(), CRL_ARCHIVE_XPATH); + String crlArchiveDuration; + + if (crlArchiveElem == null) { + return 0; + } + + try { + crlArchiveDuration = crlArchiveElem.getAttribute("duration"); + return Integer.parseInt(crlArchiveDuration); + } catch (NumberFormatException e) { + warn("config.01", null); + return 0; + } + } + + /** + * Build the CreateTransformsInfoProfiles. + * + * @param configRoot The directory of the main configuration file. Used for + * lookup of profiles with relative file names. + * @return The mapping from profile ID to profile. + */ + public Map buildCreateTransformsInfoProfiles(File configRoot) { + return loadProfiles( + configRoot, + CREATE_TRANSFORMS_INFO_PROFILE_XPATH, + "CreateTransformsInfoProfile"); + } + + /** + * Build the CreateSignatureEnvironmentProfiles. + * + * @param configRoot The directory of the main configuration file. Used for + * lookup of profiles with relative file names. + * @return The mapping from profile ID to profile. + */ + public Map buildCreateSignatureEnvironmentProfiles(File configRoot) { + return loadProfiles( + configRoot, + CREATE_SIGNATURE_ENVIRONMENT_PROFILE_XPATH, + "CreateSignatureEnvironmentProfile"); + } + + /** + * Build the VerifyTransformsInfoProfiles. + * + * @param configRoot The directory of the main configuration file. Used for + * lookup of profiles with relative file names. + * @return The mapping from profile ID to profile. + */ + public Map buildVerifyTransformsInfoProfiles(File configRoot) { + return loadProfiles( + configRoot, + VERIFY_TRANSFORMS_INFO_PROFILE_XPATH, + "VerifyTransformsInfoProfile"); + } + + /** + * Build the SupplementProfiles. + * + * @param configRoot The directory of the main configuration file. Used for + * lookup of profiles with relative file names. + * @return The mapping from profile ID to profile. + */ + public Map buildSupplementProfiles(File configRoot) { + return loadProfiles( + configRoot, + SUPPLEMENT_PROFILE_XPATH, + "SupplementProfile"); + } + + /** + * Load a profile mapping. + * + * @param root The absolute directory path of the main configuration file. + * @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(File root, String xpath, String profileRoot) { + Map profiles = new HashMap(); + NodeIterator profileIter = + XPathUtils.selectNodeIterator(getConfigElem(), xpath); + Element profileElem; + + while ((profileElem = (Element) profileIter.nextNode()) != null) { + String id = profileElem.getAttribute("id"); + String fileName = profileElem.getAttribute("filename"); + + if (profiles.containsKey(id)) { + warn("config.04", new Object[] { profileRoot, id }); + } else { + Element profile; + + try { + File profileFile = new File(fileName); + + // make profileFile absolute + if (!profileFile.isAbsolute()) { + profileFile = new File(root, fileName); + } + + // load the profile + info( + "config.22", + new Object[] { profileRoot, id, profileFile.getAbsoluteFile()}); + profile = loadProfile(profileFile); + + if (profile.getTagName().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; + } + + /** + * Bulid the trust profile mapping. + * + * @param configRoot The absolute path to the main configuration file. + * @return The profile ID to profile mapping. + */ + public Map buildTrustProfiles(File configRoot) { + Map trustProfiles = new HashMap(); + NodeIterator profileIter = + XPathUtils.selectNodeIterator(getConfigElem(), TRUST_PROFILE_XPATH); + Element profileElem; + + while ((profileElem = (Element) profileIter.nextNode()) != null) { + String id = profileElem.getAttribute("id"); + String uriStr = profileElem.getAttribute("uri"); + + try { + URI uri = new URI(uriStr); + TrustProfile profile; + File profileDir; + + if (!uri.isAbsolute()) { // make it absolute to the config file + uri = new URI(configRoot.toURL() + uriStr); + } + + profileDir = new File(uri.getPath()); + if (!profileDir.exists() || !profileDir.isDirectory()) { + warn("config.27", new Object[] { id }); + } + + if (trustProfiles.containsKey(id)) { + warn("config.04", new Object[] { "TrustProfile", id }); + } else { + profile = new TrustProfile(id, uri.toString()); + trustProfiles.put(id, profile); + } + + } catch (URIException e) { + warn("config.14", new Object[] { id, uriStr }, e); + } catch (MalformedURLException e) { + warn("config.15", null, e); + } + } + + return trustProfiles; + } + + // + // 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) + .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. + * @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); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java new file mode 100644 index 000000000..fbae33b72 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java @@ -0,0 +1,666 @@ +package at.gv.egovernment.moa.spss.server.config; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.math.BigInteger; +import java.net.URL; +import java.security.Principal; +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.w3c.dom.Element; + +import iaik.asn1.structures.Name; +import iaik.utils.RFC2253NameParser; +import iaik.utils.RFC2253NameParserException; + +import at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.DOMUtils; + +import at.gv.egovernment.moa.spss.util.MessageProvider; + +/** + * A class providing access to the MOA configuration data. + * + *

Configuration 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"; + + /** + * The name of the generic configuration property giving the root directory of + * a directory based cert store. + */ + public static final String DIRECTORY_CERTSTORE_PARAMETER_PROPERTY = + "DirectoryCertStoreParameters.RootDir"; + + /** The name of the generic configuration property which determines if + * certificates should be added to the cert store automatically. */ + public static final String AUTO_ADD_CERTIFICATES_PROPERTY = + "autoAddCertificates"; + + /** The name of the generic configuration property whether the authority + * info access should be used. */ + public static final String USE_AUTHORITY_INFO_ACCESS_PROPERTY = + "useAuthorityInfoAccess"; + + /** The name of the generic configuration property determining the maximum + * age of CRL entries. */ + public static final String MAX_REVOCATION_AGE_PROPERTY = "maxRevocationAge"; + + /** + * The name of the generic configuration property giving the database URL of + * the CRL archive. + */ + public static final String DATABASE_ARCHIVE_PARAMETER_PROPERTY = + "DataBaseArchiveParameter.JDBCUrl"; + + /** The name of the generic configuration property determining whether + * to check the revocation status of signer certificates. */ + public static final String REVOCATION_CHECKING_PROPERTY = "checkRevocation"; + + /** The name of the generic configuration property determining whether to + * archive revocation information. */ + public static final String ARCHIVE_REVOCATION_INFO_PROPERTY = + "archiveRevocationInfo"; + + /** The name of the generic configuration property used for setting the + * signing time to a predefined value. (Use for testing purposes only). */ + public static final String TEST_SIGNING_TIME_PROPERTY = "test.SigningTime"; + + /** + * 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; + + /** + * A Map which contains generic configuration information. Maps a + * configuration name (a String) to a configuration value (also a + * String). + */ + private Map genericConfiguration; + + /** + * 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 crlDistributionPoints; + + /** The CRL archive duration. */ + private int cRLArchiveDuration; + + /** + * 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; + + /** + * 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); + digestMethodAlgorithmName = builder.getDigestMethodAlgorithmName(); + canonicalizationAlgorithmName = + builder.getCanonicalizationAlgorithmName(); + hardwareCryptoModules = builder.buildHardwareCryptoModules(); + hardwareKeyModules = + builder.buildHardwareKeyModules(Collections.EMPTY_LIST); + softwareKeyModules = + builder.buildSoftwareKeyModules(hardwareKeyModules, configRoot); + allKeyModules = new ArrayList(hardwareKeyModules); + allKeyModules.addAll(softwareKeyModules); + keyGroups = builder.buildKeyGroups(allKeyModules); + keyGroupMappings = + builder.buildKeyGroupMappings(keyGroups, ANONYMOUS_ISSUER_SERIAL); + defaultChainingMode = builder.getDefaultChainingMode(); + chainingModes = builder.buildChainingModes(); + crlDistributionPoints = builder.buildCRLDistributionPoints(); + cRLArchiveDuration = builder.getCRLArchiveDuration(); + genericConfiguration = builder.buildGenericConfiguration(); + absolutizeCertStoreRoot(configRoot); + createTransformsInfoProfiles = + builder.buildCreateTransformsInfoProfiles(configRoot); + createSignatureEnvironmentProfiles = + builder.buildCreateSignatureEnvironmentProfiles(configRoot); + verifyTransformsInfoProfiles = + builder.buildVerifyTransformsInfoProfiles(configRoot); + supplementProfiles = builder.buildSupplementProfiles(configRoot); + trustProfiles = builder.buildTrustProfiles(configRoot); + warnings = new ArrayList(builder.getWarnings()); + checkConsistency(); + } 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 + } + } + } + + /** + * Returns the warnings encountered during building the configuration. + * + * @return A List of Strings, containing the + * warning messages. + */ + public List getWarnings() { + return warnings; + } + + /** + * Make the DIRECTORY_CERTSTORE_PARAMETER_PROPERTY generic + * configuration value an absolute file name. + * + * @param configRoot The root directory of the main configuration file. + */ + private void absolutizeCertStoreRoot(File configRoot) { + String certStoreRoot = + getGenericConfiguration(DIRECTORY_CERTSTORE_PARAMETER_PROPERTY); + + if (certStoreRoot != null) { + if (!new File(certStoreRoot).isAbsolute()) { + // make the cert store absolute + File absCertStore = new File(configRoot, certStoreRoot); + + setGenericConfiguration( + DIRECTORY_CERTSTORE_PARAMETER_PROPERTY, + absCertStore.getAbsolutePath()); + } + } else { + // no value given: set it to a reasonable (absolute) default + File absCertStore = new File(configRoot, "certstore"); + + setGenericConfiguration( + DIRECTORY_CERTSTORE_PARAMETER_PROPERTY, + absCertStore.getAbsolutePath()); + } + } + + /** + * Do some additional consistency checks on the configuration. + */ + private void checkConsistency() { + // check for valid DirectoryCertStoreParameters.RootDir + String certStoreRoot = + getGenericConfiguration(DIRECTORY_CERTSTORE_PARAMETER_PROPERTY); + + if (certStoreRoot != null) { + File certStore = new File(certStoreRoot); + + if (!certStore.exists() && !certStore.isDirectory()) { + boolean created = false; + + try { + created = certStore.mkdirs(); + } finally { + if (!created) { + warn( + "config.30", + new Object[] { DIRECTORY_CERTSTORE_PARAMETER_PROPERTY }); + } + } + } + } + + } + + /** + * 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 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; + } + + /** + * 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); + } + + mapping = (Map) keyGroupMappings.get(issuerAndSerial); + 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 CRL distribution points for a given CA. + * + * @param cert The certificate for which the CRL 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 getCRLDP(X509Certificate cert) { + try { + RFC2253NameParser nameParser = + new RFC2253NameParser(cert.getIssuerDN().toString()); + String caIssuerDN = nameParser.parse().getName(); + Set dps = (Set) crlDistributionPoints.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; + } + + /** + * Sets a generic configuration value. + * + * Existing values are overridden. + * + * @param name The name of the generic configuration. + * @param value The new value of the generic configuration. + */ + private void setGenericConfiguration(String name, String value) { + genericConfiguration.put(name, value); + } + + /** + * Return the value of a generic configuration. + * + * @param name The name of the generic configuration. + * @return The value of the generic configuration with the given name, or + * null, if none can be found. + */ + public String getGenericConfiguration(String name) { + return (String) genericConfiguration.get(name); + } + + /** + * Return the value of a generic configuration, or a given default value. + * + * @param name The name of the generic configuration. + * @param defaultValue A default value to be returned in case that the generic + * configuration with the given name does not exist. + * @return The value of the generic configuration with the given name, or the + * defaultValue, if none can be found. + */ + public String getGenericConfiguration(String name, String defaultValue) { + String value = (String) genericConfiguration.get(name); + return value != null ? value : defaultValue; + } + + /** + * 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); + } + + /** + * 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 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); + } + +} \ No newline at end of file diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java new file mode 100644 index 000000000..ce9588c87 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/DistributionPoint.java @@ -0,0 +1,134 @@ +package at.gv.egovernment.moa.spss.server.config; + +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 containing information about a CRL distribution point. + * + * @author Sven Aigner + * @author Patrick Peck + * @version $Id$ + */ +public class DistributionPoint { + + 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 distribution point URI. */ + private String uri; + /** The reason codes applicable for the distribution point. */ + private int reasonCodes; + + /** + * Create a DistributionPoint with a URI and a list of reason + * codes. + * + * @param uri The URI of the distribution point. + * @param reasonCodeStr A list of reason codes (a space-separated + * enumeration). + */ + public DistributionPoint(String uri, String reasonCodeStr) { + this.uri = uri; + this.reasonCodes = extractReasonCodes(reasonCodeStr); + } + + /** + * 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 }))); + } + } + + return codes; + } + + /** + * Return the URI of the distribution point. + * + * @return The URI of the distribution point. + */ + public String getUri() { + return uri; + } + + /** + * 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() + ">)"); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java new file mode 100644 index 000000000..62e8d63a6 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/HardwareCryptoModule.java @@ -0,0 +1,60 @@ +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/src/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java new file mode 100644 index 000000000..622c8d110 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/HardwareKeyModule.java @@ -0,0 +1,59 @@ +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/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java new file mode 100644 index 000000000..9d9262785 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/IssuerAndSerial.java @@ -0,0 +1,115 @@ +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) { + RFC2253NameParser parser = new RFC2253NameParser(issuer.getName()); + + try { + this.issuerDN = ((Name) parser.parse()).getRFC2253String(); + } catch (RFC2253NameParserException e) { + this.issuerDN = issuer.getName(); + } + this.serial = serial; + } + + /** + * 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/src/at/gv/egovernment/moa/spss/server/config/KeyGroup.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyGroup.java new file mode 100644 index 000000000..5fd108e1a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyGroup.java @@ -0,0 +1,69 @@ +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; + + /** + * Create a KeyGroup. + * + * @param id The ID of this KeyGroup. + * @param keyGroupEntries The keys belonging to this KeyGroup. + */ + public KeyGroup(String id, Set keyGroupEntries) { + this.id = id; + this.keyGroupEntries = keyGroupEntries; + } + + /** + * Return the KeyEntrys contained in this KeyGroup. + * + * @return The KeyEntrys contained in this KeyGroup. + */ + public Set getKeyGroupEntries() { + return keyGroupEntries; + } + + /** + * 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() + ")"; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java new file mode 100644 index 000000000..2e39d6aa3 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyGroupEntry.java @@ -0,0 +1,106 @@ +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/src/at/gv/egovernment/moa/spss/server/config/KeyModule.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyModule.java new file mode 100644 index 000000000..412516d82 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/KeyModule.java @@ -0,0 +1,41 @@ +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/src/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java new file mode 100644 index 000000000..479e98ca5 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/SoftwareKeyModule.java @@ -0,0 +1,48 @@ +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/src/at/gv/egovernment/moa/spss/server/config/TrustProfile.java b/spss.server/src/at/gv/egovernment/moa/spss/server/config/TrustProfile.java new file mode 100644 index 000000000..6ba33be63 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/config/TrustProfile.java @@ -0,0 +1,43 @@ +package at.gv.egovernment.moa.spss.server.config; + +/** + * 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; + + /** + * Create a TrustProfile. + * + * @param id The ID of the TrustProfile to create. + * @param uri The URI of the TrustProfile to create. + */ + public TrustProfile(String id, String uri) { + this.id = id; + this.uri = uri; + } + + /** + * 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; + } +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java new file mode 100644 index 000000000..eaee58d3f --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/cmsverify/CMSSignatureVerificationProfileImpl.java @@ -0,0 +1,37 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java new file mode 100644 index 000000000..713891714 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractKeyModuleConfigurationImpl.java @@ -0,0 +1,36 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java new file mode 100644 index 000000000..ac4286701 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/AbstractObservableConfiguration.java @@ -0,0 +1,48 @@ +package at.gv.egovernment.moa.spss.server.iaik.config; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import iaik.servertools.observer.NotificationData; +import iaik.servertools.observer.Observable; +import iaik.servertools.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.utils.observer.Observable#addObserver(iaik.utils.observer.Observer) + */ + public void addObserver(Observer observer) { + observers.add(observer); + } + + /** + * @see iaik.utils.observer.Observable#removeObserver(iaik.utils.observer.Observer) + */ + public boolean removeObserver(Observer observer) { + return observers.remove(observer); + } + + /** + * @see iaik.utils.observer.Observable#notify(iaik.utils.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/src/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java new file mode 100644 index 000000000..22d798bc3 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ArchiveConfigurationImpl.java @@ -0,0 +1,62 @@ +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 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.getGenericConfiguration( + ConfigurationProvider.DATABASE_ARCHIVE_PARAMETER_PROPERTY); + + if (jdbcUrl != null) { + this.archiveParameters = new DataBaseArchiveParameterImpl(jdbcUrl); + } + } + + /** + * 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/src/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.java new file mode 100644 index 000000000..1c2df80a5 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/CRLDistributionPointAdapter.java @@ -0,0 +1,54 @@ +package at.gv.egovernment.moa.spss.server.iaik.config; + +import iaik.pki.revocation.CRLDistributionPoint; +import iaik.pki.revocation.RevocationSourceTypes; + +import at.gv.egovernment.moa.spss.server.config.DistributionPoint; + +/** + * A class that wraps an + * at.gv.egovernment.moa.spss.server.config.DistributionPoint as a + * iaik.pki.revocation.CRLDistributionPoint. + * + * @see iaik.pki.revocation.CRLDistributionPoint + * @author Patrick Peck + * @version $Id$ + */ +public class CRLDistributionPointAdapter implements CRLDistributionPoint { + + /** The wrapped DistributionPoint. */ + private DistributionPoint distributionPoint; + + /** + * Create a new CRLDistributionPointAdapter. + * + * @param distributionPoint The DistributionPoint to wrap. It + * contains the data configured in the MOA configuration. + */ + public CRLDistributionPointAdapter(DistributionPoint distributionPoint) { + this.distributionPoint = distributionPoint; + } + + /** + * @see iaik.pki.revocation.CRLDistributionPoint#getReasonCodes() + */ + public int getReasonCodes() { + return distributionPoint.getReasonCodes(); + } + + /** + * @return RevocationSourceTypes.CRL + * @see iaik.pki.revocation.DistributionPoint#getType() + */ + public String getType() { + return RevocationSourceTypes.CRL; + } + + /** + * @see iaik.pki.revocation.DistributionPoint#getUri() + */ + public String getUri() { + return distributionPoint.getUri(); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java new file mode 100644 index 000000000..c9be3fc2b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/CertStoreConfigurationImpl.java @@ -0,0 +1,54 @@ +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.getGenericConfiguration( + ConfigurationProvider.DIRECTORY_CERTSTORE_PARAMETER_PROPERTY, + "certstore"); + + if (certStoreRoot != null) { + 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/src/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java new file mode 100644 index 000000000..7aa4cbe4b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImpl.java @@ -0,0 +1,121 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java new file mode 100644 index 000000000..d67523944 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/DataBaseArchiveParameterImpl.java @@ -0,0 +1,33 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java new file mode 100644 index 000000000..2b00d6766 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/DirectoryCertStoreParametersImpl.java @@ -0,0 +1,81 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java new file mode 100644 index 000000000..3c8f4c002 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareCryptoModuleConfigurationImpl.java @@ -0,0 +1,51 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java new file mode 100644 index 000000000..d905588c6 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/HardwareKeyModuleConfigurationImpl.java @@ -0,0 +1,55 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java new file mode 100644 index 000000000..8bd410ac7 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java @@ -0,0 +1,162 @@ +package at.gv.egovernment.moa.spss.server.iaik.config; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +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 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. + * @throws ConfigurationException An error occurred configuring the IAIK + * MOA subsystem. + */ + public void configure(ConfigurationProvider moaConfig) + throws ConfigurationException { + ConfigurationData configData = new ConfigurationDataImpl(moaConfig); + + warnings = new ArrayList(); + + try { + Configurator.init(configData, new TransactionId("IaikConfigurator")); + dumpKeyEntryIDs(); + checkKeyGroupConfig(moaConfig); + TrustStoreFactory.reset(); + } 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/src/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java new file mode 100644 index 000000000..9679e8d18 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/LoggerConfigImpl.java @@ -0,0 +1,34 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java new file mode 100644 index 000000000..0703cd326 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/PKIConfigurationImpl.java @@ -0,0 +1,85 @@ +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.util.BoolUtils; + +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) { + String archiveInfo; + + this.certStoreConfiguration = new CertStoreConfigurationImpl(config); + + this.revocationConfiguration = new RevocationConfigurationImpl(config); + + archiveInfo = + config.getGenericConfiguration( + ConfigurationProvider.ARCHIVE_REVOCATION_INFO_PROPERTY, + "false"); + if (archiveInfo != null && BoolUtils.valueOf(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/src/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java new file mode 100644 index 000000000..466234a11 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java @@ -0,0 +1,73 @@ +package at.gv.egovernment.moa.spss.server.iaik.config; + +import java.security.cert.X509Certificate; +import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import iaik.pki.revocation.RevocationConfiguration; + +import at.gv.egovernment.moa.util.BoolUtils; + +import at.gv.egovernment.moa.spss.server.config.DistributionPoint; +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(java.security.cert.X509Certificate, java.util.Date) + */ + public Set getAlternativeDistributionPoints( + X509Certificate cert, + Date date) { + + Set configuredPoints = config.getCRLDP(cert); + Set distributionPoints = new HashSet(); + Iterator iter; + + for (iter = configuredPoints.iterator(); iter.hasNext();) { + DistributionPoint dp = (DistributionPoint) iter.next(); + distributionPoints.add(new CRLDistributionPointAdapter(dp)); + } + + return distributionPoints; + } + + /** + * @see iaik.pki.revocation.RevocationConfiguration#archiveRevocationInfo(java.lang.String, java.lang.String) + */ + public boolean archiveRevocationInfo(String type, String uri) { + String info = + config.getGenericConfiguration( + ConfigurationProvider.ARCHIVE_REVOCATION_INFO_PROPERTY, + "false"); + + return info != null ? BoolUtils.valueOf(info) : false; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java new file mode 100644 index 000000000..343f096ef --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/SoftwareKeyModuleConfigurationImpl.java @@ -0,0 +1,75 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java new file mode 100644 index 000000000..f6fbad215 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/config/ValidationConfigurationImpl.java @@ -0,0 +1,56 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java new file mode 100644 index 000000000..c204eface --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/PKIProfileImpl.java @@ -0,0 +1,127 @@ +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.util.BoolUtils; + +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() { + String boolStr = + config.getGenericConfiguration( + ConfigurationProvider.AUTO_ADD_CERTIFICATES_PROPERTY, + "true"); + boolean boolValue = BoolUtils.valueOf(boolStr); + + return useAuthorityInfoAccess() ? true : boolValue; + } + + /** + * @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() { + String boolStr = + config.getGenericConfiguration( + ConfigurationProvider.USE_AUTHORITY_INFO_ACCESS_PROPERTY, + "true"); + return BoolUtils.valueOf(boolStr); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java new file mode 100644 index 000000000..3327b3a50 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/pathvalidation/ValidationProfileImpl.java @@ -0,0 +1,113 @@ +package at.gv.egovernment.moa.spss.server.iaik.pki.pathvalidation; + +import iaik.pki.pathvalidation.ValidationProfile; + +import at.gv.egovernment.moa.util.BoolUtils; + +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; + +import java.util.Collections; +import java.util.Set; + +/** + * 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() { + String checkingStr = + config.getGenericConfiguration( + ConfigurationProvider.REVOCATION_CHECKING_PROPERTY, + "false"); + + return BoolUtils.valueOf(checkingStr); + } + +} \ No newline at end of file diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java new file mode 100644 index 000000000..186d24934 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/revocation/RevocationProfileImpl.java @@ -0,0 +1,65 @@ +package at.gv.egovernment.moa.spss.server.iaik.pki.revocation; + +import java.security.cert.X509Certificate; + +import iaik.pki.revocation.RevocationProfile; +import iaik.pki.revocation.RevocationSourceTypes; + +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; + +/** + * An implementation of the RevocationProfile interface providing + * information about revocation status checking, based on MOA configuration + * data. + * + * @author Patrick Peck + * @version $Id$ + */ +public class RevocationProfileImpl implements RevocationProfile { + /** The default service order. */ + private static final String[] DEFAULT_SERVICE_ORDER = + { RevocationSourceTypes.CRL }; + /** The ConfigurationProvider to read the MOA configuration data + * from. */ + private ConfigurationProvider config; + /** The OCSP request hash algorithm. */ + private String oCSPRequestHashAlgorithm; + + /** + * Create a new RevocationProfileImpl. + * + * @param config The MOA configuration data. + */ + public RevocationProfileImpl(ConfigurationProvider config) { + this.config = config; + this.oCSPRequestHashAlgorithm = ""; + } + + /** + * @see iaik.pki.revocation.RevocationProfile#getMaxRevocationAge(String) + */ + public long getMaxRevocationAge(String distributionPointUri) { + String maxRevocationAgeStr = + config.getGenericConfiguration( + ConfigurationProvider.MAX_REVOCATION_AGE_PROPERTY, + "0"); + long revocationAge = Long.parseLong(maxRevocationAgeStr); + + return revocationAge; + } + + /** + * @see iaik.pki.revocation.RevocationProfile#getOCSPRequestHashAlgorithm() + */ + public String getOCSPRequestHashAlgorithm() { + return oCSPRequestHashAlgorithm; + } + + /** + * @see iaik.pki.revocation.RevocationProfile#getPreferredServiceOrder(java.security.cert.X509Certificate) + */ + public String[] getPreferredServiceOrder(X509Certificate cert) { + return DEFAULT_SERVICE_ORDER; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java new file mode 100644 index 000000000..8a1161b95 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/pki/store/truststore/TrustStoreProfileImpl.java @@ -0,0 +1,119 @@ +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.servertools.observer.NotificationData; +import iaik.servertools.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 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) { + 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.utils.observer.Observable interface + // + + /** + * @see iaik.utils.observer.Observable#addObserver(Observer) + */ + public void addObserver(Observer observer) { + observers.add(observer); + } + + /** + * @see iaik.utils.observer.Observable#removeObserver(Observer) + */ + public boolean removeObserver(Observer observer) { + return observers.remove(observer); + } + + /** + * @see iaik.utils.observer.Observable#notify(NotificationData) + */ + public void notify(NotificationData notificationData) { + for (Iterator iter = observers.iterator(); iter.hasNext();) { + Observer observer = (Observer) iter.next(); + observer.notify(notificationData); + } + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java new file mode 100644 index 000000000..e076fe1eb --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/Base64TransformationImpl.java @@ -0,0 +1,43 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java new file mode 100644 index 000000000..921b10cb6 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteArrayDataObjectImpl.java @@ -0,0 +1,54 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java new file mode 100644 index 000000000..ce400e61a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ByteStreamDataObjectImpl.java @@ -0,0 +1,49 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java new file mode 100644 index 000000000..a597b214d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/CanonicalizationImpl.java @@ -0,0 +1,43 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java new file mode 100644 index 000000000..875d82613 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/DataObjectImpl.java @@ -0,0 +1,87 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java new file mode 100644 index 000000000..41a47d0a1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/EnvelopedSignatureTransformationImpl.java @@ -0,0 +1,42 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java new file mode 100644 index 000000000..f50d0d9b1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/ExclusiveCanonicalizationImpl.java @@ -0,0 +1,71 @@ +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 ExclusiveCanonicalizationImpl) { + ExclusiveCanonicalizationImpl c14n = + (ExclusiveCanonicalizationImpl) other; + return getAlgorithmURI().equals(c14n.getAlgorithmURI()); + } + return false; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java new file mode 100644 index 000000000..19ca3dadf --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/SigningTimeImpl.java @@ -0,0 +1,34 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java new file mode 100644 index 000000000..59a414b69 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/TransformationImpl.java @@ -0,0 +1,43 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java new file mode 100644 index 000000000..bc31d694e --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLDataObjectImpl.java @@ -0,0 +1,46 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java new file mode 100644 index 000000000..c855a922a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLNodeListDataObjectImpl.java @@ -0,0 +1,47 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java new file mode 100644 index 000000000..4fca907f3 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XMLSignatureImpl.java @@ -0,0 +1,43 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java new file mode 100644 index 000000000..034d4b653 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2FilterImpl.java @@ -0,0 +1,116 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java new file mode 100644 index 000000000..c7496c2cd --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPath2TransformationImpl.java @@ -0,0 +1,82 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java new file mode 100644 index 000000000..ccedbadb2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XPathTransformationImpl.java @@ -0,0 +1,98 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java new file mode 100644 index 000000000..d38da650b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xml/XSLTTransformationImpl.java @@ -0,0 +1,168 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java new file mode 100644 index 000000000..a14b83b7d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/DataObjectTreatmentImpl.java @@ -0,0 +1,150 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java new file mode 100644 index 000000000..5ec0057fb --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureCreationProfileImpl.java @@ -0,0 +1,276 @@ +package at.gv.egovernment.moa.spss.server.iaik.xmlsign; + +import java.util.List; +import java.util.Set; + +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 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; + + /** + * 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) { + 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); + } + + /** + * @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 (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_X962_C2TNB191V1)) { + return SignatureAlgorithms.ECDSA_X962_C2TNB191V1; + } else { + throw new AlgorithmUnavailableException( + "No algorithm for key entry: " + selectedKeyID, + 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(); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java new file mode 100644 index 000000000..d55f61303 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlsign/XMLSignatureInsertionLocationImpl.java @@ -0,0 +1,45 @@ +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/src/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java new file mode 100644 index 000000000..216596dc3 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/iaik/xmlverify/XMLSignatureVerificationProfileImpl.java @@ -0,0 +1,131 @@ +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; + + /** + * @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; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java new file mode 100644 index 000000000..caf17db66 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/init/ConfiguratorImpl.java @@ -0,0 +1,42 @@ +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/src/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java b/spss.server/src/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java new file mode 100644 index 000000000..f968778d7 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java @@ -0,0 +1,122 @@ +package at.gv.egovernment.moa.spss.server.init; + +import java.io.IOException; +import java.security.Security; + +import javax.net.ssl.SSLSocketFactory; + +import iaik.ixsil.init.IXSILInit; + +import at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.logging.LoggingContext; +import at.gv.egovernment.moa.logging.LoggingContextManager; +import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moa.util.DOMUtils; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; +import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; +import at.gv.egovernment.moa.spss.server.logging.IaikLog; +import at.gv.egovernment.moa.spss.server.service.RevocationArchiveCleaner; +import at.gv.egovernment.moa.spss.util.MessageProvider; + +/** + * 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(); + ClassLoader cl = SystemInitializer.class.getClassLoader(); + 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")); + + // load some jsse classes so that the integrity of the jars can be verified + // before the iaik jce is installed as the security provider + // this workaround is only needed when sun jsse is used in conjunction with + // iaik-jce (on jdk1.3) + try { + cl.loadClass("javax.security.cert.Certificate"); // from jcert.jar + } catch (ClassNotFoundException e) { + Logger.warn(msg.getMessage("init.03", null), e); + } + + // set up SUN JSSE SSL + Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); + System.setProperty( + "java.protocol.handler.pkgs", + "com.sun.net.ssl.internal.www.protocol"); + SSLSocketFactory.getDefault(); + + // 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(); + new IaikConfigurator().configure(config); + Logger.info(new LogMsg(msg.getMessage("init.01", null))); + } catch (MOAException 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); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java new file mode 100644 index 000000000..33b924e2b --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvoker.java @@ -0,0 +1,207 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +import iaik.IAIKException; +import iaik.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 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.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; + +/** + * 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; + 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 signed content + signedContent = getSignedContent(request); + + // build the profile + profile = profileFactory.createProfile(); + + // get the signing time + signingTime = request.getDateTime(); + + // verify the signature + try { + 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); + } + + // 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(); + responseBuilder.addResult(result); + } + } else { + int i; + + for (i = 0; i < signatories.length; i++) { + int sigIndex = signatories[i] - 1; + + try { + result = + (CMSSignatureVerificationResult) results.get(signatories[i] - 1); + responseBuilder.addResult(result); + } 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 { + + 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 : + return ((CMSContentExcplicit) content).getBinaryContent(); + case CMSContent.REFERENCE_CONTENT : + String reference = ((CMSContentReference) content).getReference(); + if (!"".equals(reference)) { + ExternalURIResolver resolver = new ExternalURIResolver(); + return resolver.resolve(reference); + } else { + return null; + } + default : + return null; + } + + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java new file mode 100644 index 000000000..442921850 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationProfileFactory.java @@ -0,0 +1,61 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java new file mode 100644 index 000000000..6302cadfd --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/CreateXMLSignatureResponseBuilder.java @@ -0,0 +1,71 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java new file mode 100644 index 000000000..32c81dc07 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java @@ -0,0 +1,717 @@ +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.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 iaik.ixsil.util.URI; +import iaik.ixsil.util.XPointerReferenceResolver; +import iaik.server.modules.xml.DataObject; +import iaik.server.modules.xml.XMLDataObject; + +import at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; +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.MOAEntityResolver; +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.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.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.util.MessageProvider; + +/** + * A class to create DataObjects contained in different + * locations of the MOA XML request format. + * + * @author Patrick Peck + * @version $Id$ + */ +public class DataObjectFactory { + + /** 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 MOAEntityResolver(); + } else { + EntityResolverChain chain = new EntityResolverChain(); + + chain.addEntityResolver(buildSupplementEntityResolver(supplements)); + chain.addEntityResolver(new MOAEntityResolver()); + 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.REFERENCE_CONTENT : + { + ExternalURIResolver uriResolver = new ExternalURIResolver(); + InputStream is = uriResolver.resolve(reference); + contentBytes = StreamUtils.readStream(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); + } + + // try to parse validating + try { + ByteArrayInputStream is = new ByteArrayInputStream(contentBytes); + Document doc = + DOMUtils.parseDocument( + is, + true, + Constants.ALL_SCHEMA_LOCATIONS, + null, + entityResolver, + new MOAErrorHandler()); + + 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); + 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) { + 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.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) { + // serializing the element failed - just don't put it in the map + } + } + + break; + } + } + + return new StreamEntityResolver(entities); + } + + /** + * Create a DataObject from a Content object. + * + * @param content The Content object containing the data. + * @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, + 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.REFERENCE_CONTENT : + dataObject = createFromURIImpl(reference, referenceAsXml); + break; + } + + // set URI and reference ID + dataObject.setURI(content.getReference()); + dataObject.setReferenceID(referenceID); + + 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; + } + + 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()); + String contentType = resolver.getContentType(); + dataObject = new ByteStreamDataObjectImpl(is); + 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 { + + ExternalURIResolver resolver = new ExternalURIResolver(); + InputStream is = resolver.resolve(uri); + String contentType = resolver.getContentType(); + 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); + 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 { + try { + // try parsing non-validating: need not succeed + is = resolver.resolve(uri); + doc = DOMUtils.parseDocument(is, false, null, null); + dataObject = new XMLDataObjectImpl(doc.getDocumentElement()); + } catch (Exception e) { + // this is the last chance: return the data as a byte stream + is = resolver.resolve(uri); + dataObject = new ByteStreamDataObjectImpl(is); + } + } + } else if (asXml) { + // if we need XML data, we're in the wrong place here + throw new MOAApplicationException("2211", new Object[] { uri }); + } else { + // content is binary: make it available as a binary input stream + dataObject = new ByteStreamDataObjectImpl(is); + } + + dataObject.setMimeType(contentType); + dataObject.setURI(uri); + + return dataObject; + } + + /** + * 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); + 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/src/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java new file mode 100644 index 000000000..806b76409 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java @@ -0,0 +1,127 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +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 iaik.ixsil.exceptions.URIException; +import iaik.ixsil.util.URI; + +import at.gv.egovernment.moa.spss.MOAApplicationException; + +/** + * 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 }); + } + + // convert URI to URL + try { + // create the URL + url = new URL(uriStr); + } 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; + + 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/src/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java new file mode 100644 index 000000000..60f573e5a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/IaikExceptionMapper.java @@ -0,0 +1,267 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +import java.lang.reflect.Constructor; +import java.util.HashMap; +import java.util.Map; + +import iaik.IAIKException; +import iaik.IAIKRuntimeException; + +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.IAIKException.class, "9900", MOASystemException.class }, + { iaik.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 } + }; + + /** 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 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/src/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java new file mode 100644 index 000000000..0c3b45539 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/InvokerUtils.java @@ -0,0 +1,63 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java new file mode 100644 index 000000000..158a3ddb5 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ProfileMapper.java @@ -0,0 +1,249 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java new file mode 100644 index 000000000..11f05a2f1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/ServiceContextUtils.java @@ -0,0 +1,51 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java new file mode 100644 index 000000000..dc5ceb21e --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/SignatureCreationServiceImpl.java @@ -0,0 +1,45 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java new file mode 100644 index 000000000..94cdea5d9 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/SignatureVerificationServiceImpl.java @@ -0,0 +1,72 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java new file mode 100644 index 000000000..9984a95a5 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/TransformationFactory.java @@ -0,0 +1,258 @@ +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/src/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java new file mode 100644 index 000000000..55e2e1505 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/VerifyCMSSignatureResponseBuilder.java @@ -0,0 +1,86 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +import java.security.cert.X509Certificate; +import java.util.ArrayList; +import java.util.List; + +import iaik.server.modules.cmsverify.CMSSignatureVerificationResult; +import iaik.server.modules.cmsverify.CertificateValidationResult; + +import at.gv.egovernment.moa.spss.MOAApplicationException; +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; + +/** + * 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. + * @throws MOAApplicationException An error occurred adding the result. + */ + public void addResult(CMSSignatureVerificationResult result) + throws MOAApplicationException { + + CertificateValidationResult certResult = + result.getCertificateValidationResult(); + int signatureCheckCode = + result.getSignatureValueVerificationCode().intValue(); + int certificateCheckCode = certResult.getValidationResultCode().intValue(); + VerifyCMSSignatureResponseElement responseElement; + SignerInfo signerInfo; + CheckResult signatureCheck; + CheckResult certificateCheck; + + // add SignerInfo element + signerInfo = + factory.createSignerInfo( + (X509Certificate) certResult.getCertificateChain().get(0), + certResult.isQualifiedCertificate(), + certResult.isPublicAuthorityCertificate(), + certResult.getPublicAuthorityID()); + + // 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/src/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java new file mode 100644 index 000000000..2f55261d1 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/VerifyXMLSignatureResponseBuilder.java @@ -0,0 +1,317 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +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 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 at.gv.egovernment.moa.util.CollectionUtils; +import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moa.util.NodeListAdapter; + +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.SignerInfo; +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; + +/** + * 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. + * @throws MOAApplicationException An error occurred adding the result. + */ + public void setResult( + XMLSignatureVerificationResult result, + XMLSignatureVerificationProfile profile, + ReferencesCheckResult transformsSignatureManifestCheck) + throws MOAApplicationException { + + CertificateValidationResult certResult = + result.getCertificateValidationResult(); + List referenceDataList; + ReferenceData referenceData; + List dsigManifestList; + ReferencesCheckResultInfo checkResultInfo; + int[] failedReferences; + Iterator iter; + + // create the SignerInfo; + signerInfo = + factory.createSignerInfo( + (X509Certificate) certResult.getCertificateChain().get(0), + certResult.isQualifiedCertificate(), + certResult.isPublicAuthorityCertificate(), + certResult.getPublicAuthorityID()); + + // add HashInputData Content objects + referenceDataList = result.getReferenceDataList(); + if (profile.includeHashInputData()) { + hashInputDatas = new ArrayList(); + for (iter = referenceDataList.iterator(); iter.hasNext();) { + referenceData = (ReferenceData) iter.next(); + hashInputDatas.add(buildContent(referenceData.getHashInputData())); + } + } + + // create the ReferenceInputData Content objects + if (profile.includeReferenceInputData()) { + referenceInputDatas = new ArrayList(); + for (iter = referenceDataList.iterator(); iter.hasNext();) { + referenceData = (ReferenceData) iter.next(); + referenceInputDatas.add( + buildContent(referenceData.getReferenceInputData())); + } + } + + // 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.containsSecurityLayerManifest()) { + // no security layer manifest in signature + signatureManifestCheck = factory.createReferencesCheckResult(2, null); + } else { + // other error codes provided by IAIK signature verification + // need to add 1 to the check code for MOA compatibility + SecurityLayerManifest slManifest = result.getSecurityLayerManifest(); + int verificationResult = + slManifest.getManifestVerificationResult().intValue(); + + switch (verificationResult) { + case 0 : + signatureManifestCheck = + factory.createReferencesCheckResult(0, null); + break; + case 2 : + case 3 : + failedReferences = + buildFailedReferences(slManifest.getReferenceInfoList()); + checkResultInfo = + failedReferences != null + ? factory.createReferencesCheckResultInfo(null, failedReferences) + : null; + signatureManifestCheck = + factory.createReferencesCheckResult( + verificationResult + 1, + checkResultInfo); + } + } + + // Code = 1 prüfen + + if (result.containsSecurityLayerManifest()) { + } else { + // SignatureManifestCheck Code = 2 + } + } + + // 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.getReferenceInfoList()); + manifestCheckResultInfo = + factory.createManifestRefsCheckResultInfo( + null, + failedReferences, + refIndex); + xmlDsigManifestChecks.add( + factory.createManifestRefsCheckResult( + dsigManifest.getManifestVerificationResult().intValue(), + manifestCheckResultInfo)); + } + } + + // create the certificate check + certificateCheck = + factory.createCheckResult( + certResult.getValidationResultCode().intValue(), + null); + } + + /** + * Build a Content object from the given DataObject. + * + * @param dataObject The DataObject from which to build the + * Content. Based on the type of this parameter, the type of + * Content will either be XML_CONTENT or + * BINARY_CONTENT. + * @return The Content object containing the data. + * @throws MOAApplicationException An error occurred adding the content. + */ + private Content buildContent(DataObject dataObject) + throws MOAApplicationException { + + if (dataObject instanceof BinaryDataObject) { + BinaryDataObject binaryData = (BinaryDataObject) dataObject; + return factory.createContent(binaryData.getInputStream(), null); + } else if (dataObject instanceof XMLDataObject) { + XMLDataObject xmlData = (XMLDataObject) dataObject; + List nodes = new ArrayList(); + + nodes.add(xmlData.getElement()); + return factory.createContent(new NodeListAdapter(nodes), null); + } 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 factory.createContent(fragment.getChildNodes(), null); + } 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 factory.createContent(is, null); + } 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/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java new file mode 100644 index 000000000..6b8a3db2d --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvoker.java @@ -0,0 +1,522 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +import java.text.ParseException; +import java.util.ArrayList; +import java.util.Collections; +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 iaik.IAIKException; +import iaik.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 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.DateTimeUtils; + +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.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.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.SigningTimeImpl; +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; + +/** + * 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(); + Set reservedIDs = new HashSet(reserved); + XMLSignatureCreationProfileFactory profileFactory = + new XMLSignatureCreationProfileFactory(request, reservedIDs); + 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 { + // create the reference id generator + refIdGen = new IdGenerator("reference-" + createCount++, reservedIDs); + + // build the signature environment + createSignatureInfo = singleSignatureInfo.getCreateSignatureInfo(); + if (createSignatureInfo != null) { + DataObjectFactory dataObjFactory = DataObjectFactory.getInstance(); + + signatureEnvironment = + dataObjFactory.createSignatureEnvironment( + createSignatureInfo.getCreateSignatureEnvironment(), + getCreateSignatureEnvironmentProfileSupplements(singleSignatureInfo)); + } else { + signatureEnvironment = null; + } + + // build the list of DataObjects + dataObjectList = + buildDataObjectList( + singleSignatureInfo, + signatureEnvironment, + refIdGen); + + // build the XMLSignatureCreationProfile + profile = profileFactory.createProfile(singleSignatureInfo); + + // 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 { + // create the signature + signature = + module.createSignature( + dataObjectList, + profile, + additionalSignedProperties, + signatureParent, + new TransactionId(context.getTransactionID())); + + // insert the result into the response + if (signatureParent != null) { + responseBuilder.addSignatureEnvironment( + signatureParent.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 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, + XMLDataObject signatureEnvironment, + IdGenerator idGen) + throws MOASystemException, MOAApplicationException { + + List dataObjInfos = singleSignatureInfo.getDataObjectInfos(); + List dataObjects = new ArrayList(); + //Document requestDoc = singleSignatureInfo.getOwnerDocument(); + Iterator dtIter; + + for (dtIter = dataObjInfos.iterator(); dtIter.hasNext();) { + DataObjectInfo dataObjInfo = (DataObjectInfo) dtIter.next(); + String structure = dataObjInfo.getStructure(); + + if (DataObjectInfo.STRUCTURE_ENVELOPING.equals(structure)) { + dataObjects.add( + buildEnvelopingDataObject( + dataObjInfo.getDataObject(), + idGen.nextId())); + } else if (DataObjectInfo.STRUCTURE_DETACHED.equals(structure)) { + dataObjects.add( + buildDetachedDataObject( + dataObjInfo.getDataObject(), + signatureEnvironment, + idGen.nextId())); + } 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 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, + String referenceID) + throws MOASystemException, MOAApplicationException { + + DataObjectFactory factory = DataObjectFactory.getInstance(); + DataObject dataObject; + + dataObject = + factory.createFromContentOptionalRefType( + content, + 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 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, + 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, + 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; + String testSigningTime = + config.getGenericConfiguration( + ConfigurationProvider.TEST_SIGNING_TIME_PROPERTY); + + if (testSigningTime != null) { + try { + SigningTimeImpl signingTime = + new SigningTimeImpl(DateTimeUtils.parseDateTime(testSigningTime)); + additionalSignedProperties = new ArrayList(); + additionalSignedProperties.add(signingTime); + } catch (ParseException e) { + // if we fail here, the signing time will simply not be added to + // the list of signed properties + } + } + + return additionalSignedProperties; + } + +} \ No newline at end of file diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java new file mode 100644 index 000000000..c9bb12f75 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java @@ -0,0 +1,448 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +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 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 at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; +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.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.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; + +/** + * 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); + } + + /** 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. + * @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) + throws MOASystemException, MOAApplicationException { + + XMLSignatureCreationProfileImpl profile = + new XMLSignatureCreationProfileImpl(createProfileCount, reserved); + TransactionContext context = + TransactionContextManager.getInstance().getTransactionContext(); + ConfigurationProvider config = context.getConfiguration(); + CanonicalizationImpl canonicalization; + List dataObjectTreatmentList; + String keyGroupID; + Set keySet; + List transformationSupplements; + List createTransformsProfiles; + + // build the transformation supplements + createTransformsProfiles = + getCreateTransformsInfoProfiles(singleSignatureInfo); + transformationSupplements = + buildTransformationSupplements(createTransformsProfiles); + + // build and set the data object treatment list + dataObjectTreatmentList = + buildDataObjectTreatmentList( + singleSignatureInfo, + createTransformsProfiles, + transformationSupplements); + profile.setDataObjectTreatmentList(dataObjectTreatmentList); + + // set the key set + keyGroupID = request.getKeyIdentifier(); + 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. + */ + private 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. + * @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) + 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++), + reserved); + DataObjectTreatmentImpl treatment = new DataObjectTreatmentImpl(objIdGen); + + treatment.setFinalContentType( + profile.getCreateTransformsInfo().getFinalDataMetaInfo().getMimeType()); + treatment.setTransformationList(buildTransformationList(profile)); + treatment.setReferenceInManifest(dataObjInfo.isChildOfManifest()); + + 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/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java new file mode 100644 index 000000000..b8af3c02a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java @@ -0,0 +1,580 @@ +package at.gv.egovernment.moa.spss.server.invoke; + +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 iaik.IAIKException; +import iaik.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 at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.logging.LoggingContext; +import at.gv.egovernment.moa.logging.LoggingContextManager; +import at.gv.egovernment.moa.util.CollectionUtils; +import at.gv.egovernment.moa.util.Constants; + +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.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.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.MessageProvider; + +/** + * 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"); + } + + /** + * 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); + } + + // 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; + } + + // 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); + + // build the response + responseBuilder.setResult(result, profile, signatureManifestCheck); + + return responseBuilder.getResponse(); + } + + /** + * 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; + + 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(); + + if (supplementProfiles != null) { + List supplements = new ArrayList(); + 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; + } + + return null; + } + + /** + * 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 (profile.checkSecurityLayerManifest()) { + 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 (profile.checkSecurityLayerManifest() + && result.containsSecurityLayerManifest()) { + Map hashValues = buildTransformParameterHashValues(request); + Set transformParameterURIs = + buildTransformParameterURIs(profile.getTransformationSupplements()); + List referenceInfoList = + result.getSecurityLayerManifest().getReferenceInfoList(); + 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/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java new file mode 100644 index 000000000..858964c82 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationProfileFactory.java @@ -0,0 +1,147 @@ +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 + checkParams = request.getSignatureManifestCheckParams(); + if (checkParams != null) { + List transformationSupplements; + + profile.setCheckSecurityLayerManifest(true); + profile.setIncludeReferenceInputData( + checkParams.getReturnReferenceInputData()); + transformationSupplements = buildTransformationSupplements(); + profile.setTransformationSupplements(transformationSupplements); + } else { + profile.setCheckSecurityLayerManifest(false); + profile.setIncludeReferenceInputData(false); + profile.setTransformationSupplements(Collections.EMPTY_LIST); + } + + 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/src/at/gv/egovernment/moa/spss/server/logging/IaikLog.java b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLog.java new file mode 100644 index 000000000..068fab5ca --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLog.java @@ -0,0 +1,126 @@ +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/src/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java new file mode 100644 index 000000000..a0e4def86 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLogFactory.java @@ -0,0 +1,42 @@ +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/src/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java new file mode 100644 index 000000000..75fb388a9 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/IaikLogMsg.java @@ -0,0 +1,54 @@ +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/src/at/gv/egovernment/moa/spss/server/logging/TransactionId.java b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/TransactionId.java new file mode 100644 index 000000000..9e0239464 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/logging/TransactionId.java @@ -0,0 +1,38 @@ +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/src/at/gv/egovernment/moa/spss/server/service/AxisHandler.java b/spss.server/src/at/gv/egovernment/moa/spss/server/service/AxisHandler.java new file mode 100644 index 000000000..9d6b255c2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/service/AxisHandler.java @@ -0,0 +1,252 @@ +package at.gv.egovernment.moa.spss.server.service; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.security.cert.X509Certificate; + +import javax.servlet.http.HttpServletRequest; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import org.apache.axis.AxisFault; +import org.apache.axis.MessageContext; +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 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; + +/** + * 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 { + + /** 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"; + + /** + * 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 { + // 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); + + ConfigurationProvider configuration = + ConfigurationProvider.getInstance(); + + TransactionContext context = + new TransactionContext( + TransactionIDGenerator.nextID(), + clientCert, + configuration); + + context.setRequestName((String) request.getHeader(SOAP_ACTION_HEADER)); + + 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.isDebugEnabled()) { + String msg = msgContext.getCurrentMessage().getSOAPPartAsString(); + Logger.debug(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) { + MOASystemException e = new MOASystemException("2900", null, t); + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + throw fault; + } + } + + /** + * 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 { + info("handler.04", null); + if (Logger.isDebugEnabled()) { + String msg = msgContext.getCurrentMessage().getSOAPPartAsString(); + Logger.debug(new LogMsg(msg)); + } + 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() { + // unset the transaction context + TransactionContextManager tcm = TransactionContextManager.getInstance(); + 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; + + // Got a WSDL file in the service description, so try and read it + try { + String filename = "/resources/wsdl/MOA-SP-SS-1.0-20020829.wsdl"; + msgContext.getService().getServiceDescription().getWSDLFile(); + 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))); + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java b/spss.server/src/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java new file mode 100644 index 000000000..7783ed3f6 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/service/ConfigurationServlet.java @@ -0,0 +1,120 @@ +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 { + /** 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/src/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java b/spss.server/src/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java new file mode 100644 index 000000000..997375305 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/service/RevocationArchiveCleaner.java @@ -0,0 +1,83 @@ +package at.gv.egovernment.moa.spss.server.service; + +import java.util.Date; + +import iaik.pki.revocation.RevocationSourceTypes; +import iaik.pki.store.revocation.archive.Archive; +import iaik.pki.store.revocation.archive.ArchiveFactory; + +import at.gv.egovernment.moa.logging.LogMsg; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.BoolUtils; + +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(); + String archiveInfo = + config.getGenericConfiguration( + ConfigurationProvider.ARCHIVE_REVOCATION_INFO_PROPERTY, + "false"); + + if (BoolUtils.valueOf(archiveInfo)) { + 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/src/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java b/spss.server/src/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java new file mode 100644 index 000000000..4224f5665 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/service/ServiceUtils.java @@ -0,0 +1,72 @@ +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.util.Constants; +import at.gv.egovernment.moa.util.DOMUtils; + +import at.gv.egovernment.moa.spss.MOAApplicationException; + +/** + * 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); + } 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); + return validatedRequest.getDocumentElement(); + } catch (Exception e) { + throw new MOAApplicationException( + "1100", + new Object[] { e.getMessage()}, + e); + } + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java b/spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java new file mode 100644 index 000000000..07d7ab371 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java @@ -0,0 +1,90 @@ +package at.gv.egovernment.moa.spss.server.service; + +import java.util.Collections; + +import javax.xml.namespace.QName; + +import org.w3c.dom.Element; + +import org.apache.axis.AxisFault; +import org.apache.axis.i18n.Messages; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.MOASystemException; +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; + +/** + * 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[] CreateXMLSignatureRequest(Element[] request) + throws AxisFault { + 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 (request[0].getNodeName() != "CreateXMLSignatureRequest") { + QName qname = + new QName(request[0].getNamespaceURI(), request[0].getNodeName()); + throw new AxisFault( + Messages.getMessage("noOperationForQName", qname.toString())); + } + + // 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; + + // validate the request + reparsedReq = ServiceUtils.reparseRequest(request[0]); + + // convert to API objects + requestObj = requestParser.parse(reparsedReq); + + // invoke the core logic + responseObj = + invoker.createXMLSignature(requestObj, Collections.EMPTY_SET); + + // map back to XML + response[0] = responseBuilder.build(responseObj).getDocumentElement(); + + } catch (MOAException e) { + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + throw fault; + } catch (Throwable t) { + MOASystemException e = new MOASystemException("2900", null, t); + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + throw fault; + } + + return response; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java b/spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java new file mode 100644 index 000000000..adb09ca0a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java @@ -0,0 +1,130 @@ +package at.gv.egovernment.moa.spss.server.service; + +import org.w3c.dom.Element; + +import org.apache.axis.AxisFault; + +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; + +/** + * 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; + + // validate the request + reparsedReq = ServiceUtils.reparseRequest(request[0]); + + // 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(); + + } catch (MOAException e) { + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + throw fault; + } catch (Throwable t) { + MOASystemException e = new MOASystemException("2900", null, t); + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + 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; + + // validate the request + reparsedReq = ServiceUtils.reparseRequest(request[0]); + + // 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(); + + } catch (MOAException e) { + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + throw fault; + } catch (Throwable t) { + MOASystemException e = new MOASystemException("2900", null, t); + AxisFault fault = AxisFault.makeFault(e); + fault.setFaultDetail(new Element[] { e.toErrorResponse()}); + throw fault; + } + + return response; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/tools/CertTool.java b/spss.server/src/at/gv/egovernment/moa/spss/server/tools/CertTool.java new file mode 100644 index 000000000..9fe17eae2 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/tools/CertTool.java @@ -0,0 +1,242 @@ +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/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java b/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java new file mode 100644 index 000000000..407dbd4e9 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java @@ -0,0 +1,90 @@ +package at.gv.egovernment.moa.spss.server.transaction; + +import java.security.cert.X509Certificate; + +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 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; + } + + /** + * 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; + } + + /** + * Returns the ConfigurationProvider associated with this + * transaction. + * + * @return The ConfigurationProvider associated with this transaction. + */ + public ConfigurationProvider getConfiguration() { + return configuration; + } + +} diff --git a/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java b/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java new file mode 100644 index 000000000..13127c3ae --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionContextManager.java @@ -0,0 +1,62 @@ +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/src/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java b/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java new file mode 100644 index 000000000..6eb07defe --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/transaction/TransactionIDGenerator.java @@ -0,0 +1,51 @@ +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/src/at/gv/egovernment/moa/spss/server/util/IdGenerator.java b/spss.server/src/at/gv/egovernment/moa/spss/server/util/IdGenerator.java new file mode 100644 index 000000000..92e8cb0f8 --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/server/util/IdGenerator.java @@ -0,0 +1,61 @@ +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. + */ + public 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/src/at/gv/egovernment/moa/spss/util/MessageProvider.java b/spss.server/src/at/gv/egovernment/moa/spss/util/MessageProvider.java new file mode 100644 index 000000000..a6f6c1d4a --- /dev/null +++ b/spss.server/src/at/gv/egovernment/moa/spss/util/MessageProvider.java @@ -0,0 +1,65 @@ +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/src/test/at/gv/egovernment/moa/spss/AllTests.java b/spss.server/src/test/at/gv/egovernment/moa/spss/AllTests.java new file mode 100644 index 000000000..9935685d0 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/AllTests.java @@ -0,0 +1,41 @@ +package test.at.gv.egovernment.moa.spss; + +import test.at.gv.egovernment.moa.spss.server.config.ConfigurationProviderTest; +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(ConfigurationProviderTest.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/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss.server/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java new file mode 100644 index 000000000..a585e30a0 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java @@ -0,0 +1,82 @@ +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/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java new file mode 100644 index 000000000..28f79729e --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java @@ -0,0 +1,24 @@ +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/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java new file mode 100644 index 000000000..7ce705b01 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java @@ -0,0 +1,71 @@ +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/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java new file mode 100644 index 000000000..f580f86bc --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java @@ -0,0 +1,113 @@ +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/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java new file mode 100644 index 000000000..4be7667eb --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java @@ -0,0 +1,61 @@ +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/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java new file mode 100644 index 000000000..3b8e8b00e --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java @@ -0,0 +1,81 @@ +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/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest.java new file mode 100644 index 000000000..07b3c7010 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest.java @@ -0,0 +1,184 @@ +package test.at.gv.egovernment.moa.spss.server.config; + +import java.io.FileInputStream; +import java.math.BigInteger; +import java.security.KeyStore; +import java.security.Principal; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.Collection; +import java.util.Set; + +import org.w3c.dom.Element; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import iaik.utils.RFC2253NameParser; + +import at.gv.egovernment.moa.spss.server.config.IssuerAndSerial; +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; +import at.gv.egovernment.moa.spss.server.config.TrustProfile; + +/** + * Tests the ConfigurationProvider. + * + * @author Patrick Peck + * @author Sven Aigner + * @version $Id$ + */ +public class ConfigurationProviderTest extends SPSSTestCase { + private ConfigurationProvider provider; + private Principal issuer1; + private Principal issuer2; + private BigInteger serial1; + private BigInteger serial2; + private IssuerAndSerial is1; + private IssuerAndSerial is2; + private X509Certificate cert1; + private X509Certificate cert2; + private X509Certificate atrustCert; + private X509Certificate iaikCert; + + /** + * Constructor for MOAConfigTest. + * @param name + */ + public ConfigurationProviderTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + RFC2253NameParser nameParser; + + provider = + new ConfigurationProvider( + TESTDATA_ROOT + "conf/moa-spss/MOA-SPSSConfiguration.xml"); + + nameParser = new RFC2253NameParser("CN=TestUser,OU=MOA,O=BRZ,C=AT"); + issuer1 = nameParser.parse(); + serial1 = new BigInteger("12345678"); + is1 = new IssuerAndSerial(issuer1, serial1); + + nameParser = new RFC2253NameParser("CN=TestUser,OU=IKT-Board,O=CIO,C=AT"); + issuer2 = nameParser.parse(); + serial2 = new BigInteger("987654321"); + is2 = new IssuerAndSerial(issuer2, serial2); + + KeyStore ks = KeyStore.getInstance("JKS", "SUN"); + ks.load( + new FileInputStream(TESTDATA_ROOT + "security/server.keystore"), + "changeit".toCharArray()); + cert1 = (X509Certificate) ks.getCertificate("tomcat-server"); + cert2 = (X509Certificate) ks.getCertificate("tomcat-client"); + + CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); + Collection certs = + certFactory.generateCertificates( + new FileInputStream(TESTDATA_ROOT + "security/A-Trust-nQual-01.p7b")); + atrustCert = (X509Certificate) certs.toArray()[0]; + + certs = + certFactory.generateCertificates( + new FileInputStream( + TESTDATA_ROOT + + "conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer")); + iaikCert = (X509Certificate) certs.toArray()[0]; + } + + public void testGetKeySet() { + Set keySet; + + keySet = provider.getKeyGroupEntries(null, null, "PKCS12RSAKey1"); + assertEquals(1, keySet.size()); + keySet = provider.getKeyGroupEntries(null, null, "PKCS12RSAKeyExpired"); + assertEquals(1, keySet.size()); + keySet = provider.getKeyGroupEntries(issuer1, serial1, "allKeys"); + assertEquals(6, keySet.size()); + keySet = provider.getKeyGroupEntries(null, null, "allKeys"); + assertNull(keySet); + } + + public void testGetChainingMode() { + String mode; + + mode = provider.getChainingMode(atrustCert); + assertEquals("chain", mode); + mode = provider.getChainingMode(cert2); + assertEquals("pkix", mode); + } + + public void testGetCRLDP() { + Set dps; + + dps = provider.getCRLDP(atrustCert); + assertEquals(0, dps.size()); + dps = provider.getCRLDP(iaikCert); + assertEquals(3, dps.size()); + } + + public void testGetCRLArchiveDuration() { + assertEquals(365, provider.getCRLArchiveDuration()); + } + + public void testGetGenericConfiguration() { + assertEquals( + "tmp/aValidPathName", + provider.getGenericConfiguration("DirectoryCertStoreParameters.RootDir")); + assertNull(provider.getGenericConfiguration("notExisting")); + assertEquals( + "default", + provider.getGenericConfiguration("notExisting", "default")); + } + + public void testGetCreateTransformsInfoProfile() { + Element profile; + + profile = provider.getCreateTransformsInfoProfile("NotExisting"); + assertNull(profile); + profile = + provider.getCreateTransformsInfoProfile("CreateTransformsInfoProfile1"); + assertNotNull(profile); + } + + public void testGetCreateSignatureEnvironmentProfile() { + Element profile = + provider.getCreateSignatureEnvironmentProfile( + "CreateSignatureEnvironmentProfile1"); + assertNotNull(profile); + } + + public void testGetVerifyTransformsInfoProfile() { + Element profile; + + profile = provider.getVerifyTransformsInfoProfile("TransformsInfoProfile1"); + assertNotNull(profile); + profile = provider.getVerifyTransformsInfoProfile("TransformsInfoProfile2"); + assertNotNull(profile); + profile = provider.getVerifyTransformsInfoProfile("NotExisting"); + assertNull(profile); + } + + public void testGetSupplementProfile() { + Element profile = provider.getSupplementProfile("SupplementProfile1"); + assertNotNull(profile); + } + + public void testGetTrustProfile() { + TrustProfile tp = provider.getTrustProfile("TrustProfile1"); + assertEquals("d:/patrick/tmp/TrustProfile1", tp.getUri()); + assertNull(provider.getTrustProfile("TrustProfile2")); + } + + public void testGetDigestMethodAlgorithmName() { + assertEquals( + "http://www.w3.org/2000/09/xmldsig#sha1", + provider.getDigestMethodAlgorithmName()); + } + + public void testGetCanonicalizationAlgorithmName() { + assertEquals( + "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", + provider.getCanonicalizationAlgorithmName()); + } + +} diff --git a/spss.server/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java new file mode 100644 index 000000000..29e00e0e7 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java @@ -0,0 +1,149 @@ +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, 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/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java new file mode 100644 index 000000000..3b403dc19 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java @@ -0,0 +1,36 @@ +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/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java new file mode 100644 index 000000000..65fa2bf72 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java @@ -0,0 +1,25 @@ +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/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java new file mode 100644 index 000000000..3024730f4 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java @@ -0,0 +1,63 @@ +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/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java new file mode 100644 index 000000000..aab2a0cc7 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java @@ -0,0 +1,178 @@ +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, + 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, + false, + false, + true, + false); + + assertNotNull(dataObject); + assertTrue(dataObject instanceof ByteArrayDataObjectImpl); + } + +} diff --git a/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java new file mode 100644 index 000000000..13a80cbf1 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java @@ -0,0 +1,201 @@ +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/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java new file mode 100644 index 000000000..28cd3805a --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java @@ -0,0 +1,63 @@ +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/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java new file mode 100644 index 000000000..56e3d541b --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java @@ -0,0 +1,61 @@ +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/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java b/spss.server/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java new file mode 100644 index 000000000..b46c20086 --- /dev/null +++ b/spss.server/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java @@ -0,0 +1,50 @@ +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/web.xml b/spss.server/web.xml new file mode 100644 index 000000000..02db421ac --- /dev/null +++ b/spss.server/web.xml @@ -0,0 +1,48 @@ + + + + + + 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 + + + + AxisServlet + /services/* + + + ConfigurationServlet + /ConfigurationUpdate + + + + + ConfigurationUpdate + /ConfigurationUpdate + + + moa-admin + + + + + BASIC + UserDatabase + + -- cgit v1.2.3