diff options
110 files changed, 2226 insertions, 0 deletions
diff --git a/spss.handbook/.classpath b/spss.handbook/.classpath new file mode 100644 index 000000000..f1bc502ea --- /dev/null +++ b/spss.handbook/.classpath @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="clients/webservice/src"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/axis.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/axis-ant.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/commons-discovery.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/commons-logging.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/jaxrpc.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/log4j-1.2.8.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/saaj.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/axis-1_1/wsdl4j.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jcert.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jnet.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jsse.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xercesImpl.jar"/> + <classpathentry kind="lib" path="clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xmlParserAPIs.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="output" path="bin"/> +</classpath> diff --git a/spss.handbook/.project b/spss.handbook/.project new file mode 100644 index 000000000..87d5c3e60 --- /dev/null +++ b/spss.handbook/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>MOA SPSS Handbuch</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> diff --git a/spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest1.xml b/spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest1.xml new file mode 100644 index 000000000..01cea6e99 --- /dev/null +++ b/spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest1.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <KeyIdentifier>KG_allgemein</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="enveloping"> + <DataObject> + <XMLContent xml:space="preserve">Diese Daten werden signiert.</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> + diff --git a/spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest2.xml b/spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest2.xml new file mode 100644 index 000000000..e0f639525 --- /dev/null +++ b/spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest2.xml @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <KeyIdentifier>KG_allgemein</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="enveloping" ChildOfManifest="true"> + <DataObject> + <XMLContent xml:space="preserve">Diese Daten werden signiert.</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> + <SingleSignatureInfo SecurityLayerConformity="true"> + <DataObjectInfo Structure="detached"> + <DataObject Reference="http://localhost:8080/webdata/resources/testDaten.txt"> + <Base64Content>RGllcyBzaW5kIFRlc3RkYXRlbg0KMi4gWmVpbGUNCjMuIFplaWxlDQphdXM=</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <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> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <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/webdata/resources/CX1_book_not_here.xsl"/> + </xsl:stylesheet> + </dsig:Transform> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>text/html</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + <Supplement> + <Content Reference="http://localhost:8080/webdata/resources/CX1_book_not_here.xsl"> + <Base64Content>PHhzbDpzdHlsZXNoZWV0IHhtbG5zOnhzbD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS9YU0wvVHJh +bnNmb3JtIiB2ZXJzaW9uPSIxLjAiPg0KPHhzbDpvdXRwdXQgbWV0aG9kPSJodG1sIi8+DQo8eHNs +OnRlbXBsYXRlIG1hdGNoPSJkYXRhOmJvb2siIHhtbG5zOmRhdGE9Imh0dHA6Ly91cmkuZGF0YS5v +cmciPg0KPEhUTUw+DQo8Qk9EWT4NCjxIMT5CdWNoOiA8eHNsOnZhbHVlLW9mIHNlbGVjdD0iZGF0 +YTp0aXRsZSIvPjwvSDE+DQo8L0JPRFk+DQo8L0hUTUw+DQo8L3hzbDp0ZW1wbGF0ZT4NCjwveHNs +OnN0eWxlc2hlZXQ+</Base64Content> +<!--<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> +<xsl:output method="html"/> +<xsl:template match="data:book" xmlns:data="http://uri.data.org"> +<HTML> +<BODY> +<H1>Buch: <xsl:value-of select="data:title"/></H1> +</BODY> +</HTML> +</xsl:template> +</xsl:stylesheet> --> + </Content> + </Supplement> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <CreateSignatureInfo xmlns:env="http://uri.env.org"> + <CreateSignatureEnvironment> + <XMLContent xml:space="preserve"> + <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 eingefuegt</env:Document> + </XMLContent> + </CreateSignatureEnvironment> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="1">//env:Document</CreateSignatureLocation> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss.handbook/clients/common/resources/requests/VerifyCMSSignatureRequest.xml b/spss.handbook/clients/common/resources/requests/VerifyCMSSignatureRequest.xml new file mode 100644 index 000000000..77e551637 --- /dev/null +++ b/spss.handbook/clients/common/resources/requests/VerifyCMSSignatureRequest.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?><VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Signatories="1"> <DateTime>2003-04-04T09:30:47-05:00</DateTime> <CMSSignature>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==</CMSSignature> <TrustProfileID>Test-Signaturdienste</TrustProfileID></VerifyCMSSignatureRequest>
\ No newline at end of file diff --git a/spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest1.xml b/spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest1.xml new file mode 100644 index 000000000..d9085cbbc --- /dev/null +++ b/spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest1.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <DateTime>2004-08-05T12:00:00+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment><XMLContent><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>tLODyeiWFbAkQKwhrR23jtcgu4k=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>Hd92K25yLw1ugL4+jM2wcWsnmm+TNfnLXIZwzBhU49kWd2Gt2peov4g8H/d3w6Td</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD +VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE +CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln +bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx +CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll +IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG +A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo +UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// +/////////////v//////////MDQEGP////////////////////7//////////AQY +ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C +/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr +ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv +2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E +AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG +DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 +IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 +oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu +c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw +vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt +lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja +iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 ++tj+UiTiNNSaXirq</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">Diese Daten werden signiert.</dsig:Object></dsig:Signature></XMLContent></VerifySignatureEnvironment><VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest2.xml b/spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest2.xml new file mode 100644 index 000000000..4ed55c4ac --- /dev/null +++ b/spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest2.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <DateTime>2004-08-05T12:00:00+01:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <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 eingefuegt<dsig:Signature Id="signature-2-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.buergerkarte.at/namespaces/ecdsa/200206030#ecdsa-sha1"/><dsig:Reference Id="reference-2-1" URI="http://localhost:8080/webdata/resources/testDaten.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>WVob54034HfToUBDAErL5z6GFxo=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-2-2" URI="#xpointer(id('signed-data-2-2-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://localhost:8080/webdata/resources/CX1_book_not_here.xsl"/> + </xsl:stylesheet></dsig:Transform></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>gJhOZajRF42VUda+ZBhWNdljSLc=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Securitylayer/20020225#SignatureManifest" URI="#manifest-2-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>chaNgk8iWY+KS1ks30NQYrXD5h8=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" URI="#xmlns(etsi=http://uri.etsi.org/01903/v1.1.1%23)%20xpointer(id('etsi-signed-2-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>OBJNgpRwQXVz8hA+fQw2fDcMhW4=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>a4XuTxnzoHDVYDoUDLAw5LRNDkdQECOBfx/dGyvogm9an7bv1N32vitkc0C9T6Xe</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIID+DCCA2WgAwIBAgIBCTAJBgUrDgMCHQUAMH8xCzAJBgNVBAYTAkFUMSwwKgYD +VQQKEyNTdGFic3RlbGxlIElLVC1TdHJhdGVnaWUgZGVzIEJ1bmRlczEeMBwGA1UE +CxMVVGVjaG5payB1bmQgU3RhbmRhcmRzMSIwIAYDVQQDExlUZXN0IENBIC0gU2ln +bmF0dXJkaWVuc3RlMB4XDTA0MDgwNDA4MjM0OFoXDTA3MDgwNDA4MjM0OFowgZgx +CzAJBgNVBAYTAkFUMS0wKwYDVQQKEyRTdGFic3N0ZWxsZSBJS1QtU3RyYXRlZ2ll +IGRlcyBCdW5kZXMxHjAcBgNVBAsTFVRlY2huaWsgdW5kIFN0YW5kYXJkczE6MDgG +A1UEAxMxVGVzdDogU2lnbmF0dXJkaWVuc3QgYWxsZXIgS3VuZGVuOiBFQ0RTQSAo +UDE5MnYxKTCB8zCBvAYHKoZIzj0CATCBsAIBATAkBgcqhkjOPQEBAhkA//////// +/////////////v//////////MDQEGP////////////////////7//////////AQY +ZCEFGeWcgOcPp+mrciQwSf643uzBRrmxBDEEGI2oDrAwkPZ8vyDrQ6GIAPT/Cv2C +/xASBxkrlf/I2nhjEBHtayTN1XP5d6EeeUgRAhkA////////////////md74NhRr +ybG00igxAgEBAzIABNHWY9lQOE1zgmpcpjTg2WIg6qgEsGhpXELPinJoMPDVheTv +2BZPG42YJsNfvWgC06OCARwwggEYMA4GA1UdDwEB/wQEAwIGwDAMBgNVHRMBAf8E +AjAAMB0GA1UdDgQWBBRHH5EXnrWosCmIa+JyEM5seMxFVzBdBgNVHSAEVjBUMFIG +DCsGAQQBlRIBAgMBATBCMEAGCCsGAQUFBwICMDQaMkRpZXNlcyBaZXJ0aWZpa2F0 +IGlzdCBudXIgZvxyIFRlc3R6d2Vja2UgZ2VlaWduZXQuMEMGA1UdHwQ8MDowOKA2 +oDSGMmh0dHA6Ly9sYWJzLmNpby5ndi5hdC90ZW1wL2NybHMvc2lnbmF0dXJkaWVu +c3QuY3JsMBQGByooAAoBAQEECQwHQktBLUlLVDAfBgNVHSMEGDAWgBRAl0P5fWaw +vf59+uxGcYY9wffZPTAJBgUrDgMCHQUAA4GBAIMKUsnajgfBtpHeDdMdQMLA8fdt +lluezDOM78WYYSFURP04QZk5iHkShzptgZCF5Y/T4an3dC3SnytL67LJvEoKUyja +iTMLo7650xRTvAjTaMJ+nly/wTRYJKplOLXKWj3WwfObMHXdsDE8NJmpJSRE7Sw7 ++tj+UiTiNNSaXirq</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-2-2-1"> + <data:book data:hardback="yes" xmlns:data="http://uri.data.org"> + <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> + </dsig:Object><dsig:Object><dsig:Manifest Id="manifest-2-1"><dsig:Reference URI="http://localhost:8080/webdata/resources/CX1_book_not_here.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Ym+XR9T2r7NKwGo3ndiOeenFLFE=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="etsi-signed-2-1"><etsi:QualifyingProperties Target="#signature-2-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2004-08-05T11:23:58</etsi:SigningTime><etsi:SigningCertificate><etsi:Cert><etsi:CertDigest><etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><etsi:DigestValue>FOWcAqaHew69LEIDiGuiWVnB0mc=</etsi:DigestValue></etsi:CertDigest><etsi:IssuerSerial><dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>9</dsig:X509SerialNumber></etsi:IssuerSerial></etsi:Cert></etsi:SigningCertificate><etsi:SignaturePolicyIdentifier><etsi:SignaturePolicyImplied/></etsi:SignaturePolicyIdentifier></etsi:SignedSignatureProperties><etsi:SignedDataObjectProperties><etsi:DataObjectFormat ObjectReference="#reference-2-1"><etsi:MimeType>text/plain</etsi:MimeType></etsi:DataObjectFormat><etsi:DataObjectFormat ObjectReference="#reference-2-2"><etsi:MimeType>text/html</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature></env:Document></XMLContent> + </VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> +<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/> +<TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/axis-ant.jar b/spss.handbook/clients/webservice/lib/axis-1_1/axis-ant.jar Binary files differnew file mode 100644 index 000000000..9cb30a98a --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/axis-ant.jar diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/axis.jar b/spss.handbook/clients/webservice/lib/axis-1_1/axis.jar Binary files differnew file mode 100644 index 000000000..869ee16f5 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/axis.jar diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/commons-discovery.jar b/spss.handbook/clients/webservice/lib/axis-1_1/commons-discovery.jar Binary files differnew file mode 100644 index 000000000..b88554847 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/commons-discovery.jar diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/commons-logging.jar b/spss.handbook/clients/webservice/lib/axis-1_1/commons-logging.jar Binary files differnew file mode 100644 index 000000000..b99c9375a --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/commons-logging.jar diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/jaxrpc.jar b/spss.handbook/clients/webservice/lib/axis-1_1/jaxrpc.jar Binary files differnew file mode 100644 index 000000000..5f6a56f02 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/jaxrpc.jar diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/log4j-1.2.8.jar b/spss.handbook/clients/webservice/lib/axis-1_1/log4j-1.2.8.jar Binary files differnew file mode 100644 index 000000000..493a3ccc1 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/log4j-1.2.8.jar diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/saaj.jar b/spss.handbook/clients/webservice/lib/axis-1_1/saaj.jar Binary files differnew file mode 100644 index 000000000..f2242abe5 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/saaj.jar diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/wsdl4j.jar b/spss.handbook/clients/webservice/lib/axis-1_1/wsdl4j.jar Binary files differnew file mode 100644 index 000000000..820abd082 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/axis-1_1/wsdl4j.jar diff --git a/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jcert.jar b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jcert.jar Binary files differnew file mode 100644 index 000000000..d33134214 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jcert.jar diff --git a/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jnet.jar b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jnet.jar Binary files differnew file mode 100644 index 000000000..e1d340093 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jnet.jar diff --git a/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jsse.jar b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jsse.jar Binary files differnew file mode 100644 index 000000000..123188c5e --- /dev/null +++ b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jsse.jar diff --git a/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xercesImpl.jar b/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xercesImpl.jar Binary files differnew file mode 100644 index 000000000..f25d73cd7 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xercesImpl.jar diff --git a/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xmlParserAPIs.jar b/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xmlParserAPIs.jar Binary files differnew file mode 100644 index 000000000..c1fa1d645 --- /dev/null +++ b/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xmlParserAPIs.jar diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12 b/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12 Binary files differnew file mode 100644 index 000000000..18d0bb6eb --- /dev/null +++ b/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12 diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.der b/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.der Binary files differnew file mode 100644 index 000000000..2844e3aab --- /dev/null +++ b/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.der diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore b/spss.handbook/clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore Binary files differnew file mode 100644 index 000000000..d32a22f0f --- /dev/null +++ b/spss.handbook/clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12 b/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12 Binary files differnew file mode 100644 index 000000000..ca7c31276 --- /dev/null +++ b/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12 diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.der b/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.der Binary files differnew file mode 100644 index 000000000..27b20cd71 --- /dev/null +++ b/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.der diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore b/spss.handbook/clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore Binary files differnew file mode 100644 index 000000000..d32a22f0f --- /dev/null +++ b/spss.handbook/clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore diff --git a/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java b/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java new file mode 100644 index 000000000..646c53947 --- /dev/null +++ b/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java @@ -0,0 +1,114 @@ +package at.gv.egovernment.moa.spss.handbook.clients.webservice; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.util.Vector; + +import javax.xml.namespace.QName; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.rpc.Call; +import javax.xml.rpc.Service; +import javax.xml.rpc.ServiceFactory; + +import org.apache.axis.message.SOAPBodyElement; +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.w3c.dom.Document; + +/** + * Diese Klasse implementiert einen einfachen Client für das MOA SP/SS Webservice mittels Apache Axis. Die + * Verbindung erfolgt ungesichert über HTTP. + */ +public class HTTP +{ + // Zugangspunkt für Signaturerstellung (SS) + private static final QName SERVICE_QNAME_ = new QName("SignatureCreation"); + private static final String ENDPOINT_ = "http://localhost:8080/moa-spss/services/SignatureCreation"; + + // Zugangspunkt für Signaturprüfung (SP) +// private static final QName SERVICE_QNAME_ = new QName("SignatureVerification"); +// private static final String ENDPOINT_ ="http://localhost:8080/moa-spss/services/SignatureVerification"; + + // Datei mit dem zu sendenden XML-Request + private static final String XML_REQUEST_FILENAME_ = + "clients/common/resources/requests/CreateXMLSignatureRequest1.xml"; +// "clients/common/resources/requests/CreateXMLSignatureRequest2.xml"; +// "clients/common/resources/requests/VerifyCMSSignatureRequest.xml"; +// "clients/common/resources/requests/VerifyXMLSignatureRequest1.xml"; +// "clients/common/resources/requests/VerifyXMLSignatureRequest2.xml"; + + /** + * Methode main. + * + * Enthält den Beispielcode der nötig ist um von Java aus auf MOA-SPSS zugreifen zu können. Der Zugriff + * passiert über das AXIS-Framework. Die Verbindung erfolgt ungesichert über HTTP. + * + * @param args Wird nicht verwendet. + */ + public static void main(String[] args) + { + try + { + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream(XML_REQUEST_FILENAME_); + + // Parser/DOMBuilder instanzieren + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + // XML Datei in einen DOM-Baum umwandeln + Document xmlRequest = builder.parse(inputStream); + + // AXIS-Server instanzieren + Service service = ServiceFactory.newInstance().createService(SERVICE_QNAME_); + + // Call öffnen + Call call = service.createCall(); + + // Neues BodyElement anlegen und mit dem DOM-Baum füllen + SOAPBodyElement body = new SOAPBodyElement(xmlRequest.getDocumentElement()); + SOAPBodyElement[] params = new SOAPBodyElement[] + { + body + }; + + // Call mit Endpoint verknüpfen + call.setTargetEndpointAddress(ENDPOINT_); + + // Call auslösen und die Antworten speichern + System.out.println("Calling ..."); + Vector responses = (Vector) call.invoke(params); + + // Erstes Body Element auslesen + SOAPBodyElement response = (SOAPBodyElement) responses.get(0); + + // Aus der Response den DOM-Baum lesen + Document root_response = response.getAsDocument(); + System.out.println("Return ..."); + + // XML-Formatierung konfiguieren + OutputFormat format = new OutputFormat((Document) root_response); + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + // Ausgabe der Webservice-Antwort auf die Konsole + XMLSerializer conSerializer = new XMLSerializer(System.out, format); + conSerializer.serialize(root_response); + + // Ausgabe der Webservice-Antwort in Datei + String responseFile = XML_REQUEST_FILENAME_.substring(0, XML_REQUEST_FILENAME_.lastIndexOf('.')) + + ".response.xml"; + XMLSerializer fileSerializer = new XMLSerializer(new FileOutputStream(responseFile), format); + fileSerializer.serialize(root_response); + } + catch (Exception e) + { + e.printStackTrace(); + } + } +}
\ No newline at end of file diff --git a/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java b/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java new file mode 100644 index 000000000..4d3b6641d --- /dev/null +++ b/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java @@ -0,0 +1,154 @@ +package at.gv.egovernment.moa.spss.handbook.clients.webservice; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +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.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.w3c.dom.Document; + +import com.sun.net.ssl.internal.ssl.Provider; + +/** + * Diese Klasse implementiert einen einfachen Client für das MOA SP/SS Webservice mittels Apache Axis. Die + * Verbindung erfolgt gesichert über SSL, und zwar sowohl mit Server- und Clientauthentisierung. + */ +public class HTTPSClientAuth +{ + // Zugangspunkt für Signaturerstellung (SS) + private static final QName SERVICE_QNAME_ = new QName("SignatureCreation"); + private static final String SECURE_ENDPOINT_ = "https://localhost:8443/moa-spss/services/SignatureCreation"; + + // Zugangspunkt für Signaturprüfung (SP) +// private static final QName SERVICE_QNAME_ = new QName("SignatureVerification"); +// private static final String SECURE_ENDPOINT_ = "https://localhost:8443/moa-spss/services/SignatureVerification"; + + // Datei mit dem zu sendenden XML-Request + private static final String XML_REQUEST_FILENAME_ = + "clients/common/resources/requests/CreateXMLSignatureRequest1.xml"; +// "clients/common/resources/requests/CreateXMLSignatureRequest2.xml"; +// "clients/common/resources/requests/VerifyCMSSignatureRequest.xml"; +// "clients/common/resources/requests/VerifyXMLSignatureRequest1.xml"; +// "clients/common/resources/requests/VerifyXMLSignatureRequest2.xml"; + + // SSL Konstanten + 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 KEYSTORETYPE = "javax.net.ssl.keyStoreType"; + + public static final String TRUSTSTORE = "javax.net.ssl.trustStore"; + public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword"; + public static final String TRUSTSTORETYPE = "javax.net.ssl.trustStoreType"; + + /** + * Methode main. + * + * 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 + { + configureSSL(); + + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream(XML_REQUEST_FILENAME_); + + // 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 ..."); + + // XML-Formatierung konfiguieren + OutputFormat format = new OutputFormat((Document) root_response); + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + // Ausgabe der Webservice-Antwort auf die Konsole + XMLSerializer conSerializer = new XMLSerializer(System.out, format); + conSerializer.serialize(root_response); + + // Ausgabe der Webservice-Antwort in Datei + String responseFile = XML_REQUEST_FILENAME_.substring(0, XML_REQUEST_FILENAME_.lastIndexOf('.')) + + ".response.xml"; + XMLSerializer fileSerializer = new XMLSerializer(new FileOutputStream(responseFile), format); + fileSerializer.serialize(root_response); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Konfiguriert JSSE für eine SSL-Verbindung mit Client- und Serverauthentisierung. + */ + private static void configureSSL() + { + Security.addProvider(new Provider()); + System.setProperty(HANDLER, "com.sun.net.ssl.internal.www.protocol"); + + // Konfiguriere Key-Store (enthält privaten Schluessel und Zertifikat des Clients + System.setProperty(KEYSTORETYPE, "PKCS12"); + System.setProperty(KEYSTORE, + "clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12"); +// "clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12"); + System.setProperty(KEYSTOREPASSWORD, "kunde1"); +// System.setProperty(KEYSTOREPASSWORD, "kunde2"); + + // Konfiguriere Trust-Store (enthält SSL-Zertifikat des MOA Services, dem vertraut wird) + System.setProperty(TRUSTSTORETYPE, "JKS"); + System.setProperty(TRUSTSTORE, + "clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore"); +// "clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore"); + System.setProperty(TRUSTSTOREPASSWORD, "servers"); + } +}
\ No newline at end of file diff --git a/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java b/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java new file mode 100644 index 000000000..cd5036b7d --- /dev/null +++ b/spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java @@ -0,0 +1,142 @@ +package at.gv.egovernment.moa.spss.handbook.clients.webservice; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +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.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.w3c.dom.Document; + +import com.sun.net.ssl.internal.ssl.Provider; + +/** + * Diese Klasse implementiert einen einfachen Client für das MOA SP/SS Webservice mittels Apache Axis. Die + * Verbindung erfolgt gesichert über SSL, und zwar nur mit Serverauthentisierung. + */ +public class HTTPSServerAuth +{ + // Zugangspunkt für Signaturerstellung (SS) + private static final QName SERVICE_QNAME_ = new QName("SignatureCreation"); + private static final String SECURE_ENDPOINT_ = "https://localhost:8443/moa-spss/services/SignatureCreation"; + + // Zugangspunkt für Signaturprüfung (SP) +// private static final QName SERVICE_QNAME_ = new QName("SignatureVerification"); +// private static final String SECURE_ENDPOINT_ = "https://localhost:8443/moa-spss/services/SignatureVerification"; + + // Datei mit dem zu sendenden XML-Request + private static final String XML_REQUEST_FILENAME_ = + "clients/common/resources/requests/CreateXMLSignatureRequest1.xml"; +// "clients/common/resources/requests/CreateXMLSignatureRequest2.xml"; +// "clients/common/resources/requests/VerifyCMSSignatureRequest.xml"; +// "clients/common/resources/requests/VerifyXMLSignatureRequest1.xml"; +// "clients/common/resources/requests/VerifyXMLSignatureRequest2.xml"; + + // 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"; + public static final String TRUSTSTORETYPE = "javax.net.ssl.trustStoreType"; + + /** + * 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 + { + configureSSL(); + + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream(XML_REQUEST_FILENAME_); + + // 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 ..."); + + // XML-Formatierung konfiguieren + OutputFormat format = new OutputFormat((Document) root_response); + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + // Ausgabe der Webservice-Antwort auf die Konsole + XMLSerializer conSerializer = new XMLSerializer(System.out, format); + conSerializer.serialize(root_response); + + // Ausgabe der Webservice-Antwort in Datei + String responseFile = XML_REQUEST_FILENAME_.substring(0, XML_REQUEST_FILENAME_.lastIndexOf('.')) + + ".response.xml"; + XMLSerializer fileSerializer = new XMLSerializer(new FileOutputStream(responseFile), format); + fileSerializer.serialize(root_response); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Konfiguriert JSSE für eine SSL-Verbindung mit Serverauthentisierung. + */ + private static void configureSSL() + { + Security.addProvider(new Provider()); + System.setProperty(HANDLER, "com.sun.net.ssl.internal.www.protocol"); + + // Konfiguriere Trust-Store (enthält SSL-Zertifikat des MOA Services, dem vertraut wird) + System.setProperty(TRUSTSTORETYPE, "JKS"); + System.setProperty(TRUSTSTORE, + "clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore"); +// "clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore"); + System.setProperty(TRUSTSTOREPASSWORD, "servers"); + } +}
\ No newline at end of file diff --git a/spss.handbook/conf/moa-spss/certstore/032F2123890A879585CE96674CA4C37B55986729/E1201A308CC10323C27D9084B048996E44B8F710 b/spss.handbook/conf/moa-spss/certstore/032F2123890A879585CE96674CA4C37B55986729/E1201A308CC10323C27D9084B048996E44B8F710 Binary files differnew file mode 100644 index 000000000..a7948e488 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/032F2123890A879585CE96674CA4C37B55986729/E1201A308CC10323C27D9084B048996E44B8F710 diff --git a/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/0F843FB1E0C626540BE638B79A2987E2611CE630 b/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/0F843FB1E0C626540BE638B79A2987E2611CE630 Binary files differnew file mode 100644 index 000000000..29d93550e --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/0F843FB1E0C626540BE638B79A2987E2611CE630 diff --git a/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/69F21C82DC9A7A940ACEC414593E59C9E61E522F b/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/69F21C82DC9A7A940ACEC414593E59C9E61E522F Binary files differnew file mode 100644 index 000000000..2a88295a7 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/69F21C82DC9A7A940ACEC414593E59C9E61E522F diff --git a/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 b/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 Binary files differnew file mode 100644 index 000000000..84a1690d2 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/0AF04E7099C9829BD1F8437362BA0036E0705C4D/FC72939DC06EDDF8C51549ECF00AC92BF2B39F35 diff --git a/spss.handbook/conf/moa-spss/certstore/125E4AC6B38C1E0BF34BF7D927CBB947E35141E8/2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D b/spss.handbook/conf/moa-spss/certstore/125E4AC6B38C1E0BF34BF7D927CBB947E35141E8/2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D Binary files differnew file mode 100644 index 000000000..1a3106742 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/125E4AC6B38C1E0BF34BF7D927CBB947E35141E8/2CA36B76BC6CCDC29296111A4EFCAFC0553BBC7D diff --git a/spss.handbook/conf/moa-spss/certstore/20DD04B052D2D364E5FF851A3FD314F0FD91253E/6814C7316CEA7191C9CB3BE58199B4A957210D9C b/spss.handbook/conf/moa-spss/certstore/20DD04B052D2D364E5FF851A3FD314F0FD91253E/6814C7316CEA7191C9CB3BE58199B4A957210D9C Binary files differnew file mode 100644 index 000000000..4dd2c49bf --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/20DD04B052D2D364E5FF851A3FD314F0FD91253E/6814C7316CEA7191C9CB3BE58199B4A957210D9C diff --git a/spss.handbook/conf/moa-spss/certstore/22973CFC20EA68162A0B2E837D45FB8266ACDBCF/C529469053D9F95810A8F7F2DB9A6596A7655732 b/spss.handbook/conf/moa-spss/certstore/22973CFC20EA68162A0B2E837D45FB8266ACDBCF/C529469053D9F95810A8F7F2DB9A6596A7655732 Binary files differnew file mode 100644 index 000000000..13abede5c --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/22973CFC20EA68162A0B2E837D45FB8266ACDBCF/C529469053D9F95810A8F7F2DB9A6596A7655732 diff --git a/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 b/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 Binary files differnew file mode 100644 index 000000000..f2f1c6562 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/AC36A78C66FEC87CC0FD2C32B49214C65676E0C5 diff --git a/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 b/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 Binary files differnew file mode 100644 index 000000000..476a3efb2 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/C92238A7178A6C61F8BACA22D6CF7E50772BA9F0 diff --git a/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/DFAE695342AC81A521025904406884399822B233 b/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/DFAE695342AC81A521025904406884399822B233 Binary files differnew file mode 100644 index 000000000..5c88b668a --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/DFAE695342AC81A521025904406884399822B233 diff --git a/spss.handbook/conf/moa-spss/certstore/2962CDAADFA0BF8EE53B80870C53E551A43EA72A/12B06E039F1A36D8238AFC508009E1ADF88BF66F b/spss.handbook/conf/moa-spss/certstore/2962CDAADFA0BF8EE53B80870C53E551A43EA72A/12B06E039F1A36D8238AFC508009E1ADF88BF66F Binary files differnew file mode 100644 index 000000000..4d1852203 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/2962CDAADFA0BF8EE53B80870C53E551A43EA72A/12B06E039F1A36D8238AFC508009E1ADF88BF66F diff --git a/spss.handbook/conf/moa-spss/certstore/2C976220B378E08DF5E68CBC54C05CE41224FD29/0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 b/spss.handbook/conf/moa-spss/certstore/2C976220B378E08DF5E68CBC54C05CE41224FD29/0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 Binary files differnew file mode 100644 index 000000000..69a8e4872 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/2C976220B378E08DF5E68CBC54C05CE41224FD29/0CC37CC35E18F9909E43E4E9894D0CDF06EE9A38 diff --git a/spss.handbook/conf/moa-spss/certstore/337F895A0435AA7E2629C5282B5A0DBBE19EE1C7/75F792DE2CF544007F470F1B924961C2BD2EF517 b/spss.handbook/conf/moa-spss/certstore/337F895A0435AA7E2629C5282B5A0DBBE19EE1C7/75F792DE2CF544007F470F1B924961C2BD2EF517 Binary files differnew file mode 100644 index 000000000..f8a8957ac --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/337F895A0435AA7E2629C5282B5A0DBBE19EE1C7/75F792DE2CF544007F470F1B924961C2BD2EF517 diff --git a/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F b/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F Binary files differnew file mode 100644 index 000000000..69de75609 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/0F5A0342F5CD448799C3C6D178607E3F2B5BCB8F diff --git a/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/9E0512DD61DA5949D1D8631C3F19D75F496C3733 b/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/9E0512DD61DA5949D1D8631C3F19D75F496C3733 Binary files differnew file mode 100644 index 000000000..289fc2198 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/9E0512DD61DA5949D1D8631C3F19D75F496C3733 diff --git a/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/E6E6FC88719177C9B7421825757C5E47BCAC85F6 b/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/E6E6FC88719177C9B7421825757C5E47BCAC85F6 Binary files differnew file mode 100644 index 000000000..b7d4b08a6 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/E6E6FC88719177C9B7421825757C5E47BCAC85F6 diff --git a/spss.handbook/conf/moa-spss/certstore/3B76D7A5CE7EC6022D7990CFEA534C908717DF54/C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E b/spss.handbook/conf/moa-spss/certstore/3B76D7A5CE7EC6022D7990CFEA534C908717DF54/C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E Binary files differnew file mode 100644 index 000000000..b2beddaa5 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/3B76D7A5CE7EC6022D7990CFEA534C908717DF54/C0C699EFE6E837CB5E4CFC3A61077617A22C1A9E diff --git a/spss.handbook/conf/moa-spss/certstore/3C39C1A49699959FEBC70D4E8F65F9BEBEB7D643/2EFA12527B80AFDF6224207ED2B16244E828DCDF b/spss.handbook/conf/moa-spss/certstore/3C39C1A49699959FEBC70D4E8F65F9BEBEB7D643/2EFA12527B80AFDF6224207ED2B16244E828DCDF Binary files differnew file mode 100644 index 000000000..4ee717a66 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/3C39C1A49699959FEBC70D4E8F65F9BEBEB7D643/2EFA12527B80AFDF6224207ED2B16244E828DCDF diff --git a/spss.handbook/conf/moa-spss/certstore/4224231A54F64581FBA2AB6ED82ADE467F144BDC/65EF37033859C2F709A64086D3A5BD1B8F1A85A4 b/spss.handbook/conf/moa-spss/certstore/4224231A54F64581FBA2AB6ED82ADE467F144BDC/65EF37033859C2F709A64086D3A5BD1B8F1A85A4 Binary files differnew file mode 100644 index 000000000..6e17b9db5 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/4224231A54F64581FBA2AB6ED82ADE467F144BDC/65EF37033859C2F709A64086D3A5BD1B8F1A85A4 diff --git a/spss.handbook/conf/moa-spss/certstore/45E2F3F807C6EAB9EDC1B3250F7558CA12A063DE/3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 b/spss.handbook/conf/moa-spss/certstore/45E2F3F807C6EAB9EDC1B3250F7558CA12A063DE/3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 Binary files differnew file mode 100644 index 000000000..55707d69f --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/45E2F3F807C6EAB9EDC1B3250F7558CA12A063DE/3A77E9B577661D99F9BBA5A352B29C7FF58A3D26 diff --git a/spss.handbook/conf/moa-spss/certstore/60EF765436B4F314F2285BE2D89A511073AC0D58/334710B9169BCD20687A6302EEB16AEB97F288CD b/spss.handbook/conf/moa-spss/certstore/60EF765436B4F314F2285BE2D89A511073AC0D58/334710B9169BCD20687A6302EEB16AEB97F288CD Binary files differnew file mode 100644 index 000000000..c19647ad8 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/60EF765436B4F314F2285BE2D89A511073AC0D58/334710B9169BCD20687A6302EEB16AEB97F288CD diff --git a/spss.handbook/conf/moa-spss/certstore/6144BFC0CBE85C63DEFB6F208D80385B89F68046/D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 b/spss.handbook/conf/moa-spss/certstore/6144BFC0CBE85C63DEFB6F208D80385B89F68046/D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 Binary files differnew file mode 100644 index 000000000..39f88d881 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/6144BFC0CBE85C63DEFB6F208D80385B89F68046/D031945D982820B92FADBC7F71F6D1D9DFFDA2C9 diff --git a/spss.handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B b/spss.handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B Binary files differnew file mode 100644 index 000000000..d361d919f --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/ADEC5673B57A18F16EFAF75EEFBFAD4841E2CD2B diff --git a/spss.handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/474BC41135FB88BF58B5A8D976A1D5583378D85E b/spss.handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/474BC41135FB88BF58B5A8D976A1D5583378D85E Binary files differnew file mode 100644 index 000000000..c9da41583 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/474BC41135FB88BF58B5A8D976A1D5583378D85E diff --git a/spss.handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 b/spss.handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 Binary files differnew file mode 100644 index 000000000..28fbdf42f --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/738B34854780955AE8FAF12349F2C9C52105A52C/6B618820CE6A5EC0B5E63A9170335E5EA9F3BA01 diff --git a/spss.handbook/conf/moa-spss/certstore/76011AE57123CC4E476C094C48C461DC37A0DEDD/FDC348410699803DE7D8276813BC2232EA99A878 b/spss.handbook/conf/moa-spss/certstore/76011AE57123CC4E476C094C48C461DC37A0DEDD/FDC348410699803DE7D8276813BC2232EA99A878 Binary files differnew file mode 100644 index 000000000..424f849a1 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/76011AE57123CC4E476C094C48C461DC37A0DEDD/FDC348410699803DE7D8276813BC2232EA99A878 diff --git a/spss.handbook/conf/moa-spss/certstore/7A9DC855647136050A8D75D6571AC64739F36C6C/BF648929E7DAABD8D97B3202F48D6C4A19C78F6C b/spss.handbook/conf/moa-spss/certstore/7A9DC855647136050A8D75D6571AC64739F36C6C/BF648929E7DAABD8D97B3202F48D6C4A19C78F6C Binary files differnew file mode 100644 index 000000000..4989f3e73 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/7A9DC855647136050A8D75D6571AC64739F36C6C/BF648929E7DAABD8D97B3202F48D6C4A19C78F6C diff --git a/spss.handbook/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 b/spss.handbook/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 Binary files differnew file mode 100644 index 000000000..1cdc15c6e --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/8898446AC34D7351B811EDF66CDA12A43D8DE5D8/74BE7D543A41B2E8DC9E0776D3BCF4A213E5D7F5 diff --git a/spss.handbook/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 b/spss.handbook/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 Binary files differnew file mode 100644 index 000000000..c0c60558a --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/8A667FFE2B4C60585C2F8296E670ADE0D904E073/797AB396782981343C312F9A0F5CD87FCE159C37 diff --git a/spss.handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/3B8484BF1370941BF03F206B5C4958DA4E1559BB b/spss.handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/3B8484BF1370941BF03F206B5C4958DA4E1559BB Binary files differnew file mode 100644 index 000000000..6f97837a2 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/3B8484BF1370941BF03F206B5C4958DA4E1559BB diff --git a/spss.handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/45B43346251FDF9E95DCB7F36928785D46D63913 b/spss.handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/45B43346251FDF9E95DCB7F36928785D46D63913 Binary files differnew file mode 100644 index 000000000..f3cf5e676 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/45B43346251FDF9E95DCB7F36928785D46D63913 diff --git a/spss.handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/E33619C88426E4FE956041E6751ADDEC9C10F0BC b/spss.handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/E33619C88426E4FE956041E6751ADDEC9C10F0BC Binary files differnew file mode 100644 index 000000000..fc5bd433b --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/96107213A757FFB88DECEE469373162636D7146C/E33619C88426E4FE956041E6751ADDEC9C10F0BC diff --git a/spss.handbook/conf/moa-spss/certstore/975729FFAF7EB667BCF68E9B886EA876E44F46D0/35202B14F69409EAA51CD8AB547AC0CD5E993F3F b/spss.handbook/conf/moa-spss/certstore/975729FFAF7EB667BCF68E9B886EA876E44F46D0/35202B14F69409EAA51CD8AB547AC0CD5E993F3F Binary files differnew file mode 100644 index 000000000..3beb4529a --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/975729FFAF7EB667BCF68E9B886EA876E44F46D0/35202B14F69409EAA51CD8AB547AC0CD5E993F3F diff --git a/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 b/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 Binary files differnew file mode 100644 index 000000000..781d1e4f2 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/3F4E01DF7547CDD38DCCFCCD76170C299ECEB9F6 diff --git a/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B b/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B Binary files differnew file mode 100644 index 000000000..8286cabbc --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/9D4CB7E3DBF24AE596972D59C375DD6384BB5E8B diff --git a/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/A562C4B99E2847251CB4A1F05DA1FF43E7296F0B b/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/A562C4B99E2847251CB4A1F05DA1FF43E7296F0B Binary files differnew file mode 100644 index 000000000..a0148f63b --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/9D3E6FACCD6AF894CDD2B91D1B9E3C2E310EAB93/A562C4B99E2847251CB4A1F05DA1FF43E7296F0B diff --git a/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C b/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C Binary files differnew file mode 100644 index 000000000..61d346a8f --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9039DBD29DB8AD0F8E2015F05FCD40582CCCBE8C diff --git a/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9F0E0FBB25F66FF88C8E033EFF358923C84A2926 b/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9F0E0FBB25F66FF88C8E033EFF358923C84A2926 Binary files differnew file mode 100644 index 000000000..9ae7ffa0c --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/9F0E0FBB25F66FF88C8E033EFF358923C84A2926 diff --git a/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/C87D1855227D995C332C4C9072A2E2053F2CC623 b/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/C87D1855227D995C332C4C9072A2E2053F2CC623 Binary files differnew file mode 100644 index 000000000..a68ae2db7 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/9F5A9B8D0F919C96B9472442BFBBDD34232A627D/C87D1855227D995C332C4C9072A2E2053F2CC623 diff --git a/spss.handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/42AD1897A4643D2AA634D980F16349E6694F3B1B b/spss.handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/42AD1897A4643D2AA634D980F16349E6694F3B1B Binary files differnew file mode 100644 index 000000000..f1d7b6a28 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/42AD1897A4643D2AA634D980F16349E6694F3B1B diff --git a/spss.handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/FE7891B6ED7B178F528A28B21478299F865889BD b/spss.handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/FE7891B6ED7B178F528A28B21478299F865889BD Binary files differnew file mode 100644 index 000000000..c1b90c0f4 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/A07E912CAA2AB620034B05353E7D4B91807880ED/FE7891B6ED7B178F528A28B21478299F865889BD diff --git a/spss.handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/20CAECDCA766243AAD6FA1327618FC81BA65DC0F b/spss.handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/20CAECDCA766243AAD6FA1327618FC81BA65DC0F Binary files differnew file mode 100644 index 000000000..b596d82e3 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/20CAECDCA766243AAD6FA1327618FC81BA65DC0F diff --git a/spss.handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A b/spss.handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A Binary files differnew file mode 100644 index 000000000..b6f39e354 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/DFA7DDEF5C212F0F0651E2A9DE1CE4A1AC63AF7A diff --git a/spss.handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/F825578F8F5484DFB40F81867C392D6CB0012B92 b/spss.handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/F825578F8F5484DFB40F81867C392D6CB0012B92 Binary files differnew file mode 100644 index 000000000..f9f27442b --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/F825578F8F5484DFB40F81867C392D6CB0012B92 diff --git a/spss.handbook/conf/moa-spss/certstore/AAB27F0E98B28AF253454415F6490CB5F43A4B49/A9D28607928FA8615E2615CC9D71B535C5D0D419 b/spss.handbook/conf/moa-spss/certstore/AAB27F0E98B28AF253454415F6490CB5F43A4B49/A9D28607928FA8615E2615CC9D71B535C5D0D419 Binary files differnew file mode 100644 index 000000000..10a1f7141 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/AAB27F0E98B28AF253454415F6490CB5F43A4B49/A9D28607928FA8615E2615CC9D71B535C5D0D419 diff --git a/spss.handbook/conf/moa-spss/certstore/B70A88C5ABB0E8AFE71436E1817A8DAA99F0D515/6709716EDCF8F696BE85AAA3A55F86D387A4A542 b/spss.handbook/conf/moa-spss/certstore/B70A88C5ABB0E8AFE71436E1817A8DAA99F0D515/6709716EDCF8F696BE85AAA3A55F86D387A4A542 Binary files differnew file mode 100644 index 000000000..8d4bcb50a --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/B70A88C5ABB0E8AFE71436E1817A8DAA99F0D515/6709716EDCF8F696BE85AAA3A55F86D387A4A542 diff --git a/spss.handbook/conf/moa-spss/certstore/B70A88C5ABB0E8AFE71436E1817A8DAA99F0D515/C25FF3B9AC99C4AB98947D86D854024DCA2C4928 b/spss.handbook/conf/moa-spss/certstore/B70A88C5ABB0E8AFE71436E1817A8DAA99F0D515/C25FF3B9AC99C4AB98947D86D854024DCA2C4928 Binary files differnew file mode 100644 index 000000000..142b81241 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/B70A88C5ABB0E8AFE71436E1817A8DAA99F0D515/C25FF3B9AC99C4AB98947D86D854024DCA2C4928 diff --git a/spss.handbook/conf/moa-spss/certstore/BED4C70D83B5042F4254459064FDEACD43DD1EDF/7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 b/spss.handbook/conf/moa-spss/certstore/BED4C70D83B5042F4254459064FDEACD43DD1EDF/7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 Binary files differnew file mode 100644 index 000000000..0a8de4bb9 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/BED4C70D83B5042F4254459064FDEACD43DD1EDF/7BE0C8E441786C69A3CB35BDBEF235F8B5310E04 diff --git a/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/8AB0A3519AFA7F3C04074522678BAA1CB3DC734F b/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/8AB0A3519AFA7F3C04074522678BAA1CB3DC734F Binary files differnew file mode 100644 index 000000000..c34d0f380 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/8AB0A3519AFA7F3C04074522678BAA1CB3DC734F diff --git a/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/DF47B3040E7632614464BD2EC4ECD1B8030F53E3 b/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/DF47B3040E7632614464BD2EC4ECD1B8030F53E3 Binary files differnew file mode 100644 index 000000000..d894e92ca --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/DF47B3040E7632614464BD2EC4ECD1B8030F53E3 diff --git a/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/E117479B4A41D7F3223FCAE50560B0D57B22217D b/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/E117479B4A41D7F3223FCAE50560B0D57B22217D Binary files differnew file mode 100644 index 000000000..380486f65 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/CE91CC7CF2DDDEE6623A1A91B3298DCAD2375F2B/E117479B4A41D7F3223FCAE50560B0D57B22217D diff --git a/spss.handbook/conf/moa-spss/certstore/D708C897515970D33EF7CD0C2474449D3AB6AA83/52ED0FAFBD38A868C678174D7EB03D266ADB221C b/spss.handbook/conf/moa-spss/certstore/D708C897515970D33EF7CD0C2474449D3AB6AA83/52ED0FAFBD38A868C678174D7EB03D266ADB221C Binary files differnew file mode 100644 index 000000000..42a64da07 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/D708C897515970D33EF7CD0C2474449D3AB6AA83/52ED0FAFBD38A868C678174D7EB03D266ADB221C diff --git a/spss.handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/4832F0A28C3724A92F6CB3314F747D0E74FC7344 b/spss.handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/4832F0A28C3724A92F6CB3314F747D0E74FC7344 Binary files differnew file mode 100644 index 000000000..7085c5ac9 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/4832F0A28C3724A92F6CB3314F747D0E74FC7344 diff --git a/spss.handbook/conf/moa-spss/certstore/E6A4C843059A6043B4DC967F9EF892B695990777/B4B77C83465979E3679E3A33F972F48EE3730A18 b/spss.handbook/conf/moa-spss/certstore/E6A4C843059A6043B4DC967F9EF892B695990777/B4B77C83465979E3679E3A33F972F48EE3730A18 Binary files differnew file mode 100644 index 000000000..6225c0ca7 --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/E6A4C843059A6043B4DC967F9EF892B695990777/B4B77C83465979E3679E3A33F972F48EE3730A18 diff --git a/spss.handbook/conf/moa-spss/certstore/EA7E6D37E678C1BCA5060F97DAF09F559DFD04B7/3AAD23B00CA10E54E6368DF7952E3F4B5108B65C b/spss.handbook/conf/moa-spss/certstore/EA7E6D37E678C1BCA5060F97DAF09F559DFD04B7/3AAD23B00CA10E54E6368DF7952E3F4B5108B65C Binary files differnew file mode 100644 index 000000000..a3aa0000d --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/EA7E6D37E678C1BCA5060F97DAF09F559DFD04B7/3AAD23B00CA10E54E6368DF7952E3F4B5108B65C diff --git a/spss.handbook/conf/moa-spss/certstore/EEE6351C5C6EBD8644AB88E7648D44FA07C72A80/14E59C02A6877B0EBD2C4203886BA25959C1D267 b/spss.handbook/conf/moa-spss/certstore/EEE6351C5C6EBD8644AB88E7648D44FA07C72A80/14E59C02A6877B0EBD2C4203886BA25959C1D267 Binary files differnew file mode 100644 index 000000000..332aa817a --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/EEE6351C5C6EBD8644AB88E7648D44FA07C72A80/14E59C02A6877B0EBD2C4203886BA25959C1D267 diff --git a/spss.handbook/conf/moa-spss/certstore/F1B84756A1EAB09C171B2783DD163B42A9BD0BBB/ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 b/spss.handbook/conf/moa-spss/certstore/F1B84756A1EAB09C171B2783DD163B42A9BD0BBB/ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 Binary files differnew file mode 100644 index 000000000..069640ffc --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/F1B84756A1EAB09C171B2783DD163B42A9BD0BBB/ED5608CE67EA5CB79AC024CEA7445F9BCBE48703 diff --git a/spss.handbook/conf/moa-spss/certstore/F48B57F89BACD8687EBB12223A5B8E5EF3774583/CAF84A42305615AC2C582F6412BDA3E36DAC3D25 b/spss.handbook/conf/moa-spss/certstore/F48B57F89BACD8687EBB12223A5B8E5EF3774583/CAF84A42305615AC2C582F6412BDA3E36DAC3D25 Binary files differnew file mode 100644 index 000000000..83aeb1fce --- /dev/null +++ b/spss.handbook/conf/moa-spss/certstore/F48B57F89BACD8687EBB12223A5B8E5EF3774583/CAF84A42305615AC2C582F6412BDA3E36DAC3D25 diff --git a/spss.handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden(pwd=allekunden).p12 b/spss.handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden(pwd=allekunden).p12 Binary files differnew file mode 100644 index 000000000..8827ed99c --- /dev/null +++ b/spss.handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden(pwd=allekunden).p12 diff --git a/spss.handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.der b/spss.handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.der Binary files differnew file mode 100644 index 000000000..332aa817a --- /dev/null +++ b/spss.handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.der diff --git a/spss.handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1(pwd=kunde1).p12 b/spss.handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1(pwd=kunde1).p12 Binary files differnew file mode 100644 index 000000000..4499ab52b --- /dev/null +++ b/spss.handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1(pwd=kunde1).p12 diff --git a/spss.handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.der b/spss.handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.der Binary files differnew file mode 100644 index 000000000..63ba5cce5 --- /dev/null +++ b/spss.handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.der diff --git a/spss.handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2(pwd=kunde2).p12 b/spss.handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2(pwd=kunde2).p12 Binary files differnew file mode 100644 index 000000000..5b7631133 --- /dev/null +++ b/spss.handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2(pwd=kunde2).p12 diff --git a/spss.handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.der b/spss.handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.der Binary files differnew file mode 100644 index 000000000..4f87134e7 --- /dev/null +++ b/spss.handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.der diff --git a/spss.handbook/conf/moa-spss/log4j.properties b/spss.handbook/conf/moa-spss/log4j.properties new file mode 100644 index 000000000..be9d38586 --- /dev/null +++ b/spss.handbook/conf/moa-spss/log4j.properties @@ -0,0 +1,37 @@ +# +# Sample log4j configuration for the MOA-SPSS web service +# + +# commons-logging setup +org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory + +# Configure root logger and loggers for moa-spss +log4j.rootLogger=info, stdout +log4j.logger.moa.spss.server=info, moaspss +log4j.logger.iaik.server=info, moaspss + +# Configure the 'stdout' appender to write logging output to the console +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n + +# Configure the 'moaspss' appender to write moa-spss related logging output +# to the file 'logs/moa-spss.log'. The file is rolled over every 1000KB, +# and a maximum history of 10 log files is being kept. +log4j.appender.moaspss=org.apache.log4j.RollingFileAppender +log4j.appender.moaspss.File=logs/moa-spss.log +log4j.appender.moaspss.MaxFileSize=1000KB +log4j.appender.moaspss.MaxBackupIndex=10 +log4j.appender.moaspss.layout=org.apache.log4j.PatternLayout +log4j.appender.moaspss.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n + +# Configure the jdbc appender 'JDBC' to write logging output +# to the given PostgreSQL database +# a suitable table called 'spss_log' must have been created in the +# database using the command: +# create table spss_log (log_time timestamp, log_level char(5), log_msg text) +#log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender +#log4j.appender.JDBC.driver=org.postgresql.Driver +#log4j.appender.JDBC.URL=jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest +#log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout +#log4j.appender.JDBC.sql=INSERT INTO spss_log (log_time, log_level, log_msg) VALUES ('%d{ yyyy-MM-dd HH:mm:ss.SSS}', '%5p', '%m')
\ No newline at end of file diff --git a/spss.handbook/conf/moa-spss/spss.config.xml b/spss.handbook/conf/moa-spss/spss.config.xml new file mode 100644 index 000000000..e8066abcd --- /dev/null +++ b/spss.handbook/conf/moa-spss/spss.config.xml @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<MOAConfiguration + xmlns="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + + <CanonicalizationAlgorithm name="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <DigestMethodAlgorithm name="http://www.w3.org/2000/09/xmldsig#sha1"/> + + <GenericConfiguration name="autoAddCertificates" value="true"/> + <GenericConfiguration name="useAuthorityInfoAccess" value="true"/> + <GenericConfiguration name="DirectoryCertStoreParameters.RootDir" value="certstore"/> + + <GenericConfiguration name="checkRevocation" value="true"/> + <GenericConfiguration name="maxRevocationAge" value="0"/> + + <!-- Wenn die Archivierung von CRLs eingeschalten werden soll, sind die nachfolgenden + beiden Einträge zu aktivieren, und der Datenbankparameter ggf. anzupassen. --> + <!--<GenericConfiguration name="archiveRevocationInfo" value="true"/>--> + <!--<GenericConfiguration name="DataBaseArchiveParameter.JDBCUrl" value="jdbc:postgresql://host/moa?user=moa&password=moatest"/>--> + + <!-- Wenn ein Hardware-Key-Module eingesetzt werden soll, ist der nachfolgende Eintrag + zu aktivieren und ggf. anzupassen. --> + <!-- <HardwareKeyModule id="HWKeyModule1" name="cryptoki.dll" slotID="0" userPIN="PIN"/> --> + + <SoftwareKeyModule id="SKM_Kunde1" filename="keys/customer1/moa-signaturdienst-kunde1(pwd=kunde1).p12" password="kunde1"/> + <SoftwareKeyModule id="SKM_Kunde2" filename="keys/customer2/moa-signaturdienst-kunde2(pwd=kunde2).p12" password="kunde2"/> + <SoftwareKeyModule id="SKM_allgemein" filename="keys/common/moa-signaturdienst-allekunden(pwd=allekunden).p12" password="allekunden"/> + + <KeyGroup id="KG_Kunde1"> + <Key> + <KeyModuleID>SKM_Kunde1</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>7</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="KG_Kunde2"> + <Key> + <KeyModuleID>SKM_Kunde2</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>8</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + <KeyGroup id="KG_allgemein"> + <Key> + <KeyModuleID>SKM_allgemein</KeyModuleID> + <KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>9</dsig:X509SerialNumber> + </KeyCertIssuerSerial> + </Key> + </KeyGroup> + + <!-- Standardkonfiguration: Alle Benutzer von MOA duerfen unauthentifiziert die darin definierten Signaturschluesselgruppen verwenden. --> + <KeyGroupMapping> + <KeyGroup id="KG_allgemein"/> + </KeyGroupMapping> + + <!-- Kunde 1 darf Signaturdienst Kunde 1 verwenden verwenden. --> + <KeyGroupMapping> + <X509IssuerSerial> + <dsig:X509IssuerName>CN=Test CA - Verschl\C3\BCsselung B\C3\BCrger,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>3</dsig:X509SerialNumber> + </X509IssuerSerial> + <KeyGroup id="KG_Kunde1"/> + </KeyGroupMapping> + + <!-- Kunde 2 darf Signaturdienst Kunde 2 verwenden verwenden. --> + <KeyGroupMapping> + <X509IssuerSerial> + <dsig:X509IssuerName>CN=Test CA - Verschl\C3\BCsselung B\C3\BCrger,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>4</dsig:X509SerialNumber> + </X509IssuerSerial> + <KeyGroup id="KG_Kunde2"/> + </KeyGroupMapping> + + <ChainingModes systemDefaultMode="pkix"> + <TrustAnchor mode="chaining"> + <dsig:X509IssuerName>CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>536</dsig:X509SerialNumber> + </TrustAnchor> + </ChainingModes> + + <CRLArchive duration="365"/> + + <!-- Wenn ein CreateTransformsInfoProfile verwendet werden soll, ist der nachfolgende Eintrag zu + aktivieren und anzupassen. Für mehrere Profile ist jeweils ein eigener Eintrag zu erstellen. --> + <!-- <CreateTransformsInfoProfile id="CreateTransformsInfoProfile1" filename="createTransformInfoProfiles/einGueltigesProfil.xml"/> --> + + <!-- Wenn ein CreateSignatureEnvironmentProfile verwendet werden soll, ist der nachfolgende Eintrag zu + aktivieren und anzupassen. Für mehrere Profile ist jeweils ein eigener Eintrag zu erstellen. --> + <!-- <CreateSignatureEnvironmentProfile id="CreateSignatureEnvironmentProfile1" filename="createSignatureEnvironmentProfiles/einGueltigesProfil.xml"/> --> + + <!-- Wenn ein VerifyTransformsInfoProfile verwendet werden soll, ist der nachfolgende Eintrag zu + aktivieren und anzupassen. Für mehrere Profile ist jeweils ein eigener Eintrag zu erstellen. --> + <!--<VerifyTransformsInfoProfile id="VerifyTransformsInfoProfile1" filename="verifyTransformsInfoProfiles/einGueltigesProfil.xml"/>--> + + <!-- Wenn ein SupplementProfile verwendet werden soll, ist der nachfolgende Eintrag zu + aktivieren und anzupassen. Für mehrere Profile ist jeweils ein eigener Eintrag zu erstellen. --> + <!-- <SupplementProfile id="SupplementProfile1" filename="supplementProfiles/einGueltigesProfil.xml"/> --> + + <TrustProfile id="Test-Signaturdienste" uri="trustProfiles/test"/> +</MOAConfiguration> diff --git a/spss.handbook/conf/moa-spss/sslKeys/server/moa-ssl-server(pwd=server).p12 b/spss.handbook/conf/moa-spss/sslKeys/server/moa-ssl-server(pwd=server).p12 Binary files differnew file mode 100644 index 000000000..af524d060 --- /dev/null +++ b/spss.handbook/conf/moa-spss/sslKeys/server/moa-ssl-server(pwd=server).p12 diff --git a/spss.handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der b/spss.handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der Binary files differnew file mode 100644 index 000000000..c3b3003d9 --- /dev/null +++ b/spss.handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der diff --git a/spss.handbook/conf/moa-spss/sslKeys/tomcat/tomcat(pwd=server).keystore b/spss.handbook/conf/moa-spss/sslKeys/tomcat/tomcat(pwd=server).keystore Binary files differnew file mode 100644 index 000000000..780e58934 --- /dev/null +++ b/spss.handbook/conf/moa-spss/sslKeys/tomcat/tomcat(pwd=server).keystore diff --git a/spss.handbook/conf/moa-spss/sslKeys/tomcat/trustedClients(pwd=clients).keystore b/spss.handbook/conf/moa-spss/sslKeys/tomcat/trustedClients(pwd=clients).keystore Binary files differnew file mode 100644 index 000000000..908e00b42 --- /dev/null +++ b/spss.handbook/conf/moa-spss/sslKeys/tomcat/trustedClients(pwd=clients).keystore diff --git a/spss.handbook/conf/moa-spss/trustProfiles/test/signaturdienst.der b/spss.handbook/conf/moa-spss/trustProfiles/test/signaturdienst.der Binary files differnew file mode 100644 index 000000000..55707d69f --- /dev/null +++ b/spss.handbook/conf/moa-spss/trustProfiles/test/signaturdienst.der diff --git a/spss.handbook/handbook/common/LogoBKA.png b/spss.handbook/handbook/common/LogoBKA.png Binary files differnew file mode 100644 index 000000000..6a92647fd --- /dev/null +++ b/spss.handbook/handbook/common/LogoBKA.png diff --git a/spss.handbook/handbook/common/MOA.css b/spss.handbook/handbook/common/MOA.css new file mode 100644 index 000000000..9938fdcda --- /dev/null +++ b/spss.handbook/handbook/common/MOA.css @@ -0,0 +1,277 @@ +body
+{
+ font-family: "Times New Roman", Times, serif;
+ font-size: medium;
+ font-weight: normal;
+ margin-left: 2.5em;
+ margin-right: 2.5em;
+}
+
+p
+{
+ margin-top: 0pt;
+ margin-bottom: 0.5em;
+ text-align: justify
+}
+
+pre
+{
+ font-family: "Courier New", monospace;
+ font-size: 90%;
+ background-color: #cccccc;
+ color: #000000;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ border: #008000 none;
+}
+
+hr
+{
+ color: #000080;
+ background-color: #000080;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+table.fixedWidth
+{
+ width: 97%;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+
+table.varWidth
+{
+ margin-left:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+th
+{
+ text-align: left;
+}
+
+h1
+{
+ color: #000080;
+ text-align: left;
+ font-size: 167%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h2
+{
+ color: #000080;
+ font-size: 150%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h3
+{
+ color: #000080;
+ font-size: 133%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h4
+{
+ color: #000080;
+ font-size: 116%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h5
+{
+ color: #000080;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+code
+{
+ font-family: "Courier New", Courier, monospace;
+ font-size: 90%;
+ color: #000000
+}
+
+dd
+{
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+ text-align: justify
+
+}
+
+dt
+{
+ margin-top: 0.8em;
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000080
+}
+
+ol
+{
+ margin-top: 0.5em;
+ margin-bottom: 0.5em
+}
+
+ol.alpha
+{
+ list-style-type: lower-alpha
+}
+
+li
+{
+ margin-top: 0.25em;
+ margin-bottom: 0.25em;
+ text-align: justify
+}
+
+a:hover
+{
+ color: #990000
+}
+
+
+.title
+{
+ text-align: left;
+ font-size: 167%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em
+}
+
+.subtitle
+{
+ text-align: left;
+ font-size: 133%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em
+}
+
+.glossaryTerm
+{
+ font-style: italic;
+ color: #006699
+}
+
+.example
+{
+ font-family: "Courier New", monospace;
+ background-color: #CCFFFF;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.schema
+{
+ font-family: "Courier New", monospace;
+ background-color: #FFFFCC;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.documentinfo
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 100%;
+}
+
+.ol-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.li-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.logoTitle
+{
+ text-align: center;
+ font-size: 133%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.logoTable
+{
+ margin-bottom: 0px;
+ margin-left: 0px
+}
+
+.superscript
+{
+ vertical-align: super;
+ font-size: 66%;
+}
+
+.term
+{
+ font-style: italic;
+}
+
+.comment
+{
+ color: #000000;
+ background: #ffff00;
+ font-style: italic
+}
+
+.addedErrata12
+{
+ color: #FF0000;
+ background-color: #FFEEEE;
+ text-decoration: underline
+}
+
+.deletedErrata12
+{
+ color: #999999;
+ background-color: #EEEEEE;
+ text-decoration: line-through
+}
+
+.added12
+{
+ color: #FF0000;
+ text-decoration: underline
+; background-color: #F8F0FF
+}
+
+.deleted12
+{
+ color: #999999;
+ text-decoration: line-through
+; background-color: #f8f0ff
+}
+
+.rfc2119Keyword
+{
+ font-variant: small-caps;
+ font-style: normal;
+}
+
+.remark { font-style: italic}
diff --git a/spss.handbook/handbook/config/MOA-SPSS.config.xsd b/spss.handbook/handbook/config/MOA-SPSS.config.xsd new file mode 100644 index 000000000..922c6957f --- /dev/null +++ b/spss.handbook/handbook/config/MOA-SPSS.config.xsd @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!-- Schema für die zentrale Konfigurationsdatei von MOA SP/SS.
+ Gültig für die Versionen 1.0, 1.1 und 1.2.
+ (c) Stabsstelle IKT-Strategie des Bundes im Bundeskanzleramt, österreich -->
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:config="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+ <xs:element name="MOAConfiguration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CanonicalizationAlgorithm" minOccurs="0">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DigestMethodAlgorithm" minOccurs="0">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SignatureAlgorithm" minOccurs="0">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="value" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="HardwareCryptoModule" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>dient zum Konfigurieren von HW Crypto-Module via PKCS#11 (s. iaik.server.modules.crypto.HarwwareCryptoModuleConfiguration)</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="slotID" type="xs:string" use="optional"/>
+ <xs:attribute name="userPIN" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="HardwareKeyModule" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>dient zum Konfigurieren von HW Key-Module via PKCS#11 (s. iaik.server. modules.crypto.HardwareKeyModuleConfiguration</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ <xs:attribute name="slotID" type="xs:string" use="optional"/>
+ <xs:attribute name="userPIN" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SoftwareKeyModule" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>dient zum Konfigurieren von SW Key-Module via PKCS#12 Dateien (s. iaik. server.modules.crypto.SoftwareKeyModuleConfiguration</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ <xs:attribute name="filename" type="xs:string" use="required"/>
+ <xs:attribute name="password" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="KeyGroup" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>definiert eine Gruppe von Keys</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="Key">
+ <xs:annotation>
+ <xs:documentation>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</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="KeyModuleID" type="xs:token"/>
+ <xs:element name="KeyCertIssuerSerial" type="dsig:X509IssuerSerialType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="KeyGroupMapping" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>ordnet oben definierte KeyGroups Online-Applikationen zu, die diese KeyGroups verwenden dürfen</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="X509IssuerSerial" type="dsig:X509IssuerSerialType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>wenn das Element nicht auftritt, dann können die zugeordneten KeyGroups von allen Online-Applikationen verwendet werden</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="KeyGroup" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ChainingModes" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="TrustAnchor">
+ <xs:annotation>
+ <xs:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="dsig:X509IssuerSerialType">
+ <xs:attribute name="mode" type="config:ChainingModeType" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="systemDefaultMode" type="config:ChainingModeType" use="optional" default="pkix"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CRLArchive" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>spezifiziert die Dauer, die Revozierungsinformation archiviert werden muss in Tagen</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="duration" type="xs:nonNegativeInteger" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CRLDistributionPoint" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>spezifiziert CRL Distribution Points</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CAIssuerDN" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>spezifiziert die CA, für die der u.a. DP verwendet werden soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DistributionPoint" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>das Attribut reasonCodes enthält eine Liste von möglichen reasonCodes lt. RFC 3280: unspecified, keyCompromise, cACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold, removeFromCRL, privilegeWithdrawn, aACompromise
+</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="reasonCodes" type="xs:NMTOKENS" use="optional"/>
+ <xs:attribute name="uri" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateTransformsInfoProfile" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>ordnet eine Datei, die ein CreateTransformsInfoProfile-Element enthält, einer id zu</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ <xs:attribute name="filename" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateSignatureEnvironmentProfile" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>ordnet eine Datei, die ein CreateSignatureEnvironmentProfile-Element enthält, einer id zu</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ <xs:attribute name="filename" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="VerifyTransformsInfoProfile" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>ordnet eine Datei, die ein VerifyTransformsInfoProfile-Element enthält, einer id zu</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ <xs:attribute name="filename" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SupplementProfile" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>ordnet eine Datei, die ein SupplementProfile-Element enthält, einer id zu</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ <xs:attribute name="filename" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TrustProfile" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>ordnet ein Verzeichnis, das vertrauenswürdige Zertifikate enthält einer id zu</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="id" type="xs:token" use="required"/>
+ <xs:attribute name="uri" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="ChainingModeType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="chaining"/>
+ <xs:enumeration value="pkix"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/spss.handbook/handbook/config/config.html b/spss.handbook/handbook/config/config.html new file mode 100644 index 000000000..4bd90a527 --- /dev/null +++ b/spss.handbook/handbook/config/config.html @@ -0,0 +1,121 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> + <title>Die österreichische Bürgerkarte - Einführung</title> + <link rel="stylesheet" href="../common/MOA.css" type="text/css"> +</head> +<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966"> + <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> + <tr> + <td align="center" width="30%"><img src="../common/LogoBKA.png" width="267" height="36" alt="Logo BKA"></td> + <td align="center" class="logoTitle"><div align="right">Open Source + für das E-Government</div></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.2 </a></p> + <p class="subtitle">Konfiguration</p> + <hr/> + <h1>Inhalt</h1> + <ol> + <li> + <p><a href="#übersicht">Übersicht</a></p> + <ol> + <li><a href="#übersicht_zentraledatei">Zentrale Konfigurationsdatei</a></li> + <li><a href="#übersicht_bekanntmachung">Bekanntmachung der Konfigurationsdatei + </a> + <ol> + <li><a href="#übersicht_bekanntmachung_laufenderbetrieb">Aktualisierung der Konfiguration im laufenden Betrieb</a></li> + </ol> + </li> + <li><a href="#übersicht_logging">Konfiguration des Loggings</a></li> + </ol> + </li> + <li><a href="#konfigurationsparameter">Konfigurationsparameter</a></li> + <li><a href="#beispielkonfigurationen">Beispielkonfigurationen</a></li> + <li>Typische Konfigurationsaufgaben </li> + </ol> + <hr/> + <h1><a name="übersicht" id="übersicht"></a>1 Übersicht </h1> + <p>Dieses Handbuch beschreibt detailliert die Konfigurationsmöglichkeiten für MOA SP/SS. Wenn nicht anders angegeben, beziehen sich die Erläuterungen sowohl auf die Konfiguration des Webservices als auch auf die Konfiguration von MOA SP/SS für den Einsatz als Klassenbibliothek.</p> + <h2><a name="übersicht_zentraledatei" id="übersicht_zentraledatei"></a>1.1 Zentrale Konfigurationsdatei</h2> + <p>Die Konfiguration von MOA SP/SS erfolgt zentral über eine einzige Konfigurationsdatei. Das Format der Konfigurationsdatei ist XML und muss dem Schema <a href="./MOA-SPSS.config.xsd">MOA-SPSS.config.xsd</a> entsprechen. <a href="#konfigurationsparameter">Abschnitt 2</a> erläutert die Konfigurationsmöglichkeiten im Einzelnen.</p> + <h2><a name="übersicht_bekanntmachung" id="übersicht_bekanntmachung"></a>1.2 Bekanntmachung der Konfigurationsdatei</h2> + <p>Die zentrale Konfigurationsdatei von MOA SP/SS wird der <span class="term">Java Virtual Machine</span>, in der MOA SP/SS läuft, durch ein <span class="term">VM Argument</span> mitgeteilt. Der Name des <span class="term">VM Argument</span> lautet <code>moa.spss.server.configuration</code>; als Wert des Parameters ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.</p> + <pre>moa.spss.server.configuration=C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/moa-spss.config.xml +</pre> +<p>Weitere Informationen zum Bekanntmachen der zentralen Konfigurationsdatei MOA SP/SS erhalten Sie in <span class="comment">Abschnitt TBD des Installationshandbuchs</span>.</p> +<h3><a name="übersicht_bekanntmachung_laufenderbetrieb" id="übersicht_bekanntmachung_laufenderbetrieb"></a>1.2.1 Aktualisierung der Konfiguration im laufenden Betrieb</h3> +<p>Wird MOA SP/SS als Webservice eingesetzt, kann durch Aufrufen einer speziellen URL des Webservice ein erneutes Einlesen der Konfigurationsdatei erzwungen werden. Damit ist es möglich, Änderungen an der Konfigurationsdatei vorzunehmen, und diese Änderungen ohne Neustart des zu Grunde liegenden Servlet Containers in den Betrieb zu übernehmen.</p> +<p>Weitere Informationen zum erneuten Einlesen der Konfigurationsdatei im Webservice-Betrieb erhalten Sie in <span class="comment">Abschnitt TBD des Installationshandbuchs</span>.</p> +<h2><a name="übersicht_logging" id="übersicht_logging"></a>1.3 Konfiguration des Loggings</h2> + <p>MOA SP/SS verwendet als Framework für Logging-Information die Open Source Software <code>log4j</code>. Die Konfiguration der Logging-Information erfolgt nicht direkt durch MOA SP/SS, sondern über eine eigene Konfigurationsdatei, die der <span class="term">Java Virtual Machine</span> durch ein <span class="term">VM Argument</span> mitgeteilt wird. Der Name des <span class="term">VM Argument</span> lautet <code>log4j.configuration</code>; als Wert des Parameters ist eine URL anzugeben, die auf die <code>log4j</code>-Konfigurationsdatei verweist, z.B.</p> + <p> + <pre>log4j.configuration=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/log4j.properties</pre> + Weitere Informationen zur Konfiguration des Loggings erhalten Sie in <span class="comment">Abschnitt TBD des Installationshandbuchs</span>. </p> + <h1><a name="konfigurationsparameter"></a>2 Konfigurationsparameter</h1> + <p>Nachfolgend werden die verfügbaren Konfigurationsparameter der zentralen Konfigurationsdatei im Detail erläutert. Die Reihenfolge der Abhandlung entspricht der Reihenfolge des vorgeschriebenen Auftretens in der Konfigurationsdatei. Für beispielhafte Konfigurationsdateien siehe <a href="#beispielkonfigurationen">Abschnitt 3</a>. </p> + <p>Muss der Wert eines Konfigurationsparameters eine URL oder eine Pfadangabe sein, und wird als konkreter Wert eine relative URL bzw. ein relativer Pfad angegeben, so wird diese Angabe relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist.</p> + <p>Präfixe für Namenräume von XML-Elementen werden wie folgt verwendet:</p> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <th scope="col">Präfix</th> + <th scope="col">Namenraum</th> + </tr> + <tr> + <td><code>cfg</code></td> + <td><code>http://reference.e-government.gv.at/namespace/moaconfig/20021122#</code></td> + </tr> + <tr> + <td><code>dsig</code></td> + <td><code>http://www.w3.org/2000/09/xmldsig#</code></td> + </tr> + </table> + <h2><a name="konfigurationsparameter_kanonisierungsalgorithmus" id="konfigurationsparameter_kanonisierungsalgorithmus"></a>2.1 Kanonisierungs-Algorithmus</h2> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:CanonicalizationAlgorithm</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>optional</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Als Inhalt des Elements kann der Kanonisierungs-Algorithmus, der für das Erstellen von XML-Signaturen verwendet werden soll und in der Signatur als Inhalt von <code>dsig:Signature/dsig:SignedInfo/dsig:CanonicalizationMethod</code> aufscheint, spezifiziert werden. Folgende Werte dürfen verwendet werden:</p> + <p> + <pre>http://www.w3.org/TR/2001/REC-xml-c14n-20010315 <br>http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments <br>http://www.w3.org/2001/10/xml-exc-c14n# <br>http://www.w3.org/2001/10/xml-exc-c14n#WithComments </pre> + </p> <p>Wird das Element nicht angegeben, wird folgender Wert als Default-Wert verwendet:</p> + <pre>http://www.w3.org/TR/2001/REC-xml-c14n-20010315 </pre> + <p>Für die genaue Bedeutung der Werte siehe die <a href="http://www.w3.org/TR/xmldsig-core/" target="_blank">Spezifikation für XML-Signaturen</a>.</p></td> + </tr> + </table> + <h2><a name="konfigurationsparameter_digestsalgorithmus" id="konfigurationsparameter_digestsalgorithmus"></a>2.2 Digest-Algorithmus</h2> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:DigestAlgorithm</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>optional</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Als Inhalt des Elements kann der Digest-Algorithmus, der für das Erstellen von XML-Signaturen verwendet werden soll und in der Signatur als Inhalt von <code>dsig:Signature/dsig:SignedInfo/dsig:Reference/dsig:DigestMethod</code> aufscheint, spezifiziert werden. Folgende Werte dürfen verwendet werden:</p> + <p> + <pre>http://www.w3.org/2000/09/xmldsig#sha1 +</pre> + <p></p> + <p>Wird das Element nicht angegeben, wird folgender Wert als Default-Wert verwendet:</p> + <pre>http://www.w3.org/2000/09/xmldsig#sha1</pre> + <p>Für die genaue Bedeutung der Werte siehe die <a href="http://www.w3.org/TR/xmldsig-core/" target="_blank">Spezifikation für XML-Signaturen</a>.</p></td> + </tr> + </table> + <h2> </h2> + <h1><a name="beispielkonfigurationen"></a>3 Beispielkonfigurationen </h1> + <p> </p> +</body> +</html> diff --git a/spss.handbook/handbook/index.html b/spss.handbook/handbook/index.html new file mode 100644 index 000000000..51bd0db60 --- /dev/null +++ b/spss.handbook/handbook/index.html @@ -0,0 +1,33 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> + <title>Die österreichische Bürgerkarte - Einführung</title> + <link rel="stylesheet" href="./common/MOA.css" type="text/css"> +</head> +<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966"> + <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> + <tr> + <td align="center" width="30%"><img src="./common/LogoBKA.png" width="267" height="36" alt="Logo BKA"></td> + <td align="center" class="logoTitle"><div align="right">Open Source + für das E-Government</div></td> + </tr> + </table> + <hr/> + <p class="title">MOA: Serversignatur (SS) und Signaturprüfung (SP) </p> + <p class="subtitle">Übersicht zur Dokumentation der Version 1.2 </p> + <hr/> + <dl> + <dt><a href="./intro/intro.html">Einführung</a></dt> + <dd>Übersicht über die beiden Module.</dd> + <dt><a href="./install/install.html">Installation</a></dt> + <dd>Detaillierte Anleitung für die Installation. </dd> + <dt><a href="./config/config.html">Konfiguration</a></dt> + <dd>Erläuterung aller Konfigurationsoptionen sowie Leitfaden für häufige Konfigurationsaufgaben.</dd> + <dt><a href="./usage/usage.html">Anwendung</a></dt> + <dd>Beispiele zur Verwendung der beiden Module.</dd> + <dt><a href="./faq/faq.html">FAQ</a></dt> + <dd>Häufig gestellte Fragen zu Installation, Konfiguration und Anwendung. </dd> + </dl> +</body> +</html> diff --git a/spss.handbook/handbook/install/install.html b/spss.handbook/handbook/install/install.html new file mode 100644 index 000000000..ac9fb1a5c --- /dev/null +++ b/spss.handbook/handbook/install/install.html @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> + <title>Die österreichische Bürgerkarte - Einführung</title> + <link rel="stylesheet" href="../common/MOA.css" type="text/css"> +</head> +<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966"> + <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> + <tr> + <td align="center" width="30%"><img src="../common/LogoBKA.png" width="267" height="36" alt="Logo BKA"></td> + <td align="center" class="logoTitle"><div align="right">Open Source + für das E-Government</div></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.2 </a></p> + <p class="subtitle">Installation</p> + <hr/> + <h1>Inhalt</h1> + <ol> + <li> + <p><a href="#Übersicht">Übersicht</a></p> + + </li> + <li> + <p><a href="#webservice">Webservice</a></p> + </li> + <li><a href="#klassenbibliothek">Klassenbibliothek</a></li> + </ol> +<hr/> + <h1><a name="übersicht" id="übersicht"></a>1 Übersicht</h1> + <p> Die Module Signaturprüfung (SP) und Serversignatur (SS) sind als plattformunabhängige Module ausgelegt, die entweder als Webservice über HTTP bzw. HTTPS oder als Klassenbibliothek über ein API angesprochen werden können. Dieses Handbuch beschreibt die Installation der beiden Module als Webservice oder als Klassenbibliothek, sowie die Einrichtung der Systemumgebung.</p> + <h1><a name="webservice"></a>2 Webservice </h1> + <p>Dieser Abschnitt beschreibt die Installation von MOA SP/SS als Webservice. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsmöglichkeiten auf.</p> + <h2><a name="webservice_basisinstallation" id="webservice_basisinstallation"></a>2.1 Basisinstallation</h2> + <h3><a name="webservice_basisinstallation_einführung" id="webservice_basisinstallation_einführung"></a>2.1.1 Einführung </h3> + <p> Die Basisinstallation des Webservices stellt einerseits die minimalen Anforderungen für den Betrieb von MOA SP/SS als Webservices dar, andererseits dient sie als Ausgangspunkt für optionale <a href="#webservice_erweiterungsmöglichkeiten">Erweiterungsmöglichkeiten</a>.</p> + <p> Folgende Software ist Voraussetzung für die Basisinstallation des Webservices: </p> + <ul> + <li><a href="referenziertesoftware">J2SE 1.3.1 SDK oder J2SE 1.4.2 SDK </a></li> + <li><a href="#referenziertesoftware">Apache Tomcat 4.1.18 oder höher </a></li> + </ul> + <p>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.</p> + <h3><a name="webservice_basisinstallation_installation" id="webservice_basisinstallation_installation"></a>2.1.2 Installation</h3> + <h4><a name="webservice_basisinstallation_installation_vorbereitung" id="webservice_basisinstallation_installation_vorbereitung"></a>2.1.2.1 Vorbereitung</h4> + <p>Die folgenden Schritte dienen der Vorbereitung der Installation.</p> + <dl> + <dt>Installation von J2SE SDK</dt> + <dd>Installieren Sie <a href="#referenziertesoftware">J2SE 1.3.1 SDK</a> oder <a href="#referenziertesoftware">J2SE 1.4.2 SDK</a> in ein beliebiges Verzeichnis. Wir empfehlen die Installation von <a href="#referenziertesoftware">J2SE 1.4.2 SDK</a>. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> bezeichnet. </dd> + <dt>Installation von Apache Tomcat 4.1</dt> + <dd> Installieren Sie <a href="#referenziertesoftware">Apache Tomcat 4.1.18</a> oder höher in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Wir empfehlen die Installation von <a href="#referenziertesoftware">Apache Tomcat 4.1.30</a>. Verwenden Sie bitte die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als <code>$CATALINA_HOME</code> bezeichnet.</dd> + <dt>Entpacken der MOA SP/SS Webservice Distribution</dt> + <dd> Entpacken Sie die Datei <code>moa-spss-1.2.x.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd> + <dt>Installation der mitgelieferten Krypographiebibliotheken</dt> + <dd> + <p>Die Installation der mitgelieferten Kryptographiebibliotheken des <a href="http://jce.iaik.tugraz.at/" target="_blank">IAIK</a> ist abhängig vom eingesetzten J2SE SDK:</p> + <dl> + <dt>J2SE 1.3.1 SDK</dt> + <dd>Kopieren Sie alle Dateien aus dem Verzeichnis + + + <code>$MOA_SPSS_INST/ext13</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>.</dd> + <dt>J2SE 1.4.2 SDK</dt> + <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext14</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zusätzlich müssen Sie die Rechtedateien Ihres J2SE 1.4.2 SDK austauschen. Laden Sie dazu die <span class="term">Unlimited Strength + + + Jurisdiction Policy Files</span> von der <a href="http://java.sun.com/j2se/1.4.2/download.html" target="_blank">J2SE 1.4.2 SDK Downloadseite</a> und folgen Sie der darin enthaltenen Installationsanweisung. </dd> + </dl> + </dd> + </dl> + <h4><a name="webservice_basisinstallation_installation_tomcatconfig" id="webservice_basisinstallation_installation_tomcatconfig"></a>2.1.2.2 Konfiguration von Apache Tomcat</h4> + <p> Die zentrale Konfigurations-Datei von Tomcat ist <code>$CATALINA_HOME/conf/server.xml</code>. Tomcat wird grundsätzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enthält und viele Ports offen lässt. </p> + <h5>Konfiguration des HTTP Connectors</h5> + <p> Die Datei <code>$MOA_SPSS_INST/tomcat/server.xml</code> enthält eine minimale Tomcat-Konfiguration, die ausschließlich den Connector für HTTP auf Port 8080 freischaltet. Durch kopieren dieser Datei nach <code>$CATALINA_HOME/conf/server.xml</code> kann Tomcat mit dieser Konfiguration gestartet werden. Wir empfehlen diese Konfiguration nur für Fälle, in denen das MOA SP/SS Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird. </p> + <h5>Konfiguration des HTTPS Connectors</h5> + <p>Wird das MOA SP/SS Webservice in einer nicht abgeschlossenen Umgebung (z.B. Erreichbarkeit über das Internet) betrieben, ist die gegenseitige Identitätsfeststellung von Kunde und Webservice essentiell: </p> + <ul> + <li> Nutzt ein Kunde MOA SP, ist es für ihn wichtig, die Identität des Webservice eindeutig feststellen zu können, denn er vertraut dem Webservice ja die Prüfung einer elektronischen Signatur an.</li> + <li>Nutzt ein Kunde MOA SS, ist es für ihn wesentlich, dass nur er Zugriff auf die für ihn vom Webservice verwalteten privaten Schlüssel hat, um elektronische Signaturen zu erstellen. Das Webservice muss also die Identität des Kunden prüfen. </li> + </ul> + <p>Beide Identitätsprüfungen können mit hoher Qualität vorgenommen werden, wenn die Erreichbarkeit des Webservice auf SSL mit Server- (für MOA SP) bzw. Client- und Serverauthentisierung (für MOA SS) eingeschränkt wird. </p> + <p>Für die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zunächst ist der HTTP Connector abzuschalten (auszukommentieren). Anschließend ist der HTTPS Connector zu konfigurieren. Das Dokument <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html">Tomcat SSL Configuration HOW-TO </a> gibt einen guten Überblick dazu. Grob zusammengefasst sind folgende Schritte durchzuführen: </p> + <ul> + <li>Erstellung eines <span class="term">Server-Keystores</span>, der den privaten Schlüssel sowie das zugehörige Zertifikat des Webservices enthält, mit dem es sich bei Aufbau einer SSL-Verbindung gegenüber dem Kunden ausweist.sowie das dazugehörige ZertiServer-Zertifikat enthält. Sie können diesen Keystore z.B. mit <code>keytool</code> erstellen, einem Programm, das Ihrem J2SE SDK beiliegt.</li> + <li>Erstellung eines <span class="term">Client-Keystores</span>, der die Zertifikate aller Kunden des Webservices enthält. Nur Kunden des Webservices, die sich beim Aufbau einer SSL-Verbindung gegenüber dem Webservice mit einem im <span class="term">Client-Keystore</span> enthaltenen Zertifikat ausweisen, erhalten grundsätzlich Zugriff zu den Diensten des Webservices (für die Konfiguration, welcher Kunde welche Schlüssel von MOA SS verwenden darf, siehe <span class="comment">TBD</span>). Auch dieser Keystore kann z.B. mit <code>keytool</code> erstellt werden. Dieser Keystore ist optional und braucht nur erstellt zu werden, wenn sich die Kunden gegenüber dem Webservice authentisieren müssen. </li> + <li>Konfiguration des HTTPS Connectors in <code>$CATALINA_HOME/conf/server.xml</code>.</li> + </ul> + <p>Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden übernimmt (siehe <a href="#webservice_erweiterungsmöglichkeiten_webserver">Abschnitt 2.2.1</a>).</p> + <h5>Einrichten des MOA SP/SS Administrators </h5> + <p>Das MOA SP/SS Webservice kann <span class="term">remote</span> durch den Aufruf einer speziellen URL des Webservices dazu veranlasst werden, seine Konfiguration neu einzulesen. Der Zugriff auf diese URL ist durch eine Passwort-Abfrage geschützt, und kann nur von Tomcat-Benutzern aufgerufen werden, denen die Tomcat-Benutzer-Rolle <code>moa-admin</code> zugeordnet wurde.</p> + <p> Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, müssen in der Datei <code>$CATALINA_HOME/conf/tomcat-users.xml </code>unter dem Element <code><tomcat-users></code> sinngemäß folgende Einträge hinzugefügt werden: </p> + <p> + <pre><role rolename="moa-admin"/> +<user username="moa-chief" password="openSesam" roles="moa-admin"/> </pre> +<p>Soll der Aufruf dieser URL niemandem ermöglicht werden, sind die oben beschriebenen Einträge einfach nicht vorzunehmen.</p> + <h2><a name="webservice_erweiterungsmöglichkeiten" id="webservice_erweiterungsmöglichkeiten"></a>2.2 Erweiterungsmöglichkeiten</h2> + <p>Ausgehend von der <a href="#webservice_basisinstallation">Basisinstallation</a> können die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabhängig und in beliebiger Kombination aufgesetzt werden.</p> + <h3><a name="webservice_erweiterungsmöglichkeiten_webserver" id="webservice_erweiterungsmöglichkeiten_webserver"></a>2.2.1 Vorgeschalteter Webserver</h3> + <h4><a name="webservice_erweiterungsmöglichkeiten_webserver_apache" id="webservice_erweiterungsmöglichkeiten_webserver_apache"></a>2.2.1.1 Apache</h4> + <h4><a name="webservice_erweiterungsmöglichkeiten_webserver_iis" id="webservice_erweiterungsmöglichkeiten_webserver_iis"></a>2.2.1.2 Microsoft Internet Information Server</h4> + <h3><a name="webservice_erweiterungsmöglichkeiten_datenbank" id="webservice_erweiterungsmöglichkeiten_datenbank"></a>2.2.2 Datenbank</h3> + <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql"></a>2.2.2.1 PostgreSQL</h4> + <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_oracle" id="webservice_erweiterungsmöglichkeiten_datenbank_oracle"></a>2.2.2.2 Oracle</h4> + <h3><a name="webservice_erweiterungsmöglichkeiten_hsm" id="webservice_erweiterungsmöglichkeiten_hsm"></a>2.2.3 Hardware Security Module (HSM)</h3> + <h1><a name="klassenbibliothek"></a>3 Klassenbibliothek</h1> + <p>Dieser Abschnitt beschreibt die Verwendung von MOA SP/SS als Klassenbibliothek. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsmöglichkeiten auf.</p> + <h2><a name="klassenbibliothek_basisinstallation" id="klassenbibliothek_basisinstallation"></a>3.1 Basisinstallation</h2> + <h3><a name="klassenbibliothek_basisinstallation_einführung" id="klassenbibliothek_basisinstallation_einführung"></a>3.1.1 Einführung </h3> + <p>Die Basisinstallation der Klassenbibliothek stellt einerseits die minimalen Anforderungen für den Einsatz von MOA SP/SS als Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt für optionale Erweiterungsmöglichkeiten.</p> + <p> Folgende Software ist Voraussetzung für die Basisinstallation der Klassenbibliothek: </p> + <ul> + <li><a href="#referenziertesoftware">J2SE 1.3.1 JRE</a> oder <a href="#referenziertesoftware">J2SE 1.4.2 JRE</a> </li> + </ul> + <p>Die MOA SP/SS Klassenbibliothek verwendet Log4j als Logging Toolkit.</p> + <h3><a name="klassenbibliothek_basisinstallation_installation" id="klassenbibliothek_basisinstallation_installation"></a>3.2.1 Installation </h3> + <h2><a name="klassenbibliothek_erweiterungsmöglichkeiten" id="klassenbibliothek_erweiterungsmöglichkeiten"></a>3.2 Erweiterungsmöglichkeiten </h2> + <h3><a name="klassenbibliothek_erweiterungsmöglichkeiten_datenbank" id="klassenbibliothek_erweiterungsmöglichkeiten_datenbank"></a>3.2.1 Datenbank</h3> + <h4><a name="klassenbibliothek_erweiterungsmöglichkeiten_datenbank_postgresql" id="klassenbibliothek_erweiterungsmöglichkeiten_datenbank_postgresql"></a>3.2.1.1 PostgreSQL</h4> + <h4><a name="klassenbibliothek_erweiterungsmöglichkeiten_datenbank_oracle" id="klassenbibliothek_erweiterungsmöglichkeiten_datenbank_oracle"></a>3.2.1.2 Oracle</h4> + <h3><a name="klassenbibliothek_erweiterungsmöglichkeiten_hsm" id="klassenbibliothek_erweiterungsmöglichkeiten_hsm"></a>3.2.2 Hardware Security Module (HSM)</h3> + <h1><a name="referenziertesoftware"></a>A Referenzierte Software</h1> +<p>Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:</p> +<table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <th scope="col">Name</th> + <th scope="col">Beschreibung</th> + </tr> + <tr> + <td><a href="http://jakarta.apache.org/tomcat/index.html" target="_blank">Apache Tomcat 4.1.x </a></td> + <td>Servlet-Container des Apache Jakarta Projekts in der Version 4.1.x </td> + </tr> + <tr> + <td><a href="http://java.sun.com/j2se/1.3.1/" target="_blank">J2SE 1.3.1 SDK/JRE</a> </td> + <td>Java 2 Standard Edition in der Version 1.3.1 (Software Development Kit bzw. Java Runtime Environment) </td> + </tr> + <tr> + <td><a href="http://java.sun.com/j2se/1.4.2/" target="_blank">J2SE 1.4.2 SDK/JRE</a></td> + <td>Java 2 Standard Edition in der Version 1.4.2 (Software Development Kit bzw. Java Runtime Environment) </td> + </tr> + <tr> + <td> </td> + <td> </td> + </tr> + <tr> + <td> </td> + <td> </td> + </tr> + <tr> + <td> </td> + <td> </td> + </tr> + <tr> + <td> </td> + <td> </td> + </tr> + <tr> + <td> </td> + <td> </td> + </tr> + <tr> + <td> </td> + <td> </td> + </tr> +</table> +<p> </p> +<p> </p> +</body> +</html> diff --git a/spss.handbook/handbook/intro/intro.html b/spss.handbook/handbook/intro/intro.html new file mode 100644 index 000000000..d2828c5a8 --- /dev/null +++ b/spss.handbook/handbook/intro/intro.html @@ -0,0 +1,43 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html> +<head> + <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> + <title>Die österreichische Bürgerkarte - Einführung</title> + <link rel="stylesheet" href="../common/MOA.css" type="text/css"> +</head> +<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966"> + <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> + <tr> + <td align="center" width="30%"><img src="../common/LogoBKA.png" width="267" height="36" alt="Logo BKA"></td> + <td align="center" class="logoTitle"><div align="right">Open Source + für das E-Government</div></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.2 </a></p> + <p class="subtitle">Einführung</p> + <hr/> + <h1>Inhalt</h1> + <ol> + <li> + <p><a href="#allgemeines">Allgemeines</a></p> + </li> + <li> + <p><a href="#ss">Modul Serversignatur (SS) </a></p> + </li> + <li><a href="#sp">Modul Signaturprüfung (SP) </a></li> + </ol> +<hr/> + <h1><a name="allgemeines"></a>1 Allgemeines</h1> + <p> Die Module Serversignatur (SS) und Signaturprüfung (SP) können von Anwendungen verwendet werden, um elektronische Signaturen zu erstellen bzw. vorliegende elektronische Signaturen zu überprüfen.</p> + <p> Die Funktionalität und der Aufbau der Schnittstelle zu den beiden Modulen ist in der <a href="../spec/MOA-SPSS-1.2.pdf" target="_blank" class="term">Spezifikation MOA SP/SS (V1.2)</a> detailliert beschrieben. Da diese Spezifikation auf der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.html" target="_blank" class="term"> Schnittstellenspezifikation des Security-Layers (V 1.1)</a> aufbaut, ist deren Kenntnis zum Verstehen der Schnittstellen zu SS und SP erforderlich. </p> + <h1><a name="ss"></a>2 Modul Serversignatur (SS) </h1> + <p> Das Modul Serversignatur (SS) dient zum Erstellen von XML-Signaturen in Anlehnung an die <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.html"> </a><a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.html" target="_blank" class="term">Schnittstellenspezifikation des Security-Layers (V 1.1)</a>. Eine Signatur kann entweder rein in Software erstellt werden, oder aber unter Zuhilfenahme eines Hardware Security Modules (HSM), das den privaten Schlüssel geschützt enthält und die Signatur berechnet.</p> + <p> Der Zugriff auf einzelne Signaturschlüssel in MOA SS kann basierend auf dem für TLS-Client-Authentisierung verwendeten Zertifikat eingeschränkt werden. </p> + <p> Anwendungen können das Modul entweder als Web-Service oder über ein Java-API ansprechen. </p> + <h1><a name="sp"></a>3 Modul Signaturprüfung (SP) </h1> + <p> Das Modul Signaturprüfung (SP) dient zum Überprüfen von <a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/" target="_blank">XML-Signaturen</a> und <a href="http://www.ietf.org/rfc/rfc2630.txt" target="_blank">CMS-Signaturen</a>. </p> + <p>Im Zuge der Verifikation einer XML-Signatur werden die Signatur, gegebenenfalls vorhandene XMLDSIG-Manifeste, als auch die Gültigkeit und Anwendbarkeit des Zertifikats überprüft. Bei XML-Signaturen kann zusätzlich überprüft werden, ob sie den speziellen Anforderungen <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.html" target="_blank" class="term">Schnittstellenspezifikation des Security-Layers (V 1.1)</a> entsprechen (vgl. Signaturmanifest). </p> + <p> Anwendungen können das Modul entweder als Web-Service oder über ein Java-API ansprechen.</p> +</body> +</html> diff --git a/spss.handbook/handbook/spec/MOA-SPSS-1.2.pdf b/spss.handbook/handbook/spec/MOA-SPSS-1.2.pdf Binary files differnew file mode 100644 index 000000000..76094b848 --- /dev/null +++ b/spss.handbook/handbook/spec/MOA-SPSS-1.2.pdf diff --git a/spss.handbook/handbook/spec/MOA-SPSS-1.2.wsdl b/spss.handbook/handbook/spec/MOA-SPSS-1.2.wsdl new file mode 100644 index 000000000..b3f252562 --- /dev/null +++ b/spss.handbook/handbook/spec/MOA-SPSS-1.2.wsdl @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Web Service Description for MOA SP/SS 1.2
+-->
+<definitions name="MOA" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" location="../resources/schemas/MOA-SPSS-1.2.xsd"/>
+ <message name="CreateXMLSignatureInput">
+ <part name="body" element="moa:CreateXMLSignatureRequest"/>
+ </message>
+ <message name="CreateXMLSignatureOutput">
+ <part name="body" element="moa:CreateXMLSignatureResponse"/>
+ </message>
+ <message name="VerifyCMSSignatureInput">
+ <part name="body" element="moa:VerifyCMSSignatureRequest"/>
+ </message>
+ <message name="VerifyCMSSignatureOutput">
+ <part name="body" element="moa:VerifyCMSSignatureResponse"/>
+ </message>
+ <message name="VerifyXMLSignatureInput">
+ <part name="body" element="moa:VerifyXMLSignatureRequest"/>
+ </message>
+ <message name="VerifyXMLSignatureOutput">
+ <part name="body" element="moa:VerifyXMLSignatureResponse"/>
+ </message>
+ <message name="MOAFault">
+ <part name="body" element="moa:ErrorResponse"/>
+ </message>
+ <portType name="SignatureCreationPortType">
+ <operation name="createXMLSignature">
+ <input message="tns:CreateXMLSignatureInput"/>
+ <output message="tns:CreateXMLSignatureOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <portType name="SignatureVerificationPortType">
+ <operation name="verifyCMSSignature">
+ <input message="tns:VerifyCMSSignatureInput"/>
+ <output message="tns:VerifyCMSSignatureOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ <operation name="verifyXMLSignature">
+ <input message="tns:VerifyXMLSignatureInput"/>
+ <output message="tns:VerifyXMLSignatureOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <binding name="SignatureCreationBinding" type="tns:SignatureCreationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="createXMLSignature">
+ <soap:operation soapAction="urn:CreateXMLSignatureAction"/>
+ <input>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </fault>
+ </operation>
+ </binding>
+ <binding name="SignatureVerificationBinding" type="tns:SignatureVerificationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="verifyCMSSignature">
+ <soap:operation soapAction="urn:VerifyCMSSignatureAction"/>
+ <input>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </fault>
+ </operation>
+ <operation name="verifyXMLSignature">
+ <soap:operation soapAction="urn:VerifyXMLSignatureAction"/>
+ <input>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </input>
+ <output>
+ <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="SignatureCreationService">
+ <port name="SignatureCreationPort" binding="tns:SignatureCreationBinding">
+ <!--
+ Please note that the location URL must be adapted to the actual service URL.
+ -->
+ <soap:address location="http://localhost/moa-spss/services/SignatureCreation"/>
+ </port>
+ </service>
+ <service name="SignatureVerificationService">
+ <port name="SignatureVerificationPort" binding="tns:SignatureVerificationBinding">
+ <!--
+ Please note that the location URL must be adapted to the actual service URL.
+ -->
+ <soap:address location="http://localhost/moa-spss/services/SignatureVerification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/spss.handbook/handbook/spec/MOA-SPSS-1.2.xsd b/spss.handbook/handbook/spec/MOA-SPSS-1.2.xsd new file mode 100644 index 000000000..d7a06d6e7 --- /dev/null +++ b/spss.handbook/handbook/spec/MOA-SPSS-1.2.xsd @@ -0,0 +1,454 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ MOA SP/SS 1.2 Schema
+-->
+<xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2">
+ <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <!--########## Create XML Signature ###-->
+ <!--### Create XML Signature Request ###-->
+ <xsd:element name="CreateXMLSignatureRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="CreateXMLSignatureRequestType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="CreateXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/>
+ <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="DataObjectInfo" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="DataObjectInfoType">
+ <xsd:attribute name="ChildOfManifest" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="CreateSignatureInfo" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/>
+ <xsd:choice>
+ <xsd:annotation>
+ <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="CreateSignatureEnvironmentProfile"/>
+ <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Create XML Signature Response ###-->
+ <xsd:complexType name="CreateXMLSignatureResponseType">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element name="SignatureEnvironment">
+ <xsd:annotation>
+ <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="ErrorResponse"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/>
+ <!--########## Verify CMS Signature ###-->
+ <!--### Verifiy CMS Signature Request ###-->
+ <xsd:element name="VerifyCMSSignatureRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="VerifyCMSSignatureRequestType">
+ <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="VerifyCMSSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
+ <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/>
+ <xsd:element name="TrustProfileID">
+ <xsd:annotation>
+ <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Verify CMS Signature Response ###-->
+ <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/>
+ <xsd:complexType name="VerifyCMSSignatureResponseType">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType">
+ <xsd:annotation>
+ <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SignatureCheck" type="CheckResultType"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--########## Verify XML Signature ###-->
+ <!--### Verify XML Signature Request ###-->
+ <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/>
+ <xsd:complexType name="VerifyXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="VerifySignatureInfo">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType"/>
+ <xsd:element name="VerifySignatureLocation" type="xsd:token"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="SupplementProfile"/>
+ <xsd:element name="SupplementProfileID" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:element name="SignatureManifestCheckParams" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>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.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ReturnHashInputData" minOccurs="0"/>
+ <xsd:element name="TrustProfileID">
+ <xsd:annotation>
+ <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Verify XML Signature Response ###-->
+ <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/>
+ <xsd:complexType name="VerifyXMLSignatureResponseType">
+ <xsd:sequence>
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType">
+ <xsd:annotation>
+ <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="HashInputData" type="ContentExLocRefBaseType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ReferenceInputData" type="ContentExLocRefBaseType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/>
+ <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/>
+ <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ProfileIdentifierType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="MetaInfoType">
+ <xsd:sequence>
+ <xsd:element name="MimeType" type="MimeTypeType"/>
+ <xsd:element name="Description" type="xsd:anyURI" minOccurs="0"/>
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="FinalDataMetaInfoType">
+ <xsd:complexContent>
+ <xsd:extension base="MetaInfoType">
+ <xsd:sequence>
+ <xsd:element name="Type" type="xsd:anyURI" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="DataObjectInfoType">
+ <xsd:sequence>
+ <xsd:element name="DataObject">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="ContentOptionalRefType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:annotation>
+ <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="CreateTransformsInfoProfile"/>
+ <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="Structure" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="detached"/>
+ <xsd:enumeration value="enveloping"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:sequence>
+ <xsd:element ref="dsig:Transforms" minOccurs="0"/>
+ <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLDataObjectAssociationType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="ContentRequiredRefType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CMSDataObjectOptionalMetaType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="CMSContentBaseType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CMSContentBaseType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentOptionalRefType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ </xsd:choice>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultType">
+ <xsd:complexContent>
+ <xsd:restriction base="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:restriction base="AnyChildrenType">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultType">
+ <xsd:complexContent>
+ <xsd:restriction base="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:restriction base="AnyChildrenType">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!--########## Error Response ###-->
+ <xsd:element name="ErrorResponse" type="ErrorResponseType">
+ <xsd:annotation>
+ <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="ErrorResponseType">
+ <xsd:sequence>
+ <xsd:element name="ErrorCode" type="xsd:integer"/>
+ <xsd:element name="Info" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--########## Auxiliary Types ###-->
+ <xsd:simpleType name="KeyIdentifierType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="KeyStorageType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Software"/>
+ <xsd:enumeration value="Hardware"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MimeTypeType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="AnyChildrenType" mixed="true">
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLContentType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:extension base="AnyChildrenType">
+ <xsd:attribute ref="xml:space" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentBaseType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ <xsd:element name="LocRefContent" type="xsd:anyURI"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="ContentExLocRefBaseType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentBaseType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ </xsd:choice>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentOptionalRefType">
+ <xsd:complexContent>
+ <xsd:extension base="ContentBaseType">
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentRequiredRefType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentOptionalRefType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ <xsd:element name="LocRefContent" type="xsd:anyURI"/>
+ </xsd:choice>
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="VerifyTransformsDataType">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>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.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="VerifyTransformsInfoProfile"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="QualifiedCertificate"/>
+ <xsd:element name="PublicAuthority" type="PublicAuthorityType"/>
+ <xsd:complexType name="PublicAuthorityType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="SignatoriesType">
+ <xsd:union memberTypes="AllSignatoriesType">
+ <xsd:simpleType>
+ <xsd:list itemType="xsd:positiveInteger"/>
+ </xsd:simpleType>
+ </xsd:union>
+ </xsd:simpleType>
+ <xsd:simpleType name="AllSignatoriesType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CreateSignatureLocationType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:token">
+ <xsd:attribute name="Index" type="xsd:nonNegativeInteger" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="TransformParameterType">
+ <xsd:choice minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>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.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element name="Base64Content" type="xsd:base64Binary">
+ <xsd:annotation>
+ <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Hash">
+ <xsd:annotation>
+ <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="dsig:DigestMethod"/>
+ <xsd:element ref="dsig:DigestValue"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="CreateSignatureEnvironmentProfile">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType"/>
+ <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyTransformsInfoProfile">
+ <xsd:annotation>
+ <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="dsig:Transforms" minOccurs="0"/>
+ <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>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.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Supplement" type="XMLDataObjectAssociationType"/>
+ <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType"/>
+ <xsd:element name="CreateTransformsInfoProfile">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateTransformsInfo" type="TransformsInfoType"/>
+ <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
|