aboutsummaryrefslogtreecommitdiff
path: root/spss.handbook/clients
diff options
context:
space:
mode:
Diffstat (limited to 'spss.handbook/clients')
-rw-r--r--spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest1.xml19
-rw-r--r--spss.handbook/clients/common/resources/requests/CreateXMLSignatureRequest2.xml90
-rw-r--r--spss.handbook/clients/common/resources/requests/VerifyCMSSignatureRequest.xml28
-rw-r--r--spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest1.xml29
-rw-r--r--spss.handbook/clients/common/resources/requests/VerifyXMLSignatureRequest2.xml59
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/axis-ant.jarbin0 -> 385010 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/axis.jarbin0 -> 1235721 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/commons-discovery.jarbin0 -> 71442 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/commons-logging.jarbin0 -> 31605 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/jaxrpc.jarbin0 -> 35759 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/log4j-1.2.8.jarbin0 -> 352668 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/saaj.jarbin0 -> 18501 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/axis-1_1/wsdl4j.jarbin0 -> 113853 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jcert.jarbin0 -> 11321 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jnet.jarbin0 -> 5830 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jsse.jarbin0 -> 512635 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xercesImpl.jarbin0 -> 933730 bytes
-rw-r--r--spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xmlParserAPIs.jarbin0 -> 78440 bytes
-rw-r--r--spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12bin0 -> 3958 bytes
-rw-r--r--spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.derbin0 -> 888 bytes
-rw-r--r--spss.handbook/clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystorebin0 -> 943 bytes
-rw-r--r--spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12bin0 -> 3966 bytes
-rw-r--r--spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.derbin0 -> 888 bytes
-rw-r--r--spss.handbook/clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystorebin0 -> 943 bytes
-rw-r--r--spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java114
-rw-r--r--spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java154
-rw-r--r--spss.handbook/clients/webservice/src/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java142
27 files changed, 635 insertions, 0 deletions
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(&apos;signed-data-1-1-1&apos;)/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(&apos;signed-data-2-2-1&apos;)/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(&apos;etsi-signed-2-1&apos;)/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
new file mode 100644
index 000000000..9cb30a98a
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/axis-ant.jar
Binary files differ
diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/axis.jar b/spss.handbook/clients/webservice/lib/axis-1_1/axis.jar
new file mode 100644
index 000000000..869ee16f5
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/axis.jar
Binary files differ
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
new file mode 100644
index 000000000..b88554847
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/commons-discovery.jar
Binary files differ
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
new file mode 100644
index 000000000..b99c9375a
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/commons-logging.jar
Binary files differ
diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/jaxrpc.jar b/spss.handbook/clients/webservice/lib/axis-1_1/jaxrpc.jar
new file mode 100644
index 000000000..5f6a56f02
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/jaxrpc.jar
Binary files differ
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
new file mode 100644
index 000000000..493a3ccc1
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/log4j-1.2.8.jar
Binary files differ
diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/saaj.jar b/spss.handbook/clients/webservice/lib/axis-1_1/saaj.jar
new file mode 100644
index 000000000..f2242abe5
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/saaj.jar
Binary files differ
diff --git a/spss.handbook/clients/webservice/lib/axis-1_1/wsdl4j.jar b/spss.handbook/clients/webservice/lib/axis-1_1/wsdl4j.jar
new file mode 100644
index 000000000..820abd082
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/axis-1_1/wsdl4j.jar
Binary files differ
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
new file mode 100644
index 000000000..d33134214
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jcert.jar
Binary files differ
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
new file mode 100644
index 000000000..e1d340093
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jnet.jar
Binary files differ
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
new file mode 100644
index 000000000..123188c5e
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/jsse-1_0_3/jsse-1_0_3.jsse.jar
Binary files differ
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
new file mode 100644
index 000000000..f25d73cd7
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xercesImpl.jar
Binary files differ
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
new file mode 100644
index 000000000..c1fa1d645
--- /dev/null
+++ b/spss.handbook/clients/webservice/lib/xerces-2_0_2/xerces-2_0_2.xmlParserAPIs.jar
Binary files differ
diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12 b/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12
new file mode 100644
index 000000000..18d0bb6eb
--- /dev/null
+++ b/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1(pwd=kunde1).p12
Binary files differ
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
new file mode 100644
index 000000000..2844e3aab
--- /dev/null
+++ b/spss.handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.der
Binary files differ
diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore b/spss.handbook/clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore
new file mode 100644
index 000000000..d32a22f0f
--- /dev/null
+++ b/spss.handbook/clients/webservice/resources/sslKeys/customer1/trustedServers(pwd=servers).keystore
Binary files differ
diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12 b/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12
new file mode 100644
index 000000000..ca7c31276
--- /dev/null
+++ b/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2(pwd=kunde2).p12
Binary files differ
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
new file mode 100644
index 000000000..27b20cd71
--- /dev/null
+++ b/spss.handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.der
Binary files differ
diff --git a/spss.handbook/clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore b/spss.handbook/clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore
new file mode 100644
index 000000000..d32a22f0f
--- /dev/null
+++ b/spss.handbook/clients/webservice/resources/sslKeys/customer2/trustedServers(pwd=servers).keystore
Binary files differ
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