diff options
Diffstat (limited to 'spss/handbook')
403 files changed, 7547 insertions, 0 deletions
diff --git a/spss/handbook/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..af3df77d1 --- /dev/null +++ b/spss/handbook/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Mon Aug 17 10:06:15 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/spss/handbook/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..9bf914230 --- /dev/null +++ b/spss/handbook/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:52 CEST 2009
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/spss/handbook/clients/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..99e7590e6 --- /dev/null +++ b/spss/handbook/clients/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Jul 07 16:07:23 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/spss/handbook/clients/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..9bf914230 --- /dev/null +++ b/spss/handbook/clients/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:52 CEST 2009
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/spss/handbook/clients/api/.classpath b/spss/handbook/clients/api/.classpath new file mode 100644 index 000000000..0bf65323c --- /dev/null +++ b/spss/handbook/clients/api/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/spss/handbook/clients/api/.project b/spss/handbook/clients/api/.project new file mode 100644 index 000000000..ec6e1354b --- /dev/null +++ b/spss/handbook/clients/api/.project @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>moa-spss-handbook-apiClient</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
diff --git a/spss/handbook/clients/api/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/api/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..99e7590e6 --- /dev/null +++ b/spss/handbook/clients/api/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Jul 07 16:07:23 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/spss/handbook/clients/api/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/api/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..1964c59a4 --- /dev/null +++ b/spss/handbook/clients/api/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:54 CEST 2009
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml new file mode 100644 index 000000000..6a38fbb2d --- /dev/null +++ b/spss/handbook/clients/api/pom.xml @@ -0,0 +1,137 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>MOA.spss.handbook.clients</groupId>
+ <artifactId>moa-spss-handbook-clients</artifactId>
+ <version>1.5</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>MOA.spss.handbook</groupId>
+ <artifactId>moa-spss-handbook-apiClient</artifactId>
+ <packaging>jar</packaging>
+ <version>1.5</version>
+ <name>MOA SP/SS Handbook API Client</name>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../../../repository</repositoryPath>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis-jaxrpc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis-saaj</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis-wsdl4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-discovery</groupId>
+ <artifactId>commons-discovery</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>xalan-bin-dist</groupId>
+ <artifactId>xalan</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>xalan-bin-dist</groupId>
+ <artifactId>xml-apis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>xalan-bin-dist</groupId>
+ <artifactId>serializer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_moa</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_ixsil</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_jce_full</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_ecc</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_cms</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_Pkcs11Provider</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_Pkcs11Wrapper</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_Pkcs11Wrapper</artifactId>
+ <classifier>win32</classifier>
+ <type>dll</type>
+ <scope>runtime</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>MOA</groupId>
+ <artifactId>moa-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>MOA.spss.server</groupId>
+ <artifactId>moa-spss-lib</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/spss/handbook/clients/api/signatures/SimpleSignature.xml b/spss/handbook/clients/api/signatures/SimpleSignature.xml new file mode 100644 index 000000000..9ecd215c1 --- /dev/null +++ b/spss/handbook/clients/api/signatures/SimpleSignature.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>tLODyeiWFbAkQKwhrR23jtcgu4k=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQ</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>
\ No newline at end of file diff --git a/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java b/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java new file mode 100644 index 000000000..df452c087 --- /dev/null +++ b/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java @@ -0,0 +1,154 @@ +/* + * Copyright 2003 Federal Chancellery Austria + * MOA-SPSS has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + + +package at.gv.egovernment.moa.spss.handbook.clients.api; + +import java.io.ByteArrayInputStream; +import java.util.ArrayList; +import java.util.List; + +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.SignatureCreationService; +import at.gv.egovernment.moa.spss.api.common.Content; +import at.gv.egovernment.moa.spss.api.common.MetaInfo; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfo; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfile; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; +import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; +import at.gv.egovernment.moa.spss.api.xmlsign.SignatureEnvironmentResponse; +import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; +import at.gv.egovernment.moa.util.DOMUtils; + +/** + * Dieses einfache Beispiel demonstriert grundlegend den Gebrauch der API von MOA SP/SS. Es wird damit eine + * einfach aufgebaute XML-Signatur erzeugt. + */ +public class CreateXMLSignature +{ + /** + * Methode main. + * + * Enthält beispielhaften Code zum grundlegenden Gebrauch der API von MOA SP/SS. Es wird damit eine + * einfach aufgebaute XML-Signatur erzeugt. + * + * ACHTUNG: Stellen Sie bei Verwendung von J2SE 1.4.x bzw. 5.x sicher, dass Sie die System-Property + * <code>java.endorsed.dirs</code> auf jenes Verzeichnis gesetzt haben, in dem sich die XPath- + * und XSLT-Bibliothek <em>Xalan-J</em> befindet. + * + * @param args <ul> + * <li> + * args[0] enthält einen Verweis auf die Konfigurations-Datei von MOA SP/SS Der Verweis + * enthält entweder eine absolute oder eine relative Pfadangabe, wobei eine relative + * Angabe als relativ zum Arbeitsverzeichnis der Java VM interpretiert wird. + * </li> + * <li> + * args[1] enthält einen Verweis auf die Konfigurations-Datei von Log4J, dem Logging- + * Framework, das von MOA SP/SS verwendet wird. Der Verweis enthält entweder eine + * absolute oder eine relative Pfadangabe, wobei eine relative Angabe als relativ zum + * Arbeitsverzeichnis der Java VM interpretiert wird. + * </li> + * </ul> + * + * @throws Exception Sollten Fehler auftreten werden die Fehler an die Java-VM weitergeleitet. + */ + public static void main(String[] args) throws Exception + { + // Setzen der System-Properties + init(args); + + // Serverfunktionshandler instanzieren + SPSSFactory spf = SPSSFactory.getInstance(); + + // Zu signierende Daten in ein Contentobjekt einbinden (die Daten werden hier explizit angegeben, + // sollen aber in der Signatur mittels URL "http://uri.data.org" referenziert werden + byte[] data = "Diese Daten werden signiert.".getBytes("UTF-8"); + ByteArrayInputStream bis = new ByteArrayInputStream(data); + Content cont = spf.createContent(bis, null); + + // Metainformationen zu den zu signierenden Daten erstellen + MetaInfo mi = spf.createMetaInfo("text/plain", null, null, null); + + // Transformationen erstellen (hier werden keine Transformationen angewandt) + CreateTransformsInfo cti = spf.createCreateTransformsInfo(null, mi); + CreateTransformsInfoProfile ct = spf.createCreateTransformsInfoProfile(cti, null); + + // Datenobjekt aufbauen + DataObjectInfo doi = spf.createDataObjectInfo(DataObjectInfo.STRUCTURE_ENVELOPING, false, cont, ct); + + // Erstellen eines SingleSignatureInfo-Containers + // Enthält alle Angaben zur Erstellung *einer* Signatur + List dataobjectinfolist = new ArrayList(); + dataobjectinfolist.add(doi); + SingleSignatureInfo ssi = spf.createSingleSignatureInfo(dataobjectinfolist, null, false); + + // Erstellen des Request-Objekts (Schlüsselbezeichner, Liste von SingleSignatureInfo-Containern) + List singlesignatureinfolist = new ArrayList(); + singlesignatureinfolist.add(ssi); + CreateXMLSignatureRequest cxsreq = spf.createCreateXMLSignatureRequest("KG_allgemein", + singlesignatureinfolist); + + // Signatureerstellungsservice instanzieren und aufrufen + SignatureCreationService scs = SignatureCreationService.getInstance(); + CreateXMLSignatureResponse cxsres = scs.createXMLSignature(cxsreq); + + // Response auswerten + List elements = cxsres.getResponseElements(); + SignatureEnvironmentResponse ser = (SignatureEnvironmentResponse) elements.get(0); + + // Auswertung des ersten (und einzigen) SignatureEnvironmentResponse-Containers + int response_type = ser.getResponseType(); + + if (response_type == SignatureEnvironmentResponse.ERROR_RESPONSE) + { + // Fehlerfall + System.out.println("Bei der Erstellung der Signatur ist ein Fehler aufgetreten."); + } + else + { + // Signaturerstellung erfolgreich + System.out.println("Signaturerstellung erfolgreich:"); + + Element se = ser.getSignatureEnvironment(); + System.out.println(DOMUtils.serializeNode(se)); + } + } + + /** + * Setzt die notwendigen System-Properties für die Konfiguration der MOA SP/SS API. + * + * @param args Siehe @link CreateXMLSignature#main(String[]). + */ + private static void init(String[] args) + { + if (args == null || args.length != 2) + { + System.out.println("Verwendung: CreateXMLSignature <MOASPSSConfigFile> <Log4JConfigFile>"); + } + System.setProperty("moa.spss.server.configuration", args[0]); + System.setProperty("log4j.configuration", "file:" + args[1]); + } +}
\ No newline at end of file diff --git a/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java b/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java new file mode 100644 index 000000000..604f5618c --- /dev/null +++ b/spss/handbook/clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java @@ -0,0 +1,171 @@ +/* + * Copyright 2003 Federal Chancellery Austria + * MOA-SPSS has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + + +package at.gv.egovernment.moa.spss.handbook.clients.api; + +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.HashMap; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.SignatureVerificationService; +import at.gv.egovernment.moa.spss.api.common.Content; +import at.gv.egovernment.moa.spss.api.common.SignerInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; + +/** + * Dieses einfache Beispiel demonstriert grundlegend den Gebrauch der API von MOA SP/SS. + * Es wird damit eine einfach aufgebaute XML-Signatur geprüft. + */ + +public class VerifyXMLSignature +{ + /** + * Methode main. + * + * Enthält beispielhaften Code zum grundlegenden Gebrauch der API von MOA SP/SS. + * Es wird damit eine einfach aufgebaute XML-Signatur geprüft. + * + * ACHTUNG: Stellen Sie bei Verwendung von J2SE 1.4.x bzw. 5.x sicher, dass Sie die System-Property + * <code>java.endorsed.dirs</code> auf jenes Verzeichnis gesetzt haben, in dem sich die XPath- + * und XSLT-Bibliothek <em>Xalan-J</em> befindet. + * + * @param args <ul> + * <li> + * args[0] enthält einen Verweis auf die Konfigurations-Datei von MOA SP/SS Der Verweis + * enthält entweder eine absolute oder eine relative Pfadangabe, wobei eine relative + * Angabe als relativ zum Arbeitsverzeichnis der Java VM interpretiert wird. + * </li> + * <li> + * args[1] enthält einen Verweis auf die Konfigurations-Datei von Log4J, dem Logging- + * Framework, das von MOA SP/SS verwendet wird. Der Verweis enthält entweder eine + * absolute oder eine relative Pfadangabe, wobei eine relative Angabe als relativ zum + * Arbeitsverzeichnis der Java VM interpretiert wird. + * </li> + * <li> + * args[2] enthält Pfad und Dateiname des XML-Dokuments mit der darin enthaltenen, zu + * prüfenden XML-Signatur. Verwenden Sie z.B. das mit diesem Handbuch mitgelieferte + * Beispiel <code>clients/api/signatures/SimpleSignature.xml</code>. + * </li> + * </ul> + */ + public static void main(String[] args) + { + // Setzen der System-Properties + init(args); + + // Factory und Service instanzieren + SPSSFactory spssFac = SPSSFactory.getInstance(); + SignatureVerificationService sigVerifyService = SignatureVerificationService.getInstance(); + + // Content aus Dokument mit zu prüfender Signatur erstellen + FileInputStream sigDocFIS = null; + try + { + sigDocFIS = new FileInputStream(args[2]); + } + catch (FileNotFoundException e1) + { + System.err.println("XML-Dokument mit zu prüfender Signatur nicht gefunden: " + args[2]); + System.exit(-1); + } + Content sigDocContent = spssFac.createContent(sigDocFIS, null); + + // Position der zu prüfenden Signatur im Dokument angeben + // (Nachdem im XPath-Ausdruck ein NS-Präfix verwendet wird, muss in einer Lookup-Tabelle + // der damit bezeichnete Namenraum mitgegeben werden) + HashMap nSMap = new HashMap(); + nSMap.put("dsig", "http://www.w3.org/2000/09/xmldsig#"); + VerifySignatureLocation sigLocation = spssFac.createVerifySignatureLocation("//dsig:Signature", nSMap); + + // Zu prüfendes Dokument und Signaturposition zusammenfassen + VerifySignatureInfo sigInfo = spssFac.createVerifySignatureInfo(sigDocContent, sigLocation); + + // Prüfrequest zusammenstellen + VerifyXMLSignatureRequest verifyRequest = spssFac.createVerifyXMLSignatureRequest( + null, // Wird Prüfzeit nicht angegeben, wird aktuelle Zeit verwendet + sigInfo, + null, // Keine Ergänzungsobjekte notwendig + null, // Signaturmanifest-Prüfung soll nicht durchgeführt werden + false, // Hash-Inputdaten, d.h. tatsächlich signierte Daten werden nicht zurückgeliefert + "Test-Signaturdienste"); // ID des verwendeten Vertrauensprofils + + VerifyXMLSignatureResponse verifyResponse = null; + try + { + // Aufruf der Signaturprüfung + verifyResponse = sigVerifyService.verifyXMLSignature(verifyRequest); + } + catch (MOAException e) + { + // Service liefert Fehler + System.err.println("Die Signaturprüfung hat folgenden Fehler geliefert:"); + System.err.println("Fehlercode: " + e.getMessageId()); + System.err.println("Fehlernachricht: " + e.getMessage()); + System.exit(-1); + } + + // Auswertung der Response + System.out.println(); + System.out.println("Ergebnisse der Signaturprüfung:"); + System.out.println(); + + // Besondere Eigenschaften des Signatorzertifikats + SignerInfo signerInfo = verifyResponse.getSignerInfo(); + System.out.println("*** Ist Zertifikat des Signators qualifiziert? " + ((signerInfo.isQualifiedCertificate()) ? "ja" : "nein")); + System.out.println("*** Ist Zertifikat des Signators von einer Behörde? " + ((signerInfo.isPublicAuthority()) ? "ja" : "nein")); + + // Ergebnisse von Signatur- und Zertifikatsprüfung + System.out.println(); + System.out.println("Ergebniscode der Signaturprüfung: " + verifyResponse.getSignatureCheck().getCode()); + System.out.println("Ergebniscode der Zertifikatsprüfung: " + verifyResponse.getCertificateCheck().getCode()); + + // Signatorzertifikat + System.out.println(); + System.out.println("*** Zertifikat des Signators:"); + System.out.println("Aussteller: " + signerInfo.getSignerCertificate().getIssuerDN()); + System.out.println("Subject: " + signerInfo.getSignerCertificate().getSubjectDN()); + System.out.println("Seriennummer: " + signerInfo.getSignerCertificate().getSerialNumber()); + } + + /** + * Setzt die notwendigen System-Properties für die Konfiguration der MOA SP/SS API. + * + * @param args Siehe @link VerifyXMLSignature#main(String[]). + */ + private static void init(String[] args) + { + if (args == null || args.length != 3) + { + System.out.println("Verwendung: VerifyXMLSignature <MOASPSSConfigFile> <Log4JConfigFile> <XMLDocWithSignature>"); + System.exit(-1); + } + System.setProperty("moa.spss.server.configuration", args[0]); + System.setProperty("log4j.configuration", "file:" + args[1]); + } +}
\ No newline at end of file diff --git a/spss/handbook/clients/pom.xml b/spss/handbook/clients/pom.xml new file mode 100644 index 000000000..5a4ab81c8 --- /dev/null +++ b/spss/handbook/clients/pom.xml @@ -0,0 +1,26 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>MOA.spss.handbook</groupId>
+ <artifactId>moa-spss-handbook</artifactId>
+ <version>1.5</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>MOA.spss.handbook.clients</groupId>
+ <artifactId>moa-spss-handbook-clients</artifactId>
+ <packaging>pom</packaging>
+ <version>1.5</version>
+ <name>MOA SP/SS Handbook Clients</name>
+
+ <modules>
+ <module>referencedData</module>
+ <module>api</module>
+ <module>webservice</module>
+ </modules>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../../repository</repositoryPath>
+ </properties>
+
+</project>
diff --git a/spss/handbook/clients/referencedData/.classpath b/spss/handbook/clients/referencedData/.classpath new file mode 100644 index 000000000..df4174ed6 --- /dev/null +++ b/spss/handbook/clients/referencedData/.classpath @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
+ <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/spss/handbook/clients/referencedData/.project b/spss/handbook/clients/referencedData/.project new file mode 100644 index 000000000..23699368d --- /dev/null +++ b/spss/handbook/clients/referencedData/.project @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>moa-spss-handbook-referencedData</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+ </natures>
+</projectDescription>
diff --git a/spss/handbook/clients/referencedData/.settings/.jsdtscope b/spss/handbook/clients/referencedData/.settings/.jsdtscope new file mode 100644 index 000000000..f40dd98e2 --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/.jsdtscope @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
+ <attributes>
+ <attribute name="hide" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+ <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..573b253b9 --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Mon Aug 17 10:06:17 CEST 2009
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.component b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..ea8402b5f --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="moa-spss-handbook-referencedData">
+ <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
+ <property name="context-root" value="moa-spss-handbook-referencedData"/>
+ <property name="java-output-path"/>
+ </wb-module>
+</project-modules>
diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.project.facet.core.xml b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..f30a1de6e --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <installed facet="jst.java" version="1.4"/>
+ <installed facet="jst.web" version="2.3"/>
+</faceted-project>
diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.container b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.name b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window
\ No newline at end of file diff --git a/spss/handbook/clients/referencedData/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/referencedData/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..7eae03e88 --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:53 CEST 2009
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/spss/handbook/clients/referencedData/pom.xml b/spss/handbook/clients/referencedData/pom.xml new file mode 100644 index 000000000..9a8a3b68e --- /dev/null +++ b/spss/handbook/clients/referencedData/pom.xml @@ -0,0 +1,39 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>MOA.spss.handbook.clients</groupId>
+ <artifactId>moa-spss-handbook-clients</artifactId>
+ <version>1.5</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>MOA.spss.handbook</groupId>
+ <artifactId>moa-spss-handbook-referencedData</artifactId>
+ <packaging>war</packaging>
+ <version>1.5</version>
+ <name>MOA SP/SS Handbook Referenced Data</name>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../../../repository</repositoryPath>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <configuration>
+ <warName>referencedData</warName>
+ <archive>
+ <manifest>
+ <addDefaultSpecificationEntries>false</addDefaultSpecificationEntries>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ </manifest>
+ <addMavenDescriptor>false</addMavenDescriptor>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git a/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF b/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0
+Class-Path:
+
diff --git a/spss/handbook/clients/referencedData/src/main/webapp/Text.b64 b/spss/handbook/clients/referencedData/src/main/webapp/Text.b64 new file mode 100644 index 000000000..0f4636b9a --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/Text.b64 @@ -0,0 +1 @@ +RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu
\ No newline at end of file diff --git a/spss/handbook/clients/referencedData/src/main/webapp/Text.txt b/spss/handbook/clients/referencedData/src/main/webapp/Text.txt new file mode 100644 index 000000000..3a75c06b3 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/Text.txt @@ -0,0 +1 @@ +Diese Daten sind reiner Text.
\ No newline at end of file diff --git a/spss/handbook/clients/referencedData/src/main/webapp/WEB-INF/web.xml b/spss/handbook/clients/referencedData/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000..002520ba5 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!DOCTYPE web-app + PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" + "http://java.sun.com/dtd/web-app_2_3.dtd"> + +<web-app> + <display-name>MOA Webservice Client: Referenzierte Web-Daten</display-name> + <description>MOA Webservice Client: Referenzierte Web-Daten</description> +</web-app> diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.Para.xsl b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.Para.xsl new file mode 100644 index 000000000..11d6dd6f9 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.Para.xsl @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="urn:document" xmlns="http://www.w3.org/1999/xhtml"> + <xsl:output encoding="UTF-8" method="xml" indent="yes"/> + <xsl:template match="/"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>HTML-Dokument</title> + </head> + <body> + <xsl:apply-templates/> + </body> + </html> + </xsl:template> + <xsl:template match="doc:Paragraph"> + <p> + <xsl:value-of select="child::text()"/> + </p> + </xsl:template> +</xsl:stylesheet> diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.signed.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.signed.xml new file mode 100644 index 000000000..897b3c896 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.signed.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>30zsZMPn1mR5G5oIGJvTRmCik3WuepfZF6AhLwxgJDMJlPQ8rheBWCaKihzXnHaS</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:Signature> +</doc:XMLDocument>
\ No newline at end of file diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withResolvableSchemaHint.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withResolvableSchemaHint.xml new file mode 100644 index 000000000..4f1124637 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withResolvableSchemaHint.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<doc:XMLDocument xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document http://localhost:8080/referencedData/XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument> diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml new file mode 100644 index 000000000..82f65d99e --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<doc:XMLDocument xmlns:doc="urn:document" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document urn:XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument> diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xml b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xml new file mode 100644 index 000000000..1c48dce36 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument> diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsd b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsd new file mode 100644 index 000000000..a2930f1da --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:document" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:document" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="XMLDocument">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Paragraph" maxOccurs="unbounded">
+ <xs:complexType mixed="true">
+ <xs:attribute name="ParaId" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsl b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsl new file mode 100644 index 000000000..85755c2e6 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocument.xsl @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="urn:document"> + <xsl:output encoding="UTF-8" method="xml" indent="yes"/> + <xsl:template match="/doc:XMLDocument"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>HTML-Dokument</title> + </head> + <body> + <xsl:for-each select="doc:Paragraph"> + <p> + <xsl:value-of select="child::text()"/> + </p> + </xsl:for-each> + </body> + </html> + </xsl:template> +</xsl:stylesheet> diff --git a/spss/handbook/clients/referencedData/src/main/webapp/XMLDocumentRef.xsl b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocumentRef.xsl new file mode 100644 index 000000000..c385f9d1f --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/XMLDocumentRef.xsl @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="XMLDocument.Para.xsl"/> +</xsl:stylesheet> diff --git a/spss/handbook/clients/webservice/.classpath b/spss/handbook/clients/webservice/.classpath new file mode 100644 index 000000000..f8507ad87 --- /dev/null +++ b/spss/handbook/clients/webservice/.classpath @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
+
diff --git a/spss/handbook/clients/webservice/.project b/spss/handbook/clients/webservice/.project new file mode 100644 index 000000000..80c55d9cc --- /dev/null +++ b/spss/handbook/clients/webservice/.project @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>moa-spss-handbook-webserviceClient</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
+
diff --git a/spss/handbook/clients/webservice/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/webservice/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..dee421f20 --- /dev/null +++ b/spss/handbook/clients/webservice/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Wed Nov 07 07:57:10 GMT 2007
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
+org.eclipse.jdt.core.compiler.compliance=1.4
+org.eclipse.jdt.core.compiler.source=1.4
diff --git a/spss/handbook/clients/webservice/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/webservice/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..1964c59a4 --- /dev/null +++ b/spss/handbook/clients/webservice/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:54 CEST 2009
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+includeModules=false
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
diff --git a/spss/handbook/clients/webservice/conf/http.properties b/spss/handbook/clients/webservice/conf/http.properties new file mode 100644 index 000000000..8bf490a85 --- /dev/null +++ b/spss/handbook/clients/webservice/conf/http.properties @@ -0,0 +1,78 @@ +### +# Properties für den HTTP(S) Client +### + +# +# Signieren +# + +# Name des Webservices, fix "SignatureCreation" +signServiceQName = SignatureCreation + +# Zugangspunkt des Webservices +signServiceEndPoint = http://localhost:8080/moa-spss/services/SignatureCreation +#signServiceEndPoint = https://localhost:8443/moa-spss/services/SignatureCreation + +# Name des zu sendenden Signaturerstellungsrequests (entweder absolute +# oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum +# Arbeitsverzeichnis der Java VM interpretiert) +signRequest = resources/requests/CreateXMLSignatureRequest.Simple.xml +#signRequest=resources/requests/CreateXMLSignatureRequest.Refs.xml +#signRequest=resources/requests/CreateXMLSignatureRequest.Transforms.xml +#signRequest=resources/requests/CreateXMLSignatureRequest.Supplements.xml + + +# +# Verifizieren +# + +# Name des Webservices, fix "SignatureVerification" +verifyServiceQName = SignatureVerification + +# Zugangspunkt des Webservices +verifyServiceEndPoint = http://localhost:18080/moa-spss/services/SignatureVerification +#verifyServiceEndPoint = https://localhost:8443/moa-spss/services/SignatureVerification + +# Name des zu sendenden Signaturprüfrequests (entweder absolute +# oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum +# Arbeitsverzeichnis der Java VM interpretiert) +verifyRequest=resources/requests/VerifyCMSSignatureRequest.Simple.xml +#verifyRequest=resources/requests/VerifyCMSSignatureRequest.Extended.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.Simple.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.Enveloped.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.Supplements.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.SigManifest.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml +#verifyRequest=resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml + +# +# JSSE-Konfiguration +# + +# Typ des JSSE-Truststores (entweder "JKS" für einen Java Key Store oder +# "PKCS12" für eine PKCS#12-Datei). +ssl.truststore.type = JKS + +# Relativer oder absoluter Pfad zum JSSE-Truststore. Ein relativer Pfad +# wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). +ssl.truststore.loc = resources/sslKeys/customer1/trustedServers[pwd=servers].keystore +#ssl.truststore.loc = resources/sslKeys/customer2/trustedServers[pwd=servers].keystore + +# Passwort für den JSSE-Truststore. +ssl.truststore.pwd = servers + +# Typ des JSSE-Keystores (entweder "JKS" für einen Java Key Store oder +# "PKCS12" für eine PKCS#12-Datei). +ssl.keystore.type = PKCS12 + +# Relativer oder absoluter Pfad zum JSSE-Keystore. Ein relativer Pfad +# wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). +ssl.keystore.loc = resources/sslKeys/customer1/moa-ssl-kunde1[pwd=kunde1].p12 +#ssl.keystore.loc = resources/sslKeys/customer2/moa-ssl-kunde2[pwd=kunde2].p12 + +# Passwort für den JSSE-Keystore. +ssl.keystore.pwd = kunde1 +#ssl.keystore.pwd = kunde2 diff --git a/spss/handbook/clients/webservice/conf/log4j.properties b/spss/handbook/clients/webservice/conf/log4j.properties new file mode 100644 index 000000000..bf7c98c0c --- /dev/null +++ b/spss/handbook/clients/webservice/conf/log4j.properties @@ -0,0 +1,25 @@ +# commons-logging setup
+org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory
+
+# define log4j root loggers
+log4j.rootLogger=info, stdout
+#log4j.rootLogger=info, stdout, R
+#log4j.logger.moa=info
+#log4j.logger.moa.spss.server=debug
+#log4j.logger.iaik.server=info
+#log4j.logger.moa.id.auth=debug
+#log4j.logger.moa.id.proxy=debug
+
+# configure the stdout appender
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20.20c | %10t | %m%n
+
+# configure the rolling file appender (R)
+log4j.appender.R=org.apache.log4j.RollingFileAppender
+log4j.appender.R.File=${catalina.base}/logs/moa-id.log
+log4j.appender.R.MaxFileSize=10000KB
+log4j.appender.R.MaxBackupIndex=1
+log4j.appender.R.layout=org.apache.log4j.PatternLayout
+log4j.appender.R.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %t | %m%n
+
diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml new file mode 100644 index 000000000..70aefa4bc --- /dev/null +++ b/spss/handbook/clients/webservice/pom.xml @@ -0,0 +1,137 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>MOA.spss.handbook.clients</groupId>
+ <artifactId>moa-spss-handbook-clients</artifactId>
+ <version>1.5</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>MOA.spss.handbook.clients</groupId>
+ <artifactId>moa-spss-handbook-webserviceClient</artifactId>
+ <packaging>jar</packaging>
+ <version>1.5</version>
+ <name>MOA SP/SS Handbook WebService Client</name>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../../../repository</repositoryPath>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis-jaxrpc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis-saaj</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>axis</groupId>
+ <artifactId>axis-wsdl4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-discovery</groupId>
+ <artifactId>commons-discovery</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>activation</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.mail</groupId>
+ <artifactId>mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>postgresql</groupId>
+ <artifactId>postgresql</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>xalan-bin-dist</groupId>
+ <artifactId>xalan</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>xalan-bin-dist</groupId>
+ <artifactId>xml-apis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>xalan-bin-dist</groupId>
+ <artifactId>serializer</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_moa</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_ixsil</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_jce_full</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_ecc</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_cms</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_Pkcs11Provider</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_Pkcs11Wrapper</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>iaik.prod</groupId>
+ <artifactId>iaik_Pkcs11Wrapper</artifactId>
+ <classifier>win32</classifier>
+ <type>dll</type>
+ <scope>runtime</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>MOA</groupId>
+ <artifactId>moa-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>MOA.spss.server</groupId>
+ <artifactId>moa-spss-lib</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml new file mode 100644 index 000000000..bad31d170 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-2" URI="#xpointer(id('signed-data-1-2-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>A8ml6/aZKCmj1hONwvLItIwGHoc=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-3" URI="#xpointer(id('signed-data-1-3-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-4" URI="#xpointer(id('signed-data-1-4-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-6" URI="NichtAufloesbareReferenz1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-7" URI="http://localhost:8080/referencedData/Text.txt"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-8" URI="NichtAufloesbareReferenz2"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-9" URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>mNsxUkFoF46XZVBivBo4aasFCTQ=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>kaAiAZgnUMYb3/IV5mmJinrH3et5M+o4OWMhgA3C9SZSPsE+ptWUAPU1VKl1G2AF</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-2-1"><doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument></dsig:Object><dsig:Object Id="signed-data-1-3-1">RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=</dsig:Object><dsig:Object Id="signed-data-1-4-1">RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=</dsig:Object><dsig:Object Id="signed-data-1-1-1">RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</dsig:Object><dsig:Object><dsig:Manifest Id="dsig-manifest-1-1"><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-5" URI="http://localhost:8080/referencedData/Text.b64"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature> +</doc:XMLDocument></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml new file mode 100644 index 000000000..f4dd2dbb6 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml @@ -0,0 +1,137 @@ +<?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"> + <!--Enveloping Data, direkte Angabe der Daten in base64 kodierter Form; Manifest-Referenz--> + <DataObjectInfo Structure="enveloping" ChildOfManifest="true"> + <DataObject> + <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Enveloping Data, direkte Angabe der Daten als XML-Fragment; SignedInfo-Referenz--> + <DataObjectInfo Structure="enveloping" ChildOfManifest="false"> + <DataObject> + <XMLContent><doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument></XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>application/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Enveloping Data, Angabe der Daten als Referenz mittels Reference-Attribut, die von MOA aufgelöst wird; SignedInfo-Referenz--> + <DataObjectInfo Structure="enveloping" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/referencedData/Text.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Enveloping Data, Angabe der Daten als Referenz mittels LocRefContent, die von MOA aufgelöst wird; SignedInfo-Referenz--> + <DataObjectInfo Structure="enveloping" ChildOfManifest="false"> + <DataObject> + <LocRefContent>http://localhost:8080/referencedData/Text.txt</LocRefContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Detached Daten; direkte Angabe der Daten in base64 kodierter Form; Referenzierung für die Signatur muss durch Reference-Attribut angegeben werden; Manifest-Referenz--> + <DataObjectInfo Structure="detached" ChildOfManifest="true"> + <DataObject Reference="http://localhost:8080/referencedData/Text.b64"> + <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Detached Daten; direkte Angabe der Daten als XML-Fragment; Referenzierung in der Signatur muss durch Reference-Attribut angegeben werden; SignedInfo-Referenz--> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="NichtAufloesbareReferenz1"> + <XMLContent><doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument></XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>application/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Detached Daten;Angabe der Daten als Referenz über das Reference-Attribut, die von MOA aufgelöst wird; Referenzierung für die Signatur muss durch Reference-Attribut angegeben werden; SignedInfo-Referenz--> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/referencedData/Text.txt"> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Detached Daten;Angabe der Daten als Referenz mittels LocRefContent, die von MOA aufgelöst wird; Referenzierung für die Signatur muss durch Reference-Attribut angegeben werden; SignedInfo-Referenz--> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="NichtAufloesbareReferenz2"> + <LocRefContent>http://localhost:8080/referencedData/Text.txt</LocRefContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <!--Detached Daten, Verweis auf jenes Dokument, das die Signatur beinhalten wird; Angabe der Daten als Referenz über das Reference-Attribut, die von MOA aufgelöst wird; Referenzierung für die Signatur muss durch Reference-Attribut angegeben werden; SignedInfo-Referenz--> + <DataObjectInfo Structure="detached"> + <DataObject Reference=""/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>application/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <CreateSignatureInfo> + <CreateSignatureEnvironment> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.xml</LocRefContent> + </CreateSignatureEnvironment> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml new file mode 100644 index 000000000..edcb03c09 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><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>VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQ</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></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.response.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.response.xml new file mode 100644 index 000000000..cb966151b --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.response.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><dsig:Signature Id="signature-1-1"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>tLODyeiWFbAkQKwhrR23jtcgu4k=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>2tI1Wv/LsUKr0hcsWSYXSHne7kbCBXGFrIiI/1WfAH2ba8vT5kVfJn4NOBOBatLA</dsig:SignatureValue><dsig:KeyInfo><dsig:X509Data><dsig:X509Certificate>MIIELjCCAxagAwIBAgIBEzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJBVDEQ +MA4GA1UEChMHVFUgR3JhejENMAsGA1UECxMERUdJWjEUMBIGA1UEAxMLTU9BIFRl +c3QgQ0EwHhcNMDcwODIzMTM1ODU0WhcNMTIwODIzMTM1ODU0WjBpMQswCQYDVQQG +EwJBVDEQMA4GA1UEChMHVFUgR1JBWjENMAsGA1UECxMERUdJWjE5MDcGA1UEAxMw +VGVzdCBTaWduYXR1cmRpZW5zdCBhbGxlciBLdW5kZW46IEVDRFNBIChQMTkydjEp +MIHzMIG8BgcqhkjOPQIBMIGwAgEBMCQGByqGSM49AQECGQD///////////////// +///+//////////8wNAQY/////////////////////v/////////8BBhkIQUZ5ZyA +5w+n6atyJDBJ/rje7MFGubEEMQQYjagOsDCQ9ny/IOtDoYgA9P8K/YL/EBIHGSuV +/8jaeGMQEe1rJM3Vc/l3oR55SBECGQD///////////////+Z3vg2FGvJsbTSKDEC +AQEDMgAExf78b6N6BUhK+FHmunDUCQefSxpQmC6m4yq/+pqdDMJalTWATFhQwZqE +qSMXJ2Tqo4IBNDCCATAwDgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwHQYD +VR0OBBYEFBrwapQSMwabwPPOijtgOu3iNlt3MHAGA1UdIARpMGcwZQYMKwYBBAGV +EgECewEBMFUwUwYIKwYBBQUHAgIwRxpFVGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1h +eSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIGFuZCB0ZXN0IHB1cnBvc2VzMEYG +A1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9tb2EtaWRzcHNzLmVnb3ZsYWJzLmd2LmF0 +L2NybHMvbW9hLXRlc3QtY2EuY3JsMBYGByooAAoBAQEECxMJRUdJWi1UZXN0MB8G +A1UdIwQYMBaAFFKXvB3Ugd6H51ClcBGdjhYJNiRSMA0GCSqGSIb3DQEBBQUAA4IB +AQB60RLi9zIwF/Rmy/Wo0yf1/ZktElIt91vfBsXlpgLJ4Q6ol/4hTjMJ4FIa8GOl +0b9dIkEe+WGq77JFJVgltsRoJfQBSvnK9jdLfB5YJD0ETDnMdckBV+RsxkEtl5Lr +IrT6vExyJUAWz15XJiHgkYZncJCBTy1oh8f3V8cR1VZYwO4QBRDwRdVdZsaL5PME +vvLrcAMJhF5fS4AiqMex2Eh2kav5t6/I5bmB4CKEe+0+dPO8DGl7areEfzQEPd8p +jkkX5PnxriQvZfgVzwrdXGDqMTnBNaRtCGMiQU/0kp21a6BVtT4am27yr9p3ddhl +z7sJ4Z6ys1bwB0on/O65tdn7</dsig:X509Certificate></dsig:X509Data></dsig:KeyInfo><dsig:Object Id="signed-data-1-1-1">Diese Daten werden signiert.</dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml new file mode 100644 index 000000000..3344b4709 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.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>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/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml new file mode 100644 index 000000000..def0daf25 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><doc:XMLDocument xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document urn:XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#Para2"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="XMLDocument.Para.xsl"/> +</xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>luM3wUmedTvkMHVedQkA/8otXUE=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>vGVimRmUHwrDR8feQCK1DZ2kyDw0CCrXimJi/yCrIoqSkUKFlKrtAyP2RUBXXjye</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:Signature> +</doc:XMLDocument></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.response.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.response.xml new file mode 100644 index 000000000..ac5d0a52f --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.response.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><ErrorResponse><ErrorCode>2237</ErrorCode><Info>Fehler beim Auflösen der internen Referenz (URI=Para2)</Info></ErrorResponse></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml new file mode 100644 index 000000000..9144e83f8 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml @@ -0,0 +1,40 @@ +<?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="detached"> + <DataObject Reference="#Para2"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="XMLDocument.Para.xsl"/> +</xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>application/xhtml+xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + <Supplement> + <Content Reference="XMLDocument.Para.xsl"> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.Para.xsl</LocRefContent> + </Content> + </Supplement> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <CreateSignatureInfo> + <CreateSignatureEnvironment Reference="http://localhost:8080/referencedData/XMLDocument.withSchemaHint.xml"/> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation> + <Supplement> + <Content Reference="urn:XMLDocument.xsd"> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.xsd</LocRefContent> + </Content> + </Supplement> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml new file mode 100644 index 000000000..1d5bd65ea --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="http://localhost:8080/referencedData/Text.b64"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue></dsig:Reference><dsig:Reference Id="reference-1-2" URI="http://localhost:8080/referencedData/XMLDocument.xml"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"><xp2:XPath Filter="subtract" xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2" xmlns:xp2="http://www.w3.org/2002/06/xmldsig-filter2">/doc:XMLDocument/doc:Paragraph[2]</xp2:XPath></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:doc="urn:document" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output encoding="UTF-8" indent="yes" method="xml"/> + <xsl:template match="/doc:XMLDocument"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>HTML-Dokument</title> + </head> + <body> + <xsl:for-each select="doc:Paragraph"> + <p> + <xsl:value-of select="child::text()"/> + </p> + </xsl:for-each> + </body> + </html> + </xsl:template> +</xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>fIPwneCpjVqTXwHMN9DFfx6tJIU=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>kWm9iFL5UngH8uDG6094K99J/WB/PdlqzfI6WtGpJ3jiCTV7mn/mzYWMv09b3vee</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:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml new file mode 100644 index 000000000..6375365b2 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml @@ -0,0 +1,52 @@ +<?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="detached"> + <DataObject Reference="http://localhost:8080/referencedData/Text.b64"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <DataObjectInfo Structure="detached"> + <DataObject Reference="http://localhost:8080/referencedData/XMLDocument.xml"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"> + <xp2:XPath xmlns:xp2="http://www.w3.org/2002/06/xmldsig-filter2" xmlns:doc="urn:document" Filter="subtract">/doc:XMLDocument/doc:Paragraph[2]</xp2:XPath> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="urn:document"> + <xsl:output encoding="UTF-8" method="xml" indent="yes"/> + <xsl:template match="/doc:XMLDocument"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>HTML-Dokument</title> + </head> + <body> + <xsl:for-each select="doc:Paragraph"> + <p> + <xsl:value-of select="child::text()"/> + </p> + </xsl:for-each> + </body> + </html> + </xsl:template> +</xsl:stylesheet></dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>application/xhtml+xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml new file mode 100644 index 000000000..daa22bdb3 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>serialNumber=615536615920,givenName=Gregor,SN=Karlinger,CN=Gregor Karlinger,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=TrustSignTest-Sig-01,OU=TrustSignTest-Sig-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>2892</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIFLjCCBBagAwIBAgICC0wwDQYJKoZIhvcNAQEFBQAwgdkxCzAJBgNVBAYTAkFU +MYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwAcgAg +AFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAAZQBs +AGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIASDEd +MBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNVBAMTFFRydXN0U2ln +blRlc3QtU2lnLTAxMB4XDTAzMDgyNzEyMDEyNFoXDTA2MDgyNzEyMDEyNFowZDEL +MAkGA1UEBhMCQVQxGTAXBgNVBAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQT +CUthcmxpbmdlcjEPMA0GA1UEKhMGR3JlZ29yMRUwEwYDVQQFEww2MTU1MzY2MTU5 +MjAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKDSK1XaYK0Ydbk6V58g7QzQ +Ysk0A6C2JyhiZy3078DJ1EkwzBMVejTNq1e9wp+BmeZ2YpiftNyRFfu/Gg8ksOUQ +2oCn9A9pZLUGvtajA3aL8f182GQODRqQmelvYSUL/u9vAChOlcT+UEqj5jW4xjd4 +XsCotX4Kz+ofkD+SAlf1AgMBAAGjggH2MIIB8jATBgNVHSMEDDAKgAhKfsjmnWR0 +6TA+BggrBgEFBQcBAwEB/wQvMC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVIC +AQACAQAwCgYIKwYBBQUHCwEwgYIGCCsGAQUFBwEBBHYwdDAvBggrBgEFBQcwAYYj +aHR0cDovL29jc3AtdGVzdC5hLXRydXN0LmF0OjgyL29jc3AwQQYIKwYBBQUHMAKG +NWh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9UcnVzdFNpZ25UZXN0LVNpZy0w +MWMuY3J0MFEGA1UdIARKMEgwPAYGKigAEQEDMDIwMAYIKwYBBQUHAgEWJGh0dHA6 +Ly93d3cuYS10cnVzdC5hdC9kb2NzL1RydXN0VGVzdDAIBgYEAIswAQEwbgYDVR0f +BGcwZTBjoGGgX4ZdbGRhcDovL2xkYXAtdGVzdC5hLXRydXN0LmF0L291PVRydXN0 +U2lnblRlc3QtU2lnLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2Nh +dGlvbmxpc3Q/MBEGA1UdDgQKBAhNa9QR1H4T3zAOBgNVHQ8BAf8EBAMCBsAwJQYD +VR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8uZ3YuYXQwCQYDVR0TBAIwADAN +BgkqhkiG9w0BAQUFAAOCAQEALi2DEl6whJsiQF+bsNVR8CQhXg6ZuzTGlPhyCBum +765Y5gMRLEfAx2D8Wv4XXPHasAxZ/NKZRwbfLWN7IxPeVHF+vCShlXmYGWVj75fE +EGStIKyULqZB7jOJdsFHNdvp8yQaexR9olO3neXjrFmcXFVhpZFJomBH6JEL0uRa +LsPlN97OTa1NKkdj92SX8IkcV2k9yQ3Nl2KgicZDlxdYtSDGh9P0KddJZZJTRAdm +ixWb4Y2cGkRDhXoHzvHcZQ7eqJYHPapm3NTZ428I7LCKma8859rMwRSNTN14yIVL +KkgBtxvmstGVa33Ki53LBkSSuBMH3Pa+4xbnYSkJA4phaA==</dsig:X509Certificate><QualifiedCertificate/></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>1</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml new file mode 100644 index 000000000..16e961b96 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" Signatories="1"> + <DateTime>2004-08-17T08:00:00+02:00</DateTime> + <CMSSignature>MIIHiwYJKoZIhvcNAQcCoIIHfDCCB3gCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCCBTIw +ggUuMIIEFqADAgECAgILTDANBgkqhkiG9w0BAQUFADCB2TELMAkGA1UEBhMCQVQxgYswgYgGA1UE +Ch6BgABBAC0AVAByAHUAcwB0ACAARwBlAHMALgAgAGYA/AByACAAUwBpAGMAaABlAHIAaABlAGkA +dABzAHMAeQBzAHQAZQBtAGUAIABpAG0AIABlAGwAZQBrAHQAcgAuACAARABhAHQAZQBuAHYAZQBy +AGsAZQBoAHIAIABHAG0AYgBIMR0wGwYDVQQLExRUcnVzdFNpZ25UZXN0LVNpZy0wMTEdMBsGA1UE +AxMUVHJ1c3RTaWduVGVzdC1TaWctMDEwHhcNMDMwODI3MTIwMTI0WhcNMDYwODI3MTIwMTI0WjBk +MQswCQYDVQQGEwJBVDEZMBcGA1UEAxMQR3JlZ29yIEthcmxpbmdlcjESMBAGA1UEBBMJS2FybGlu +Z2VyMQ8wDQYDVQQqEwZHcmVnb3IxFTATBgNVBAUTDDYxNTUzNjYxNTkyMDCBnzANBgkqhkiG9w0B +AQEFAAOBjQAwgYkCgYEAoNIrVdpgrRh1uTpXnyDtDNBiyTQDoLYnKGJnLfTvwMnUSTDMExV6NM2r +V73Cn4GZ5nZimJ+03JEV+78aDySw5RDagKf0D2lktQa+1qMDdovx/XzYZA4NGpCZ6W9hJQv+728A +KE6VxP5QSqPmNbjGN3hewKi1fgrP6h+QP5ICV/UCAwEAAaOCAfYwggHyMBMGA1UdIwQMMAqACEp+ +yOadZHTpMD4GCCsGAQUFBwEDAQH/BC8wLTAIBgYEAI5GAQEwFQYGBACORgECMAsTA0VVUgIBAAIB +ADAKBggrBgEFBQcLATCBggYIKwYBBQUHAQEEdjB0MC8GCCsGAQUFBzABhiNodHRwOi8vb2NzcC10 +ZXN0LmEtdHJ1c3QuYXQ6ODIvb2NzcDBBBggrBgEFBQcwAoY1aHR0cDovL3d3dy5hLXRydXN0LmF0 +L2NlcnRzL1RydXN0U2lnblRlc3QtU2lnLTAxYy5jcnQwUQYDVR0gBEowSDA8BgYqKAARAQMwMjAw +BggrBgEFBQcCARYkaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3MvVHJ1c3RUZXN0MAgGBgQAizAB +ATBuBgNVHR8EZzBlMGOgYaBfhl1sZGFwOi8vbGRhcC10ZXN0LmEtdHJ1c3QuYXQvb3U9VHJ1c3RT +aWduVGVzdC1TaWctMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD8w +EQYDVR0OBAoECE1r1BHUfhPfMA4GA1UdDwEB/wQEAwIGwDAlBgNVHREEHjAcgRpncmVnb3Iua2Fy +bGluZ2VyQGNpby5ndi5hdDAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBBQUAA4IBAQAuLYMSXrCEmyJA +X5uw1VHwJCFeDpm7NMaU+HIIG6bvrljmAxEsR8DHYPxa/hdc8dqwDFn80plHBt8tY3sjE95UcX68 +JKGVeZgZZWPvl8QQZK0grJQupkHuM4l2wUc12+nzJBp7FH2iU7ed5eOsWZxcVWGlkUmiYEfokQvS +5Fouw+U33s5NrU0qR2P3ZJfwiRxXaT3JDc2XYqCJxkOXF1i1IMaH0/Qp10llklNEB2aLFZvhjZwa +REOFegfO8dxlDt6olgc9qmbc1NnjbwjssIqZrzzn2szBFI1M3XjIhUsqSAG3G+ay0ZVrfcqLncsG +RJK4Ewfc9r7jFudhKQkDimFoMYICITCCAh0CAQEwgeAwgdkxCzAJBgNVBAYTAkFUMYGLMIGIBgNV +BAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwAcgAgAFMAaQBjAGgAZQByAGgAZQBp +AHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAAZQBsAGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUA +cgBrAGUAaAByACAARwBtAGIASDEdMBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNV +BAMTFFRydXN0U2lnblRlc3QtU2lnLTAxAgILTDAJBgUrDgMCGgUAoIGXMCMGCSqGSIb3DQEJBDEW +BBRrneM6wvspvKW2kHIArzsWgxmmEjAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMCkGCyqGSIb3 +DQEJEAIEMRowGAwLdGV4dC9wbGFpbhsGCSqGSIb3DQEHATArBgsqhkiG9w0BCRACEzEcMBowGDAW +BBQdhdZ+dQSz53K2vT9KOGCxp6+qIDANBgkqhkiG9w0BAQEFAASBgFTEY4mMXQx2fNk9zo64MRxI +mS38vuD7W7LjBoUQ/w6mPi60kiqA/Pnf5I7fvM2epuo4xHpft1diuTY0fa9VqSv+q13Lr1x+l3ON +oxX27oCPLcJq6sFipZj50Bx5BHhgTX+59cNIT3eTRLenBzrJ/ccNd5OLqgkfiwsvqSk48lou</CMSSignature> + <DataObject> + <Content> + <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content> + </Content> + </DataObject> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyCMSSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml new file mode 100644 index 000000000..daa22bdb3 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyCMSSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>serialNumber=615536615920,givenName=Gregor,SN=Karlinger,CN=Gregor Karlinger,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=TrustSignTest-Sig-01,OU=TrustSignTest-Sig-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>2892</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>MIIFLjCCBBagAwIBAgICC0wwDQYJKoZIhvcNAQEFBQAwgdkxCzAJBgNVBAYTAkFU +MYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAgAEcAZQBzAC4AIABmAPwAcgAg +AFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAAaQBtACAAZQBs +AGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIASDEd +MBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNVBAMTFFRydXN0U2ln +blRlc3QtU2lnLTAxMB4XDTAzMDgyNzEyMDEyNFoXDTA2MDgyNzEyMDEyNFowZDEL +MAkGA1UEBhMCQVQxGTAXBgNVBAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQT +CUthcmxpbmdlcjEPMA0GA1UEKhMGR3JlZ29yMRUwEwYDVQQFEww2MTU1MzY2MTU5 +MjAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKDSK1XaYK0Ydbk6V58g7QzQ +Ysk0A6C2JyhiZy3078DJ1EkwzBMVejTNq1e9wp+BmeZ2YpiftNyRFfu/Gg8ksOUQ +2oCn9A9pZLUGvtajA3aL8f182GQODRqQmelvYSUL/u9vAChOlcT+UEqj5jW4xjd4 +XsCotX4Kz+ofkD+SAlf1AgMBAAGjggH2MIIB8jATBgNVHSMEDDAKgAhKfsjmnWR0 +6TA+BggrBgEFBQcBAwEB/wQvMC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVIC +AQACAQAwCgYIKwYBBQUHCwEwgYIGCCsGAQUFBwEBBHYwdDAvBggrBgEFBQcwAYYj +aHR0cDovL29jc3AtdGVzdC5hLXRydXN0LmF0OjgyL29jc3AwQQYIKwYBBQUHMAKG +NWh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9UcnVzdFNpZ25UZXN0LVNpZy0w +MWMuY3J0MFEGA1UdIARKMEgwPAYGKigAEQEDMDIwMAYIKwYBBQUHAgEWJGh0dHA6 +Ly93d3cuYS10cnVzdC5hdC9kb2NzL1RydXN0VGVzdDAIBgYEAIswAQEwbgYDVR0f +BGcwZTBjoGGgX4ZdbGRhcDovL2xkYXAtdGVzdC5hLXRydXN0LmF0L291PVRydXN0 +U2lnblRlc3QtU2lnLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2Nh +dGlvbmxpc3Q/MBEGA1UdDgQKBAhNa9QR1H4T3zAOBgNVHQ8BAf8EBAMCBsAwJQYD +VR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8uZ3YuYXQwCQYDVR0TBAIwADAN +BgkqhkiG9w0BAQUFAAOCAQEALi2DEl6whJsiQF+bsNVR8CQhXg6ZuzTGlPhyCBum +765Y5gMRLEfAx2D8Wv4XXPHasAxZ/NKZRwbfLWN7IxPeVHF+vCShlXmYGWVj75fE +EGStIKyULqZB7jOJdsFHNdvp8yQaexR9olO3neXjrFmcXFVhpZFJomBH6JEL0uRa +LsPlN97OTa1NKkdj92SX8IkcV2k9yQ3Nl2KgicZDlxdYtSDGh9P0KddJZZJTRAdm +ixWb4Y2cGkRDhXoHzvHcZQ7eqJYHPapm3NTZ428I7LCKma8859rMwRSNTN14yIVL +KkgBtxvmstGVa33Ki53LBkSSuBMH3Pa+4xbnYSkJA4phaA==</dsig:X509Certificate><QualifiedCertificate/></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>1</Code></CertificateCheck></VerifyCMSSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml new file mode 100644 index 000000000..d41b0e278 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyCMSSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <CMSSignature>MIIHsAYJKoZIhvcNAQcCoIIHoTCCB50CAQExCzAJBgUrDgMCGgUAMDAGCSqGSIb3DQEHAaAjBCFE +aWVzZSBEYXRlbiB3YXJlbiBiYXNlNjQga29kaWVydC6gggUyMIIFLjCCBBagAwIBAgICC0wwDQYJ +KoZIhvcNAQEFBQAwgdkxCzAJBgNVBAYTAkFUMYGLMIGIBgNVBAoegYAAQQAtAFQAcgB1AHMAdAAg +AEcAZQBzAC4AIABmAPwAcgAgAFMAaQBjAGgAZQByAGgAZQBpAHQAcwBzAHkAcwB0AGUAbQBlACAA +aQBtACAAZQBsAGUAawB0AHIALgAgAEQAYQB0AGUAbgB2AGUAcgBrAGUAaAByACAARwBtAGIASDEd +MBsGA1UECxMUVHJ1c3RTaWduVGVzdC1TaWctMDExHTAbBgNVBAMTFFRydXN0U2lnblRlc3QtU2ln +LTAxMB4XDTAzMDgyNzEyMDEyNFoXDTA2MDgyNzEyMDEyNFowZDELMAkGA1UEBhMCQVQxGTAXBgNV +BAMTEEdyZWdvciBLYXJsaW5nZXIxEjAQBgNVBAQTCUthcmxpbmdlcjEPMA0GA1UEKhMGR3JlZ29y +MRUwEwYDVQQFEww2MTU1MzY2MTU5MjAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKDSK1Xa +YK0Ydbk6V58g7QzQYsk0A6C2JyhiZy3078DJ1EkwzBMVejTNq1e9wp+BmeZ2YpiftNyRFfu/Gg8k +sOUQ2oCn9A9pZLUGvtajA3aL8f182GQODRqQmelvYSUL/u9vAChOlcT+UEqj5jW4xjd4XsCotX4K +z+ofkD+SAlf1AgMBAAGjggH2MIIB8jATBgNVHSMEDDAKgAhKfsjmnWR06TA+BggrBgEFBQcBAwEB +/wQvMC0wCAYGBACORgEBMBUGBgQAjkYBAjALEwNFVVICAQACAQAwCgYIKwYBBQUHCwEwgYIGCCsG +AQUFBwEBBHYwdDAvBggrBgEFBQcwAYYjaHR0cDovL29jc3AtdGVzdC5hLXRydXN0LmF0OjgyL29j +c3AwQQYIKwYBBQUHMAKGNWh0dHA6Ly93d3cuYS10cnVzdC5hdC9jZXJ0cy9UcnVzdFNpZ25UZXN0 +LVNpZy0wMWMuY3J0MFEGA1UdIARKMEgwPAYGKigAEQEDMDIwMAYIKwYBBQUHAgEWJGh0dHA6Ly93 +d3cuYS10cnVzdC5hdC9kb2NzL1RydXN0VGVzdDAIBgYEAIswAQEwbgYDVR0fBGcwZTBjoGGgX4Zd +bGRhcDovL2xkYXAtdGVzdC5hLXRydXN0LmF0L291PVRydXN0U2lnblRlc3QtU2lnLTAxLG89QS1U +cnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/MBEGA1UdDgQKBAhNa9QR1H4T3zAO +BgNVHQ8BAf8EBAMCBsAwJQYDVR0RBB4wHIEaZ3JlZ29yLmthcmxpbmdlckBjaW8uZ3YuYXQwCQYD +VR0TBAIwADANBgkqhkiG9w0BAQUFAAOCAQEALi2DEl6whJsiQF+bsNVR8CQhXg6ZuzTGlPhyCBum +765Y5gMRLEfAx2D8Wv4XXPHasAxZ/NKZRwbfLWN7IxPeVHF+vCShlXmYGWVj75fEEGStIKyULqZB +7jOJdsFHNdvp8yQaexR9olO3neXjrFmcXFVhpZFJomBH6JEL0uRaLsPlN97OTa1NKkdj92SX8Ikc +V2k9yQ3Nl2KgicZDlxdYtSDGh9P0KddJZZJTRAdmixWb4Y2cGkRDhXoHzvHcZQ7eqJYHPapm3NTZ +428I7LCKma8859rMwRSNTN14yIVLKkgBtxvmstGVa33Ki53LBkSSuBMH3Pa+4xbnYSkJA4phaDGC +AiEwggIdAgEBMIHgMIHZMQswCQYDVQQGEwJBVDGBizCBiAYDVQQKHoGAAEEALQBUAHIAdQBzAHQA +IABHAGUAcwAuACAAZgD8AHIAIABTAGkAYwBoAGUAcgBoAGUAaQB0AHMAcwB5AHMAdABlAG0AZQAg +AGkAbQAgAGUAbABlAGsAdAByAC4AIABEAGEAdABlAG4AdgBlAHIAawBlAGgAcgAgAEcAbQBiAEgx +HTAbBgNVBAsTFFRydXN0U2lnblRlc3QtU2lnLTAxMR0wGwYDVQQDExRUcnVzdFNpZ25UZXN0LVNp +Zy0wMQICC0wwCQYFKw4DAhoFAKCBlzAjBgkqhkiG9w0BCQQxFgQUa53jOsL7KbyltpByAK87FoMZ +phIwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATApBgsqhkiG9w0BCRACBDEaMBgMC3RleHQvcGxh +aW4bBgkqhkiG9w0BBwEwKwYLKoZIhvcNAQkQAhMxHDAaMBgwFgQUHYXWfnUEs+dytr0/Sjhgsaev +qiAwDQYJKoZIhvcNAQEBBQAEgYBUxGOJjF0MdnzZPc6OuDEcSJkt/L7g+1uy4waFEP8Opj4utJIq +gPz53+SO37zNnqbqOMR6X7dXYrk2NH2vVakr/qtdy69cfpdzjaMV9u6Ajy3CaurBYqWY+dAceQR4 +YE1/ufXDSE93k0S3pwc6yf3HDXeTi6oJH4sLL6kpOPJaLg==</CMSSignature> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyCMSSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml new file mode 100644 index 000000000..f4db026fe --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>9</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>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><PublicAuthority><Code>BKA-IKT</Code></PublicAuthority></dsig:X509Data></SignerInfo><HashInputData PartOf="SignedInfo"><Base64Content>PGRvYzpYTUxEb2N1bWVudCB4bWxuczpkb2M9InVybjpkb2N1bWVudCI+CiAgPGRv +YzpQYXJhZ3JhcGg+SWNoIGJpbiBkZXIgZXJzdGUgQWJzYXR6IGluIGRpZXNlbSBE +b2t1bWVudC48L2RvYzpQYXJhZ3JhcGg+CiAgPGRvYzpQYXJhZ3JhcGggUGFyYUlk +PSJQYXJhMiI+VW5kIGljaCBiaW4gZGVyIHp3ZWl0ZSBBYnNhdHogaW4gZGllc2Vt +IERva3VtZW50LgpJY2ggaGFiZSB3ZWl0ZXJzIGVpbiBlaWdlbmVucyBJRC1BdHRy +aWJ1dCBiZWtvbW1lbi48L2RvYzpQYXJhZ3JhcGg+CjwvZG9jOlhNTERvY3VtZW50Pg==</Base64Content></HashInputData><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml new file mode 100644 index 000000000..d97e76f78 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <DateTime>2004-08-18T17:00:00+02:00</DateTime> + <VerifySignatureInfo> + <VerifySignatureEnvironment Reference="http://localhost:8080/referencedData/XMLDocument.signed.xml"/> + <VerifySignatureLocation xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <ReturnHashInputData/> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml new file mode 100644 index 000000000..5b4b61938 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.DataObject.xml @@ -0,0 +1,82 @@ +<?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#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/20020822# file:D:/_java/moa-idspss/trunk/common/src/main/resources/resources/schemas/MOA-SPSS-1.3.xsd
+ http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd">
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent>
+ <dsig:Signature Id="signature-1-1"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod
+ Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
+ <dsig:SignatureMethod
+ Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1" />
+ <dsig:Reference
+ Type="http://www.w3.org/2000/09/xmldsig#Manifest"
+ URI="#dsig-manifest-1-1">
+ <dsig:DigestMethod
+ Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+ <dsig:DigestValue>
+ XRuYnuRTOAInpu8TzwDWn9Er4/Y=
+ </dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>
+ O3/U4zcVG6BOdc2C/m09xe+vxGhp6TKz7lEukgjINsc1o1Bvdelo77T8cEG/muYd
+ </dsig:SignatureValue>
+ <dsig:KeyInfo>
+ <dsig:X509Data>
+ <dsig:X509Certificate>
+ MIIELjCCAxagAwIBAgIBEzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJBVDEQ
+ MA4GA1UEChMHVFUgR3JhejENMAsGA1UECxMERUdJWjEUMBIGA1UEAxMLTU9BIFRl
+ c3QgQ0EwHhcNMDcwODIzMTM1ODU0WhcNMTIwODIzMTM1ODU0WjBpMQswCQYDVQQG
+ EwJBVDEQMA4GA1UEChMHVFUgR1JBWjENMAsGA1UECxMERUdJWjE5MDcGA1UEAxMw
+ VGVzdCBTaWduYXR1cmRpZW5zdCBhbGxlciBLdW5kZW46IEVDRFNBIChQMTkydjEp
+ MIHzMIG8BgcqhkjOPQIBMIGwAgEBMCQGByqGSM49AQECGQD/////////////////
+ ///+//////////8wNAQY/////////////////////v/////////8BBhkIQUZ5ZyA
+ 5w+n6atyJDBJ/rje7MFGubEEMQQYjagOsDCQ9ny/IOtDoYgA9P8K/YL/EBIHGSuV
+ /8jaeGMQEe1rJM3Vc/l3oR55SBECGQD///////////////+Z3vg2FGvJsbTSKDEC
+ AQEDMgAExf78b6N6BUhK+FHmunDUCQefSxpQmC6m4yq/+pqdDMJalTWATFhQwZqE
+ qSMXJ2Tqo4IBNDCCATAwDgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwHQYD
+ VR0OBBYEFBrwapQSMwabwPPOijtgOu3iNlt3MHAGA1UdIARpMGcwZQYMKwYBBAGV
+ EgECewEBMFUwUwYIKwYBBQUHAgIwRxpFVGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1h
+ eSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIGFuZCB0ZXN0IHB1cnBvc2VzMEYG
+ A1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9tb2EtaWRzcHNzLmVnb3ZsYWJzLmd2LmF0
+ L2NybHMvbW9hLXRlc3QtY2EuY3JsMBYGByooAAoBAQEECxMJRUdJWi1UZXN0MB8G
+ A1UdIwQYMBaAFFKXvB3Ugd6H51ClcBGdjhYJNiRSMA0GCSqGSIb3DQEBBQUAA4IB
+ AQB60RLi9zIwF/Rmy/Wo0yf1/ZktElIt91vfBsXlpgLJ4Q6ol/4hTjMJ4FIa8GOl
+ 0b9dIkEe+WGq77JFJVgltsRoJfQBSvnK9jdLfB5YJD0ETDnMdckBV+RsxkEtl5Lr
+ IrT6vExyJUAWz15XJiHgkYZncJCBTy1oh8f3V8cR1VZYwO4QBRDwRdVdZsaL5PME
+ vvLrcAMJhF5fS4AiqMex2Eh2kav5t6/I5bmB4CKEe+0+dPO8DGl7areEfzQEPd8p
+ jkkX5PnxriQvZfgVzwrdXGDqMTnBNaRtCGMiQU/0kp21a6BVtT4am27yr9p3ddhl
+ z7sJ4Z6ys1bwB0on/O65tdn7
+ </dsig:X509Certificate>
+ </dsig:X509Data>
+ </dsig:KeyInfo>
+ <dsig:Object>
+ <dsig:Manifest Id="dsig-manifest-1-1">
+ <dsig:Reference Id="reference-1-1"
+ URI="file:referencedData/Text.txt">
+ <dsig:DigestMethod
+ Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+ <dsig:DigestValue>
+ TrE7WPVlNnBf1dh9PRiZdwpTaxs=
+ </dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:Manifest>
+ </dsig:Object>
+ </dsig:Signature>
+ </XMLContent>
+ </VerifySignatureEnvironment>
+ <VerifySignatureLocation
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ /dsig:Signature
+ </VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <TrustProfileID>Test-Signaturdienste</TrustProfileID>
+</VerifyXMLSignatureRequest>
+
diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml new file mode 100644 index 000000000..4b9fa43fe --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.ServerSupplements.xml @@ -0,0 +1,66 @@ +<?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#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/20020822# file:D:/_java/moa-idspss/trunk/common/src/main/resources/resources/schemas/MOA-SPSS-1.3.xsd
+ http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd">
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent>
+ <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Id="signature-1208432475-242867937-18096">
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
+ <dsig:Reference Id="signed-data-reference-0-1208432475-242867937-22960" URI="urn:Document">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>te0YD8LFaK3JLQV8cL69DPnFRLc=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Id="etsi-data-reference-0-1208432475-242867937-11431" 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-data-object-0-1208432475-242867937-12332')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>2M9g7DopnXtz86dkz+7yk5SHSHo=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>Ti3ckR8eq4D0mUhb+ylUFhIYn7mfUHTc2AjTys4oaq4gFkXvQlQI41Iggp40c916</dsig:SignatureValue>
+ <dsig:KeyInfo>
+ <dsig:X509Data>
+ <dsig:X509Certificate>MIIDlzCCAf+gAwIBAgIRMrFTcaHacn5T5kRFML4Ck6swDQYJKoZIhvcNAQEFBQAwTTESMBAGA1UEAwwJVlNpZyBDQSAyMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xCzAJBgNVBAYTAkFUMB4XDTA2MDEyMDA1MTExMVoXDTExMDEyMDA1MTExMVowXzEVMBMGA1UEAwwMRGF2aWQgRmVyYmFzMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xDTALBgNVBAsMBFZTaWcxCzAJBgNVBAYTAkFUMEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEc7ESyZ4IdIM9UDtze29i0IqfCbwWSODfCF8bTiXxdJZLWZOE0eqwL2ybWVTEmCXDo4G6MIG3MBMGA1UdIwQMMAqACEhpdVw8ryMqMBEGA1UdDgQKBAhP473ttlxOBjAOBgNVHQ8BAf8EBAMCBsAwFgYDVR0gBA8wDTALBgkqKAAKAQQBZgAwQwYIKwYBBQUHAQEENzA1MDMGCCsGAQUFBzABhidodHRwOi8vb2NzcC5lY2FyZC5zb3ppYWx2ZXJzaWNoZXJ1bmcuYXQwIAYDVR0RBBkwF4EVZGF2aWQuZmVyYmFzQGlub2RlLmF0MA0GCSqGSIb3DQEBBQUAA4IBgQAu74FsENLTC9kqN4UVEX+pJz4ckOjAI8NbzCEvHgDqfpXmjZKA+8354fE6hsCd8uCJWCJ36ig2cMcOjGJrW+4YExYFRpiq1U2u9N1eKEj7j1oQzNZw4lotDxMFHnzd5WBjXjWekgy3uWkFhqE+NvQtauNtRiR3kg2jMt4MmcjZpck3WoTibrV9sMOzyM8L4y3HdDix97aWTefqxJ28IF9Anuk/uNGu74KcuJjYuIZx7q1ULsuXEs/HJMxU2/9lcT6lRhsp5VE0Z0/zOWdenQYUBscdbNrEDg3gmGU9T7SuxNQfHRLQ1OGzjolJL7kvhsRiK/l7pBtGAt2oPO6OKbLgWhW/6DEYJqnUrScQCli34EVDFC8W9yOBq3BHHZCQOzGgYtxtpI2QzCHLMGEwaxdFAYQp9pVBnX7HGbPqhq2r5osDlcyJDLO9uYW+63CTCVIeJ9018OxvOxNNvb6JzunW/oQAVMj+vTiR4GE74A0qVbuYd0fvEvc47J1q6++QlKc=</dsig:X509Certificate>
+ </dsig:X509Data>
+ </dsig:KeyInfo>
+ <dsig:Object Id="etsi-data-object-0-1208432475-242867937-12332">
+ <etsi:QualifyingProperties xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" Target="#signature-1208432475-242867937-18096">
+ <etsi:SignedProperties xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#">
+ <etsi:SignedSignatureProperties>
+ <etsi:SigningTime>2008-04-17T11:41:15Z</etsi:SigningTime>
+ <etsi:SigningCertificate>
+ <etsi:Cert>
+ <etsi:CertDigest>
+ <etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <etsi:DigestValue>RREWB1U7AWw/Xy+QkwfAiityVDs=</etsi:DigestValue>
+ </etsi:CertDigest>
+ <etsi:IssuerSerial>
+ <dsig:X509IssuerName>C=AT,O=Hauptverband österr. Sozialvers.,CN=VSig CA 2</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>17249824966675737197051526866457224975275</dsig:X509SerialNumber>
+ </etsi:IssuerSerial>
+ </etsi:Cert>
+ </etsi:SigningCertificate>
+ <etsi:SignaturePolicyIdentifier>
+ <etsi:SignaturePolicyImplied/>
+ </etsi:SignaturePolicyIdentifier>
+ </etsi:SignedSignatureProperties>
+ <etsi:SignedDataObjectProperties>
+ <etsi:DataObjectFormat ObjectReference="#signed-data-reference-0-1208432475-242867937-22960">
+ <etsi:MimeType>text/plain</etsi:MimeType>
+ </etsi:DataObjectFormat>
+ </etsi:SignedDataObjectProperties>
+ </etsi:SignedProperties>
+ </etsi:QualifyingProperties>
+ </dsig:Object>
+ </dsig:Signature>
+ </XMLContent>
+ </VerifySignatureEnvironment>
+ <VerifySignatureLocation xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfileID>testID</SupplementProfileID>
+ <TrustProfileID>certifiedSignature+Test</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml new file mode 100644 index 000000000..27929cefd --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.Supplements.xml @@ -0,0 +1,70 @@ +<?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#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://reference.e-government.gv.at/namespace/moa/20020822# file:D:/_java/moa-idspss/trunk/common/src/main/resources/resources/schemas/MOA-SPSS-1.3.xsd
+ http://www.w3.org/2000/09/xmldsig# http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd">
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent>
+ <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Id="signature-1208432475-242867937-18096">
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/>
+ <dsig:Reference Id="signed-data-reference-0-1208432475-242867937-22960" URI="urn:Document">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>te0YD8LFaK3JLQV8cL69DPnFRLc=</dsig:DigestValue>
+ </dsig:Reference>
+ <dsig:Reference Id="etsi-data-reference-0-1208432475-242867937-11431" 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-data-object-0-1208432475-242867937-12332')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <dsig:DigestValue>2M9g7DopnXtz86dkz+7yk5SHSHo=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>Ti3ckR8eq4D0mUhb+ylUFhIYn7mfUHTc2AjTys4oaq4gFkXvQlQI41Iggp40c916</dsig:SignatureValue>
+ <dsig:KeyInfo>
+ <dsig:X509Data>
+ <dsig:X509Certificate>MIIDlzCCAf+gAwIBAgIRMrFTcaHacn5T5kRFML4Ck6swDQYJKoZIhvcNAQEFBQAwTTESMBAGA1UEAwwJVlNpZyBDQSAyMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xCzAJBgNVBAYTAkFUMB4XDTA2MDEyMDA1MTExMVoXDTExMDEyMDA1MTExMVowXzEVMBMGA1UEAwwMRGF2aWQgRmVyYmFzMSowKAYDVQQKDCFIYXVwdHZlcmJhbmQgw7ZzdGVyci4gU296aWFsdmVycy4xDTALBgNVBAsMBFZTaWcxCzAJBgNVBAYTAkFUMEkwEwYHKoZIzj0CAQYIKoZIzj0DAQEDMgAEc7ESyZ4IdIM9UDtze29i0IqfCbwWSODfCF8bTiXxdJZLWZOE0eqwL2ybWVTEmCXDo4G6MIG3MBMGA1UdIwQMMAqACEhpdVw8ryMqMBEGA1UdDgQKBAhP473ttlxOBjAOBgNVHQ8BAf8EBAMCBsAwFgYDVR0gBA8wDTALBgkqKAAKAQQBZgAwQwYIKwYBBQUHAQEENzA1MDMGCCsGAQUFBzABhidodHRwOi8vb2NzcC5lY2FyZC5zb3ppYWx2ZXJzaWNoZXJ1bmcuYXQwIAYDVR0RBBkwF4EVZGF2aWQuZmVyYmFzQGlub2RlLmF0MA0GCSqGSIb3DQEBBQUAA4IBgQAu74FsENLTC9kqN4UVEX+pJz4ckOjAI8NbzCEvHgDqfpXmjZKA+8354fE6hsCd8uCJWCJ36ig2cMcOjGJrW+4YExYFRpiq1U2u9N1eKEj7j1oQzNZw4lotDxMFHnzd5WBjXjWekgy3uWkFhqE+NvQtauNtRiR3kg2jMt4MmcjZpck3WoTibrV9sMOzyM8L4y3HdDix97aWTefqxJ28IF9Anuk/uNGu74KcuJjYuIZx7q1ULsuXEs/HJMxU2/9lcT6lRhsp5VE0Z0/zOWdenQYUBscdbNrEDg3gmGU9T7SuxNQfHRLQ1OGzjolJL7kvhsRiK/l7pBtGAt2oPO6OKbLgWhW/6DEYJqnUrScQCli34EVDFC8W9yOBq3BHHZCQOzGgYtxtpI2QzCHLMGEwaxdFAYQp9pVBnX7HGbPqhq2r5osDlcyJDLO9uYW+63CTCVIeJ9018OxvOxNNvb6JzunW/oQAVMj+vTiR4GE74A0qVbuYd0fvEvc47J1q6++QlKc=</dsig:X509Certificate>
+ </dsig:X509Data>
+ </dsig:KeyInfo>
+ <dsig:Object Id="etsi-data-object-0-1208432475-242867937-12332">
+ <etsi:QualifyingProperties xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" Target="#signature-1208432475-242867937-18096">
+ <etsi:SignedProperties xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#">
+ <etsi:SignedSignatureProperties>
+ <etsi:SigningTime>2008-04-17T11:41:15Z</etsi:SigningTime>
+ <etsi:SigningCertificate>
+ <etsi:Cert>
+ <etsi:CertDigest>
+ <etsi:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
+ <etsi:DigestValue>RREWB1U7AWw/Xy+QkwfAiityVDs=</etsi:DigestValue>
+ </etsi:CertDigest>
+ <etsi:IssuerSerial>
+ <dsig:X509IssuerName>C=AT,O=Hauptverband österr. Sozialvers.,CN=VSig CA 2</dsig:X509IssuerName>
+ <dsig:X509SerialNumber>17249824966675737197051526866457224975275</dsig:X509SerialNumber>
+ </etsi:IssuerSerial>
+ </etsi:Cert>
+ </etsi:SigningCertificate>
+ <etsi:SignaturePolicyIdentifier>
+ <etsi:SignaturePolicyImplied/>
+ </etsi:SignaturePolicyIdentifier>
+ </etsi:SignedSignatureProperties>
+ <etsi:SignedDataObjectProperties>
+ <etsi:DataObjectFormat ObjectReference="#signed-data-reference-0-1208432475-242867937-22960">
+ <etsi:MimeType>text/plain</etsi:MimeType>
+ </etsi:DataObjectFormat>
+ </etsi:SignedDataObjectProperties>
+ </etsi:SignedProperties>
+ </etsi:QualifyingProperties>
+ </dsig:Object>
+ </dsig:Signature>
+ </XMLContent>
+ </VerifySignatureEnvironment>
+ <VerifySignatureLocation xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SupplementProfile>
+ <Content Reference="urn:Document">
+ <LocRefContent>file:D:/Programme/apache-tomcat-5.5.26/webapps/referencedData/enno-sp.pdf_bku_sign_out.pdf</LocRefContent>
+ </Content>
+ </SupplementProfile>
+ <TrustProfileID>certifiedSignature+Test</TrustProfileID>
+</VerifyXMLSignatureRequest>
diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.xml new file mode 100644 index 000000000..fc67859ba --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.FileURIs.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<VerifyXMLSignatureRequest
+ xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <VerifySignatureInfo>
+ <VerifySignatureEnvironment>
+ <XMLContent>
+ <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:SignedInfo>
+ <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
+ <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1" />
+ <dsig:Reference Id="reference-1-1" URI="file:../conf/server.xml">
+ <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
+ <dsig:DigestValue>tLODyeiWFbAkQKwhrR23jtcgu4k=</dsig:DigestValue>
+ </dsig:Reference>
+ </dsig:SignedInfo>
+ <dsig:SignatureValue>
+ VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQ
+ </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:Signature>
+ </XMLContent>
+ </VerifySignatureEnvironment>
+ <VerifySignatureLocation xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/dsig:Signature</VerifySignatureLocation>
+ </VerifySignatureInfo>
+ <SignatureManifestCheckParams ReturnReferenceInputData="true">
+ <ReferenceInfo>
+ <VerifyTransformsInfoProfile />
+ </ReferenceInfo>
+ </SignatureManifestCheckParams>
+ <TrustProfileID>Test-Signaturdienste</TrustProfileID>
+</VerifyXMLSignatureRequest>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml new file mode 100644 index 000000000..3798b2706 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>9</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>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><PublicAuthority><Code>BKA-IKT</Code></PublicAuthority></dsig:X509Data></SignerInfo><ReferenceInputData PartOf="SignedInfo"><XMLContent xml:space="preserve"><doc:Paragraph ParaId="Para2" xmlns:doc="urn:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph></XMLContent></ReferenceInputData><ReferenceInputData PartOf="SignedInfo"><XMLContent xml:space="preserve"><dsig:Manifest Id="manifest-1-1" xmlns:doc="urn:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dsig:Reference URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>B9nRChTbct68n9h5+Cb2mfNkASI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></XMLContent></ReferenceInputData><ReferenceInputData PartOf="SignedInfo"><XMLContent xml:space="preserve"><etsi:SignedProperties xmlns:doc="urn:document" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><etsi:SignedSignatureProperties><etsi:SigningTime>2004-08-20T12:42:21</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-1-1"><etsi:MimeType>application/xhtml+xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></XMLContent></ReferenceInputData><SignatureCheck><Code>0</Code></SignatureCheck><SignatureManifestCheck><Code>0</Code></SignatureManifestCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml new file mode 100644 index 000000000..657beca77 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml @@ -0,0 +1,50 @@ +<?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#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent><doc:XMLDocument xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document http://localhost:8080/referencedData/XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#Para2"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> +</xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>luM3wUmedTvkMHVedQkA/8otXUE=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest" URI="#manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>1aSV+vFkwG6NZCk5ZUzZV3J4eSo=</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-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Dy1xXsV2LgSFJlGwYiunav1KC7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>f1v/vi1S7xiL+7ofWOUqBfoqOy42EnlXYFoTYcaUZaBiAecDvyX9StPRWTUls/j2</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><dsig:Manifest Id="manifest-1-1"><dsig:Reference URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>B9nRChTbct68n9h5+Cb2mfNkASI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2005-03-29T09:55:29</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-1-1"><etsi:MimeType>application/xhtml+xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature> +</doc:XMLDocument></XMLContent> + </VerifySignatureEnvironment> + <VerifySignatureLocation xmlns:doc="urn:document">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SignatureManifestCheckParams ReturnReferenceInputData="true"> + <ReferenceInfo> + <VerifyTransformsInfoProfile> + <dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> +</xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms> + <TransformParameter URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> + </VerifyTransformsInfoProfile> + <VerifyTransformsInfoProfile> + <dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms> + </VerifyTransformsInfoProfile> + </ReferenceInfo> + </SignatureManifestCheckParams> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml new file mode 100644 index 000000000..2fab33b20 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>9</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>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><PublicAuthority><Code>BKA-IKT</Code></PublicAuthority></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml new file mode 100644 index 000000000..5565601d8 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>tLODyeiWFbAkQKwhrR23jtcgu4k=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>VEjXB6+geUL16oTPDVx5lcQliGl/oyVobug3BVxVwhu8CU7WK65moTcTuo/CL2hQ</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 xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml new file mode 100644 index 000000000..2fab33b20 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>9</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>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><PublicAuthority><Code>BKA-IKT</Code></PublicAuthority></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.response.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.response.xml new file mode 100644 index 000000000..2fab33b20 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.response.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>9</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>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><PublicAuthority><Code>BKA-IKT</Code></PublicAuthority></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml new file mode 100644 index 000000000..50ddbc1da --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent><doc:XMLDocument xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document urn:XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#Para2"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="XMLDocument.Para.xsl"/> +</xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>luM3wUmedTvkMHVedQkA/8otXUE=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>vGVimRmUHwrDR8feQCK1DZ2kyDw0CCrXimJi/yCrIoqSkUKFlKrtAyP2RUBXXjye</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:Signature> +</doc:XMLDocument></XMLContent> + </VerifySignatureEnvironment> + <VerifySignatureLocation xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <SupplementProfile> + <Content Reference="XMLDocument.Para.xsl"> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.Para.xsl</LocRefContent> + </Content> + </SupplementProfile> + <SupplementProfile> + <Content Reference="urn:XMLDocument.xsd"> + <XMLContent><xs:schema targetNamespace="urn:document" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:document" elementFormDefault="qualified" attributeFormDefault="unqualified"> + <xs:element name="XMLDocument"> + <xs:complexType> + <xs:sequence> + <xs:element name="Paragraph" maxOccurs="unbounded"> + <xs:complexType mixed="true"> + <xs:attribute name="ParaId" type="xs:ID" use="optional"/> + </xs:complexType> + </xs:element> + <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> +</xs:schema> + +</XMLContent> + </Content> + </SupplementProfile> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml new file mode 100644 index 000000000..9d3b6dea7 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VerifyXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignerInfo><dsig:X509Data><dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName><dsig:X509IssuerSerial><dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName><dsig:X509SerialNumber>9</dsig:X509SerialNumber></dsig:X509IssuerSerial><dsig:X509Certificate>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><PublicAuthority><Code>BKA-IKT</Code></PublicAuthority></dsig:X509Data></SignerInfo><SignatureCheck><Code>0</Code></SignatureCheck><XMLDSIGManifestCheck><Code>0</Code><Info><ReferringSigReference>1</ReferringSigReference></Info></XMLDSIGManifestCheck><CertificateCheck><Code>0</Code></CertificateCheck></VerifyXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml new file mode 100644 index 000000000..a57fbb934 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml @@ -0,0 +1,31 @@ +<?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#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>nUUaW6OtcsNvV/QhqmkU2QXT1Mw=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pzI1j60BNsnS+zjXYtXlh109HjJGEMrMzTzkUB54rReOpI1ynNkG2RE7AiOlvpPh</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 sind signiert.</dsig:Object><dsig:Object><dsig:Manifest Id="dsig-manifest-1-1"><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>EYxznGxNRAIcHQeUsj+zsK+uaHA=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></XMLContent> + </VerifySignatureEnvironment> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.response.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.response.xml new file mode 100644 index 000000000..be2eb37ad --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.response.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI=""><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>30zsZMPn1mR5G5oIGJvTRmCik3WuepfZF6AhLwxgJDMJlPQ8rheBWCaKihzXnHaS</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:Signature> +</doc:XMLDocument></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.xml new file mode 100644 index 000000000..7f89028c6 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.Enveloped.xml @@ -0,0 +1,25 @@ +<?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="detached"> + <DataObject Reference=""/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>text/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <CreateSignatureInfo> + <CreateSignatureEnvironment Reference="http://localhost:8080/referencedData/XMLDocument.xml"/> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.response.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.response.xml new file mode 100644 index 000000000..fb4204a09 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.response.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><doc:XMLDocument xmlns:doc="urn:document" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document http://localhost:8080/referencedData/XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Id="reference-1-1" URI="#Para2"><dsig:Transforms><dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> +</xsl:stylesheet></dsig:Transform><dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></dsig:Transforms><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>luM3wUmedTvkMHVedQkA/8otXUE=</dsig:DigestValue></dsig:Reference><dsig:Reference Type="http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest" URI="#manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>1aSV+vFkwG6NZCk5ZUzZV3J4eSo=</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-1-1')/child::etsi:QualifyingProperties/child::etsi:SignedProperties)"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>Dy1xXsV2LgSFJlGwYiunav1KC7A=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>f1v/vi1S7xiL+7ofWOUqBfoqOy42EnlXYFoTYcaUZaBiAecDvyX9StPRWTUls/j2</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><dsig:Manifest Id="manifest-1-1"><dsig:Reference URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>B9nRChTbct68n9h5+Cb2mfNkASI=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object><dsig:Object Id="etsi-signed-1-1"><etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"><etsi:SignedProperties><etsi:SignedSignatureProperties><etsi:SigningTime>2005-03-29T09:55:29</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-1-1"><etsi:MimeType>application/xhtml+xml</etsi:MimeType></etsi:DataObjectFormat></etsi:SignedDataObjectProperties></etsi:SignedProperties></etsi:QualifyingProperties></dsig:Object></dsig:Signature> +</doc:XMLDocument></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.xml new file mode 100644 index 000000000..b19f66b61 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.SigManifest.xml @@ -0,0 +1,30 @@ +<?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="true"> + <DataObjectInfo Structure="detached"> + <DataObject Reference="#Para2"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> +</xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>application/xhtml+xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + <CreateSignatureInfo> + <CreateSignatureEnvironment Reference="http://localhost:8080/referencedData/XMLDocument.withResolvableSchemaHint.xml"/> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest> diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.response.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.response.xml new file mode 100644 index 000000000..a465e2126 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.response.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureResponse xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><SignatureEnvironment><dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><dsig:SignedInfo><dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/><dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>nUUaW6OtcsNvV/QhqmkU2QXT1Mw=</dsig:DigestValue></dsig:Reference></dsig:SignedInfo><dsig:SignatureValue>pzI1j60BNsnS+zjXYtXlh109HjJGEMrMzTzkUB54rReOpI1ynNkG2RE7AiOlvpPh</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 sind signiert.</dsig:Object><dsig:Object><dsig:Manifest Id="dsig-manifest-1-1"><dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"><dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><dsig:DigestValue>EYxznGxNRAIcHQeUsj+zsK+uaHA=</dsig:DigestValue></dsig:Reference></dsig:Manifest></dsig:Object></dsig:Signature></SignatureEnvironment></CreateXMLSignatureResponse>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.xml b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.xml new file mode 100644 index 000000000..da7e82025 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/signatures2bverified/CreateXMLSignatureRequest.VerifyXML.XMLDSigManifest.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CreateXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <KeyIdentifier>KG_allgemein</KeyIdentifier> + <SingleSignatureInfo SecurityLayerConformity="false"> + <DataObjectInfo Structure="enveloping" ChildOfManifest="true"> + <DataObject> + <XMLContent>Diese Daten sind signiert.</XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> + </SingleSignatureInfo> +</CreateXMLSignatureRequest>
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt b/spss/handbook/clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt new file mode 100644 index 000000000..f8527bb6d --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt @@ -0,0 +1,8 @@ +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:doc="urn:document"> +<head> +<title>HTML-Dokument</title> +</head> +<body> +<p>Ich bin der erste Absatz in diesem Dokument.</p> +</body> +</html> 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..b6091332c --- /dev/null +++ b/spss/handbook/clients/webservice/resources/sslKeys/customer1/moa-ssl-kunde1.der 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..33f76bf9c --- /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/trustedServers[pwd=servers].keystore b/spss/handbook/clients/webservice/resources/sslKeys/customer1/trustedServers[pwd=servers].keystore Binary files differnew file mode 100644 index 000000000..9c6c55359 --- /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.der b/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.der Binary files differnew file mode 100644 index 000000000..20bc38e14 --- /dev/null +++ b/spss/handbook/clients/webservice/resources/sslKeys/customer2/moa-ssl-kunde2.der 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..ec7bf8e48 --- /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/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/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java new file mode 100644 index 000000000..518017fd2 --- /dev/null +++ b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java @@ -0,0 +1,228 @@ +/* + * Copyright 2003 Federal Chancellery Austria + * MOA-SPSS has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + + +package at.gv.egovernment.moa.spss.handbook.clients.webservice; + +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.util.Properties; +import java.util.Vector; + +import javax.xml.namespace.QName; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.rpc.Call; +import javax.xml.rpc.Service; +import javax.xml.rpc.ServiceFactory; + +import org.apache.axis.message.SOAPBodyElement; +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.w3c.dom.Document; + +/** + * Diese Klasse implementiert einen einfachen Client für das MOA SP/SS Webservice mittels Apache Axis. Die + * Verbindung erfolgt ungesichert über HTTP. + */ +public class HTTP +{ + protected Properties props_; + + /** + * Methode main. + * + * Enthält den Beispielcode der nötig ist um von Java aus auf MOA-SPSS zugreifen zu können. Der Zugriff + * passiert über das AXIS-Framework. Die Verbindung erfolgt ungesichert über HTTP. + * + * @param args <ul> + * <li> + * args[0] enthält entweder die Bezeichnung "sign" oder "verify" zur Kennzeichnung, + * ob ein Signaturerstellungsrequest, oder ein Signaturprüfrequest gesendet werden soll. + * </li> + * <li> + * args[1] enthält einen Verweis auf eine Property-Datei, die die nähere Konfiguration + * für dieses Beispiel enthält. Der Verweis enthält entweder eine absolute oder eine + * relative Pfadangabe, wobei eine relative Angabe als relativ zum Arbeitsverzeichnis der + * Java VM interpretiert wird. Folgende Properties müssen in der Property-Datei vorhanden + * sein: + * <ul> + * <li> + * <code>signServiceQName</code>: Name des Webservices, fix "SignatureCreation" + * </li> + * <li> + * <code>signServiceEndPoint</code>: Zugangspunkt des Webservices (URL) + * </li> + * <li> + * <code>signRequest</code>: Name des zu sendenden Signaturerstellungsrequests (entweder + * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum + * Arbeitsverzeichnis der Java VM interpretiert) + * </li> + * <li> + * <code>verifyServiceQName</code>: Name des Webservices, fix "SignatureVerification" + * </li> + * <li> + * <code>verifyServiceEndPoint</code>: Zugangspunkt des Webservices (URL) + * </li> + * <li> + * <code>verifyRequest</code>: Name des zu sendenden Signaturprüfrequests (entweder + * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum + * Arbeitsverzeichnis der Java VM interpretiert) + * </li> + * </ul> + * </li> + * </ul> + */ + public static void main(String[] args) + { + try + { + // Prüfen, ob Beispiel korrekt verwendet wird + checkArgs(args, "HTTP"); + + // Initialisieren des Clients + HTTP httpClient = new HTTP(args); + + // Ausführen der Serviceabfrage + httpClient.execute(args[0]); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Prüft, ob das Beispiel korrekt verwendet wird. + * + * @param args Die Aufrufparameter für das Beispiel. Siehe {@link HTTP#main(String[])}. + * + * @param exampleName Der Name dieses Beispiels, der im Hilfetext gedruckt wird. + */ + protected static void checkArgs(String[] args, String exampleName) + { + if (args == null || args.length != 2 || (!"sign".equals(args[0]) && !"verify".equals(args[0]))) + { + System.out.println("Verwendung: " + exampleName + " \"sign\"|\"verify\" Properties-Datei"); + } + } + + /** + * Erzeugt den MOA Client. Es erfolgt die Auswertung der übergebenen Aufrufparameter. + * + * @param args Die Aufrufparameter für das Beispiel. Siehe {@link HTTP#main(String[])}. + * + * @throws Exception wenn der MOA Client mit den übergebenen Aufrufparametern nicht korrekt erzeugt + * werden konnte. + */ + protected HTTP(String[] args) throws Exception + { + props_ = new Properties(); + props_.load(new FileInputStream(args[1])); + } + + /** + * Führt die Abfrage beim MOA-Service aus. + * + * @param mode Steuert, ob eine Signatur erstellt ("sign") oder geprüft ("verify") werden soll. + * + * @throws Exception wenn dabei etwas schiegeht. + */ + protected void execute(String mode) throws Exception + { + // Datei mit Request einlesen + FileInputStream inputStream = new FileInputStream(getProperty(mode + "Request")); + + // Parser/DOMBuilder instanzieren + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + // XML Datei in einen DOM-Baum umwandeln + Document xmlRequest = builder.parse(inputStream); + + // AXIS-Server instanzieren + Service service = ServiceFactory.newInstance().createService(new QName(getProperty(mode + "ServiceQName"))); + + // Call öffnen + Call call = service.createCall(); + + // Neues BodyElement anlegen und mit dem DOM-Baum füllen + SOAPBodyElement body = new SOAPBodyElement(xmlRequest.getDocumentElement()); + SOAPBodyElement[] params = new SOAPBodyElement[] + { + body + }; + + // Call mit Endpoint verknüpfen + call.setTargetEndpointAddress(getProperty(mode + "ServiceEndPoint")); + + // Call auslösen und die Antworten speichern + System.out.println("Calling ..."); + Vector responses = (Vector) call.invoke(params); + + // Erstes Body Element auslesen + SOAPBodyElement response = (SOAPBodyElement) responses.get(0); + + // Aus der Response den DOM-Baum lesen + Document root_response = response.getAsDocument(); + System.out.println("Return ..."); + + // XML-Formatierung konfiguieren + OutputFormat format = new OutputFormat((Document) root_response); + format.setLineSeparator("\n"); + format.setIndenting(false); + format.setPreserveSpace(true); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + + // Ausgabe der Webservice-Antwort auf die Konsole + XMLSerializer conSerializer = new XMLSerializer(System.out, format); + conSerializer.serialize(root_response); + + // Ausgabe der Webservice-Antwort in Datei + String responseFile = getProperty(mode + "Request").substring(0, getProperty(mode + "Request").lastIndexOf('.')) + + ".response.xml"; + XMLSerializer fileSerializer = new XMLSerializer(new FileOutputStream(responseFile), format); + fileSerializer.serialize(root_response); + } + + /** + * Prüft ob die Property mit dem angegebenen Namen in den Konfigurations-Properties enthalten ist. + * + * @param propName Name der zu untersuchenden Property. + * + * @return den Wert der gesuchten Property. + * + * @throws Exception wenn die gesuchte Property nicht vorhanden ist. + */ + protected String getProperty(String propName) throws Exception + { + String propValue = props_.getProperty(propName); + if ((propValue == null) || "".equals(propValue.trim())) + { + throw new Exception("Property named \"" + propName + "\" does not exist."); + } + return propValue; + } +}
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java new file mode 100644 index 000000000..8f692b2ed --- /dev/null +++ b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java @@ -0,0 +1,146 @@ +/* + * Copyright 2003 Federal Chancellery Austria + * MOA-SPSS has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + + +package at.gv.egovernment.moa.spss.handbook.clients.webservice; + + +/** + * Diese Klasse implementiert einen einfachen Client für das MOA SP/SS Webservice mittels Apache Axis. Die + * Verbindung erfolgt gesichert über SSL, und zwar sowohl mit Server- und Clientauthentisierung. + */ +public class HTTPSClientAuth extends HTTPSServerAuth +{ + // JSSE Konstanten + public static final String KEYSTORE = "javax.net.ssl.keyStore"; + public static final String KEYSTOREPASSWORD = "javax.net.ssl.keyStorePassword"; + public static final String KEYSTORETYPE = "javax.net.ssl.keyStoreType"; + + /** + * Methode main. + * + * 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 gesichert über SSL, und zwar sowohl mit + * Server- und Clientauthentisierung. + * + * @param args <ul> + * <li> + * args[0] enthält entweder die Bezeichnung "sign" oder "verify" zur Kennzeichnung, + * ob ein Signaturerstellungsrequest, oder ein Signaturprüfrequest gesendet werden soll. + * </li> + * <li> + * args[1] enthält einen Verweis auf eine Property-Datei, die die nähere Konfiguration + * für dieses Beispiel enthält. Der Verweis enthält entweder eine absolute oder eine + * relative Pfadangabe, wobei eine relative Angabe als relativ zum Arbeitsverzeichnis der + * Java VM interpretiert wird. Folgende Properties müssen in der Properties-Datei vorhanden + * sein: + * <ul> + * <li> + * <code>signServiceQName</code>: Name des Webservices, fix "SignatureCreation" + * </li> + * <li> + * <code>signServiceEndPoint</code>: Zugangspunkt des Webservices (URL) + * </li> + * <li> + * <code>signRequest</code>: Name des zu sendenden Signaturerstellungsrequests (entweder + * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum + * Arbeitsverzeichnis der Java VM interpretiert) + * </li> + * <li> + * <code>verifyServiceQName</code>: Name des Webservices, fix "SignatureVerification" + * </li> + * <li> + * <code>verifyServiceEndPoint</code>: Zugangspunkt des Webservices (URL) + * </li> + * <li> + * <code>verifyRequest</code>: Name des zu sendenden Signaturprüfrequests (entweder + * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum + * Arbeitsverzeichnis der Java VM interpretiert) + * </li> + * <li> + * <code>ssl.truststore.type</code>: Typ des JSSE-Truststores (entweder "JKS" für einen + * Java Key Store oder "PKCS12" für eine PKCS#12-Datei). + * </li> + * <li><code>ssl.truststore.type</code>: Relativer oder absoluter Pfad zum JSSE-Truststore. + * Ein relativer Pfad wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). + * </li> + * <li><code>ssl.truststore.pwd</code>: Passwort für den JSSE-Truststore. + * </li> + * <li> + * <code>ssl.keystore.type</code>: Typ des JSSE-Keystores (entweder "JKS" für einen + * Java Key Store oder "PKCS12" für eine PKCS#12-Datei). + * </li> + * <li><code>ssl.keystore.type</code>: Relativer oder absoluter Pfad zum JSSE-Keystore. + * Ein relativer Pfad wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). + * </li> + * <li><code>ssl.keystore.pwd</code>: Passwort für den JSSE-Keystore. + * </li> + * </ul> + * </li> + * </ul> + */ + public static void main(String[] args) + { + try + { + // Prüfen, ob Beispiel korrekt verwendet wird + checkArgs(args, "HTTP"); + + // Initialisieren des Clients + HTTPSClientAuth httpClient = new HTTPSClientAuth(args); + + // Ausführen der Serviceabfrage + httpClient.execute(args[0]); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Erzeugt den MOA Client. Es erfolgt die Auswertung der übergebenen Aufrufparameter. + * + * @param args Die Aufrufparameter für das Beispiel. Siehe {@link HTTPSClientAuth#main(String[])}. + * + * @throws Exception wenn der MOA Client mit den übergebenen Aufrufparametern nicht korrekt erzeugt + * werden konnte. + */ + protected HTTPSClientAuth(String[] args) throws Exception + { + super(args); + } + + /** + * Konfiguriert JSSE für eine SSL-Verbindung mit Client- und Serverauthentisierung. + */ + protected void configureSSL() throws Exception + { + super.configureSSL(); + + // Konfiguriere Key-Store (enthält privaten Schlüssel und Zertifikat des Clients) + System.setProperty(KEYSTORETYPE, getProperty("ssl.keystore.type")); + System.setProperty(KEYSTORE, getProperty("ssl.keystore.loc")); + System.setProperty(KEYSTOREPASSWORD, getProperty("ssl.keystore.pwd")); + } +}
\ No newline at end of file diff --git a/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java new file mode 100644 index 000000000..d2a0900bc --- /dev/null +++ b/spss/handbook/clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java @@ -0,0 +1,149 @@ +/* + * Copyright 2003 Federal Chancellery Austria + * MOA-SPSS has been developed in a cooperation between BRZ, the Federal + * Chancellery Austria - ICT staff unit, and Graz University of Technology. + * + * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by + * the European Commission - subsequent versions of the EUPL (the "Licence"); + * You may not use this work except in compliance with the Licence. + * You may obtain a copy of the Licence at: + * http://www.osor.eu/eupl/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the Licence is distributed on an "AS IS" basis, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the Licence for the specific language governing permissions and + * limitations under the Licence. + * + * This product combines work with different licenses. See the "NOTICE" text + * file for details on the various modules and licenses. + * The "NOTICE" text file is part of the distribution. Any derivative works + * that you distribute must include a readable copy of the "NOTICE" text file. + */ + + +package at.gv.egovernment.moa.spss.handbook.clients.webservice; + +import java.security.Security; + +import com.sun.net.ssl.internal.ssl.Provider; + +/** + * Diese Klasse implementiert einen einfachen Client für das MOA SP/SS Webservice mittels Apache Axis. Die + * Verbindung erfolgt gesichert über SSL, und zwar nur mit Serverauthentisierung. + */ +public class HTTPSServerAuth extends HTTP +{ + // JSSE Konstanten + public static final String HANDLER = "java.protocol.handler.pkgs"; + public static final String TRUSTSTORE = "javax.net.ssl.trustStore"; + public static final String TRUSTSTOREPASSWORD = "javax.net.ssl.trustStorePassword"; + public static final String TRUSTSTORETYPE = "javax.net.ssl.trustStoreType"; + + /** + * Methode main. + * + * 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 gesichert über SSL, und zwar nur mit + * Serverauthentisierung. + * + * @param args <ul> + * <li> + * args[0] enthält entweder die Bezeichnung "sign" oder "verify" zur Kennzeichnung, + * ob ein Signaturerstellungsrequest, oder ein Signaturprüfrequest gesendet werden soll. + * </li> + * <li> + * args[1] enthält einen Verweis auf eine Property-Datei, die die nähere Konfiguration + * für dieses Beispiel enthält. Der Verweis enthält entweder eine absolute oder eine + * relative Pfadangabe, wobei eine relative Angabe als relativ zum Arbeitsverzeichnis der + * Java VM interpretiert wird. Folgende Properties müssen in der Properties-Datei vorhanden + * sein: + * <ul> + * <li> + * <code>signServiceQName</code>: Name des Webservices, fix "SignatureCreation" + * </li> + * <li> + * <code>signServiceEndPoint</code>: Zugangspunkt des Webservices (URL) + * </li> + * <li> + * <code>signRequest</code>: Name des zu sendenden Signaturerstellungsrequests (entweder + * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum + * Arbeitsverzeichnis der Java VM interpretiert) + * </li> + * <li> + * <code>verifyServiceQName</code>: Name des Webservices, fix "SignatureVerification" + * </li> + * <li> + * <code>verifyServiceEndPoint</code>: Zugangspunkt des Webservices (URL) + * </li> + * <li> + * <code>verifyRequest</code>: Name des zu sendenden Signaturprüfrequests (entweder + * absolute oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum + * Arbeitsverzeichnis der Java VM interpretiert) + * </li> + * <li> + * <code>ssl.truststore.type</code>: Typ des JSSE-Truststores (entweder "JKS" für einen + * Java Key Store oder "PKCS12" für eine PKCS#12-Datei). + * </li> + * <li><code>ssl.truststore.type</code>: Relativer oder absoluter Pfad zum JSSE-Truststore. + * Ein relativer Pfad wird relativ zum Arbeitsverzeichnis der Java VM interpretiert). + * </li> + * <li><code>ssl.truststore.pwd</code>: Passwort für den JSSE-Truststore. + * </li> + * </ul> + * </li> + * </ul> + */ + public static void main(String[] args) + { + try + { + // Prüfen, ob Beispiel korrekt verwendet wird + checkArgs(args, "HTTP"); + + // Initialisieren des Clients + HTTPSServerAuth httpClient = new HTTPSServerAuth(args); + + // Ausführen der Serviceabfrage + httpClient.execute(args[0]); + } + catch (Exception e) + { + e.printStackTrace(); + } + } + + /** + * Erzeugt den MOA Client. Es erfolgt die Auswertung der übergebenen Aufrufparameter. + * + * @param args Die Aufrufparameter für das Beispiel. Siehe {@link HTTPSServerAuth#main(String[])}. + * + * @throws Exception wenn der MOA Client mit den übergebenen Aufrufparametern nicht korrekt erzeugt + * werden konnte. + */ + protected HTTPSServerAuth(String[] args) throws Exception + { + super(args); + configureSSL(); + } + + /** + * Konfiguriert JSSE für eine SSL-Verbindung mit Serverauthentisierung. + * + * @throws Exception wenn die Konfiguration von JSSE fehlschlägt. + */ + protected void configureSSL() throws Exception + { + // Aktivieren Sie die nächste Zeile für detailliertes Logging des SSL-Verbindungsaufbaus + // System.setProperty("javax.net.debug", "all"); + + // Setzen des korrekten Protokoll-Handlers für https + Security.addProvider(new Provider()); + System.setProperty(HANDLER, "com.sun.net.ssl.internal.www.protocol"); + + // Konfiguriere Trust-Store (enthält SSL-Zertifikat des MOA Services, dem vertraut wird) + System.setProperty(TRUSTSTORETYPE, getProperty("ssl.truststore.type")); + System.setProperty(TRUSTSTORE, getProperty("ssl.truststore.loc")); + System.setProperty(TRUSTSTOREPASSWORD, getProperty("ssl.truststore.pwd")); + } +}
\ No newline at end of file diff --git a/spss/handbook/conf/moa-spss/certstore/01540E2704537AA810D671E1C4106FD8821EB52A/C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 b/spss/handbook/conf/moa-spss/certstore/01540E2704537AA810D671E1C4106FD8821EB52A/C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 Binary files differnew file mode 100644 index 000000000..592c96230 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/01540E2704537AA810D671E1C4106FD8821EB52A/C2556DADDF68A9EEF7F5C14A24CA33BCA930B201 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/04462EF01783744F9F4CDE3705FD86D488697C9F/D44EED7580C7792242D73E267A89C7DB25E4BD08 b/spss/handbook/conf/moa-spss/certstore/04462EF01783744F9F4CDE3705FD86D488697C9F/D44EED7580C7792242D73E267A89C7DB25E4BD08 Binary files differnew file mode 100644 index 000000000..73434134e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/04462EF01783744F9F4CDE3705FD86D488697C9F/D44EED7580C7792242D73E267A89C7DB25E4BD08 diff --git a/spss/handbook/conf/moa-spss/certstore/083E1A0528C48475951A6610360D813E2713DCC7/7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 b/spss/handbook/conf/moa-spss/certstore/083E1A0528C48475951A6610360D813E2713DCC7/7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 Binary files differnew file mode 100644 index 000000000..8c434777e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/083E1A0528C48475951A6610360D813E2713DCC7/7E691392F741B7E4B4AA9A76D75851BDE18BE5A7 diff --git a/spss/handbook/conf/moa-spss/certstore/0889EBEC55D9E34E782E6D3C250840EB932EEA2F/9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 b/spss/handbook/conf/moa-spss/certstore/0889EBEC55D9E34E782E6D3C250840EB932EEA2F/9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 Binary files differnew file mode 100644 index 000000000..3af27c013 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/0889EBEC55D9E34E782E6D3C250840EB932EEA2F/9CD9ADF04626E7E8C9A1C8DACE3B0B8A2979C726 diff --git a/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 b/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 Binary files differnew file mode 100644 index 000000000..cac44093a --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 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/0FE419AB943E7E5C6A7190CC6BBE8E3F914C658A/FB356CEF4406D1F135E3FC59026B338D3F518F9A b/spss/handbook/conf/moa-spss/certstore/0FE419AB943E7E5C6A7190CC6BBE8E3F914C658A/FB356CEF4406D1F135E3FC59026B338D3F518F9A Binary files differnew file mode 100644 index 000000000..04c6ea363 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/0FE419AB943E7E5C6A7190CC6BBE8E3F914C658A/FB356CEF4406D1F135E3FC59026B338D3F518F9A diff --git a/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 b/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 Binary files differnew file mode 100644 index 000000000..32893db7f --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 diff --git a/spss/handbook/conf/moa-spss/certstore/10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D/E7340D1FB627D8917A9C0D23F21515C441BF1214 b/spss/handbook/conf/moa-spss/certstore/10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D/E7340D1FB627D8917A9C0D23F21515C441BF1214 Binary files differnew file mode 100644 index 000000000..fd23a38d6 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D/E7340D1FB627D8917A9C0D23F21515C441BF1214 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/15A052B0DC4E0333656264E2FEEBE45B1BE449BF/386C1663C6390BC288DC171522439210AF361958 b/spss/handbook/conf/moa-spss/certstore/15A052B0DC4E0333656264E2FEEBE45B1BE449BF/386C1663C6390BC288DC171522439210AF361958 Binary files differnew file mode 100644 index 000000000..a5e651f86 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/15A052B0DC4E0333656264E2FEEBE45B1BE449BF/386C1663C6390BC288DC171522439210AF361958 diff --git a/spss/handbook/conf/moa-spss/certstore/1607988A938D3D339F40AFB567384BC5B7540935/9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 b/spss/handbook/conf/moa-spss/certstore/1607988A938D3D339F40AFB567384BC5B7540935/9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 Binary files differnew file mode 100644 index 000000000..28cb48bb0 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/1607988A938D3D339F40AFB567384BC5B7540935/9FDCFE5A082FD69BF5D9E73C25FBE9EA1AC0ACF2 diff --git a/spss/handbook/conf/moa-spss/certstore/1A283D1183DB82A548427B4F19E99E7A8EA728D7/49969819654C230ECDF779ABB9629A211FCC43D6 b/spss/handbook/conf/moa-spss/certstore/1A283D1183DB82A548427B4F19E99E7A8EA728D7/49969819654C230ECDF779ABB9629A211FCC43D6 Binary files differnew file mode 100644 index 000000000..bdfcb7ab1 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/1A283D1183DB82A548427B4F19E99E7A8EA728D7/49969819654C230ECDF779ABB9629A211FCC43D6 diff --git a/spss/handbook/conf/moa-spss/certstore/1BF3C1D2767F5C333AD5531531FEE3A712935B73/D0AF386E182F00983637F97C0A5F4708F9F641A7 b/spss/handbook/conf/moa-spss/certstore/1BF3C1D2767F5C333AD5531531FEE3A712935B73/D0AF386E182F00983637F97C0A5F4708F9F641A7 Binary files differnew file mode 100644 index 000000000..eaac3518b --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/1BF3C1D2767F5C333AD5531531FEE3A712935B73/D0AF386E182F00983637F97C0A5F4708F9F641A7 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/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/5F06F65C714047E3B282AEC427C35AB703E49D8E b/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/5F06F65C714047E3B282AEC427C35AB703E49D8E Binary files differnew file mode 100644 index 000000000..39e377edf --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/5F06F65C714047E3B282AEC427C35AB703E49D8E diff --git a/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/D45360060761812D33DE294EAC1573F6DE12A208 b/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/D45360060761812D33DE294EAC1573F6DE12A208 Binary files differnew file mode 100644 index 000000000..0a1fcff85 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/20EF2EC4E04DF4D51A8F10DFE4249C0024C7A28C/D45360060761812D33DE294EAC1573F6DE12A208 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/238ACC1D03DA5A2E7E580D760FB3EE218FDC5A97/D3C063F219ED073E34AD5D750B327629FFD59AF2 b/spss/handbook/conf/moa-spss/certstore/238ACC1D03DA5A2E7E580D760FB3EE218FDC5A97/D3C063F219ED073E34AD5D750B327629FFD59AF2 Binary files differnew file mode 100644 index 000000000..33e776369 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/238ACC1D03DA5A2E7E580D760FB3EE218FDC5A97/D3C063F219ED073E34AD5D750B327629FFD59AF2 diff --git a/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 b/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 Binary files differnew file mode 100644 index 000000000..d2e7db667 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/23A16796B3D718035F1E0DB209A42938767631DA/1C43C0BA36CC8DE659180B2FAC9A6F54430D5941 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/2F5DA022AAFF668F34C35A80049D690F3CFE3040/D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D b/spss/handbook/conf/moa-spss/certstore/2F5DA022AAFF668F34C35A80049D690F3CFE3040/D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D Binary files differnew file mode 100644 index 000000000..807fa786c --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/2F5DA022AAFF668F34C35A80049D690F3CFE3040/D62327E6B19B7968A8BE6588DEAB0BC0DB684D8D diff --git a/spss/handbook/conf/moa-spss/certstore/31B5BA02D476873C5220CDCFA0C095C4A31DEFDF/88D6151358A5E3C81D7AE1A536121DC03011BC03 b/spss/handbook/conf/moa-spss/certstore/31B5BA02D476873C5220CDCFA0C095C4A31DEFDF/88D6151358A5E3C81D7AE1A536121DC03011BC03 Binary files differnew file mode 100644 index 000000000..376d0753f --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/31B5BA02D476873C5220CDCFA0C095C4A31DEFDF/88D6151358A5E3C81D7AE1A536121DC03011BC03 diff --git a/spss/handbook/conf/moa-spss/certstore/328AA897B7E6270202B2FC0889FF88D66BB41122/35A40EF932B1F23980E2C672FC939E91EEBD0317 b/spss/handbook/conf/moa-spss/certstore/328AA897B7E6270202B2FC0889FF88D66BB41122/35A40EF932B1F23980E2C672FC939E91EEBD0317 Binary files differnew file mode 100644 index 000000000..73553b996 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/328AA897B7E6270202B2FC0889FF88D66BB41122/35A40EF932B1F23980E2C672FC939E91EEBD0317 diff --git a/spss/handbook/conf/moa-spss/certstore/3314CE3E42175EACC28D57C35F192430BBADAC1A/B1D0BC027906A3B7E7518C93ACB26D978233ED27 b/spss/handbook/conf/moa-spss/certstore/3314CE3E42175EACC28D57C35F192430BBADAC1A/B1D0BC027906A3B7E7518C93ACB26D978233ED27 Binary files differnew file mode 100644 index 000000000..5171276f4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/3314CE3E42175EACC28D57C35F192430BBADAC1A/B1D0BC027906A3B7E7518C93ACB26D978233ED27 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/3868959083AA986194E58E73798BCD724D785A0E/66AB66128A44574873E54E6584E450C4EB3B9A1E b/spss/handbook/conf/moa-spss/certstore/3868959083AA986194E58E73798BCD724D785A0E/66AB66128A44574873E54E6584E450C4EB3B9A1E Binary files differnew file mode 100644 index 000000000..ed5ba194c --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/3868959083AA986194E58E73798BCD724D785A0E/66AB66128A44574873E54E6584E450C4EB3B9A1E diff --git a/spss/handbook/conf/moa-spss/certstore/3A095C38EB5D5824FE61BE43F9CDF6515DC94805/65698A39E03FF00FD552D4AD99FB290C2B9D4BEA b/spss/handbook/conf/moa-spss/certstore/3A095C38EB5D5824FE61BE43F9CDF6515DC94805/65698A39E03FF00FD552D4AD99FB290C2B9D4BEA Binary files differnew file mode 100644 index 000000000..836ba3767 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/3A095C38EB5D5824FE61BE43F9CDF6515DC94805/65698A39E03FF00FD552D4AD99FB290C2B9D4BEA 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/51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE b/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE Binary files differnew file mode 100644 index 000000000..efa28178e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/3B2F8C424AA88CA305C519FDEFCF29DDB7E96AE2/51A44C28F313E3F9CB5E7C0A1E0E0DD2843758AE 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/3C025917C3C938FEB856E5440D28E4A568C311DC/A2F138CD16AD04BC3F145E3780BFA169BFDA263B b/spss/handbook/conf/moa-spss/certstore/3C025917C3C938FEB856E5440D28E4A568C311DC/A2F138CD16AD04BC3F145E3780BFA169BFDA263B Binary files differnew file mode 100644 index 000000000..414123ece --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/3C025917C3C938FEB856E5440D28E4A568C311DC/A2F138CD16AD04BC3F145E3780BFA169BFDA263B diff --git a/spss/handbook/conf/moa-spss/certstore/3C627C9D89A5BFB5E4E385982DF33B7E7F6E8D2D/C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 b/spss/handbook/conf/moa-spss/certstore/3C627C9D89A5BFB5E4E385982DF33B7E7F6E8D2D/C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 Binary files differnew file mode 100644 index 000000000..54893c9d6 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/3C627C9D89A5BFB5E4E385982DF33B7E7F6E8D2D/C5AC86EC5B771BEBDF8B6E040F109A1186E229B9 diff --git a/spss/handbook/conf/moa-spss/certstore/3C7CE93947421CB66603DC7DBAB0F04C4788382F/23E594945195F2414803B4D564D2A3A3F5D88B8C b/spss/handbook/conf/moa-spss/certstore/3C7CE93947421CB66603DC7DBAB0F04C4788382F/23E594945195F2414803B4D564D2A3A3F5D88B8C Binary files differnew file mode 100644 index 000000000..8588ce58a --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/3C7CE93947421CB66603DC7DBAB0F04C4788382F/23E594945195F2414803B4D564D2A3A3F5D88B8C diff --git a/spss/handbook/conf/moa-spss/certstore/405D86C9D39B1061885678ED90780A0F04A76327/6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A b/spss/handbook/conf/moa-spss/certstore/405D86C9D39B1061885678ED90780A0F04A76327/6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A Binary files differnew file mode 100644 index 000000000..141b05ef4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/405D86C9D39B1061885678ED90780A0F04A76327/6F61A0C50B4E6ED821F032A4DF3DA7DDDFD2FE6A 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/427765A998398EE1B138ABDBA20313DC4A3738A0/07298E24461954E4696D2ED9FFB7D52B57F325B3 b/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/07298E24461954E4696D2ED9FFB7D52B57F325B3 Binary files differnew file mode 100644 index 000000000..33e1ee94b --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/07298E24461954E4696D2ED9FFB7D52B57F325B3 diff --git a/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 b/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 Binary files differnew file mode 100644 index 000000000..694e6828b --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/427765A998398EE1B138ABDBA20313DC4A3738A0/B630DB0DB940BCE72B2E09868B4CA0A92BBC1D15 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/47ED4C584F9DCD54A6C2925252C5603ADAC93F49/84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E b/spss/handbook/conf/moa-spss/certstore/47ED4C584F9DCD54A6C2925252C5603ADAC93F49/84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E Binary files differnew file mode 100644 index 000000000..3be7b6a06 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/47ED4C584F9DCD54A6C2925252C5603ADAC93F49/84E4E75DBB2FD6397E6ABBD27FBE16D5BA71923E diff --git a/spss/handbook/conf/moa-spss/certstore/487F4DEE9E63DADEB4CAAB07E0E166ACC9F584B6/9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA b/spss/handbook/conf/moa-spss/certstore/487F4DEE9E63DADEB4CAAB07E0E166ACC9F584B6/9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA Binary files differnew file mode 100644 index 000000000..4e18de8d7 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/487F4DEE9E63DADEB4CAAB07E0E166ACC9F584B6/9891BBEA9FDA665EEEC31C403A00A5CA5628D0FA diff --git a/spss/handbook/conf/moa-spss/certstore/4C7CAA9FE9C08078541DA31B76FF0951E73480FF/C23FC1895966021249B35412C0C8C56D107732DE b/spss/handbook/conf/moa-spss/certstore/4C7CAA9FE9C08078541DA31B76FF0951E73480FF/C23FC1895966021249B35412C0C8C56D107732DE Binary files differnew file mode 100644 index 000000000..c4d97cda3 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/4C7CAA9FE9C08078541DA31B76FF0951E73480FF/C23FC1895966021249B35412C0C8C56D107732DE diff --git a/spss/handbook/conf/moa-spss/certstore/52B42552A440A54C21A39D46D7F176AF28BEB5AA/51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 b/spss/handbook/conf/moa-spss/certstore/52B42552A440A54C21A39D46D7F176AF28BEB5AA/51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 Binary files differnew file mode 100644 index 000000000..9b2ee0fc6 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/52B42552A440A54C21A39D46D7F176AF28BEB5AA/51AC8CFF36818AA25498A293DF48EBCFFFF6D0B4 diff --git a/spss/handbook/conf/moa-spss/certstore/53CF955B19387A437659158BC050B7BC4B238132/F5F2456D79490C268569970E900C68FD1C7DC8E5 b/spss/handbook/conf/moa-spss/certstore/53CF955B19387A437659158BC050B7BC4B238132/F5F2456D79490C268569970E900C68FD1C7DC8E5 Binary files differnew file mode 100644 index 000000000..b2a1e145f --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/53CF955B19387A437659158BC050B7BC4B238132/F5F2456D79490C268569970E900C68FD1C7DC8E5 diff --git a/spss/handbook/conf/moa-spss/certstore/550E9627E9094A2D1BB6385821334D02122BCF26/B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F b/spss/handbook/conf/moa-spss/certstore/550E9627E9094A2D1BB6385821334D02122BCF26/B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F Binary files differnew file mode 100644 index 000000000..5dd9558d0 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/550E9627E9094A2D1BB6385821334D02122BCF26/B7BCA7BC3C41FD0DC835175486FAB3FB4626EC0F diff --git a/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/620127A8E5886A4805403977C3EF7D5EAF881526 b/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/620127A8E5886A4805403977C3EF7D5EAF881526 Binary files differnew file mode 100644 index 000000000..da38ce028 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/620127A8E5886A4805403977C3EF7D5EAF881526 diff --git a/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 b/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 Binary files differnew file mode 100644 index 000000000..7e9fd5b0b --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/562428A359B1CC3A820ABCC9C8F625CBB6A6A510/FCD9E881BCCCB9352EEF337C8D4EAAD65C4EC830 diff --git a/spss/handbook/conf/moa-spss/certstore/5650A465FD3B5EF83639E11F324A2A0EA98AF935/4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 b/spss/handbook/conf/moa-spss/certstore/5650A465FD3B5EF83639E11F324A2A0EA98AF935/4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 Binary files differnew file mode 100644 index 000000000..640918641 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/5650A465FD3B5EF83639E11F324A2A0EA98AF935/4B5B0C2A0BF944CD467A6140F8C782E2BE9D15F9 diff --git a/spss/handbook/conf/moa-spss/certstore/58090A698038FEDAD56B4B976F23C29950D1D5A5/6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B b/spss/handbook/conf/moa-spss/certstore/58090A698038FEDAD56B4B976F23C29950D1D5A5/6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B Binary files differnew file mode 100644 index 000000000..b15880c29 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/58090A698038FEDAD56B4B976F23C29950D1D5A5/6BDA1FF41EEBC5DA66912F3C69B60C2A41C6E25B diff --git a/spss/handbook/conf/moa-spss/certstore/59484253C7D4C5BEAB7D2BABFAC13DDD1CA53FCC/341EA32E448659125A67DD04177FD17468FCFCB1 b/spss/handbook/conf/moa-spss/certstore/59484253C7D4C5BEAB7D2BABFAC13DDD1CA53FCC/341EA32E448659125A67DD04177FD17468FCFCB1 Binary files differnew file mode 100644 index 000000000..6da18c620 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/59484253C7D4C5BEAB7D2BABFAC13DDD1CA53FCC/341EA32E448659125A67DD04177FD17468FCFCB1 diff --git a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 Binary files differnew file mode 100644 index 000000000..8b501d747 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 diff --git a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D Binary files differnew file mode 100644 index 000000000..b4b128903 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D 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/68AF646E90A6FF370230F64ACD4E8A4F12C03916/CA80A13D41116E24CB1479E970CDC1C030C5907C b/spss/handbook/conf/moa-spss/certstore/68AF646E90A6FF370230F64ACD4E8A4F12C03916/CA80A13D41116E24CB1479E970CDC1C030C5907C Binary files differnew file mode 100644 index 000000000..277b6083a --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/68AF646E90A6FF370230F64ACD4E8A4F12C03916/CA80A13D41116E24CB1479E970CDC1C030C5907C diff --git a/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/7A2CFA69FCA284D4627012A7A55662594C803B2A b/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/7A2CFA69FCA284D4627012A7A55662594C803B2A Binary files differnew file mode 100644 index 000000000..ad13d7b28 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/6F5F08A3A5D59CA877CB146F00BB0264369B2304/7A2CFA69FCA284D4627012A7A55662594C803B2A 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/6F86F897C45679B45F03C67D44B6447EFF43B758/53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 b/spss/handbook/conf/moa-spss/certstore/6F86F897C45679B45F03C67D44B6447EFF43B758/53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 Binary files differnew file mode 100644 index 000000000..89cfe44fd --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/6F86F897C45679B45F03C67D44B6447EFF43B758/53CB69CF933C2D28FB9DF91F2852A99EC3352EA0 diff --git a/spss/handbook/conf/moa-spss/certstore/728C819D737EE42627F96F839C33BB6E68E85F68/00845B74CA13FE0A9056E6C0B5126FECF73B0D8C b/spss/handbook/conf/moa-spss/certstore/728C819D737EE42627F96F839C33BB6E68E85F68/00845B74CA13FE0A9056E6C0B5126FECF73B0D8C Binary files differnew file mode 100644 index 000000000..cc8b505ec --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/728C819D737EE42627F96F839C33BB6E68E85F68/00845B74CA13FE0A9056E6C0B5126FECF73B0D8C 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/88D9F0C0EBB72C58516EC96AEED397FA86B40E39/6DCD5118D1542E6C205C580775C5420B7509506B b/spss/handbook/conf/moa-spss/certstore/88D9F0C0EBB72C58516EC96AEED397FA86B40E39/6DCD5118D1542E6C205C580775C5420B7509506B Binary files differnew file mode 100644 index 000000000..06b40aa67 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/88D9F0C0EBB72C58516EC96AEED397FA86B40E39/6DCD5118D1542E6C205C580775C5420B7509506B 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/8B23D64DBA1572885563DF070BE9C22A39A3BD26/6DD653FB8FE2614249924274043E834664EBE980 b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/6DD653FB8FE2614249924274043E834664EBE980 Binary files differnew file mode 100644 index 000000000..d7799119f --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/6DD653FB8FE2614249924274043E834664EBE980 diff --git a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/C0EF3E7A54B4C501295F77974B1995E36B25C92B b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/C0EF3E7A54B4C501295F77974B1995E36B25C92B Binary files differnew file mode 100644 index 000000000..508f7f076 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/C0EF3E7A54B4C501295F77974B1995E36B25C92B diff --git a/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/D29172D3F501A2D7A47F702633044F519A3A5F0B b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/D29172D3F501A2D7A47F702633044F519A3A5F0B Binary files differnew file mode 100644 index 000000000..c0feb0d0e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/8B23D64DBA1572885563DF070BE9C22A39A3BD26/D29172D3F501A2D7A47F702633044F519A3A5F0B diff --git a/spss/handbook/conf/moa-spss/certstore/8FDB1CB752D82C88C89F9E9DA7AD2F54C6FA6F3B/842B3870A64001CDD90978D0E554DAF94D9ABDFE b/spss/handbook/conf/moa-spss/certstore/8FDB1CB752D82C88C89F9E9DA7AD2F54C6FA6F3B/842B3870A64001CDD90978D0E554DAF94D9ABDFE Binary files differnew file mode 100644 index 000000000..a0e3fdda1 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/8FDB1CB752D82C88C89F9E9DA7AD2F54C6FA6F3B/842B3870A64001CDD90978D0E554DAF94D9ABDFE diff --git a/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/679A4F81FC705DDEC419778DD2EBD875F4C242C6 b/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/679A4F81FC705DDEC419778DD2EBD875F4C242C6 Binary files differnew file mode 100644 index 000000000..36a442b89 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/679A4F81FC705DDEC419778DD2EBD875F4C242C6 diff --git a/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/82096E6D9B1248321625323D52858642CB0B748E b/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/82096E6D9B1248321625323D52858642CB0B748E Binary files differnew file mode 100644 index 000000000..54f809962 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/9014D44A2072A5D74E12C7FE47F37D68371E1C42/82096E6D9B1248321625323D52858642CB0B748E diff --git a/spss/handbook/conf/moa-spss/certstore/91C4DD783D6D38F0325FE74930BF61F656364EA9/53A6B611F8CEE0315BCCE5D59898931ED390E400 b/spss/handbook/conf/moa-spss/certstore/91C4DD783D6D38F0325FE74930BF61F656364EA9/53A6B611F8CEE0315BCCE5D59898931ED390E400 Binary files differnew file mode 100644 index 000000000..6c0216239 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/91C4DD783D6D38F0325FE74930BF61F656364EA9/53A6B611F8CEE0315BCCE5D59898931ED390E400 diff --git a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 Binary files differnew file mode 100644 index 000000000..7c6adedf5 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 diff --git a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 Binary files differnew file mode 100644 index 000000000..70f5b7c91 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 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/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA b/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA Binary files differnew file mode 100644 index 000000000..8ddc7d79b --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/41E3FCC9470F8634DBCB5CEA7FB688E04E7575BA diff --git a/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/79B21E2743A879AFF5403ECEA09EAC2084EF4799 b/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/79B21E2743A879AFF5403ECEA09EAC2084EF4799 Binary files differnew file mode 100644 index 000000000..c9fd41f7f --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/9C5C7CD895AABBFF23E79907A97FB2D68423CA8E/79B21E2743A879AFF5403ECEA09EAC2084EF4799 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/A15B5DBE14A19CF859F48E2DA2A29A4C3DB4D680/3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B b/spss/handbook/conf/moa-spss/certstore/A15B5DBE14A19CF859F48E2DA2A29A4C3DB4D680/3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B Binary files differnew file mode 100644 index 000000000..e27a87038 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A15B5DBE14A19CF859F48E2DA2A29A4C3DB4D680/3AC12E21FFF9ACAB2BCFF52BBD885FB7AAC9A02B diff --git a/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/8784ED81F5A22779EB0B081945FD151992557FBE b/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/8784ED81F5A22779EB0B081945FD151992557FBE Binary files differnew file mode 100644 index 000000000..cc35ba691 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/8784ED81F5A22779EB0B081945FD151992557FBE diff --git a/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/88583DB03975127CB488CA7DDE303A1646CEA97B b/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/88583DB03975127CB488CA7DDE303A1646CEA97B Binary files differnew file mode 100644 index 000000000..783dd271a --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A24C49B7F1B637E7F72C12CAB35910EC8EF1C6CF/88583DB03975127CB488CA7DDE303A1646CEA97B diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 Binary files differnew file mode 100644 index 000000000..41dc7c553 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/0C30A6F2950EFEFBAB5964DA9E0EED7C9DB115D8 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/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/96D5D179016A5A6546973BA63733617EE1F1540D b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/96D5D179016A5A6546973BA63733617EE1F1540D Binary files differnew file mode 100644 index 000000000..4adc3b7ec --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/96D5D179016A5A6546973BA63733617EE1F1540D diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/CF236CF66379EA506F967D21F0E25E87529D9687 b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/CF236CF66379EA506F967D21F0E25E87529D9687 Binary files differnew file mode 100644 index 000000000..1e4f22777 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/CF236CF66379EA506F967D21F0E25E87529D9687 diff --git a/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 Binary files differnew file mode 100644 index 000000000..fe561ad6a --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A4B140FBD4D5EA2AC3A570299945D8FCBBAD2231/FDD40A10FB9BE9DEB5B8AE76CC0184930EF8BB76 diff --git a/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/D4D1370FD1D9EAA46412008FF3E59E114BCF724A b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/D4D1370FD1D9EAA46412008FF3E59E114BCF724A Binary files differnew file mode 100644 index 000000000..3c7775b6e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/D4D1370FD1D9EAA46412008FF3E59E114BCF724A 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/E619D25B380B7B13FDA33E8A58CD82D8A88E0515 b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/E619D25B380B7B13FDA33E8A58CD82D8A88E0515 Binary files differnew file mode 100644 index 000000000..f9fef65fc --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/A95F0C3FA54CA93E3D5BA61AD23459300FA498D6/E619D25B380B7B13FDA33E8A58CD82D8A88E0515 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/AC1B67D7D5A300767C0944ACE8458DD49960F1BD/4D523730501ADB80A76B0B473A4D21C7D86F8374 b/spss/handbook/conf/moa-spss/certstore/AC1B67D7D5A300767C0944ACE8458DD49960F1BD/4D523730501ADB80A76B0B473A4D21C7D86F8374 Binary files differnew file mode 100644 index 000000000..61a7ccb15 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/AC1B67D7D5A300767C0944ACE8458DD49960F1BD/4D523730501ADB80A76B0B473A4D21C7D86F8374 diff --git a/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 b/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 Binary files differnew file mode 100644 index 000000000..911640d0e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 diff --git a/spss/handbook/conf/moa-spss/certstore/B310CEED301C503EDB15720F94D5D7E76BF423DA/AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 b/spss/handbook/conf/moa-spss/certstore/B310CEED301C503EDB15720F94D5D7E76BF423DA/AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 Binary files differnew file mode 100644 index 000000000..ea3512e3d --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/B310CEED301C503EDB15720F94D5D7E76BF423DA/AA94FD422AEB8F5B6E8508314CE0DC68BCD53305 diff --git a/spss/handbook/conf/moa-spss/certstore/B3EB7B59ECFF1E25E16C64BB24993D1B20DCFC28/07A6DEED70213CCF598F278789680DA4C04A0331 b/spss/handbook/conf/moa-spss/certstore/B3EB7B59ECFF1E25E16C64BB24993D1B20DCFC28/07A6DEED70213CCF598F278789680DA4C04A0331 Binary files differnew file mode 100644 index 000000000..46dd968f0 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/B3EB7B59ECFF1E25E16C64BB24993D1B20DCFC28/07A6DEED70213CCF598F278789680DA4C04A0331 diff --git a/spss/handbook/conf/moa-spss/certstore/B749506C821467F7D6F4E8943D07DDED771A7B47/A5A00B223EF24AED92D03F652CFE367CA9D1B200 b/spss/handbook/conf/moa-spss/certstore/B749506C821467F7D6F4E8943D07DDED771A7B47/A5A00B223EF24AED92D03F652CFE367CA9D1B200 Binary files differnew file mode 100644 index 000000000..05a8b86f9 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/B749506C821467F7D6F4E8943D07DDED771A7B47/A5A00B223EF24AED92D03F652CFE367CA9D1B200 diff --git a/spss/handbook/conf/moa-spss/certstore/B9041947DCD9B7E2B82D72D6A0FF1FBC4B213DC0/BD78039E45BA4E4B13ADECC58124520ACE83B6A7 b/spss/handbook/conf/moa-spss/certstore/B9041947DCD9B7E2B82D72D6A0FF1FBC4B213DC0/BD78039E45BA4E4B13ADECC58124520ACE83B6A7 Binary files differnew file mode 100644 index 000000000..815f53d95 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/B9041947DCD9B7E2B82D72D6A0FF1FBC4B213DC0/BD78039E45BA4E4B13ADECC58124520ACE83B6A7 diff --git a/spss/handbook/conf/moa-spss/certstore/BAA9ADD095E87E0B490B6DD933AA2F450C6B9492/7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 b/spss/handbook/conf/moa-spss/certstore/BAA9ADD095E87E0B490B6DD933AA2F450C6B9492/7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 Binary files differnew file mode 100644 index 000000000..63ba5cce5 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BAA9ADD095E87E0B490B6DD933AA2F450C6B9492/7A430B6E3592BEEDFAA0DD5DD6262C27EB8D26D2 diff --git a/spss/handbook/conf/moa-spss/certstore/BE47A5DA41A35F740D98305DA8FF4096B71492BE/D1474E7D99512D05B98DD37B3FE86496A03D088D b/spss/handbook/conf/moa-spss/certstore/BE47A5DA41A35F740D98305DA8FF4096B71492BE/D1474E7D99512D05B98DD37B3FE86496A03D088D Binary files differnew file mode 100644 index 000000000..0bab77032 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BE47A5DA41A35F740D98305DA8FF4096B71492BE/D1474E7D99512D05B98DD37B3FE86496A03D088D diff --git a/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/9766A5ED03482991DA91BB763ECDCD9417394100 b/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/9766A5ED03482991DA91BB763ECDCD9417394100 Binary files differnew file mode 100644 index 000000000..882753986 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/9766A5ED03482991DA91BB763ECDCD9417394100 diff --git a/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/BB97947C31BBF3364A2909F9876DBD3B87B5B62A b/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/BB97947C31BBF3364A2909F9876DBD3B87B5B62A Binary files differnew file mode 100644 index 000000000..f28aa4b8e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BE77EF0A6C18C4B70D3B516426B559A2C1969460/BB97947C31BBF3364A2909F9876DBD3B87B5B62A diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/60B7181FD8BCA00B84961BF31DB08C50376CCF44 b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/60B7181FD8BCA00B84961BF31DB08C50376CCF44 Binary files differnew file mode 100644 index 000000000..08d7b28e2 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/60B7181FD8BCA00B84961BF31DB08C50376CCF44 diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/74801529B4E8E5764FFC4D8E6577E1F84E8101CE b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/74801529B4E8E5764FFC4D8E6577E1F84E8101CE Binary files differnew file mode 100644 index 000000000..e47d2b8ba --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/74801529B4E8E5764FFC4D8E6577E1F84E8101CE diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/7B7B60B748C82B34EE71A3CEA729C477083F0BDA b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/7B7B60B748C82B34EE71A3CEA729C477083F0BDA Binary files differnew file mode 100644 index 000000000..5168e1af0 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/7B7B60B748C82B34EE71A3CEA729C477083F0BDA diff --git a/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/EBB80BE34C78814AE659BBA3A2394E4D9857123D b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/EBB80BE34C78814AE659BBA3A2394E4D9857123D Binary files differnew file mode 100644 index 000000000..c5bcc42e2 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BEBA5B735BCC34BDB0D778DAA1E669AEF999FCAB/EBB80BE34C78814AE659BBA3A2394E4D9857123D 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/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA b/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA Binary files differnew file mode 100644 index 000000000..ab9e0cd7d --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/42EFDDE6BFF35ED0BAE6ACDD204C50AE86C4F4FA diff --git a/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/51C01567BCB22968EF5A297B7EA84E195594E0E8 b/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/51C01567BCB22968EF5A297B7EA84E195594E0E8 Binary files differnew file mode 100644 index 000000000..01965769d --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/BF375B55D8D7CFC31FD8E3FBF7B1981A91A1A6CA/51C01567BCB22968EF5A297B7EA84E195594E0E8 diff --git a/spss/handbook/conf/moa-spss/certstore/C15FFFE6EFAD484909C9EFC6CD5C20435E326685/DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE b/spss/handbook/conf/moa-spss/certstore/C15FFFE6EFAD484909C9EFC6CD5C20435E326685/DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE Binary files differnew file mode 100644 index 000000000..6428b8256 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C15FFFE6EFAD484909C9EFC6CD5C20435E326685/DDBAE68B1FF60FFBB2854C78727B76C95EC83BBE diff --git a/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA b/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA Binary files differnew file mode 100644 index 000000000..bc5ed1e62 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/844FDEEE3C847F4BD5153E822803C1A2C1B6E7BA diff --git a/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/B38C775A18C1195D01658D75FBDA3258B6DF018B b/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/B38C775A18C1195D01658D75FBDA3258B6DF018B Binary files differnew file mode 100644 index 000000000..cb519b7eb --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C20C15B6163E675959D273D502F0D80718326C55/B38C775A18C1195D01658D75FBDA3258B6DF018B diff --git a/spss/handbook/conf/moa-spss/certstore/C2A7CAE9E68EB7945828D193CB22CDD246BC7F95/6955D95F6B0799F7D96F4FC28E6E6C64758C1240 b/spss/handbook/conf/moa-spss/certstore/C2A7CAE9E68EB7945828D193CB22CDD246BC7F95/6955D95F6B0799F7D96F4FC28E6E6C64758C1240 Binary files differnew file mode 100644 index 000000000..f11bd6247 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C2A7CAE9E68EB7945828D193CB22CDD246BC7F95/6955D95F6B0799F7D96F4FC28E6E6C64758C1240 diff --git a/spss/handbook/conf/moa-spss/certstore/C52E4A04A22D98C70E19F1969AD71C838E4371B3/F96FE4F59166EFA9000B21A16EF22CF14468890C b/spss/handbook/conf/moa-spss/certstore/C52E4A04A22D98C70E19F1969AD71C838E4371B3/F96FE4F59166EFA9000B21A16EF22CF14468890C Binary files differnew file mode 100644 index 000000000..348257122 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C52E4A04A22D98C70E19F1969AD71C838E4371B3/F96FE4F59166EFA9000B21A16EF22CF14468890C diff --git a/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E b/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E Binary files differnew file mode 100644 index 000000000..b9fe1280c --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/7D0C7B977ACEA63D51EE34B00BC3C1DBF318B92E diff --git a/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/A79681CBDD69EC741214136F128923A574E26F03 b/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/A79681CBDD69EC741214136F128923A574E26F03 Binary files differnew file mode 100644 index 000000000..ea1585a6e --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C6673943153C8BE9F977A89A00ED84B432074576/A79681CBDD69EC741214136F128923A574E26F03 diff --git a/spss/handbook/conf/moa-spss/certstore/C7E1D3604D2A960201D70F29B8A80EDA11475EEB/C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED b/spss/handbook/conf/moa-spss/certstore/C7E1D3604D2A960201D70F29B8A80EDA11475EEB/C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED Binary files differnew file mode 100644 index 000000000..a3f8a7409 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C7E1D3604D2A960201D70F29B8A80EDA11475EEB/C18ECC8FD712ACAFBEAEDC1FA13F5AB19930E3ED diff --git a/spss/handbook/conf/moa-spss/certstore/C976280EC7FECF169577E31D8CA0BB00967904B1/7666A8BD2C2513DE489C06D08D566F177ECE84AA b/spss/handbook/conf/moa-spss/certstore/C976280EC7FECF169577E31D8CA0BB00967904B1/7666A8BD2C2513DE489C06D08D566F177ECE84AA Binary files differnew file mode 100644 index 000000000..3c1f2f8a2 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/C976280EC7FECF169577E31D8CA0BB00967904B1/7666A8BD2C2513DE489C06D08D566F177ECE84AA diff --git a/spss/handbook/conf/moa-spss/certstore/CABD2EA6CA438084840DCCAE875F341E2D3A2C43/02A0E6456442E35198532ACFFB6FEE3B606D9FA3 b/spss/handbook/conf/moa-spss/certstore/CABD2EA6CA438084840DCCAE875F341E2D3A2C43/02A0E6456442E35198532ACFFB6FEE3B606D9FA3 Binary files differnew file mode 100644 index 000000000..5026d395f --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/CABD2EA6CA438084840DCCAE875F341E2D3A2C43/02A0E6456442E35198532ACFFB6FEE3B606D9FA3 diff --git a/spss/handbook/conf/moa-spss/certstore/CC93161E57C3898635E1D086008BD053F542457F/7D60E314AA6AEF548A614A9354C5068192051A29 b/spss/handbook/conf/moa-spss/certstore/CC93161E57C3898635E1D086008BD053F542457F/7D60E314AA6AEF548A614A9354C5068192051A29 Binary files differnew file mode 100644 index 000000000..afe6fdf09 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/CC93161E57C3898635E1D086008BD053F542457F/7D60E314AA6AEF548A614A9354C5068192051A29 diff --git a/spss/handbook/conf/moa-spss/certstore/CD2D87A57D1568A515128BE9DA8B3CAE7AC007A4/C6658C25AFB8A9D738F2BC591775D167549FFD3A b/spss/handbook/conf/moa-spss/certstore/CD2D87A57D1568A515128BE9DA8B3CAE7AC007A4/C6658C25AFB8A9D738F2BC591775D167549FFD3A Binary files differnew file mode 100644 index 000000000..f6df0f4fd --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/CD2D87A57D1568A515128BE9DA8B3CAE7AC007A4/C6658C25AFB8A9D738F2BC591775D167549FFD3A 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/D4D40BD33958CD9169A7AB6304AA2BBAD22DC595/07976A2A16EC182670161B46886B05E1FEAC16B1 b/spss/handbook/conf/moa-spss/certstore/D4D40BD33958CD9169A7AB6304AA2BBAD22DC595/07976A2A16EC182670161B46886B05E1FEAC16B1 Binary files differnew file mode 100644 index 000000000..22d64fb5f --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/D4D40BD33958CD9169A7AB6304AA2BBAD22DC595/07976A2A16EC182670161B46886B05E1FEAC16B1 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/DD29E76659D18371B78E61E7DF4D4B8FEDCAF8E7/8BA5C0847597612C7E16970EAE55EF58D32E9CF3 b/spss/handbook/conf/moa-spss/certstore/DD29E76659D18371B78E61E7DF4D4B8FEDCAF8E7/8BA5C0847597612C7E16970EAE55EF58D32E9CF3 Binary files differnew file mode 100644 index 000000000..010c5d5b6 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/DD29E76659D18371B78E61E7DF4D4B8FEDCAF8E7/8BA5C0847597612C7E16970EAE55EF58D32E9CF3 diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/18585FC53A283488E4BA84867980E9B1F2B28ADA b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/18585FC53A283488E4BA84867980E9B1F2B28ADA Binary files differnew file mode 100644 index 000000000..d53dce92b --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/18585FC53A283488E4BA84867980E9B1F2B28ADA diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/27337257493B86B9BFF78D569F938D692A430EAE b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/27337257493B86B9BFF78D569F938D692A430EAE Binary files differnew file mode 100644 index 000000000..5375c57c3 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/27337257493B86B9BFF78D569F938D692A430EAE 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/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/6352302A5072DBFB769D4FF4C70C86432C4C1683 b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/6352302A5072DBFB769D4FF4C70C86432C4C1683 Binary files differnew file mode 100644 index 000000000..97dc187db --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/6352302A5072DBFB769D4FF4C70C86432C4C1683 diff --git a/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/EE886B907E31667D622677F665F25C54AF9A7F65 b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/EE886B907E31667D622677F665F25C54AF9A7F65 Binary files differnew file mode 100644 index 000000000..ad5d7dea1 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/DF5F53FDADAFC93F4789141B5A7627EB9F3BD29F/EE886B907E31667D622677F665F25C54AF9A7F65 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/F3DA7C495789E656FA27E611CCAFA05F232ADEA0/F3AE9FEA4DECEE5330770A2520BD86909929E7BE b/spss/handbook/conf/moa-spss/certstore/F3DA7C495789E656FA27E611CCAFA05F232ADEA0/F3AE9FEA4DECEE5330770A2520BD86909929E7BE Binary files differnew file mode 100644 index 000000000..c3fc91352 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/F3DA7C495789E656FA27E611CCAFA05F232ADEA0/F3AE9FEA4DECEE5330770A2520BD86909929E7BE diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/16D8270DE51B034E77B7CDAF1DEE623916243DDC b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/16D8270DE51B034E77B7CDAF1DEE623916243DDC Binary files differnew file mode 100644 index 000000000..87d8b52d4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/16D8270DE51B034E77B7CDAF1DEE623916243DDC diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 Binary files differnew file mode 100644 index 000000000..91acd396a --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/3D3F25C5CD9F932037D91B7D102EDB58EC7C8239 diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/40B51EEF4E709FBD47935DDD83A1F640D0CC378A b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/40B51EEF4E709FBD47935DDD83A1F640D0CC378A Binary files differnew file mode 100644 index 000000000..b5f5fa6ca --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/40B51EEF4E709FBD47935DDD83A1F640D0CC378A diff --git a/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 Binary files differnew file mode 100644 index 000000000..abeb964dd --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/F4834A83B4ED558A1E349821898B6DE4353516F1/D4E1786D8B8B57B22C81D0F0FCE18EA818DA0537 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/certstore/F613568C1D7A1300B32609998288211959DBDFB0/D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 b/spss/handbook/conf/moa-spss/certstore/F613568C1D7A1300B32609998288211959DBDFB0/D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 Binary files differnew file mode 100644 index 000000000..5631441a9 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/F613568C1D7A1300B32609998288211959DBDFB0/D7EDAF7381F7FC93B4C28FA372190D7A59CFA696 diff --git a/spss/handbook/conf/moa-spss/certstore/F7D331850EC13D22284909E0FC3493A65FFA7F30/EC988340526163D5B7AC80481B2AC76828EDDC6C b/spss/handbook/conf/moa-spss/certstore/F7D331850EC13D22284909E0FC3493A65FFA7F30/EC988340526163D5B7AC80481B2AC76828EDDC6C Binary files differnew file mode 100644 index 000000000..585047fa2 --- /dev/null +++ b/spss/handbook/conf/moa-spss/certstore/F7D331850EC13D22284909E0FC3493A65FFA7F30/EC988340526163D5B7AC80481B2AC76828EDDC6C 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..a4a327a3a --- /dev/null +++ b/spss/handbook/conf/moa-spss/keys/common/moa-signaturdienst-allekunden.der 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..fe837fd6e --- /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/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..505e7dd05 --- /dev/null +++ b/spss/handbook/conf/moa-spss/keys/customer1/moa-signaturdienst-kunde1.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..a8073b02b --- /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/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..3c21c9b2b --- /dev/null +++ b/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2.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..dce18ac78 --- /dev/null +++ b/spss/handbook/conf/moa-spss/keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12 diff --git a/spss/handbook/conf/moa-spss/log4j.properties b/spss/handbook/conf/moa-spss/log4j.properties new file mode 100644 index 000000000..02b767b87 --- /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 '${catalina.base}/logs/moa-spss.log'. The file is rolled over every 1000KB, +# and a maximum history of 10 log files is being kept. +log4j.appender.moaspss=org.apache.log4j.RollingFileAppender +log4j.appender.moaspss.File=${catalina.base}/logs/moa-spss.log +log4j.appender.moaspss.MaxFileSize=1000KB +log4j.appender.moaspss.MaxBackupIndex=10 +log4j.appender.moaspss.layout=org.apache.log4j.PatternLayout +log4j.appender.moaspss.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n + +# Configure the jdbc appender 'JDBC' to write logging output +# to the given PostgreSQL database +# a suitable table called 'spss_log' must have been created in the +# database using the command: +# create table spss_log (log_time timestamp, log_level char(5), log_msg text) +#log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender +#log4j.appender.JDBC.driver=org.postgresql.Driver +#log4j.appender.JDBC.URL=jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest +#log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout +#log4j.appender.JDBC.sql=INSERT INTO spss_log (log_time, log_level, log_msg) VALUES ('%d{ yyyy-MM-dd HH:mm:ss.SSS}', '%5p', '%m') diff --git a/spss/handbook/conf/moa-spss/sp.minimum.config.xml b/spss/handbook/conf/moa-spss/sp.minimum.config.xml new file mode 100644 index 000000000..746b1fd59 --- /dev/null +++ b/spss/handbook/conf/moa-spss/sp.minimum.config.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--MOA SP 1.5 Configuration File--> +<cfg:MOAConfiguration xmlns:cfg="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> +<!-- Aus Sicherheitsgründen ist das Auflösen von externen URIs und localhost defaultmäßig deaktiviert --> +<!-- Siehe auch MOA-SPSS Dokumentation - Konfiguration Abschnitt 2.1.2 Auflösen externer URIs --> +<!-- Mittels cfg:PermitExternalUris kann das Auflösen externe URIs (optional mit Angabe einer Blacklist) aktiviert werden. --> +<!-- Empfehlung: Bei aktiviertem Auflösen von externen URIs sollten sowohl localhost als auch der gesamte Intranetbereich in die Blacklist eingetragen werden. --> +<!-- <cfg:Common> + <cfg:PermitExternalUris> + <cfg:BlackListUri> + <cfg:Host>192.168</cfg:Host> + </cfg:BlackListUri> + <cfg:BlackListUri> + <cfg:Host>127.0</cfg:Host> + </cfg:BlackListUri> + </cfg:PermitExternalUris> + </cfg:Common>--> + <cfg:SignatureVerification> + <cfg:CertificateValidation> + <cfg:PathConstruction> + <cfg:AutoAddCertificates>true</cfg:AutoAddCertificates> + <cfg:UseAuthorityInformationAccess>true</cfg:UseAuthorityInformationAccess> + <cfg:CertificateStore> + <cfg:DirectoryStore> + <cfg:Location>certstore</cfg:Location> + </cfg:DirectoryStore> + </cfg:CertificateStore> + </cfg:PathConstruction> + <cfg:PathValidation> + <cfg:ChainingMode> + <cfg:DefaultMode>pkix</cfg:DefaultMode> + </cfg:ChainingMode> + <cfg:TrustProfile> + <cfg:Id>Test-Signaturdienste</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/test</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + </cfg:PathValidation> + <cfg:RevocationChecking> + <cfg:EnableChecking>true</cfg:EnableChecking> + <cfg:MaxRevocationAge>0</cfg:MaxRevocationAge> + <cfg:ServiceOrder> + <cfg:Service>CRL</cfg:Service> + <cfg:Service>OCSP</cfg:Service> + </cfg:ServiceOrder> + <cfg:Archiving> + <cfg:EnableArchiving>false</cfg:EnableArchiving> + <cfg:ArchiveDuration>365</cfg:ArchiveDuration> + <cfg:Archive> + <cfg:DatabaseArchive> + <cfg:JDBCURL>jdbc:url</cfg:JDBCURL> + <cfg:JDBCDriverClassName>fully.qualified.classname</cfg:JDBCDriverClassName> + </cfg:DatabaseArchive> + </cfg:Archive> + </cfg:Archiving> + <cfg:CrlRetentionIntervals> + <cfg:CA> + <cfg:X509IssuerName>CN=A-Trust-Qual-01,OU=A-Trust-Qual-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=A-Trust-Qual-02,OU=A-Trust-Qual-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=A-Trust-Qual-03,OU=A-Trust-Qual-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-Premium-Sig-02,OU=a-sign-Premium-Sig-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-Premium-Sig-03,OU=a-sign-Premium-Sig-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>E=a-cert@a-cert.at,CN=A-CERT GOVERNMENT,O=ARGE DATEN - Österreichische Gesellschaft für Datenschutz,L=Wien,S=Wien,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + </cfg:CrlRetentionIntervals> + </cfg:RevocationChecking> + </cfg:CertificateValidation> + </cfg:SignatureVerification> +</cfg:MOAConfiguration> 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..674c76c3a --- /dev/null +++ b/spss/handbook/conf/moa-spss/spss.config.xml @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--MOA SPSS 1.5 Configuration File--> +<cfg:MOAConfiguration xmlns:cfg="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> +<!-- Aus Sicherheitsgründen ist das Auflösen von externen URIs und localhost defaultmäßig deaktiviert --> +<!-- Siehe auch MOA-SPSS Dokumentation - Konfiguration Abschnitt 2.1.2 Auflösen externer URIs --> +<!-- Mittels cfg:PermitExternalUris kann das Auflösen externe URIs (optional mit Angabe einer Blacklist) aktiviert werden. --> +<!-- Empfehlung: Bei aktiviertem Auflösen von externen URIs sollten sowohl localhost als auch der gesamte Intranetbereich in die Blacklist eingetragen werden. --> +<!-- <cfg:Common> + <cfg:PermitExternalUris> + <cfg:BlackListUri> + <cfg:Host>192.168</cfg:Host> + </cfg:BlackListUri> + <cfg:BlackListUri> + <cfg:Host>127.0</cfg:Host> + </cfg:BlackListUri> + </cfg:PermitExternalUris> + </cfg:Common>--> + <cfg:SignatureCreation> + <cfg:KeyModules> + <cfg:SoftwareKeyModule> + <cfg:Id>SKM_Kunde1</cfg:Id> + <cfg:FileName>keys/customer1/moa-signaturdienst-kunde1[pwd=kunde1].p12</cfg:FileName> + <cfg:Password>kunde1</cfg:Password> + </cfg:SoftwareKeyModule> + <cfg:SoftwareKeyModule> + <cfg:Id>SKM_Kunde2</cfg:Id> + <cfg:FileName>keys/customer2/moa-signaturdienst-kunde2[pwd=kunde2].p12</cfg:FileName> + <cfg:Password>kunde2</cfg:Password> + </cfg:SoftwareKeyModule> + <cfg:SoftwareKeyModule> + <cfg:Id>SKM_allgemein</cfg:Id> + <cfg:FileName>keys/common/moa-signaturdienst-allekunden[pwd=allekunden].p12</cfg:FileName> + <cfg:Password>allekunden</cfg:Password> + </cfg:SoftwareKeyModule> + </cfg:KeyModules> + <cfg:KeyGroup> + <cfg:Id>KG_Kunde1</cfg:Id> + <cfg:Key> + <cfg:KeyModuleId>SKM_Kunde1</cfg:KeyModuleId> + <cfg:KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=MOA Test CA,OU=EGIZ,O=TU Graz,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>17</dsig:X509SerialNumber> + </cfg:KeyCertIssuerSerial> + </cfg:Key> + </cfg:KeyGroup> + <cfg:KeyGroup> + <cfg:Id>KG_Kunde2</cfg:Id> + <cfg:Key> + <cfg:KeyModuleId>SKM_Kunde2</cfg:KeyModuleId> + <cfg:KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=MOA Test CA,OU=EGIZ,O=TU Graz,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>18</dsig:X509SerialNumber> + </cfg:KeyCertIssuerSerial> + </cfg:Key> + </cfg:KeyGroup> + <cfg:KeyGroup> + <cfg:Id>KG_allgemein</cfg:Id> + <cfg:Key> + <cfg:KeyModuleId>SKM_allgemein</cfg:KeyModuleId> + <cfg:KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=MOA Test CA,OU=EGIZ,O=TU Graz,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>19</dsig:X509SerialNumber> + </cfg:KeyCertIssuerSerial> + </cfg:Key> + </cfg:KeyGroup> + <cfg:KeyGroupMapping> + <cfg:KeyGroupId>KG_allgemein</cfg:KeyGroupId> + </cfg:KeyGroupMapping> + <cfg:KeyGroupMapping> + <cfg:CustomerId> + <dsig:X509IssuerName>CN=MOA Test CA Server,OU=EGIZ,O=TU Graz,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>0</dsig:X509SerialNumber> + </cfg:CustomerId> + <cfg:KeyGroupId>KG_Kunde1</cfg:KeyGroupId> + </cfg:KeyGroupMapping> + <cfg:KeyGroupMapping> + <cfg:CustomerId> + <dsig:X509IssuerName>CN=MOA Test CA Server,OU=EGIZ,O=TU Graz,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>1</dsig:X509SerialNumber> + </cfg:CustomerId> + <cfg:KeyGroupId>KG_Kunde2</cfg:KeyGroupId> + </cfg:KeyGroupMapping> + <cfg:XMLDSig> + <cfg:CanonicalizationAlgorithm>http://www.w3.org/TR/2001/REC-xml-c14n-20010315</cfg:CanonicalizationAlgorithm> + <cfg:DigestMethodAlgorithm>http://www.w3.org/2000/09/xmldsig#sha1</cfg:DigestMethodAlgorithm> + </cfg:XMLDSig> + </cfg:SignatureCreation> + <cfg:SignatureVerification> + <cfg:CertificateValidation> + <cfg:PathConstruction> + <cfg:AutoAddCertificates>true</cfg:AutoAddCertificates> + <cfg:UseAuthorityInformationAccess>true</cfg:UseAuthorityInformationAccess> + <cfg:CertificateStore> + <cfg:DirectoryStore> + <cfg:Location>certstore</cfg:Location> + </cfg:DirectoryStore> + </cfg:CertificateStore> + </cfg:PathConstruction> + <cfg:PathValidation> + <cfg:ChainingMode> + <cfg:DefaultMode>pkix</cfg:DefaultMode> + <cfg:TrustAnchor> + <cfg:Identification> + <dsig:X509IssuerName>CN=A-Trust-nQual-0,OU=A-Trust-nQual-0,O=A-Trust,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>536</dsig:X509SerialNumber> + </cfg:Identification> + <cfg:Mode>chaining</cfg:Mode> + </cfg:TrustAnchor> + </cfg:ChainingMode> + <cfg:TrustProfile> + <cfg:Id>Test-Signaturdienste</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/test</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + <cfg:TrustProfile> + <cfg:Id>CertifiedSignature</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/certifiedSignature</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + <cfg:TrustProfile> + <cfg:Id>CertifiedSignature+Test</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/certifiedSignature+Test</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + <cfg:TrustProfile> + <cfg:Id>SecureSignature</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/secureSignature</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + <cfg:TrustProfile> + <cfg:Id>SecureSignature-Qual-Only</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/secureSignature-qual-only</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + <cfg:TrustProfile> + <cfg:Id>SecureSignature+Test</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/secureSignature+Test</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + <cfg:TrustProfile> + <cfg:Id>IdentityLink</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/identityLink</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + <cfg:TrustProfile> + <cfg:Id>IdentityLink+Test</cfg:Id> + <cfg:TrustAnchorsLocation>trustProfiles/identityLink+Test</cfg:TrustAnchorsLocation> + </cfg:TrustProfile> + </cfg:PathValidation> + <cfg:RevocationChecking> + <cfg:EnableChecking>true</cfg:EnableChecking> + <cfg:MaxRevocationAge>0</cfg:MaxRevocationAge> + <cfg:ServiceOrder> + <cfg:Service>CRL</cfg:Service> + <cfg:Service>OCSP</cfg:Service> + </cfg:ServiceOrder> + <cfg:Archiving> + <cfg:EnableArchiving>false</cfg:EnableArchiving> + <cfg:ArchiveDuration>365</cfg:ArchiveDuration> + <cfg:Archive> + <cfg:DatabaseArchive> + <cfg:JDBCURL>jdbc:url</cfg:JDBCURL> + <cfg:JDBCDriverClassName>fully.qualified.classname</cfg:JDBCDriverClassName> + </cfg:DatabaseArchive> + </cfg:Archive> + </cfg:Archiving> + <cfg:CrlRetentionIntervals> + <cfg:CA> + <cfg:X509IssuerName>CN=A-Trust-Qual-01,OU=A-Trust-Qual-01,O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=A-Trust-Qual-02,OU=A-Trust-Qual-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=A-Trust-Qual-03,OU=A-Trust-Qual-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-Premium-Sig-01,OU=a-sign-Premium-Sig-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-Premium-Sig-02,OU=a-sign-Premium-Sig-02,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-Premium-Sig-03,OU=a-sign-Premium-Sig-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>CN=a-sign-premium-mobile-03,OU=a-sign-premium-mobile-03,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + <cfg:CA> + <cfg:X509IssuerName>E=a-cert@a-cert.at,CN=A-CERT GOVERNMENT,O=ARGE DATEN - Österreichische Gesellschaft für Datenschutz,L=Wien,S=Wien,C=AT</cfg:X509IssuerName> + <cfg:Interval>12775</cfg:Interval> + </cfg:CA> + </cfg:CrlRetentionIntervals> + </cfg:RevocationChecking> + </cfg:CertificateValidation> + <cfg:PermitFileURIs>false</cfg:PermitFileURIs> + </cfg:SignatureVerification> +</cfg:MOAConfiguration> diff --git a/spss/handbook/conf/moa-spss/ss.minimum.config.xml b/spss/handbook/conf/moa-spss/ss.minimum.config.xml new file mode 100644 index 000000000..73d1dcc14 --- /dev/null +++ b/spss/handbook/conf/moa-spss/ss.minimum.config.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--MOA SS 1.5 Configuration File--> +<cfg:MOAConfiguration xmlns:cfg="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> +<!-- Aus Sicherheitsgründen ist das Auflösen von externen URIs und localhost defaultmäßig deaktiviert --> +<!-- Siehe auch MOA-SPSS Dokumentation - Konfiguration Abschnitt 2.1.2 Auflösen externer URIs --> +<!-- Mittels cfg:PermitExternalUris kann das Auflösen externe URIs (optional mit Angabe einer Blacklist) aktiviert werden. --> +<!-- Empfehlung: Bei aktiviertem Auflösen von externen URIs sollten sowohl localhost als auch der gesamte Intranetbereich in die Blacklist eingetragen werden. --> +<!-- <cfg:Common> + <cfg:PermitExternalUris> + <cfg:BlackListUri> + <cfg:Host>192.168</cfg:Host> + </cfg:BlackListUri> + <cfg:BlackListUri> + <cfg:Host>127.0</cfg:Host> + </cfg:BlackListUri> + </cfg:PermitExternalUris> + </cfg:Common>--> + <cfg:SignatureCreation> + <cfg:KeyModules> + <cfg:SoftwareKeyModule> + <cfg:Id>SKM_Kunde1</cfg:Id> + <cfg:FileName>keys/customer1/moa-signaturdienst-kunde1(pwd=kunde1).p12</cfg:FileName> + <cfg:Password>kunde1</cfg:Password> + </cfg:SoftwareKeyModule> + </cfg:KeyModules> + <cfg:KeyGroup> + <cfg:Id>KG_Kunde1</cfg:Id> + <cfg:Key> + <cfg:KeyModuleId>SKM_Kunde1</cfg:KeyModuleId> + <cfg:KeyCertIssuerSerial> + <dsig:X509IssuerName>CN=MOA Test CA,OU=EGIZ,O=TU Graz,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>17</dsig:X509SerialNumber> + </cfg:KeyCertIssuerSerial> + </cfg:Key> + </cfg:KeyGroup> + <cfg:KeyGroupMapping> + <cfg:CustomerId> + <dsig:X509IssuerName>CN=MOA Test CA Server,OU=EGIZ,O=TU Graz,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>0</dsig:X509SerialNumber> + </cfg:CustomerId> + <cfg:KeyGroupId>KG_Kunde1</cfg:KeyGroupId> + </cfg:KeyGroupMapping> + <cfg:XMLDSig> + <cfg:CanonicalizationAlgorithm>http://www.w3.org/TR/2001/REC-xml-c14n-20010315</cfg:CanonicalizationAlgorithm> + <cfg:DigestMethodAlgorithm>http://www.w3.org/2000/09/xmldsig#sha1</cfg:DigestMethodAlgorithm> + </cfg:XMLDSig> + </cfg:SignatureCreation> +</cfg:MOAConfiguration> 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..e0f78a82c --- /dev/null +++ b/spss/handbook/conf/moa-spss/sslKeys/server/moa-ssl-server.der 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..f012d584e --- /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/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..da42549d4 --- /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..bdc296cf4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/sslKeys/tomcat/trustedClients[pwd=clients].keystore diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer Binary files differnew file mode 100644 index 000000000..8c434777e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer Binary files differnew file mode 100644 index 000000000..efa28178e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer Binary files differnew file mode 100644 index 000000000..33e776369 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer Binary files differnew file mode 100644 index 000000000..b7d4b08a6 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer Binary files differnew file mode 100644 index 000000000..289fc2198 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer Binary files differnew file mode 100644 index 000000000..69de75609 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der Binary files differnew file mode 100644 index 000000000..3be7b6a06 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer Binary files differnew file mode 100644 index 000000000..ed5ba194c --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer Binary files differnew file mode 100644 index 000000000..05a8b86f9 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer Binary files differnew file mode 100644 index 000000000..32893db7f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..06b40aa67 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer Binary files differnew file mode 100644 index 000000000..7e9fd5b0b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer Binary files differnew file mode 100644 index 000000000..da38ce028 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer Binary files differnew file mode 100644 index 000000000..8c434777e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20040326-20070326.SerNo6632(CertifiedKeypair).cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer Binary files differnew file mode 100644 index 000000000..efa28178e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-01.20041201-20141201.SerNoe242.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer Binary files differnew file mode 100644 index 000000000..33e776369 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust-nQual-03.20050817-20150817.SerNo016c1e.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer Binary files differnew file mode 100644 index 000000000..b7d4b08a6 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20010427-20040427.SerNo006f[CertifiedKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer Binary files differnew file mode 100644 index 000000000..289fc2198 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0213[CertifiedKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer Binary files differnew file mode 100644 index 000000000..69de75609 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/A-Trust.A-Trust-nQual-01.20011212-20041212.SerNo0218[CertifiedKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der Binary files differnew file mode 100644 index 000000000..3be7b6a06 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646.cer Binary files differnew file mode 100644 index 000000000..06b40aa67 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer Binary files differnew file mode 100644 index 000000000..7e9fd5b0b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer Binary files differnew file mode 100644 index 000000000..da38ce028 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Dr. Waltraut Kotschy.20070119-20120119.SerNo02de1c.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Dr. Waltraut Kotschy.20070119-20120119.SerNo02de1c.cer Binary files differnew file mode 100644 index 000000000..592c96230 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Dr. Waltraut Kotschy.20070119-20120119.SerNo02de1c.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/EGIZ_Administrator.20070829-20120829.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/EGIZ_Administrator.20070829-20120829.SerNo00.cer Binary files differnew file mode 100644 index 000000000..694e6828b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/EGIZ_Administrator.20070829-20120829.SerNo00.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer Binary files differnew file mode 100644 index 000000000..376d0753f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer Binary files differnew file mode 100644 index 000000000..414123ece --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer Binary files differnew file mode 100644 index 000000000..afe6fdf09 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/EGIZ_Test_CA_-_Signaturdienst.20070829-20140101.SerNo02.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/EGIZ_Test_CA_-_Signaturdienst.20070829-20140101.SerNo02.cer Binary files differnew file mode 100644 index 000000000..277b6083a --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/EGIZ_Test_CA_-_Signaturdienst.20070829-20140101.SerNo02.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer Binary files differnew file mode 100644 index 000000000..376d0753f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer Binary files differnew file mode 100644 index 000000000..592c96230 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.cer Binary files differnew file mode 100644 index 000000000..61a7ccb15 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-02.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der Binary files differnew file mode 100644 index 000000000..5171276f4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink+Test/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Dr. Waltraut Kotschy-20070119-20120119.SerNo02de1c.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Dr. Waltraut Kotschy-20070119-20120119.SerNo02de1c.der Binary files differnew file mode 100644 index 000000000..592c96230 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Dr. Waltraut Kotschy-20070119-20120119.SerNo02de1c.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer Binary files differnew file mode 100644 index 000000000..376d0753f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Nikolaus_Schwab.20040219-20070219.SerNo5C39.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer Binary files differnew file mode 100644 index 000000000..414123ece --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink-signerCerts/Signaturservice Datenschutzkommission-20100728-20150728.SerNo0729E2.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer Binary files differnew file mode 100644 index 000000000..afe6fdf09 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/A-CERT-GOVERNMENT-20090505-20360918.SerNo0E.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Nikolaus-Schwab-BM-f-Inneres-20040219-20070219.SerNo5c39.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Nikolaus-Schwab-BM-f-Inneres-20040219-20070219.SerNo5c39.der Binary files differnew file mode 100644 index 000000000..376d0753f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Nikolaus-Schwab-BM-f-Inneres-20040219-20070219.SerNo5c39.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer Binary files differnew file mode 100644 index 000000000..592c96230 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/Waltraut_Kotschy.20070119-20120119.SerNo02DE1C.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.cer Binary files differnew file mode 100644 index 000000000..61a7ccb15 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-02.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01AAED.cer b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01AAED.cer Binary files differnew file mode 100644 index 000000000..5171276f4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01AAED.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der Binary files differnew file mode 100644 index 000000000..5171276f4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/identityLink/a-sign-corporate-light-03-20051114-20151114.SerNo01aaed.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20051001-20111023.SerNo170.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20051001-20111023.SerNo170.cer Binary files differnew file mode 100644 index 000000000..c4d97cda3 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20051001-20111023.SerNo170.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer Binary files differnew file mode 100644 index 000000000..815f53d95 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20070507-20090507.SerNo51D.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer Binary files differnew file mode 100644 index 000000000..afe6fdf09 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/A-CERT GOVERNMENT.20090505-20360918.SerNoE.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo1815.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo1815.cer Binary files differnew file mode 100644 index 000000000..b596d82e3 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo1815.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo210E.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo210E.cer Binary files differnew file mode 100644 index 000000000..fe561ad6a --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20030123-20060123.SerNo210E.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNo1C864.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNo1C864.cer Binary files differnew file mode 100644 index 000000000..41dc7c553 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNo1C864.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNoE287.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNoE287.cer Binary files differnew file mode 100644 index 000000000..4adc3b7ec --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20041206-20081201.SerNoE287.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer Binary files differnew file mode 100644 index 000000000..1e4f22777 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-01.20081201-20121201.SerNo4AFE4.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNo1C858.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNo1C858.cer Binary files differnew file mode 100644 index 000000000..cb519b7eb --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNo1C858.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer Binary files differnew file mode 100644 index 000000000..bc5ed1e62 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Enc-02.20041215-20141214.SerNoE4A2.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer Binary files differnew file mode 100644 index 000000000..7085c5ac9 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer Binary files differnew file mode 100644 index 000000000..d53dce92b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer Binary files differnew file mode 100644 index 000000000..ad5d7dea1 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer Binary files differnew file mode 100644 index 000000000..5375c57c3 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer Binary files differnew file mode 100644 index 000000000..97dc187db --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer Binary files differnew file mode 100644 index 000000000..783dd271a --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer Binary files differnew file mode 100644 index 000000000..cc35ba691 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer Binary files differnew file mode 100644 index 000000000..ea1585a6e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer Binary files differnew file mode 100644 index 000000000..b9fe1280c --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-03.20051114-20151114.SerNo1AAEC.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-03.20051114-20151114.SerNo1AAEC.cer Binary files differnew file mode 100644 index 000000000..b15880c29 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-03.20051114-20151114.SerNo1AAEC.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo1390.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo1390.cer Binary files differnew file mode 100644 index 000000000..6f97837a2 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo1390.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo2111.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo2111.cer Binary files differnew file mode 100644 index 000000000..d7799119f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20021120-20051120.SerNo2111.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20041201-20081201.SerNoE244.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20041201-20081201.SerNoE244.cer Binary files differnew file mode 100644 index 000000000..508f7f076 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20041201-20081201.SerNoE244.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20081201-20121201.SerNo4AFF1.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20081201-20121201.SerNo4AFF1.cer Binary files differnew file mode 100644 index 000000000..c0feb0d0e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-01.20081201-20121201.SerNo4AFF1.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20041215-20141214.SerNoE4A8.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20041215-20141214.SerNoE4A8.cer Binary files differnew file mode 100644 index 000000000..61a7ccb15 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-02.20041215-20141214.SerNoE4A8.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-03.20051114-20151114.SerNo1AAED.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-03.20051114-20151114.SerNo1AAED.cer Binary files differnew file mode 100644 index 000000000..5171276f4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-light-03.20051114-20151114.SerNo1AAED.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20030327-20060327.SerNo1C1C.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20030327-20060327.SerNo1C1C.cer Binary files differnew file mode 100644 index 000000000..e47d2b8ba --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20030327-20060327.SerNo1C1C.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNo1C867.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNo1C867.cer Binary files differnew file mode 100644 index 000000000..08d7b28e2 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNo1C867.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNoE28A.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNoE28A.cer Binary files differnew file mode 100644 index 000000000..c5bcc42e2 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20041206-20081201.SerNoE28A.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20081201-20121201.SerNo4AFF3.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20081201-20121201.SerNo4AFF3.cer Binary files differnew file mode 100644 index 000000000..5168e1af0 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-01.20081201-20121201.SerNo4AFF3.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNo1C85C.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNo1C85C.cer Binary files differnew file mode 100644 index 000000000..39e377edf --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNo1C85C.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNoE4A9.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNoE4A9.cer Binary files differnew file mode 100644 index 000000000..0a1fcff85 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-medium-02.20041215-20141214.SerNoE4A9.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20030327-20060327.SerNo1C1D.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20030327-20060327.SerNo1C1D.cer Binary files differnew file mode 100644 index 000000000..b5f5fa6ca --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20030327-20060327.SerNo1C1D.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNo1C868.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNo1C868.cer Binary files differnew file mode 100644 index 000000000..abeb964dd --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNo1C868.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNoE28B.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNoE28B.cer Binary files differnew file mode 100644 index 000000000..91acd396a --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20041206-20081201.SerNoE28B.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20081201-20131201.SerNo4C3C6.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20081201-20131201.SerNo4C3C6.cer Binary files differnew file mode 100644 index 000000000..87d8b52d4 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-01.20081201-20131201.SerNo4C3C6.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNo1C85D.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNo1C85D.cer Binary files differnew file mode 100644 index 000000000..f28aa4b8e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNo1C85D.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNoE4AA.cer b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNoE4AA.cer Binary files differnew file mode 100644 index 000000000..882753986 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/officialSignature/a-sign-corporate-strong-02.20041215-20141214.SerNoE4AA.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer Binary files differnew file mode 100644 index 000000000..f9fef65fc --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer Binary files differnew file mode 100644 index 000000000..3c7775b6e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer Binary files differnew file mode 100644 index 000000000..36a442b89 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer Binary files differnew file mode 100644 index 000000000..54f809962 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer Binary files differnew file mode 100644 index 000000000..ab9e0cd7d --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer Binary files differnew file mode 100644 index 000000000..01965769d --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..d361d919f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..ad13d7b28 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..f9f27442b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..b6f39e354 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der Binary files differnew file mode 100644 index 000000000..3be7b6a06 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer Binary files differnew file mode 100644 index 000000000..ed5ba194c --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer Binary files differnew file mode 100644 index 000000000..05a8b86f9 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/MOA_Test_CA.20070823-20131022.Serno01.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer Binary files differnew file mode 100644 index 000000000..cac44093a --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..06b40aa67 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer Binary files differnew file mode 100644 index 000000000..7e9fd5b0b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer Binary files differnew file mode 100644 index 000000000..da38ce028 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer Binary files differnew file mode 100644 index 000000000..7085c5ac9 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo1814.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer Binary files differnew file mode 100644 index 000000000..d53dce92b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20030123-20060123.SerNo2115.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer Binary files differnew file mode 100644 index 000000000..ad5d7dea1 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNo1C856.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer Binary files differnew file mode 100644 index 000000000..5375c57c3 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20041206-20081201.SerNoE28E.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer Binary files differnew file mode 100644 index 000000000..97dc187db --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-01.20081201-20121201.SerNo4AFDC.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer Binary files differnew file mode 100644 index 000000000..783dd271a --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNo1C859.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer Binary files differnew file mode 100644 index 000000000..cc35ba691 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-02.20041215-20141214.SerNoE4A3.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer Binary files differnew file mode 100644 index 000000000..ea1585a6e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo3E9AB.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer Binary files differnew file mode 100644 index 000000000..b9fe1280c --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-Premium-Sig-03.20080429-20180429.SerNo41D15.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo5EFE7.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo5EFE7.cer Binary files differnew file mode 100644 index 000000000..8ddc7d79b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo5EFE7.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo7F061.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo7F061.cer Binary files differnew file mode 100644 index 000000000..c9fd41f7f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature-qual-only/a-sign-premium-mobile-03.20090909-20140909.SerNo7F061.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer Binary files differnew file mode 100644 index 000000000..f9fef65fc --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01.20041201-20141201.SerNoE243.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer Binary files differnew file mode 100644 index 000000000..3c7775b6e --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-01b.20041201-20141201.SerNo01C854.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer Binary files differnew file mode 100644 index 000000000..36a442b89 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02.20041203-20141203.SerNoE248.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer Binary files differnew file mode 100644 index 000000000..54f809962 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-02b.20041203-20141203.SerNo01C857.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer Binary files differnew file mode 100644 index 000000000..ab9e0cd7d --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03.20080425-20180425.SerNoe694(SecureSignatureKeypair).cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer Binary files differnew file mode 100644 index 000000000..01965769d --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust-Qual-03b.20080424-20180424.SerNo041D14.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..d361d919f --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011130-20041130.SerNo01f6[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..ad13d7b28 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20011215-20041215.SerNo021e[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..f9f27442b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo0291[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..b6f39e354 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/A-Trust.A-Trust-Qual-01.20020207-20050207.SerNo210d[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der Binary files differnew file mode 100644 index 000000000..3be7b6a06 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/C=AT,O=Hauptverband oesterr. Sozialvers.,CN=Root-CA 1-2045.der diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer Binary files differnew file mode 100644 index 000000000..06b40aa67 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom.A1-Signatur.20040326-20140326.SerNo6646[SecureSignatureKeypair].cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer Binary files differnew file mode 100644 index 000000000..7e9fd5b0b --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20060912-20110912_SerNo027866.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer Binary files differnew file mode 100644 index 000000000..da38ce028 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature/mobilkom_A1-Signatur_20070501-20120501_SerNo6650.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer b/spss/handbook/conf/moa-spss/trustProfiles/test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer Binary files differnew file mode 100644 index 000000000..ed5ba194c --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/test/EGIZ_Test_CA_-_Root.20070829-20180101.SerNo00.cer diff --git a/spss/handbook/conf/moa-spss/trustProfiles/test/MOA_Test_CA.20070823-20131022.Serno01.cer b/spss/handbook/conf/moa-spss/trustProfiles/test/MOA_Test_CA.20070823-20131022.Serno01.cer Binary files differnew file mode 100644 index 000000000..05a8b86f9 --- /dev/null +++ b/spss/handbook/conf/moa-spss/trustProfiles/test/MOA_Test_CA.20070823-20131022.Serno01.cer diff --git a/spss/handbook/handbook.html b/spss/handbook/handbook.html new file mode 100644 index 000000000..2497d7f70 --- /dev/null +++ b/spss/handbook/handbook.html @@ -0,0 +1,6 @@ +<html> + <head> + <meta http-equiv="refresh" content="0; URL=handbook/index.html"> + </head> + <body><p><a href="handbook/index.html">Zum Handbuch ...</a></p></body> +</html>
\ No newline at end of file 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/LogoMoa4c.3148x3545.jpg b/spss/handbook/handbook/common/LogoMoa4c.3148x3545.jpg Binary files differnew file mode 100644 index 000000000..a5ba135ef --- /dev/null +++ b/spss/handbook/handbook/common/LogoMoa4c.3148x3545.jpg diff --git a/spss/handbook/handbook/common/LogoMoa4c.jpg b/spss/handbook/handbook/common/LogoMoa4c.jpg Binary files differnew file mode 100644 index 000000000..a1102090b --- /dev/null +++ b/spss/handbook/handbook/common/LogoMoa4c.jpg diff --git a/spss/handbook/handbook/common/LogoMoaBw.jpg b/spss/handbook/handbook/common/LogoMoaBw.jpg Binary files differnew file mode 100644 index 000000000..5a31e3e15 --- /dev/null +++ b/spss/handbook/handbook/common/LogoMoaBw.jpg diff --git a/spss/handbook/handbook/common/MOA.css b/spss/handbook/handbook/common/MOA.css new file mode 100644 index 000000000..81e0a3f8d --- /dev/null +++ b/spss/handbook/handbook/common/MOA.css @@ -0,0 +1,300 @@ +body
+{
+ font-family: "Times New Roman", Times, serif;
+ font-size: medium;
+ font-weight: normal;
+ margin-left: 2.5em;
+ margin-right: 2.5em;
+}
+
+p
+{
+ margin-top: 0pt;
+ margin-bottom: 0.5em;
+ text-align: justify
+}
+
+pre
+{
+ font-family: "Courier New", monospace;
+ font-size: 90%;
+ background-color: #cccccc;
+ color: #000000;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ border: #008000 none;
+}
+
+hr
+{
+ color: #000080;
+ background-color: #000080;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+table.fixedWidth
+{
+ width: 97%;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+
+table.varWidth
+{
+ margin-left:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+th
+{
+ text-align: left;
+}
+
+h1
+{
+ color: #000080;
+ text-align: left;
+ font-size: 167%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h2
+{
+ color: #000080;
+ font-size: 150%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h3
+{
+ color: #000080;
+ font-size: 133%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h4
+{
+ color: #000080;
+ font-size: 116%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h5
+{
+ color: #000080;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h6
+{
+ color: #000080;
+ font-size: 83%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+code
+{
+ font-family: "Courier New", Courier, monospace;
+ font-size: 90%;
+ color: #000000
+}
+
+dd
+{
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+ text-align: justify
+
+}
+
+dt
+{
+ margin-top: 0.8em;
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000080
+}
+
+ol
+{
+ margin-top: 0.5em;
+ margin-bottom: 0.5em
+}
+
+ol.alpha
+{
+ list-style-type: lower-alpha
+}
+
+li
+{
+ margin-top: 0.25em;
+ margin-bottom: 0.25em;
+ text-align: justify
+}
+
+a:hover
+{
+ color: #990000
+}
+
+
+.title
+{
+ text-align: left;
+ font-size: 167%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em
+}
+
+.subtitle
+{
+ text-align: left;
+ font-size: 133%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em
+}
+
+.glossaryTerm
+{
+ font-style: italic;
+ color: #006699
+}
+
+.example
+{
+ font-family: "Courier New", monospace;
+ background-color: #CCFFFF;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.schema
+{
+ font-family: "Courier New", monospace;
+ background-color: #FFFFCC;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.documentinfo
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 100%;
+}
+
+.ol-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.li-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.logoTitle
+{
+ text-align: center;
+ font-size: 133%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.logoTable
+{
+ margin-bottom: 0px;
+ margin-left: 0px
+}
+
+.superscript
+{
+ vertical-align: super;
+ font-size: 66%;
+}
+
+.term
+{
+ font-style: italic;
+}
+
+.comment
+{
+ color: #000000;
+ background: #ffff00;
+ font-style: italic
+}
+
+.addedErrata12
+{
+ color: #FF0000;
+ background-color: #FFEEEE;
+ text-decoration: underline
+}
+
+.deletedErrata12
+{
+ color: #999999;
+ background-color: #EEEEEE;
+ text-decoration: line-through
+}
+
+.added12
+{
+ color: #FF0000;
+ text-decoration: underline
+; background-color: #F8F0FF
+}
+
+.deleted12
+{
+ color: #999999;
+ text-decoration: line-through
+; background-color: #f8f0ff
+}
+
+.rfc2119Keyword
+{
+ font-variant: small-caps;
+ font-style: normal;
+}
+
+.remark { font-style: italic}
+
+li.faq
+{
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+
+.faq-question
+{
+ color: #000080;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ margin-bottom: 0.4em;
+}
diff --git a/spss/handbook/handbook/config/MOA-SPSS-config-1.5.1.xsd b/spss/handbook/handbook/config/MOA-SPSS-config-1.5.1.xsd new file mode 100644 index 000000000..01cd7c426 --- /dev/null +++ b/spss/handbook/handbook/config/MOA-SPSS-config-1.5.1.xsd @@ -0,0 +1,282 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ MOA SP/SS 1.5.1 Configuration Schema
+-->
+<xs:schema 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" targetNamespace="http://reference.e-government.gv.at/namespace/moaconfig/20021122#" 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="Common" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="HardwareCryptoModule" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="SlotId" type="xs:string" minOccurs="0"/>
+ <xs:element name="UserPIN" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PermitExternalUris" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="BlackListUri">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="IP" type="xs:string"/>
+ <xs:element name="Port" type="xs:int" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SignatureCreation" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="KeyModules">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="HardwareKeyModule">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Id" type="xs:token"/>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="SlotId" type="xs:string" minOccurs="0"/>
+ <xs:element name="UserPIN" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SoftwareKeyModule">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Id" type="xs:token"/>
+ <xs:element name="FileName" type="xs:string"/>
+ <xs:element name="Password" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="KeyGroup" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Id" type="xs:token"/>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="Key">
+ <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:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="KeyGroupMapping" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CustomerId" type="dsig:X509IssuerSerialType" minOccurs="0"/>
+ <xs:element name="KeyGroupId" type="xs:token" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="XMLDSig">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CanonicalizationAlgorithm" type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="DigestMethodAlgorithm" type="xs:anyURI" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateTransformsInfoProfile" type="config:ProfileType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="CreateSignatureEnvironmentProfile" type="config:ProfileType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SignatureVerification" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CertificateValidation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PathConstruction">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AutoAddCertificates" type="xs:boolean"/>
+ <xs:element name="UseAuthorityInformationAccess" type="xs:boolean"/>
+ <xs:element name="CertificateStore">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element name="DirectoryStore">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Location" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PathValidation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ChainingMode">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="DefaultMode" type="config:ChainingModeType"/>
+ <xs:element name="TrustAnchor" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identification" type="dsig:X509IssuerSerialType"/>
+ <xs:element name="Mode" type="config:ChainingModeType"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TrustProfile" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Id" type="xs:token"/>
+ <xs:element name="TrustAnchorsLocation" type="xs:anyURI"/>
+ <xs:element name="SignerCertsLocation" type="xs:anyURI" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="RevocationChecking">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="EnableChecking" type="xs:boolean"/>
+ <xs:element name="MaxRevocationAge" type="xs:integer"/>
+ <xs:element name="ServiceOrder" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="2">
+ <xs:element name="Service">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="OCSP"/>
+ <xs:enumeration value="CRL"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Archiving">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="EnableArchiving" type="xs:boolean"/>
+ <xs:element name="ArchiveDuration" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Archive" minOccurs="0">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element name="DatabaseArchive">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="JDBCURL" type="xs:anyURI"/>
+ <xs:element name="JDBCDriverClassName" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DistributionPoint" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CAIssuerDN" type="xs:token"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="CRLDP">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Location" type="xs:anyURI"/>
+ <xs:element name="ReasonCode" minOccurs="0" maxOccurs="unbounded">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="unused"/>
+ <xs:enumeration value="keyCompromise"/>
+ <xs:enumeration value="cACompromise"/>
+ <xs:enumeration value="affiliationChanged"/>
+ <xs:enumeration value="superseded"/>
+ <xs:enumeration value="cessationOfOperation"/>
+ <xs:enumeration value="certificateHold"/>
+ <xs:enumeration value="privilegeWithdrawn"/>
+ <xs:enumeration value="aACompromise"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OCSPDP">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Location" type="xs:anyURI"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CrlRetentionIntervals" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="CA">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="X509IssuerName" type="xs:string"/>
+ <xs:element name="Interval" type="xs:integer"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="VerifyTransformsInfoProfile" type="config:ProfileType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SupplementProfile" type="config:ProfileType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="PermitFileURIs" type="xs:boolean" default="false" minOccurs="0"/>
+ </xs:sequence>
+ </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:complexType name="ProfileType">
+ <xs:sequence>
+ <xs:element name="Id" type="xs:token"/>
+ <xs:element name="Location" type="xs:anyURI"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/spss/handbook/handbook/config/config.html b/spss/handbook/handbook/config/config.html new file mode 100644 index 000000000..4013357e0 --- /dev/null +++ b/spss/handbook/handbook/config/config.html @@ -0,0 +1,1111 @@ +<!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>MOA SS und SP - Konfiguration</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" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> + <td align="center" class="logoTitle">Open Source<br> + für das E-Government</td> + <td align="center" class="logoTitle" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" width="123" height="138" align="right"></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.5</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_allgemeines">Allgemeines</a> + <ol> + <li><a href="#übersicht_allgemeines_namenskonventionen">Namenskonventionen</a></li> + </ol> + </li> + <li><a href="#übersicht_zentraledatei">Zentrale Konfigurationsdatei</a> + <ol> + <li><a href="#übersicht_zentraledatei_aktualisierung">Aktualisierung auf das Format von MOA SP/SS 1.3</a></li> + </ol> + </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> + <ol> + <li><a href="#konfigurationsparameter_allgemein">Allgemeines Parameter</a> <ol> + <li><a href="#konfigurationsparameter_allgemein_hardwarecryptomodule">Hardwarebasiertes Kryptographiemodul</a></li> + <li><a href="#konfigurationsparameter_allgemein_permitexternaluris">Auflösen externer URIs</a></li> + </ol> + </li> + <li><a href="#konfigurationsparameter_ss">Parameter für MOA SS</a> <ol> + <li><a href="#konfigurationsparameter_ss_keymodules">Schlüsselspeicher</a> <ol> + <li><a href="#konfigurationsparameter_ss_keymodules_hardwarekeymodule">Hardware-Schlüsselspeicher</a></li> + <li><a href="#konfigurationsparameter_ss_keymodules_softwarekeymodule">Software-Schlüsselspeicher</a></li> + </ol> + </li> + <li><a href="#konfigurationsparameter_ss_keygroup">Schlüsselgruppe</a></li> + <li><a href="#konfigurationsparameter_ss_keygroupmapping">Zuordnung von Schlüsselgruppen zu einem + Kunden</a></li> + <li><a href="#konfigurationsparameter_ss_xmldsig">Parameter für XML-Signaturen</a> </li> + <li><a href="#konfigurationsparameter_ss_createtransformsinfoprofile">Profil für Transformationen</a></li> + <li><a href="#konfigurationsparameter_ss_createsignatureenvironmentprofile">Profil für Signaturumgebung </a></li> + </ol> + </li> + <li><a href="#konfigurationsparameter_sp">Parameter für MOA SP</a> <ol> + <li><a href="#konfigurationsparameter_sp_certificatevalidation">Zertifikatsvalidierung</a> <ol> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_pathconstruction">Konstruktion des Zertifikatspfads</a> + <ol> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_pathconstruction_autoaddcertificates">Cachen von Zertifikaten</a></li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_pathconstruction_useauthorityinfoaccess">Auswertung der Zertifikatserweiterung <span class="term">Authority Information Access</span></a></li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_pathconstruction_certificatestore">Lokalisierung des Zertifikatsspeichers</a></li> + </ol> + </li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_pathvalidation">Valdierung des Zertifikatspfads</a> + <ol> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_pathvalidation_chainingmode">Gültigkeitsmodell für die Zertifikatskettenprüfung</a></li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_pathvalidation_trustprofile">Vertrauensprofile</a></li> + </ol> + </li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_revocationchecking">Widerrufsprüfung</a> + <ol> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_revocationchecking_enablechecking">Aktivieren + der Widerrufsprüfung</a></li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_revocationchecking_maxrevocationage">Maximales Alter der Widerrufsinformation</a></li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_revocationchecking_serviceorder">Reihenfolge der Widerrufsdienste</a></li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_revocationchecking_archiving">Archivierung von Widerrufsinformationen</a></li> + <li><a href="#konfigurationsparameter_sp_certificatevalidation_revocationchecking_distributionpoint">Manuelle + Konfiguration von Verteilungspunkten für Widerrufsinformationen</a></li> + </ol> + </li> + </ol> + </li> + <li><a href="#konfigurationsparameter_sp_verifytransformsinfoprofile">Profil für Transformationen</a></li> + <li><a href="#konfigurationsparameter_sp_supplementprofile">Profil für Ergänzungsobjekte</a></li> + <li><a href="#konfigurationsparameter_sp_permitfileuris">file-URIs</a></li> + </ol> + </li> + </ol> + </li> + <li><a href="#beispielkonfigurationen">Beispielkonfigurationen</a> + <ol> + <li><a href="#beispielkonfigurationen_minss">Minimale Konfiguration für MOA SS</a></li> + <li><a href="#beispielkonfigurationen_minsp">Minimale Konfiguration für MOA SP</a></li> + <li><a href="#beispielkonfigurationen_typspss">Typische Konfiguration für MOA SP/SS</a></li> + </ol> + </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_allgemeines" id="übersicht_allgemeines"></a>1.1 Allgemeines</h2> + <h3><a name="übersicht_allgemeines_namenskonventionen" id="übersicht_allgemeines_namenskonventionen"></a>1.1.1 Namenskonventionen </h3> + <p>Folgende Namenraum-Präfixe werden in diesem Handbuch zur Kennzeichnung der Namenräume + von XML-Elementen 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> + <tr> + <td>moa</td> + <td><code>http://reference.e-government.gv.at/namespace/moa/20020822#</code></td> + </tr> + <tr> + <td><code>xs</code></td> + <td><code>http://www.w3.org/2001/XMLSchema</code></td> + </tr> + </table> + <h2><a name="übersicht_zentraledatei" id="übersicht_zentraledatei"></a>1.2 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-1.5.1.xsd">MOA-SPSS-config-1.5.1.xsd</a> entsprechen. <a href="#konfigurationsparameter">Abschnitt 2</a> erläutert die Konfigurationsmöglichkeiten im Einzelnen.</p> + <h3><a name="übersicht_zentraledatei_aktualisierung" id="übersicht_zentraledatei_aktualisierung"></a>1.2.1 + Aktualisierung auf das Format von MOA SP/SS 1.3</h3> + <p>Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues, übersichtlicheres Format für die + XML-Konfigurationsdatei. </p> + <p>Wenn Sie von einer älteren Version von MOA SP/SS auf die Version 1.3 wechseln und Ihre bestehende + Konfiguration beibehalten wollen, steht Ihnen ein einfaches Kommandozeilenwerkzeug zur Verfügung, mit dem + Sie Ihre Konfigurationsdatei vom bisherigen auf das neue Format migrieren können. </p> + <p>Dieses Werkzeug können Sie durch Ausführen des Scripts <code>configtool</code> aus dem Verzeichnis + <code>tools</code> im MOA-Installationsverzeichnis verwenden:</p> + <pre>configtool c:\pfad\zur\konfiguration\config.alt.xml c:\pfad\zur\konfiguration\config.neu.xml</pre> + <p>Der erste Parameter für das Script gibt also Pfad und Dateiname der bestehenden, alten Konfigurationsdatei + an, der zweite Parameter Pfad und Dateiname für die zu erzeugende Konfigurationsdatei im neuen Format (<span class="remark">Hinweis: + Die Beispielpfade beziehen sich auf Windows-Betriebssysteme; für Unix-Betriebssysteme wählen Sie bitte sinngemäße + Pfade.</span>). </p> + <h2><a name="übersicht_bekanntmachung" id="übersicht_bekanntmachung"></a>1.3 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 eine <span class="term">System Property </span> mitgeteilt (wird beim Starten der <span class="term">Java Virtual Machine</span> in der Form <code>-D<name>=<wert></code> gemacht). Der Name der <span class="term">System Property</span> lautet <code>moa.spss.server.configuration</code>; als Wert der <span class="term">System Property</span> 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 für MOA SP/SS erhalten Sie in <a href="../install/install.html#webservice_basisinstallation_installation_spssdeploy">Abschnitt 2.1.2.3</a> des Installationshandbuchs.</p> +<h3><a name="übersicht_bekanntmachung_laufenderbetrieb" id="übersicht_bekanntmachung_laufenderbetrieb"></a>1.3.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 <a href="../install/install.html#webservice_basisinstallation_installation_changeonthefly">Abschnitt 2.1.2.5</a> des Installationshandbuchs.</p> +<h2><a name="übersicht_logging" id="übersicht_logging"></a>1.4 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 eine <span class="term">System Property </span> mitgeteilt wird. Der Name der <span class="term">System Property </span> lautet <code>log4j.configuration</code>; als Wert der <span class="term">System Property </span> 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 <a href="../install/install.html#webservice_basisinstallation_logging">Abschnitt 2.1.3</a> des Installationshandbuchs. +<p></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> + <h2><a name="konfigurationsparameter_allgemein" id="konfigurationsparameter_allgemein"></a>2.1 + Allgemeine Parameter</h2> + <h3><a name="konfigurationsparameter_allgemein_hardwarecryptomodule" id="konfigurationsparameter_allgemein_hardwarecryptomodule"></a>2.1.1 Hardwarebasiertes Kryptographiemodul</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:Common/cfg:HardwareCryptoModule</code></td> + </tr> + <tr> + <td> Gebrauch</td> + <td>Null mal bis unbeschränkt oft </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Mit diesem Element wird MOA SP bzw. SS die Verfügbarkeit eines Hardware-Kryptographiemoduls + mitgeteilt. Wird ein solches Hardware-Kryptographiemodul konfiguriert, versucht MOA SP/SS das + Hardware-Kryptographiemodul für die Verifikation des Signaturwerts (MOA SP) bzw. für die Berechnung + von Hashwerten (MOA SP und MOA SS) anstatt des standardmäßig konfigurierten Software-Kryptographiemoduls + zu verwenden. </p> + <p>Werden mehrere Hardware-Kryptographiemodule konfiguriert, prüft MOA SP/SS entsprechend + der Konfigurationsreihenfolge der Hardware-Kryptographiemodule, ob eines der Module die benötigte + Funktion (Hashwertberechnung, Siganturprüfung) zur Verfügung stellt. Verwendet wird das erste Hardware-Kryptographiemodul, + das ide benötigte Funktion zur Verfügung stellen kann. </p> + <p>Das Element weist bis zu drei Kindelemente auf:</p> + <ul> + <li>Element <code>cfg:Name</code>: Dieses obligatorische Element vom Typ <code>xs:string</code> enthält + den Dateinamen der DLL (Windows) oder der Shared-Library (Unix), welche die PKCS#11-Schnittstelle + zum Hardware-Kryptographiemodul implementiert; der Wert enthält entweder einen Dateinamen + mit absoluter Pfadangabe oder einen Dateinamen ohne Pfadangabe. Im letzteren Fall wird der Dateiname + relativ zum Suchpfad des Betriebssystems interpretiert. </li> + <li>Element <code>cfg:SlotId</code>: Dieses optionale Element vom Typ <code>xs:string</code> gibt + des Slot der PKCS#11-Schnittstelle an, über den das Hardware-Kryptographiemodul von MOA + SP/SS angesprochen werden soll. Fehlt dieses Attribut, wählt MOA SP/SS selbst einen Slot + aus der Liste der verfügbaren Slots aus. </li> + <li>Element <code>cfg:UserPIN</code>: Dieses obligatorische Element vom Typ <code>xs:string</code> enthält + den PIN-Code zur Freischaltung der Kryptographiefunktionen über die PKCS#11-Schnittstelle + des Hardware-Kryptographiemoduls. </li> + </ul></td> + </tr> + </table> + + <h3><a name="konfigurationsparameter_allgemein_permitexternaluris" id="konfigurationsparameter_allgemein_permitexternaluris"></a>2.1.2 Auflösen externer URIs</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:Common/cfg:PermitExternalUris</code></td> + </tr> + <tr> + <td> Gebrauch</td> + <td>Null mal bis einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>Mit diesem Element wird MOA SP bzw. SS mitgeteilt ob das Auflösen externer URIs (inkl. localhost) erlaubt ist. Fehlt dieses Element, so ist das Auflösen externer URIs deaktiviert. Ist dieses Element vorhanden, so ist das Auflösen aller externer URIs aktiviert. Durch einen Blacklist-Mechanismus kann jedoch eingeschränkt werden, dass bestimmte URIs, die sich auf dieser Blacklist befinden, nicht aufgelöst werden. Diese Blacklist kann in dem folgenden Kindelement angegeben werden:</p> + <ul> + <li>Element <code>cfg:BlackListUri</code>: Dieses optionale und unbegrenzten Element gibt einen Blacklist-Eintrag an und besteht aus folgenden zwei weiteren Kindelementen:</li> + <ul> + <li>Element <code>cfg:IP</code>: Dieses Element vom Type <code>xs:string</code> gibt eine IP-Adresse (z.B.: 127.0.0.1) oder einen IP-Adress-Bereich (z.B.: 192.168) an. Bei Angabe einer IP-Adresse werden nur URIs mit exakt dieser IP-Adresse nicht aufgelöst. Bei Angabe eines IP-Adress-Bereichs werden sämtliche URIs, die mit diesem IP-Bereich beginnen nicht aufgelöst (z.B.: alle IPs im Bereich 192.168.0.0 bis 192.168.255.255)</li> + <li>Element <code>cfg:Port</code>: Dieses optionale Element vom Typ <code>xs:int</code> legt eine bestimmte Portnummer fest. Ist eine Portnummer angegeben werden alle URIs mit obiger IP-Adresse und dieser Portnummer nicht aufgelöst. Ist keine Portnummer angegeben, sind alle Portnummern gesperrt.</li> + </ul> + </ul> + + <p><b>Empfehlung:</b> Bei aktiviertem Auflösen von externen URIs sollten sowohl <em>localhost</em> als auch der <em>gesamte Intranetbereich</em> in die Blacklist eingetragen werden. Hierzu eine beispielhafte Blacklist: </p> + <p><code><cfg:BlackListUri><br> + <cfg:Host>192.168</cfg:Host><br> + </cfg:BlackListUri><br> + <cfg:BlackListUri><br> + <cfg:Host>127.0.0.1</cfg:Host><br> + </cfg:BlackListUri></code></p></td> + </tr> + </table> + +<h2><a name="konfigurationsparameter_ss" id="konfigurationsparameter_ss"></a>2.2 Parameter für MOA SS</h2> + <h3><a name="konfigurationsparameter_ss_keymodules" id="konfigurationsparameter_ss_keymodules"></a>2.2.1 Schlüsselspeicher</h3> + <h4><a name="konfigurationsparameter_ss_keymodules_hardwarekeymodule" id="konfigurationsparameter_ss_keymodules_hardwarekeymodule"></a>2.2.1.1 Hardware-Schlüsselspeicher</h4> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal bis unbeschränkt oft; zumindest ein Hardware- (<code>cfg:HardwareKeyModule</code>) oder + Software-Schlüsselspeicher (<code>cfg:SoftwareKeyModule</code>) muss + jedoch vorhanden sein</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>Mit diesem Element wird MOA SS die Verfügbarkeit eines Hardware-Schlüsselspeichers mitgeteilt. </p> + <p>Das Element weist bis zu vier Kindelemente auf:</p> + <ul> + <li>Element <code>cfg:Id</code>: Dieses obligatorische Element vom Typ <code>xs:token</code> enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement <code>cfg:SignatureCreation/cfg:KeyGroup</code> auf + dieses Konfigurationselement referenziert.</li> + <li> Element <code>cfg:Name</code>: Dieses obligatorische Element vom Typ <code>xs:string</code> enthält + den Dateinamen der DLL (Windows) oder der Shared-Library (Unix), welche die PKCS#11-Schnittstelle + zum Hardware-Schlüsselspeicher implementiert; der Wert enthält entweder einen Dateinamen + mit absoluter Pfadangabe oder einen Dateinamen ohne Pfadangabe. Im letzteren Fall wird der Dateiname + relativ zum Suchpfad des Betriebssystems interpretiert. </li> + <li>Element <code>cfg:SlotId</code>: Dieses optionale Element vom Typ <code>xs:string</code> gibt des + Slot der PKCS#11-Schnittstelle an, über den der Hardware-Schlüsselspeicher von MOA SS + angesprochen werden soll. Fehlt dieses Attribut, wählt MOA SS selbst einen Slot aus der Liste + der verfügbaren Slots aus. </li> + <li>Element <code>cfg:UserPIN</code>: Dieses obligatorische Element vom Typ <code>xs:string</code> enthält + den PIN-Code zur Freischaltung der Schlüsselverwendung über die PKCS#11-Schnittstelle + des Hardware-Schlüsselspeichers. </li> + </ul> </td> + </tr> + </table> + <h4><a name="konfigurationsparameter_ss_keymodules_softwarekeymodule" id="konfigurationsparameter_ss_keymodules_softwarekeymodule"></a>2.2.1.2 + Software-Schlüsselspeicher</h4> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal bis unbeschränkt oft; zumindest ein Hardware- (<code>cfg:HardwareKeyModule</code>) oder + Software-Schlüsselspeicher (<code>cfg:SoftwareKeyModule</code>) muss jedoch vorhanden sein</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>Mit diesem Element wird MOA SS die Verfügbarkeit eines Software-Schlüsselspeichers in + Form einer PKCS#12-Datei mitgeteilt. </p> + <p>Das Element weist drei obligatorische Kindelemente auf:</p> + <ul> + <li>Element <code>cfg:Id</code>: Dieses Element vom Typ <code>xs:token</code> enthält einen + frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei + eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement <code>cfg:SignatureCreation/cfg:KeyGroup</code> auf + dieses Konfigurationselement referenziert.</li> + <li> Element <code>cfg:Filename</code>: Dieses Element vom Typ <code>xs:string</code> enthält + den Dateinamen der PKCS#12-Datei, die den Software-Schlüsselspeicher repräsentiert. Der + Wert enthält einen Dateinamen mit absoluter oder relativer Pfadangabe. Eine relative Pfadangabe + wird von MOA SS relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei + gespeichert ist.</li> + <li>Element <code>cfg:Password</code>: Dieses Element vom Typ <code>xs:string</code> enthält + das Passwort zum Entschlüsseln der Inhalte der PKCS#12-Datei. </li> + </ul> </td> + </tr> + </table> + <h3><a name="konfigurationsparameter_ss_keygroup" id="konfigurationsparameter_ss_keygroup"></a>2.2.2 Schlüsselgruppe</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:KeyGroup</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>einmal bis unbeschränkt oft </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>Mit diesem Element wird in MOA SS eine Schlüsselgruppe definiert. Eine Schlüsselgruppe + ist eine Zusammenfassung von einem oder mehreren privaten Schlüsseln, die in Hardware- bzw. Softwareschlüsselspeichern + (vergleiche Abschnitte <a href="#konfigurationsparameter_ss_keymodules_hardwarekeymodule">2.2.1.1</a> bzw. <a href="#konfigurationsparameter_ss_keymodules_softwarekeymodule">2.2.1.2</a>) + verwaltet werden. Die Schlüsselgruppe wird vom Kunden von MOA SS über einen eindeutigen Bezeichner + im Request zur Signaturerstellung angesprochen. </p> + <p>Sinn der Zusammenfassung von mehreren privaten Schlüsseln zu einer Schlüsselgruppe ist + es, dass MOA SS selbst entscheidet, welcher konkrete Schlüssel aus der Schlüsselgruppe + zur Erstellung der Signatur verwendet wird. Durch die somit mögliche Parallelisierung (mehrere + private Schlüssel werden parallel für Anfragen, die auf die gleiche Schlüsselgruppe + referenzieren) lässt sich der Durchsatz der erstellten Signaturen verbessern. </p> + <p>Das Element <code>cfg:SignatureCreation/cfg:KeyGroup</code> hat folgenden Element-Inhalt:</p> + <ul> + <li>Element <code>cfg:Id</code>: Dieses obligatorische Element vom Typ <code>xs:token</code> enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement <code>cfg:SignatureCreation/cfg:KeyGroupMapping</code> auf + dieses Konfigurationselement referenziert. Weiters wird dieser Identifikator im Request zur Erstellung + der Signatur verwendet, um die zu verwendende Schlüsselgruppe anzugeben.</li> + <li>Element <code>cfg:Key</code>: Dieses Element muss zumindest einmal vorkommen. Jedes Element beschreibt + einen der privaten Schlüssel, aus denen sich die Schlüsselgruppe zusammensetzt. Das Element + hat folgenden Element-Inhalt: + <ul> + <li>Element <code>cfg:KeyModuleId</code>: Dieses Element kommt genau einmal vor. Mit ihm wird + auf einen der konfigurierten Hardware- oder Software-Schlüsselspeicher referenziert. + Sein Textinhalt vom Typ <code>xs:token</code> enthält den Identifikator des Hardware- + oder Software-Schlüsselspeichers, so wie er in <code>cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule/cfg:Id</code> bzw. <code>cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule/cfg:Id</code> festgelegt + wurde. </li> + <li>Element <code>cfg:KeyCertIssuerSerial</code>: Dieses Element kommt ebenfalls genau einmal + vor. Mit ihm wird ein privater Schlüssel innerhalb des mit <code>cfg:KeyModuleId</code> ausgewählten + Schlüsselspeichers ausgewählt (sowohl Hardware- als auch Softwareschlüsselspeicher + können ja prinzipiell mehr als nur einen einzigen privaten Schlüssel verwalten). + Das Element hat folgenden Element-Inhalt: + <ul> + <li>Element <code>dsig:X509IssuerName</code>: Dieses Element kommt genau einmal vor. + Sein Textinhalt vom Typ <code>xs:string</code> enthält den Namen des Ausstellers + des Zertifikats für den ausgewählten privaten Schlüssel.</li> + <li>Element <code>dsig:X509SerialNumber</code>: Dieses Element kommt genau einmal vor. + Sein Textinhalt vom Typ <code>xs:integer</code> enthält die Seriennummer des Zertifikats + für den ausgewählten privaten Schlüssel. </li> + </ul> + </li> + </ul> + </li> + </ul> + <p>Um auf einfache Weise für alle in Ihren Schlüsselspeichern enthaltenen privaten Schlüssel + die jeweiligen Werte für <code>dsig:X509IssuerName</code> und <code>dsig:X509SerialNumber</code> zu + erhalten, gehen Sie am besten wie folgt vor:</p> + <ol> + <li>Erfassen Sie in der zentralen Konfigurationsdatei alle Ihre Schlüsselspeicher mit Hilfe + der Konfigurationselemente <code>cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule</code> bzw. <code>cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule</code>. </li> + <li>Starten Sie nun - mit bewusst fehlenden <code>cfg:SignatureCreation/cfg:KeyGroup</code> Elementen - den MOA SP/SS Server. + Stellen Sie dabei sicher, dass das Log-Level für den Logger <code>moa.spss.server</code> zumindest + auf das Niveau <code>info</code> eingestellt ist (Informationen zur Konfiguration des Loggings + von MOA SP/SS finden Sie in <a href="../install/install.html#webservice_basisinstallation_logging">Abschnitt + 2.1.3</a> des Installationshandbuchs). Im Log-File werden dann alle verfügbaren privaten Schlüssel + an Hand der Werte <code>dsig:X509IssuerName</code> und <code>dsig:X509SerialNumber</code> aufgelistet. + Vergleichen Sie den folgenden beispielhaften Auszug:<br> + <pre>INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key <br> ID=SKM_Kunde1;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;7 +INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key + ID=SKM_allgemein;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;9<br>INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key <br> ID=SKM_Kunde2;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;8</pre> + Der Wert der Eigenschaft <code>ID</code> des Logging-Eintrags gliedert sich in drei Teile: + <ol> + <li>Der erste Teil enthält den Identifikator des Hardware- bzw. Softwareschlüsselspeichers, + so wie er im entsprechenden Konfigurationselement <code>cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule</code> bzw. <code>cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule</code> erfasst + wurde. </li> + <li>Der zweite Teil enthält nach dem ersten Semikolon den Namen des Ausstellers des Zertifikats + für den privaten Schlüssel, so wie er in <code>dsig:X509IssuerName</code> benötigt + wird. </li> + <li>Der dritte Teil enthält nach dem zweiten Semikolon die Seriennummer des Zertifikats für + den privaten Schlüssel, so wie er in <code>dsig:X509SerialNumber</code> benötigt wird. </li> + </ol> + </li> + <li>Erfassen Sie nun mit Hilfe der neu gewonnenen Informationen die Schlüsselgruppen, die in + MOA SS zur Verfügung stehen sollen. </li> + </ol> + <p>Wenn Ihnen für einen privaten Schlüssel, den Sie in eine Schlüsselgruppe aufnehmen + wollen, das Zertifikat bekannt ist und es in Form einer DER-kodierten Datei vorliegt, können + Sie alternativ das Script <code>certtool</code> aus dem Verzeichnis <code>tools</code> im MOA-Installationsverzeichnis + verwenden, um zu den Werten für <code>dsig:X509IssuerName</code> und <code>dsig:X509SerialNumber</code> zu + kommen: </p> + <pre>certtool -info <certfilename></pre> <p><code><certfilename></code> enthält den Namen der DER-kodierten Zertifikatsdatei, für + die die beiden Werte <code>dsig:X509IssuerName</code> und <code>dsig:X509SerialNumber</code> geliefert + werden sollen. Eine beispielhafte Ausgabe des Scripts sieht wie folgt aus: </p> + <pre>SubjectDN (RFC2253): + CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT +IssuerDN (RFC2253) : + CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT<br>Serial Number : + 9</pre> <p>Die Werte für <code>IssuerDN (RFC2253)</code> sowie <code>Serial Number</code> entsprechen + den Werten für <code>dsig:X509IssuerName</code> und <code>dsig:X509SerialNumber</code>.</p></td> + </tr> + </table> + <h3><a name="konfigurationsparameter_ss_keygroupmapping" id="konfigurationsparameter_ss_keygroupmapping"></a>2.2.3 + Zuordnung von Schlüsselgruppen zu Kunden</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:KeyGroupMapping</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>einmal bis unbeschränkt oft </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Das Element <code>cfg:SignatureCreation/cfg:KeyGroupMapping</code> ordnet einem Kunden von MOA SS die ihm zur Verfügung + stehenden Schlüsselgruppen zu, indem das den Kunden repräsentierende SSL-Clientzertifikat + mit einer oder mehreren Schlüsselgruppen assoziiert wird. </p> + <p>Das Element hat folgenden Element-Inhalt:</p> + <ul> + <li>Element <code>cfg:CustomerId</code>: Dieses Element bezeichnet auf eindeutige + Weise das den Kunden repräsentierende SSL-Clientzertifikat. Der Aufbau des Elements enspricht + dem Aufbau des Elements <code>cfg:KeyCertIssuerSerial</code> in Abschnitt <a href="#konfigurationsparameter_ss_keygroup">2.2.2</a>. + Um zu den Werten für Ausstellername und Seriennummer des SSL-Clientzertifikats zu kommen, + können Sie auch hier das Script <code>certtool</code> (vergleiche Abschnitt <a href="#konfigurationsparameter_ss_keygroup">2.2.2</a>) + verwenden. </li> + <li>Element <code>cfg:KeyGroupId</code>: Dieses Element vom Typ <code>xs:token</code> kommt so oft + vor, wie Schlüsselgruppen + einem bestimmten SSL-Clientzertifikat zugeordnet werden sollen, mindestens jedoch einmal. Sein + Wert repräsentiert dem Identifikator der Schlüsselgruppe, so wie er in <code>cfg:SignatureCreation/cfg:KeyGroup/cfg:Id</code> festgelegt + wurde. </li> + </ul> + <p class="remark">Bitte beachten Sie: Für maximal ein Konfigurationselement <code>cfg:SignatureCreation/cfg:KeyGroupMapping</code> kann <code>cfg:CustomerId</code> auch + weggelassen werden. Die darin enthaltenen Schlüsselgruppen stehen dann allen Kunden von MOA + SS gleichermaßen zur Verfügung.</p></td> + </tr> + </table> + <h3><a name="konfigurationsparameter_ss_xmldsig" id="konfigurationsparameter_ss_xmldsig"></a>2.2.4 Parameter + für XML-Signaturen </h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:XMLDSig/cfg:CanonicalizationAlgorithm</code></td> + </tr> + <tr> + <td> Gebrauch</td> + <td>Null mal oder einmal </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> <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> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:XMLDSig/cfg:DigestMethodAlgorithm</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal oder einmal </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> + <h3><a name="konfigurationsparameter_ss_createtransformsinfoprofile" id="konfigurationsparameter_ss_createtransformsinfoprofile"></a>2.2.5 Profil für Transformationen</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:CreateTransformsInfoProfile</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal bis unbeschränkt oft</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>MOA SS erlaubt die Hinterlegung von vordefinierten Profilen für Transformationen, die im Rahmen + einer XML-Signaturerstellung zur Anwendung kommen sollen. Im Request zur XML-Signaturerstellung + reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die gesamten Transformationen explizit + anzugeben. </p> + <p><code>cfg:CreateTransformsInfoProfile</code> enthält für ein bestimmtes Datenobjekt + für eine zu erstellende XML-Signatur die auf dieses Datenobjekt anzuwendenden Transformationen, + sowie allenfalls für die Durchführung der Transformationen notwendige Ergänzungsobjekte + (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).</p> + <p><code>cfg:CreateTransformsInfoProfile</code> weist folgende obligatorische Kindelemene auf: </p> + <ul> + <li>Element<code> Id</code>: Dieses Element<code></code> vom Typ <code>xs:token</code> enthält einen frei + wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei + eindeutig sein muss. Dieser Identifikator wird im Request zur Erstellung der XML-Signatur verwendet, + um das hinterlegte Profil zu referenzieren (vergleiche Element <code>moa:CreateTransformsInfoProfileID</code>). </li> + <li>Element<code></code> <code>Location</code>: Dieses Element<code></code> vom Typ <code>xs:anyURI</code> enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI + wird von MOA SS als File-URI relativ zum Lage jenes Verzeichnisses interpretiert, in dem die zentrale + Konfigurationsdatei gespeichert ist. Die XML-Datei muss als Wurzelelement das Element<code> moa:CreateTransformsInfoProfile + </code>enthalten.</li> + </ul> </td> + </tr> + </table> + <h3><a name="konfigurationsparameter_ss_createsignatureenvironmentprofile" id="konfigurationsparameter_ss_createsignatureenvironmentprofile"></a>2.2.6 Profil für Signaturumgebung </h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureCreation/cfg:CreateSignatureEnvironmentProfile</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal bis unbeschränkt oft</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>MOA SS erlaubt die Hinterlegung von vordefinierten Profilen für die Signaturumgebung, + die im Rahmen einer XML-Signaturerstellung zur Anwendung kommen soll. Im Request zur XML-Signaturerstellung + reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die Informationen zur Signaturumgebung + explizit anzugeben. </p> + <p><code>cfg:CreateSignatureEnvironmentProfile</code> enthält für eine zu erstellende XML-Signatur, + die in ein bereits bestehendes XML-Dokument integriert werden soll, die Stelle, an der die XML-Signatur + eingefügt werden soll, sowie allenfalls für die Verarbeitung des bestehenden XML-Dokuments + notwendige Ergänzungsobjekte (z.B. ein XML-Schema für das validierende Parsen des bestehenden + XML-Dokuments).</p> + <p><code>cfg:</code><code>CreateSignatureEnvironmentProfile</code> weist folgende obligatorische Kindelemene + auf: </p> + <ul> + <li>Element<code> Id</code>: Dieses Element<code></code> vom Typ <code>xs:token</code> enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Erstellung + der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element <code>moa:</code><code>CreateSignatureEnvironmentProfileID</code>). </li> + <li>Element<code></code> <code>Location</code>: Dieses Element<code></code> vom Typ <code>xs:anyURI</code> enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI wird von MOA SS als File-URI relativ zum Lage jenes Verzeichnisses + interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als + Wurzelelement das Element<code> moa:CreateSignatureEnvironmentProfile </code>enthalten.</li> + </ul></td> + </tr> + </table> + <h2><a name="konfigurationsparameter_sp" id="konfigurationsparameter_sp"></a>2.3 + Parameter für MOA SP </h2> + <h3> <a name="konfigurationsparameter_sp_certificatevalidation" id="konfigurationsparameter_sp_certificatevalidation"></a>2.3.1 + Zertifikatsvalidierung</h3> + <h4><a name="konfigurationsparameter_sp_certificatevalidation_pathconstruction" id="konfigurationsparameter_sp_certificatevalidation_pathconstruction"></a>2.3.1.1 + Konstruktion des Zertifikatspfads</h4> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_pathconstruction_autoaddcertificates" id="konfigurationsparameter_sp_certificatevalidation_pathconstruction_autoaddcertificates"></a>2.3.1.1.1 Cachen von Zertifikaten </h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:AutoAddCertificates</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>genau einmal</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Der Inhalt dieses Elements vom Typ <code>xs:boolean</code> gibt an, ob Zertifikate, die in einer + zu prüfenden + Signatur enthalten sind bzw. bei der Zertifikatspfaderstellung durch Auswertung der Zertifikatserweiterung <span class="term">Authority + Information Access</span> (siehe + auch Parameter <code>cfg:UseAuthorityInfoAccess</code>) aus dem Internet geladen werden, automatisch + in den lokalen Zertifikatsspeicher hinzugefügt werden sollen.</p> + <p>Zulässige Werte für diesen Parameter sind <code>true</code> oder <code>false</code>.</p> + </td> + </tr> + </table> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_pathconstruction_useauthorityinfoaccess" id="konfigurationsparameter_sp_certificatevalidation_pathconstruction_useauthorityinfoaccess"></a>2.3.1.1.2 Auswertung + der Zertifikatserweiterung <span class="term">Authority Information Access</span> + </h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:UseAuthorityInfoAccess</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>genau einmal</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Der Inhalt dieses Elements vom Typ <code>xs:boolean</code> gibt an, ob die Zertifikatserweiterung <span class="term">Authority + Information Access</span> für die Zertifikatspfaderstellung verwendet werden soll. Wird der + Wert auf <code>true</code> gesetzt, dann setzt MOA auch den Parameter <code>cfg:AutoAddCertificate</code> automatisch + auf <code>true</code> und ignoriert den gegebenenfalls in der Konfigurationsdatei dafür gesetzten + Wert. </p> + <p>Zulässige Werte für diesen Parameter sind <code>true</code> oder <code>false</code>.</p></td> + </tr> + </table> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_pathconstruction_certificatestore" id="konfigurationsparameter_sp_certificatevalidation_pathconstruction_certificatestore"></a>2.3.1.1.3 Lokalisierung + des Zertifikatsspeichers </h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:CertificateStore/cfg:DirectoryStore/cfg:Location</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>genau einmal</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Der Inhalt dieses Elements vom Typ <code>xs:token</code> gibt ein Verzeichnis im lokalen Dateisystem + an, das von MOA als lokaler Zertifikatsspeicher verwendet werden soll. +Zulässige Werte für diesen Parameter sind absolute oder relative Pfadangaben, wobei relative Pfadangaben +als relativ zum Pfad jenes Verzeichnisses interpretiert werden, in dem die zentrale + Konfigurationsdatei gespeichert ist. Beispiele für zulässige Werte lauten:</p> + <pre>C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/certstore</pre> + <pre>certstore</pre></td> + </tr> + </table> + <h4><a name="konfigurationsparameter_sp_certificatevalidation_pathvalidation" id="konfigurationsparameter_sp_certificatevalidation_pathvalidation"></a>2.3.1.2 + Valdierung des Zertifikatspfads</h4> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_pathvalidation_chainingmode" id="konfigurationsparameter_sp_certificatevalidation_pathvalidation_chainingmode"></a>2.3.1.2.1 Gültigkeitsmodell + für die Zertifikatskettenprüfung</h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation/cfg:ChainingMode</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>genau einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Dieses Element legt fest, ob MOA SP für die Prüfung der Gültigkeit + einer konstruierten Zertifikatskette das Kettenmodell aus ISIS-MTT oder das Schalenmodell aus dem PKIX + RFC 3280 verwenden soll. Es hat folgende Kindelemente:</p> + <ul> + <li><code>cfg:DefaultMode</code>: Dieses obligatorische Element gibt das Default-Modell für die Prüfung + der Gültigkeit einer konstruierten Zertifikatskette an. Gültige Werte sind <code>chaining</code> (Kettenmodell) + oder <code>pkix</code> (Schalenmodell). </li> + <li><code>cfg:TrustAnchor</code>: Dieses Element kann beliebig oft (auch gar nicht) verwendet + werden, um für bestimmte Vertrauensanker (vergleiche nächsten Parameter <code>cfg:TrustProfile</code>) + Ausnahmen vom Default-Modell vorzugeben. + Das Element weist folgende Kindelemente auf: + <ul> + <li><code>cfg:Identification</code>: Dieses obligatorische Element identifiziert den Vertrauensanker, + für den ein bestimmtes Modell konfiguriert werden soll. Es entspricht vom Aufbau jenem + von <code>cfg:KeyCertIssuerSerial</code> in + Abschnitt <a href="#konfigurationsparameter_ss_keygroup">2.2.2</a>. Um zu den Werten für + Ausstellername und Seriennummer des Vertrauensankers zu kommen, können Sie auch hier + das Script <code>certtool</code> (vergleiche Abschnitt <a href="#konfigurationsparameter_ss_keygroup">2.2.2</a>) + verwenden. </li> + <li><code>cfg:Mode</code>: Dieses obligatorische Element vom Typ <code>xs:string</code> gibt + jenes Modell an, das von MOA SP für die + Prüfung von konstruierten Zertifikatsketten zu verwenden ist, die im mittels <code>cfg:Identification/dsig:X509IssuerName</code> und <code>cfg:Identification/dsig:X509SerialNumber</code> angegebenen + Vertrauensanker münden. Gültige Werte sind <code>chaining</code> (Kettenmodell) + oder <code>pkix</code> (Schalenmodell).</li> + </ul> + </li> + </ul> </td> + </tr> + </table> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_pathvalidation_trustprofile" id="konfigurationsparameter_sp_certificatevalidation_pathvalidation_trustprofile"></a>2.3.1.2.2 Vertrauensprofile </h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation/cfg:TrustProfile</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>einmal bis unbeschränkt oft (zumindest ein Vertrauensprofil muss vorhanden sein) </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Das Element <code>cfg:</code><code>TrustProfile</code> wird dazu verwendet, um in MOA SP ein Vertrauensprofil + für die Signaturprüfung einzurichten. Ein Vertrauensprofil besteht aus einer Menge von Vertrauensankern + und einer optionalen Menge von explizit erlaubten Signatorzertifikaten. </p> + <p>Ein Vertrauensanker ist ein CA-Zertifikat, das explizit als vertrauenswürdig eingestuft wird. + MOA SP versucht bei der Konstruktion einer Zertifikatskette, einen Pfad vom Signatorzertifikat bis + hin zu einem der konfigurierten Vertrauensanker zu finden. Gelingt dies, wird auch das Signatorzertifikat + als vertrauenswürdig betrachtet, ansonsten nicht. </p> + <p>Wird neben der Menge von Vertrauensankern auch noch eine Menge von explizit erlaubten Signatorzertifikaten + angegeben, prüft MOA SP nicht nur, ob sich ein Pfad vom Signatorzertifikat zu einem konfigurierten + Vertrauensanker konstruieren lässt, sondern darüber hinaus auch noch, ob das Signatorzertifikat + aus der zu prüfenden Signatur in der Menge der explizit erlaubten Signatorzertifikate vorkommt. + Explizit erlaubte Signatorzertifikate sollten Sie dann konfigurieren, wenn nicht allen von einer + als Vertrauensanker konfigurierten CA ausgestellten Zertifikaten vertraut werden soll, sondern nur + ganz bestimmten Zertifikaten dieser CA. </p> + <p>In MOA SP können beliebig viele solcher Vertrauensprofile konfiguriert werden. Der Kunde von + MOA SP gibt im Request zur Signaturprüfung an, gegen welches Vertrauensprofil MOA SP die Zertifikatsprüfung + vornehmen soll.</p> + <p>Das Element <code>cfg:</code><code>TrustProfile</code> weist folgende Kindelemente + auf:</p> + <ul> + <li><code>Id</code>: Dieses obligatorische Element vom Typ <code>xs:token</code> enthält einen + frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei + eindeutig sein muss. Dieser Identifikator wird im Request zur Signaturprüfung verwendet, um + das zu verwendende Vertrauensprofil auszuwählen. </li> + <li>Element <code>TrustAnchorsLocation</code>: Dieses obligatorische Element vom Typ <code>xs:anyURI </code> enthält + eine relative oder absolute URL, die ein Verzeichnis im lokalen Dateisystem referenziert. + Eine relative URL wird relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale + Konfigurationsdatei gespeichert ist. Eine absolute URL muss als Protokoll-Teil <code>file</code> verwenden. + Das referenzierte Verzeichnis muss eine oder mehrere DER-kodierte Zertifikatsdateien beinhalten. + Jede Zertifikatsdatei repräsentiert einen Vertrauensanker. </li> + <li>Element <code>SignerCertsLocation</code>: Dieses optionale Element vom Typ <code>xs:anyURI </code> enthält + eine relative oder absolute URL, die ein Verzeichnis im lokalen Dateisystem referenziert. Eine + relative URL wird relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei + gespeichert ist. Eine absolute URL muss als Protokoll-Teil <code>file</code> verwenden. Das referenzierte + Verzeichnis muss eine oder mehrere DER-kodierte Zertifikatsdateien beinhalten. Jede Zertifikatsdatei + repräsentiert ein explizit erlaubtes Signatorzertifikat. </li> + </ul></td> + </tr> + </table> + <h4><a name="konfigurationsparameter_sp_certificatevalidation_revocationchecking" id="konfigurationsparameter_sp_certificatevalidation_revocationchecking"></a>2.3.1.3 + Widerrufsprüfung</h4> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_revocationchecking_enablechecking" id="konfigurationsparameter_sp_certificatevalidation_revocationchecking_enablechecking"></a>2.3.1.3.1 Aktivieren + der Widerrufsprüfung</h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code> cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:EnableChecking</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>genau einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Der Inhalt dieses Elements vom Typ <code>xs:boolean</code> gibt an, ob bei der Zertifikatsüberprüfung im Zuge einer Signaturprüfung auch der + Zertifikatsstatus jedes einzelnen Zertifikats des gebildeten Zertifikatspfads überprüft werden + soll. </p> + <p class="remark">Bitte beachten Sie: Die Widerrufsprüfung ist ein sehr wichtiger Schritt der + Zertifikatsüberprüfung und somit der Signaturprüfung. Eine Deaktivierung sollte nur + in begründeten Ausnahmefällen in Erwägung gezogen werden, z.B. für Testsituationen. </p> + <p>Zulässige Werte für diesen Parameter sind <code>true</code> oder <code>false</code>.</p> </td> + </tr> + </table> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_revocationchecking_maxrevocationage" id="konfigurationsparameter_sp_certificatevalidation_revocationchecking_maxrevocationage"></a>2.3.1.3.2 + Maximales Alter der Widerrufsinformation </h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code> cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:MaxRevocationAge</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>genau einmal</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Der Inhalt dieses Elements vom Typ <code>xs:integer</code> gibt an, wie aktuell eine ggf. lokal + gespeicherte Widerrufsinformation sein muss, damit sie von MOA SP als gültig angesehen wird. Ist + die lokal gespeicherte Widerrufsinformation nicht aktuell genug, wird sie von MOA SP erneut aus dem + Internet geladen.</p> + <p>Dieser Parameter wird nur ausgewertet, wenn die Widerrufsprüfung aktiviert ist (siehe Parameter <code>cfg:EnableChecking</code>). </p> + <p>Zulässige Werte für diesen Parameter sind ganze Zahlen: </p> + <ul> + <li>Ein beliebiger negativer Wert bedeutet, dass eine Widerrufsinformation jedes Mal, wenn sie benötigt + wird, neu aus dem Internet geladen wird. </li> + <li>Der Wert <code>0</code> bedeutet, dass eine Widerrufsinformation dann neu geladen wird, wenn + das Datum im Feld <code>nextUpdate</code> der entsprechenden Widerrufsliste bereits überschritten + ist.</li> + <li>Ein positiver Wert gibt gibt die Zeitspanne in Millisekunden an, nach der eine ggf. vorhandene + lokale Widerrufsinformation spätestens durch erneutes Laden aus dem Internet aktualisiert + wird.</li> + </ul> </td> + </tr> + </table> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_revocationchecking_serviceorder" id="konfigurationsparameter_sp_certificatevalidation_revocationchecking_serviceorder"></a>2.3.1.3.3 + Reihenfolge der Widerrufsdienste</h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code> cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:ServiceOrder</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal oder einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Dieses Element gibt an, in welcher Reihenfolge MOA SP die Widerrufsdienste für die Prüfung des + Widerrufs für ein Zertifikat kontaktieren soll, wenn für das Zertifikat mehrere unterschiedliche Widerrufsdienste + (CRL, OCSP) verfügbar sind. Das Element weist folgendes Kindelement auf: </p> + <ul> + <li><code>cfg:Service</code>: Dieses Element vom Typ <code>xs:token</code> muss genau ein oder zwei mal vorkommen. Gütlige Werte für den + Textinhalt des Elements sind <code>OCSP</code> und <code>CRL</code>. Damit kann entweder die Reihenfolge (CRL, OCSP) oder (OCSP, + CRL) festgelegt werden. Wird nur ein Element angegeben, so wird auch nur der jeweilige Dienst verwendet. </li> + </ul> <p>Wird das Element nicht angegeben, so lautet die von MOA SP dann verwendete Default-Reihenfolge (CRL, + OCSP).</p> </td> + </tr> + </table> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_revocationchecking_archiving" id="konfigurationsparameter_sp_certificatevalidation_revocationchecking_archiving"></a>2.3.1.3.4 + Archivierung von Widerrufsinformationen</h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code> cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:EnableArchiving</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>genau einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Der Inhalt dieses Elements vom Typ <code>xs:boolean</code> gibt an, ob mittlerweile ungültig + gewordene (i.e. historische) CRL-Widerrufsinformationen von MOA SP archiviert werden soll. </p> + <p>Wird dieser + Parameter auf den Wert <code>true</code> gesetzt, muss auch der Parameter <code>cfg:Archive</code> (siehe + unten) angegeben werden. Zulässige Werte für diesen Parameter sind <code>true</code> oder <code>false</code>.</p> </td> + </tr> + </table> + + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:ArchiveDuration</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal oder einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Dieses Element vom Typ <code>xs:nonNegativeInteger</code> gibt (in Tagen) an, wie lange Widerrufsinformationen + von MOA SP archiviert werden müssen. Das Element wird von MOA SP nur dann ausgewertet, wenn der + Konfigurationsparameter <code>cfg:EnableArchiving</code> auf + true gesetzt ist. </p> + <p>Wird das Element nicht angegeben, so verwendet MOA SP den Default-Wert von 365 Tagen.</p> </td> + </tr> + </table> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td> Name </td> + <td><code> cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:Archive</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal oder einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>Dieses Element gibt an, welches Archiv MOA SP zur Archivierung von mittlerweile ungültig + gewordene (i.e. historische) CRL-Widerrufsinformationen verwenden soll, falls der Konfigurationsparameter <code>cfg:EnableArchiving</code> auf + <code>true</code> gesetzt ist. Es muss angegeben werden, wenn der + Konfigurationsparameter <code>cfg:EnableArchiving</code> auf true gesetzt ist. Das Element weist folgendes + Kindelement auf:</p> + <ul> + <li><code>cfg:DatabaseArchive</code>: Dieses obligatorische Element dient zur Angabe der notwendigen + Informationen für die Benutzung eines datenbankbasierten CRL-Archivs durch MOA SP. Das Datenbankarchiv + ist die einzige derzeit unterstützte Archivform. Das Element weist folgende Kindelemente auf: + <ul> + <li> <code>cfg:JDBCURL</code>: Dieses obligatorische Element vom Typ <code>xs:anyURI</code> gibt + die JDBC-URL zu jener Datenbank an, in der MOA historische Widerrufsinformationen archivieren + soll. Der genaue Aufbau der JDBC-URL ist abhängig von der verwendeten Datenbank. Im Fall von + PostgreSQL kann folgende URL verwendet werden: + <pre>jdbc:postgresql://<host>/<moadb>?user=<moauser>&amp;password=<moapassword></pre> + <p> Die Platzhalter <code><host></code>, <code><moadb></code>, <code><moauser></code> und <code><moapassword></code> müssen + dabei an die tatsächlich verwendete Datenbank angepasst werden.</p> + <p class="remark"> Bitte beachten Sie: Die Kodierung des Zeichens "&" als "&amp;" ist + erforderlich, da es andernfalls zu einem Validierungsfehler beim Parsen der XML-Konfigurationsdatei + durch MOA kommen würde.</p> + <p class="remark"> Bitte beachten Sie: MOA SP legt eigenständig eine passende Tabelle in der angegebenen + Datenbank an und befüllt diese dann in weiterer Folge. Der in der JDBC-URL angegebene Benutzer + muss mit den dazu passenden Rechten ausgestattet sein. </p> + </li> + <li><p><code>cfg:JDBCDriverClassName</code>: Dieses obligatorische Element vom Typ <code>xs:token</code> gibt den + vollständig + qualifizierten Java-Klassennamen des JDBC-Treibers an, der von MOA SP zur Ansprache der für + die CRL-Archivierung zu verwendenden Datenbank benützt werden soll.</p> + <p class="remark">Bitte beachten Sie: Informationen zum Anlegen einer Datenbank in postgreSQL finden Sie in <a href="../install/install.html#webservice_erweiterungsmöglichkeiten_datenbank_postgresql">Abschnitt + 2.2.2.1</a> des Installationshandbuchs.</p> + </li> + </ul> + </li> + </ul> </td> + </tr> + </table> + <h5><a name="konfigurationsparameter_sp_certificatevalidation_revocationchecking_distributionpoint" id="konfigurationsparameter_sp_certificatevalidation_revocationchecking_distributionpoint"></a>2.3.1.3.5 + Manuelle Konfiguration von Verteilungspunkten für Widerrufsinformationen</h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:DistributionPoint</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal bis unbeschränkt oft </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p> Das Element <code>cfg:</code><code>CRLDistributionPoint</code> kann dazu verwendet werden, manuelle + Verteilungspunkte für Widerrufsinformationen einer bestimmten CA zu konfigurieren. </p> + <p>Dies macht für veraltete Zertifikate Sinn, die nicht den aktuellen Vorgaben aus dem PKIX RFC 3280 entsprechen und im Zertifikat selbst keine Zertifikatserweiterung mit einem solchen Verteilungspunkt enthalten.</p> + <p>Weiters kann diese manuelle Konfiguration verwendet werden, wenn die in einem Zertifikat enthaltenen Verteilungspunkte für eine bestimmte CA durch einen manuellen Eintrag überschrieben werden soll (etwa weil die im Zertifikat enthaltenen Verteilungspunkte in Form von ldap-URLs angegeben sind, MOA SP aber der Zugriff auf ldap-URLs per Firewall-Einstellungen untersagt ist; dann könnte man stattdessen manuell eine (lokale) http-URL als Verteilungspunkt angeben, die von MOA SP dann aufgelöst werden kann). </p> + <p>Das Element weist folgende Kind-Elemente auf:</p> + <ul> + <li>Element <code>cfg:CAIssuerDN</code>: Dieses Element enthält als Textinhalt vom Typ <code>xs:string</code> den + Namen jener CA, die das Zertifikat ausgestellt hat, dessen Widerruf mit Hilfe des zu konfigurierenden + Verteilungspunktes geprüft werden soll. Um zu diesem Wert zu kommen, können Sie auch + hier das Script <code>certtool</code> (vergleiche Abschnitt<a href="#konfigurationsparameter_ss_keygroup"> 2.2.2</a>) + verwenden, in dem Sie es für das Zertifikat anwenden, dessen Widerruf mit Hilfe des zu konfigurierenden + Verteilungspunktes geprüft werden soll.</li> + <li>Element <code>cfg:CRLDP</code>: Dieses Element verweist auf einen Verteilungspunkt, an dem eine + Widerrufsliste abgeholt werden kann. Es weist folgende Kind-Elemente auf: + <ul> + <li>Element<code> cfg:Location</code>: Der Wert dieses obligatorischen Elements vom Typ<code> xs:anyURI</code> enthält + die URL für den zu konfigurierenden Verteilungspunkt. Es werden die Protokolle HTTP, HTTPS + und LDAP unterstützt.</li> + <li>Element<code> cfg:ReasonCode</code>: Dieses Element vom Typ <code>xs:token</code> kann + null mal bis unbeschränkt + oft vorkommen und enthält + jeweils einen laut PKIX RFC 3280 möglichen Grund eines Widerrufs, + für + welche die über den zu konfigurierenden Verteilungspunkt zu beziehende Widerrufsliste + ausgestellt ist. Gültige Gründe sind <code>unused</code>, <code>keyCompromise</code>, <code>cACompromise</code>, <code>affiliationChanged</code>, <code>superseded</code>, <code>cessationOfOperation</code>, <code>certificateHold</code>, <code>privilegeWithdrawn</code> und <code>aACompromise</code>. + Wird eine Widerrufsliste für mehrere Gründe ausgestellt, muss also das Element <code>cfg:ReasonCode</code> mehrmals + angegeben werden. Wird das Element null mal angegeben, gilt der Verteilungspunkt für alle möglichen + Widerrufsgründe.</li> + </ul> + </li> + <li>Element <code>cfg:OCSPDP</code>: Dieses Element verweist auf einen Verteilungspunkt, an dem die + Widerrufsinformation von einem OCSP-Responder bezogen werden kann. Es weist folgendes Kind-Element + auf: + <ul> + <li></li> + </ul> + Element<code> cfg:Location</code>: Der Wert dieses obligatorischen Elements vom Typ<code> xs:anyURI</code> enthält + die URL für den zu konfigurierenden Verteilungspunkt. Es werden die Protokolle HTTP, HTTPS und + LDAP unterstützt.</li> + </ul> + <p>Hinweis: Die Elemente <code>cfg:CRLDP</code> bzw. <code>cfg:OSCPDP</code> können beliebig oft als Kinder von <code>cfg:CRLDistributionPoint</code> angegeben + werden. Die Reihenfolge spielt dabei keine Rolle. Jedenfalls muss aber eines dieser beiden Elemente + angegeben werden. </p></td> + </tr> + </table> + +<h5><a name="konfigurationsparameter_sp_certificatevalidation_revocationchecking_crlretention" id="konfigurationsparameter_sp_certificatevalidation_revocationchecking_crlretention"></a>2.3.1.3.6 + Konfiguration CRL Retention Intervallen </h5> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:CrlRetentionIntervals</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null oder einmal </td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>Das Element <code>cfg:</code><code>CrlRetentionIntervals</code> kann + dazu verwendet werden, um Retention Intervalle für bestimmte CAs zu + konfigurieren. <br /> + Gemäß <a href="http://www.ietf.org/rfc/rfc5280.txt" target="_blank">RFC 5280</a> + muss ein widerrufenes Zertifikat solange auf Widerrufslisten + aufscheinen, bis das Zertifikat abgelaufen ist und noch eine CRL-Periode + darüber hinaus. Auf allen weiteren CRLs muss das Zertifikat nicht mehr + geführt werden. Daraus folgt, dass MOA SP für abgelaufene Zertifikate in + der Regel keine CRL-Statusabfrage durchführen kann, da nicht sichergestellt + ist, dass eine aktuell geladene Widerrufssliste für derartige + Zertifikate noch adeqaute Widerrufsinformationen enthält. <br /> + Garantiert eine CA jedoch, dass widerrufene Zertifikate noch über deren + Ablauf hinaus auf der Widerrufsliste geführt werden, so kann für diese + CA ein Retention Intervall definiert werden. <p /> + Das <code>cfg:</code><code>CrlRetentionIntervals</code> Element weist folgendes Kind-Element auf:</p> + <ul> +<li>Element <code>cfg:CA</code>: Dieses Element legt ein Retention Intervall für eine CA fest und kann beliebig oft vorkommen. Es weist folgende Kind-Elemente auf:</li> +<ul> +<li>Element <code>cfg:X509IssuerName</code>: Dieses Element vom Typ <code>xs:string</code> muss einmal vorkommen und definiert die entsprechende CA über einen RFC2253 String. Das (im folgenden Element) festgelegte Intervall wird für alle Widerrufslisten, die von dieser CA ausgestellt werden, verwendet.</li></li> +<li>Element <code>cfg:Interval</code>: Dieses Element vom Typ <code>xs:integer</code> muss einmal vorkommen und enthält das Retention Intervall. Es gibt den Zeitraum in Tagen an, über +den widerrufene Zertifikate über deren Ablauf hinaus auf Widerrufslisten geführt werden. +Wird der Wert auf -1 gesetzt, dann bedeutet das ein unendlich langes Intervall. In diesem Fall wird ein widerrufenes Zertifikat niemals von den Widerrufslisten entfernt.<br /> +</ul> +</ul> + </td> + </tr> + </table> + + + <h3><a name="konfigurationsparameter_sp_verifytransformsinfoprofile" id="konfigurationsparameter_sp_verifytransformsinfoprofile"></a>2.3.2 Profil für Transformationen</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:VerifyTransformsInfoProfile</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal bis unbeschränkt oft</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>MOA SP erlaubt die Hinterlegung eines vordefinierten Profils für eine erlaubte Transformationsfolge, + deren Einhaltung im Rahmen einer XML-Signaturprüfung kontrolliert wird. Im Request + zur XML-Signaturprüfung reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die + gesamten Transformationen explizit anzugeben. </p> + <p><code>cfg:VerifyTransformsInfoProfile</code> enthält für ein bestimmtes Datenobjekt für + eine zu prüfende XML-Signatur eine + für dieses Datenobjekt erlaubte Transformationsfolge, bestehend aus den anzuwendenden Transformationen, + sowie allenfalls für die Durchführung der Transformationen erlaubte implizite Transformationsparameter + (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).</p> + <p><code>cfg:</code><code>VerifyTransformsInfoProfile</code> weist folgende obligatorische Kindelemene + auf: </p> + <ul> + <li>Element<code> Id</code>: Dieses Element<code></code> vom Typ <code>xs:token</code> enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Prüfung + der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element <code>moa:</code><code>VerifyTransformsInfoProfileID</code>). </li> + <li>Element<code></code> <code>Location</code>: Dieses Element<code></code> vom Typ <code>xs:anyURI</code> enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI wird von MOA SP als File-URI relativ zum Lage jenes Verzeichnisses + interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als + Wurzelelement das Element<code> moa:VerifyTransformsInfoProfile </code>enthalten.</li> + </ul></td> + </tr> + </table> + <h3><a name="konfigurationsparameter_sp_supplementprofile" id="konfigurationsparameter_sp_supplementprofile"></a>2.3.3 Profil für Ergänzungsobjekte</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:SupplementProfile</code></td> + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal bis unbeschränkt oft</td> + </tr> + <tr> + <td>Erläuterung</td> + <td><p>MOA SS erlaubt die Hinterlegung eines vordefinierten Profils für ein Ergänzungsobjekt, + das im Rahmen einer XML-Signaturprüfung verwendet werden soll. Im Request zur XML-Signaturprüfung reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die Informationen zur Signaturumgebung + explizit anzugeben. </p> + <p><code>cfg:SupplementProfile</code> enthält für ein Datenobjekt in der zu prüfenden + XML-Signatur ein allenfalls für die Durchführung der vorgegebenen Transformationen notwendiges + Ergänzungsobjekt (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).</p> + <p><code>cfg:</code><code>SupplementProfile</code> weist folgende obligatorische Kindelemene auf: </p> + <ul> + <li>Element<code> Id</code>: Dieses Element<code></code> vom Typ <code>xs:token</code> enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Prüfung + der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element <code>moa:</code><code>SupplementProfileID</code>). </li> + <li>Element<code></code> <code>Location</code>: Dieses Element<code></code> vom Typ <code>xs:anyURI</code> enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI wird von MOA SP als File-URI relativ zum Lage jenes Verzeichnisses + interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als + Wurzelelement das Element<code> moa:SupplementProfile </code>enthalten.</li> + </ul></td> + </tr> + </table> + <h3><a name="konfigurationsparameter_sp_permitfileuris" id="konfigurationsparameter_sp_permitfileuris"></a>2.3.4 file-URIs</h3> + <table class="fixedWidth" border="1" cellpadding="2"> + <tr> + <td>Name</td> + <td><code>cfg:SignatureVerification/cfg:PermitFileURIs</code></td> + + </tr> + <tr> + <td>Gebrauch</td> + <td>Null mal oder einmal</td> + </tr> + <tr> + <td>Erläuterung</td> + + <td><p>Der Inhalt dieses Elements vom Typ <code>xs:boolean</code> gibt an, ob file-URIs innerhalb von MOA-SP zugelassen werden sollen. In MOA-SS werden file-URIs strikt verboten.</p> + <p class="remark">Bitte beachten Sie: Das Erlauben von file-URIs birgt Sicherheitsrisikien. Eine Deaktivierung sollte nur in begründeten Ausnahmefällen in Erwägung gezogen werden. </p> + <p class="remark">Bitte beachten Sie: Es werden keine file-URIs in Ergänzungsobjekten unterstützt.</p> + <p>Zulässige Werte für diesen Parameter sind <code>true</code> oder <code>false</code>. Wird dieses Element nicht angegeben, so nimmt MOA den Wert <code>false</code> an.</p> + </td> + </tr> + </table> + <h1><a name="beispielkonfigurationen"></a>3 Beispielkonfigurationen</h1> + <h2><a name="beispielkonfigurationen_minss" id="beispielkonfigurationen_minss"></a>3.1 Minimale Konfiguration für MOA SS</h2> + <p>Nachfolgend finden Sie eine zentrale Konfigurationsdatei mit den minimal notwendigen Einträgen für + den alleinigen Betrieb von MOA SS. Darin sind als Kinder des Wurzelelements <code>cfg:MOAConfiguration</code> folgende + Konfigurationselemente enthalten:</p> + <ul> + <li>Ein Software-Schlüsselspeicher (<code>cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule</code>);</li> + <li>Eine Schlüsselgruppe (<code>cfg:SignatureCreation/</code><code>cfg:KeyGroup</code>);</li> + <li>Eine Zuordnung dieser Schlüsselgruppe für einen bestimmten Kunden (<code>cfg:SignatureCreation/cfg:KeyGroupMapping</code>). </li> + </ul> + <p><a href="../../../conf/moa-spss/ss.minimum.config.xml">Minimale Konfiguration für MOA SS</a> </p> + <h2><a name="beispielkonfigurationen_minsp" id="beispielkonfigurationen_minsp"></a>3.2 Minimale Konfiguration für MOA SP</h2> + <p>Nachfolgend finden Sie eine zentrale Konfigurationsdatei mit den minimal notwendigen Einträgen für + den alleinigen Betrieb von MOA SP. Darin sind als Kinder des Wurzelelements <code>cfg:MOAConfiguration</code> folgende + Konfigurationselemente enthalten:</p> + <ul> + <li>Einstellungen betreffend die Konstruktion des Zertifikatspfades (<code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction</code>);</li> + <li>Einstellungen betreffend die Validierung des Zertifikatspfades (<code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation</code>), + unter anderem ein Vertrauensprofil (<code>cfg:TrustProfile</code>);</li> + <li>Einstellungen betreffend die Widerrufsprüfung von Zertifikaten des Zertifikatspfades (<code>cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking</code>) . </li> + </ul> + <p><a href="../../../conf/moa-spss/sp.minimum.config.xml">Minimale Konfiguration für MOA SP</a> </p> + <h2><a name="beispielkonfigurationen_typspss" id="beispielkonfigurationen_typspss"></a>3.3 Typische Konfiguration für MOA SP/SS</h2> + <p>Nachfolgend finden Sie eine typische zentrale Konfigurationsdatei mit Einträgen für den kombinierten Betrieb von MOA SP und SS. Diese Datei wird auch als Konfiguration von MOA SP und SS verwendet, die für das Ausführen der Beispiele des <a href="../usage/usage.html">Anwenderhandbuchs</a> notwendig ist.</p> + <p><a href="../../../conf/moa-spss/spss.config.xml">Typische Konfiguration für MOA SP/SS</a> </p> + <p> </p> +</body> +</html> diff --git a/spss/handbook/handbook/faq/faq.html b/spss/handbook/handbook/faq/faq.html new file mode 100644 index 000000000..00e005a02 --- /dev/null +++ b/spss/handbook/handbook/faq/faq.html @@ -0,0 +1,126 @@ +<!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>MOA SS und SP - FAQ</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" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> + <td align="center" class="logoTitle">Open Source<br> + für das E-Government</td> + <td align="center" class="logoTitle" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" width="123" height="138" align="right"></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.5</a></p> + <p class="subtitle">FAQ</p> + <hr/> + <h1>Inhalt</h1> + <ol> + <li> + <p><a href="#allgemeines">Allgemeines</a></p> + </li> + <li> + <p><a href="#uebersicht_fragen">Übersicht der Fragen </a></p> + </li> + <li> + <p><a href="#antworten">Antworten</a></p> + </li> + </ol> +<hr/> + <h1><a name="allgemeines"></a>1 Allgemeines</h1> + <p> Dieses Dokument enthält eine Reihe von häufig gestellten Fragen zu Installation, Konfiguration und Verwendung von MOA Serversignatur (SS) und Signaturprüfung (SP). </p> + <h1><a name="uebersicht_fragen" id="uebersicht_fragen"></a>2 Übersicht der Fragen </h1> + <h2> Installation</h2> + <ol> + <li>Beim Starten von MOA SPSS tritt folgende Exception auf: <code>java.lang.ClassCastException: iaik.asn1.structures.Name</code>. Was kann der Fehler sein? [<a href="#installation_1">Zur Antwort</a>]</li> + <li>Ich möchte MOA SS/SP in einer Umgebung betreiben, die einen Internet-Zugang nur über einen Proxy erlaubt. Funktioniert das? [<a href="#installation_1">Zur Antwort</a>] </li> + </ol> + <h2>Konfiguration</h2> + <ol> + <li>Ich möchte gerne die CRL-Archivierung von MOA verwenden, möchte aber eine andere als die in der Konfiguration erwähnte postgreSQL-Datenbank verwenden. Geht das? [<a href="#konfiguration_1">Zur Antwort</a>]</li> + <li>Ich möchte ein Zertifikat (z.B. einer Zwischen-Zertifizierungsstelle) manuell in den internen Zertifikatsspeicher von MOA SP importieren. Wie funktioniert das? [<a href="#konfiguration_2">Zur Antwort</a>]</li> + <li>Meine bestehende Konfigurationsdatei funktioniert mit MOA SP/SS 1.3 oder höher nicht mehr. Was ist passiert? + [<a href="#konfiguration_3">Zur Antwort</a>]</li> + </ol> + <h2>Verwendung</h2> + <ol> + <li>Bei der Prüfung einer Signatur liefert die Prüfung des Zertifikatsstatus den Code 1. Was kann der Fehler sein? [<a href="#verwendung_1">Zur Antwort</a>] </li> + </ol> + <h1><a name="antworten" id="antworten"></a>3 Antworten</h1> + <h2>Installation</h2> + <ol> + <li class="faq"><div class="faq-question"><a name="installation_1"></a>Beim Starten von MOA SPSS tritt folgende Exception auf: <code>java.lang.ClassCastException: iaik.asn1.structures.Name</code>. Was kann der Fehler sein?</div> + <p>Auf Grund einer mangelhaften Implementierung in einigen Versionen des JDK 1.3.1 kann es beim Betrieb von MOA zu folgendem Problem kommen: Sun macht in der Implementierung von <code>PKCS7.getCertificate()</code> einen Downcast vom Interface<code> java.security.Principal</code> auf die eigene Implementierung, was zu einer <span class="term">ClassCastException</span> führt, wenn der JCE-Provider von Sun nicht an erster Stelle in der List der Security-Provider installiert ist. MOA geht nun aber so vor, dass der JCE-Provider des IAIK an die erste Stelle installiert wird, wenn er zum Zeitpunkt der Konfiguration noch nicht installiert war. Wird dann von irgendeinem ClassLoader der jar-Verifier benützt, wird <code>PKCS7.getCertificate()</code> verwendet, und es kommt zu einer <span class="term">ClassCastException</span>. </p> + <p>Wird MOA über die API-Schnittstelle verwendet, ist ein Workaround die manuelle Installation des IAIK-JCE-Providers nach dem Sun JCE-Provider (etwa an die letzte Stelle), bevor die MOA-Konfiguration aufgerufen wird. Bei Verwendung der Webservices ist die Möglichkeit der statischen Konfiguration der JCE-Provider mittels Angabe in der Datei <code>$JAVA_HOME/jre/lib/security/java.security</code> der einzige bekannte Workaround. Hierzu müssen die Einträge </p> + <pre> security.provider.1=sun.security.provider.Sun + security.provider.2=com.sun.rsajca.Provider </pre> + <p>durch folgenden Eintrag ergänzt werden:</p> + <pre>security.provider.3=iaik.security.provider.IAIK</pre> + </li> + <li class="faq"> + <div class="faq-question"><a name="installation_2" id="installation_2"></a>Ich möchte MOA SS/SP in einer Umgebung betreiben, die einen Internet-Zugang nur über einen Proxy erlaubt. Funktioniert das?</div> + <p>Ja, zumindest für Zugriffe über HTTP. Sie müssen dazu die nachfolgenden JAVA System-Properties setzen:</p> + <pre>http.proxyHost=<proxyhost> +http.proxyPort=<proxyport> +http.nonProxyHosts="<exceptionhosts>"</pre> + <p><code><proxyhost></code> gibt den Namen oder die IP-Adresse des Proxies an.</p> + <p><code><proxyport></code> gibt den Port des Proxies an.</p> + <p><code><exceptionhosts></code> enthält eine Liste von Rechnernamen, die nicht über den Proxy laufen sollen. Jedenfalls müssen sie hier <code>localhost</code> angeben. Einzelne Namen sind durch eine Pipe (<code>|</code>) zu trennen. Bitte beachten Sie, dass IP-Addressen nicht angegeben werden dürfen, sowie die verpflichtend zu verwendenen Anführungszeichen.<br> + </p> + </li> + </ol> + <h2>Konfiguration</h2> + <ol> + <li class="faq"><div class="faq-question"><a name="konfiguration_1" id="konfiguration_1"></a>Ich möchte gerne die CRL-Archivierung von MOA verwenden, möchte aber eine andere als die in der Konfiguration erwähnte postgreSQL-Datenbank verwenden. Geht das?</div> + <p>Ja, das ist möglich. Wenn Sie eine mySQL-Datenbank verwenden möchten, sind folgende Maßnahmen zu treffen:</p> + <ul> + <li><a href="http://www.mysql.com/downloads/api-jdbc.html">Laden</a> Sie den mySQL-JDBC-Connector herunter und fügen Sie das im Download enthaltene jar-File <code>mysql-connector-java-3.x.x-stable-bin.jar</code> zum Klassenpfad für MOA SPSS hinzu.</li> + <li>Geben Sie im MOA-Konfigurationsfile mit Hilfe des generischen Konfigurationsparameters <code>DataBaseArchiveParameter.JDBCUrl</code> eine gültige JDBC-URL zu Ihrer mySQL-Datenbank angeben. Hinweise zum Format dieser URL für mySQL finden Sie <a href="http://www.mysql.com/documentation/connector-j/index.html">hier</a>. </li> + </ul> + <p>Wenn Sie eine andere Datenbank verwenden möchten, beispielsweise Oracle, gehen Sie sinngemäß wie oben vor und setzen zusätzlich noch folgenden Schritt:</p> + <ul> + <li>Geben Sie im MOA-Konfigurationsfile mit Hilfe des generischen Konfigurationsparameters <code>DataBaseArchiveParameter.JDBCDriverClass</code> den vollständig qualifizierten Klassennamen des JDBC-Treibers an, der die Verbindung zu Ihrer Datenbank herstellt. </li> + </ul> + </li> + <li class="faq"> + <div class="faq-question"><a name="konfiguration_2" id="konfiguration_2"></a>Ich möchte ein Zertifikat (z.B. einer Zwischen-Zertifizierungsstelle) manuell in den internen Zertifikatsspeicher von MOA SP importieren. Wie funktioniert das?</div> + <p>Sie können für diesen Zweck ein mit MOA SP/SS mitgeliefertes Kommandozeilen-Tool verwenden, das Sie im Verzeichnis <code>$MOA_SPSS_INST/tools</code> finden. Wechseln Sie zu diesem Verzeichnis und rufen Sie die Script-Datei <code>certtools.bat</code> bzw. <code>certtools.sh</code> (je nach Betriebssystem) auf. Achten Sie darauf, dass die Umgebungsvariable <code>$JAVA_HOME</code> korrekt gesetzt ist. Die Syntax für dieses Tool lautet:</p> + <pre>certtool -add <cert> <store></pre> + <p><code><cert></code> bezeichnet dabei Pfad und Dateiname des zu importierenden X509-Zertifikats. Das Zertifikat muss DER-kodiert vorliegen.</p> + <p><code><store></code> bezeichnet den Pfad des internen Zertifikatsspeichers von MOA SP. Wenn Sie nach der Installationsanleitung vorgegangen sind, lautet dieser Pfad <code>$CATALINA_HOME/conf/moa-spss/certstore</code>.</p> + </li> + <li class="faq"> + <div class="faq-question"><a name="konfiguration_3" id="konfiguration_3"></a> + Meine bestehende Konfigurationsdatei + funktioniert mit MOA SP/SS 1.3 oder höher nicht mehr. Was ist passiert?</div> + <p>Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues, übersichtlicheres Format für die + XML-Konfigurationsdatei. </p> + <p>Wenn Sie von einer älteren Version von MOA SP/SS auf die Version 1.3 wechseln und Ihre bestehende + Konfiguration beibehalten wollen, steht Ihnen ein einfaches Kommandozeilenwerkzeug zur Verfügung, mit + dem Sie Ihre Konfigurationsdatei vom bisherigen auf das neue Format migrieren können.</p> + <p>Informationen zur Verwendung des Werkzeugs finden Sie in <a href="../config/config.html#übersicht_zentraledatei_aktualisierung">Abschnitt 1.2.1</a> des Konfigurationshandbuchs. </p> + </li> + </ol> + <h2>Verwendung</h2> + <ol> + <li class="faq"><div class="faq-question"><a name="verwendung_1" id="verwendung_1"></a>Bei der Prüfung einer Signatur liefert die Prüfung des Zertifikatsstatus den Code 1. Was kann der Fehler sein? </div> + <p>Dieser Fehlercode bedeutet: Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden. Das kann grundsätzlich eine der beiden folgenden Ursachen haben:</p> + <ul> + <li>Keines der Zertifikate in der Kette vom Signatorzertifikat bis zu einem selbstsignierten Wurzelzertifikat ist im anzuwendenden <span class="term">TrustProfile</span> enthalten. </li> + <li>Die Zertifikatskette konnte nicht bis zu einem im anzuwendenden <span class="term">TrustProfile</span> enthaltenen vertrauenswürdigen Zertifikat gebildet werden. </li> + </ul> + <p>Prüfen Sie also zunächst, ob sie im anzuwendenden <span class="term">TrustProfile</span> ein passendes vertrauenswürdiges Zertifikat konfiguriert haben. Das kann beispielsweise das Zertifikat jener CA sein, die das Signatorzertifikat ausgestellt hat, oder aber auch das Zertifikat einer CA weiter oben in der Hierarchie des Zertifizierungsdiensteanbieters, beispielsweise das selbstsignierte Wurzelzertifikat.</p> + <p>Wenn diese Prüfung das Problem nicht behebt, gelingt des MOA SP vermutlich nicht, ein für die Bildung der Zertifikatskette notwendiges Zertifikat zu lokalisieren. Mögliche Gründe sowie Lösungsmöglichkeiten dafür sind:</p> + <ul> + <li>Das aktuell letzte Zertifikat in der bereits gebildeten Zertifikatskette besitzt zwar die Zertifikatserweiterung <span class="term">AuthorityInformationAccess</span> mit einem Hinweis auf das nächste Zertifikat der zu bildenden Kette, das darin per URL referenzierte Zertifikat kann jedoch nicht geladen werden. Prüfen Sie daher zunächst, ob MOA SP/SS per HTTP oder LDAP Zugriffe nach außen tätigen darf. </li> + <li>Das aktuell letzte Zertifikat in der bereits gebildeten Zertifikatskette besitzt keine Zertifikatserweiterung <span class="term">AuthorityInformationAccess</span> mit einem Hinweis auf das nächste Zertifikat der zu bildenden Kette, und auch im internen Zertifikatsspeicher von MOA SP ist das nächste Zertifikat nicht enthalten. Ist Ihnen das nächste Zertifikat bekannt (z.B. durch manuellen Download von der Webseite des Zertifizierungsdiensteanbieters), können Sie es manuell in den internen Zertifikatsspeicher importieren. Eine Anleitung dazu finden Sie <a href="#konfiguration_2">hier</a>. <br> + </li> + </ul> + </li> + </ol> +</body> +</html> diff --git a/spss/handbook/handbook/index.html b/spss/handbook/handbook/index.html new file mode 100644 index 000000000..8146ea7c0 --- /dev/null +++ b/spss/handbook/handbook/index.html @@ -0,0 +1,34 @@ +<!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>MOA SS und SP - Übersicht</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" class="logoTitle" width="267"><img src="common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> + <td align="center" class="logoTitle">Open Source<br> + für das E-Government</td> + <td align="center" class="logoTitle" width="123"><img src="common/LogoMoa4c.jpg" alt="Logo MOA" width="123" height="138" align="right"></td> + </tr> + </table> + <hr/> + <p class="title">MOA: Serversignatur (SS) und Signaturprüfung (SP) </p> + <p class="subtitle">Übersicht zur Dokumentation der Version 1.5 </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..1f9ed69e4 --- /dev/null +++ b/spss/handbook/handbook/install/install.html @@ -0,0 +1,489 @@ +<!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>MOA SS und SP - Installation</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" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> + <td align="center" class="logoTitle">Open Source<br> + für das E-Government</td> + <td align="center" class="logoTitle" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" width="123" height="138" align="right"></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.5</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> + <ol> + <li><a href="#webservice_basisinstallation">Basisinstallation</a> + <ol> + <li><a href="#webservice_basisinstallation_einführung">Einführung</a></li> + <li><a href="#webservice_basisinstallation_installation">Installation</a> + <ol> + <li><a href="#webservice_basisinstallation_installation_vorbereitung">Vorbereitung</a></li> + <li><a href="#webservice_basisinstallation_installation_tomcatconfig">Konfiguration von Apache Tomcat</a> + <ol> + <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpconn">Konfiguration des HTTP Connectors</a></li> + <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpsconn">Konfiguration des HTTPS Connectors</a></li> + <li><a href="#webservice_basisinstallation_installation_tomcatconfig_moaadmin">Einrichten des MOA SP/SS Administrators</a></li> + </ol> + </li> + <li><a href="#webservice_basisinstallation_installation_spssdeploy">Einsatz des MOA SP/SS Webservices in Tomcat</a></li> + <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpsconn">Starten und Stoppen von Tomcat</a> + <ol> + <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_windows">Unter Windows</a></li> + <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_unix">Unter Unix</a></li> + <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">Prüfen des erfolgreichen Starts</a> </li> + </ol> + </li> + <li><a href="#webservice_basisinstallation_installation_changeonthefly">Änderung der Konfiguration im laufenden Betrieb</a></li> + </ol> + </li> + <li><a href="#webservice_basisinstallation_logging">Logging</a> + <ol> + <li><a href="#webservice_basisinstallation_logging_format">Format der Log-Meldungen</a></li> + <li><a href="#webservice_basisinstallation_logging_messages">Wichtige Log-Meldungen</a></li> + </ol> + </li> + </ol> + </li> + <li><a href="#webservice_erweiterungsmöglichkeiten">Erweiterungsmöglichkeiten</a> <ol> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver">Vorgeschalteter Webserver</a> <ol> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_iis">Microsoft Internet Information Server (MS IIS)</a> <ol> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_iis_jk">Konfiguration von <span class="term">Jakarta mod_jk</span> im MS IIS</a></li> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat">Konfiguration von Tomcat</a></li> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_iis_ssl">Konfiguration von SSL</a></li> + </ol> + </li> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_apache">Apache</a> <ol> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_apache_jk">Konfiguration von <span class="term">Jakarta mod_jk</span> im Apache </a></li> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_apache_tomcat">Konfiguration von Tomcat</a></li> + <li><a href="#webservice_erweiterungsmöglichkeiten_webserver_apache_ssl">Konfiguration von SSL mit <span class="term">mod_SSL</span></a></li> + </ol> + </li> + </ol> + </li> + <li><a href="#webservice_erweiterungsmöglichkeiten_datenbank">Datenbank</a> <ol> + <li><a href="#webservice_erweiterungsmöglichkeiten_datenbank_postgresql">PostgreSQL</a> <ol> + <li><a href="#webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer">Anlegen eines Benutzers und einer Datenbank für MOA SP/SS</a></li> + <li><a href="#webservice_erweiterungsmöglichkeiten_datenbank_postgresql_crls">Archivierung von CRLs</a> </li> + <li><a href="#webservice_erweiterungsmöglichkeiten_datenbank_postgresql_logging">Logging</a></li> + </ol> + </li> + <li><a href="#webservice_erweiterungsmöglichkeiten_datenbank_andere">Andere Datenbanken</a> </li> + </ol> + </li> + </ol> + </li> + </ol> + <li><a href="#klassenbibliothek">Klassenbibliothek</a> + <ol> + <li><a href="#klassenbibliothek_basisinstallation">Basisinstallation</a> + <ol> + <li><a href="#klassenbibliothek_basisinstallation_einfuehrung">Einführung</a></li> + <li><a href="#klassenbibliothek_basisinstallation_vorbereitung">Vorbereitung</a></li> + <li><a href="#klassenbibliothek_basisinstallation_verwendung">Verwendung</a></li> + <li><a href="#klassenbibliothek_basisinstallation_logging">Logging</a></li> + </ol> + </li> + <li><a href="#klassenbibliothek_erweiterungsmöglichkeiten">Erweiterungsmöglichkeiten</a></li> + </ol> + </li> + </ol> + <ol type="A"> + <li><a href="#referenzierte_software">Referenzierte Software</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.4.x SDK oder J2SE 5.0 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.4.x SDK</a> oder <a href="#referenziertesoftware">J2SE 5.0 SDK</a> in ein beliebiges Verzeichnis. Wir empfehlen die Installation von <a href="#referenziertesoftware">J2SE 5.0 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.31</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.5.1.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd> + <dt>Installation der Krypographiebibliotheken von SIC/IAIK</dt> + <dd> + <p>Die Installation der Kryptographiebibliotheken von <a href="http://jce.iaik.tugraz.at/" target="_blank">SIC/IAIK</a>:</p> + <dl> + <dt>J2SE 1.4.2 SDK oder JSE 5.0 SDK </dt> + <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zusätzlich müssen Sie die Rechtedateien Ihres J2SE 1.4.x SDK bzw. J2SE 5.0 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.x SDK Downloadseite</a> bzw. <a href="http://java.sun.com/j2se/1.5.0/download.html">J2SE 5.0 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><a name="webservice_basisinstallation_installation_tomcatconfig_httpconn" id="webservice_basisinstallation_installation_tomcatconfig_httpconn"></a>2.1.2.2.1 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><a name="webservice_basisinstallation_installation_tomcatconfig_httpsconn" id="webservice_basisinstallation_installation_tomcatconfig_httpsconn"></a>2.1.2.2.2 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 <a href="../config/config.html#konfigurationsparameter_ss_keygroupmapping">Abschnitt 2.2.3 des Konfigurationshandbuchs</a>). 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><a name="webservice_basisinstallation_installation_tomcatconfig_moaadmin" id="webservice_basisinstallation_installation_tomcatconfig_moaadmin"></a>2.1.2.2.3 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 (vergleiche Abschnitt <a href="#webservice_basisinstallation_installation_changeonthefly">2.1.2.5</a>). 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> + +<h4><a name="webservice_basisinstallation_installation_spssdeploy" id="webservice_basisinstallation_installation_spssdeploy"></a>2.1.2.3 Einsatz des MOA SP/SS Webservices in Tomcat</h4> +<p> Um das MOA SP/SS Webservice in Tomcat für den Einsatz vorzubereiten, sind folgende Schritte notwendig:</p> +<ul> + <li>Die Datei <code>$MOA_SPSS_INST/moa-spss.war</code> enthält das einsatzfertige MOA SP/SS Webarchiv und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-spss</code> entpackt. </li> + <li>Die zentrale Konfigurationsdatei für MOA SP/SS und die zugehörigen Profil-Verzeichnisse müssen in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-spss</code>). Eine funktionsfähige Konfiguration, die als Ausgangspunkt für die Konfiguration des MOA SP/SS Webservices dienen kann, finden Sie <a href="../../conf/moa-spss/spss.config.xml">hier</a>. </li> + <li>Wird Tomcat unter J2SE 1.4.x SDK oder höher betrieben, müssen die Dateien <code>xalan.jar</code>, <code>xercesImpl.jar, serializer.jar </code> und <code>xml-apis.jar</code> aus dem Verzeichnis <code>$MOA_SPSS_INST/endorsed</code> in das Tomcat-Verzeichnis <code>$CATALINA_HOME/common/endorsed</code> kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden, müssen sie überschrieben werden. Die ggf. in diesem Verzeichnis vorhandene Datei <code>xmlParserAPIs.jar</code> muss gelöscht werden.</li> + <li>Folgende <span class="term">System Properties</span> können gesetzt werden (wird beim Starten von Tomcat der <span class="term">Java Virtual Machine</span> in der Umgebungsvariablen <code>CATALINA_OPTS</code> in der Form <code>-D<name>=<wert></code> übergeben): + <ul> + <li id="klein"><code>moa.spss.server.configuration</code>: Pfad und Name der zentralen Konfigurationsdatei für MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../../../conf/moa-spss/spss.config.xml">hier</a>. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/conf</code> enthaltene Default-Konfiguration herangezogen.</li> + <li id="klein"><code>log4j.configuration</code>: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie <a href="../../../conf/moa-spss/log4j.properties">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen.</li> + <li id="klein"><code>moa.node.id</code>: Frei wählbarer Name des Rechner-Knotens, auf dem MOA SP/SS läuft. Der Name des Knotens wird bei Log-Ausgaben von MOA SP/SS angeführt und dient zur Unterscheidung mehrerer gleichzeitig betriebener MOA SP/SS Webservice-Instanzen. </li> + <li id="klein"><code>javax.net.ssl.trustStore</code>: Pfad und Dateiname des <span class="term">Truststores</span> für vertrauenswürdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). Ein relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li> + <li id="klein"><code>javax.net.ssl.trustStorePassword</code>: Passwort für den <span class="term">Truststore</span> (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). </li> + <li id="klein"><code>javax.net.ssl.trustStoreType</code>: Truststore-Typ (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). Je nach verwendetem Keystore-Typ muss <code>jks</code> (<span class="term">Java Key Store</span>) oder <code>pkcs12</code> (PKCS#12-Datei) angegeben werden.</li> + </ul> + </li> +</ul> +<h4><a name="webservice_basisinstallation_installation_tomcatstartstop" id="webservice_basisinstallation_installation_tomcatstartstop"></a>2.1.2.4 Starten und Stoppen von Tomcat</h4> +<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_windows" id="webservice_basisinstallation_installation_tomcatstartstop_windows"></a>2.1.2.4.1 Unter Windows</h5> +<div id="block"> + <p>Das Verzeichnis <code>$MOA_SPSS_INST/tomcat/win32</code> enthält Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts müssen in den ersten Zeilen die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. müssen Sie auch noch die in den Script-Dateien gesetzten, in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> anpassen. </p> +</div> +<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_unix" id="webservice_basisinstallation_installation_tomcatstartstop_unix"></a>2.1.2.4.2 Unter Unix</h5> +<p>Zunächst müssen die in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> mit Hilfe der Umgebungsvariablen <code>CATALINA_OPTS</code> gesetzt sein. Die Datei <code>$MOA_SPSS_INST/tomcat/unix/moa-env.sh</code> enthält ein Beispiel dafür. Weiters müssen noch die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.</p> +<p>Nun kann Tomcat aus seinem Basisverzeichnis mit </p> +<pre>bin/catalina.sh start</pre> +gestartet werden. Das Stoppen von Tomcat erfolgt analog mit +<pre>bin/catalina.sh stop</pre> +<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_verify" id="webservice_basisinstallation_installation_tomcatstartstop_verify"></a>2.1.2.4.3 Prüfen des erfolgreichen Starts </h5> +<div id="block"> + <p>Ein erfolgreicher Start des MOA SP/SS Webservices ist an folgender Log-Meldung ersichtlich: <br> + </p> +</div> +<pre>INFO | 18 10:09:45,155 | main | TID=startup NID=<null> MSG=MOA Konfiguration erfolgreich geladen +</pre> +<p>Bei leichten Fehlern in der Konfiguration geben <code>WARN</code> Log-Meldungen unmittelbar davor Aufschluss über fehlerhafte Konfigurations-Einträge. + Nach dem Starten von Tomcat steht das MOA SP/SS Webservice für die Server-Signatur und Signatur-Prüfung unter den Endpunkten </p> +<pre>http://<host>:<port>/moa-spss/services/SignatureCreation +</pre> +<p>bzw. +</p> +<pre>http://<host>:<port>/moa-spss/services/SignatureVerification +</pre> +<p>zur Verfügung. Die Verfügbarkeit des Services können Sie einfach überprüfen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite führen. </p> +<p>Konnte das MOA SP/SS Webservice nicht ordnungsgemäß gestartet werden, führt das zu folgender Log-Meldung:</p> +<pre>FATAL | 18 10:17:03,475 | main | TID=startup NID=<null> <br> MSG=Fehler beim Lesen der MOA Konfiguration: das Service steht nicht zur Verfügung +</pre> +In diesem Fall geben die <code>WARN</code> bzw. <code>ERROR</code> Log-Meldungen unmittelbar davor Aufschluss über den genaueren Grund. +<h4><a name="webservice_basisinstallation_installation_changeonthefly" id="webservice_basisinstallation_installation_changeonthefly"></a>2.1.2.5 Änderung der Konfiguration im laufenden Betrieb </h4> +<p> Sie können die Konfiguration für MOA SP/SS im laufenden Betrieb aktualisieren, in dem Sie mittels eines Web-Browsers folgende URL aufrufen:</p> +<pre> http://<host>:<port>/moa-spss/ConfigurationUpdate </pre> +<p>Damit dies funktioniert, muss in der Konfiguration von Tomcat ein spezieller Benutzer sowie eine spezielle Benutzerrolle eingerichtet werden (vergleiche Abschnitt <a href="#webservice_basisinstallation_installation_tomcatconfig_moaadmin">2.1.2.2.3</a>). </p> +<h3><a name="webservice_basisinstallation_logging" id="webservice_basisinstallation_logging"></a>2.1.3 Logging </h3> +<p>Das MOA SP/SS Webservice verwendet <a href="#referenziertesoftware">Jakarta Log4j</a> für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im <a href="#referenziertesoftware">Jakarta Log4j</a> Handbuch beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen: +<ul> + <li id="klein"> + <p>Das verwendete Log-Level (<code>DEBUG</code>, <code>INFO</code>, <code>WARN</code>, <code>ERROR</code>, <code>FATAL</code>);</p> + </li> + <li id="klein"> + <p>Name und maximale Größe der Log-Datei(en);</p> + </li> + <li id="klein"> + <p>Das Aussehen der Log-Einträge.</p> + </li> +</ul> + <p>Das MOA SP/SS Webservice verwendet folgende Log-Hierarchien: </p> +<ul> + <li> + <p><code>moa.spss.server</code> für alle Log-Meldungen aus dem MOA/SPSS Webservice; </p> + </li> + <li> + <p><code>iaik.server</code> für alle Log-Meldungen aus den SIC/IAIK Kryptographie-Modulen. </p> + </li> +</ul> + <p>Eine für MOA SP/SS passende Konfigurationsdatei für Log4j finden Sie <a href="../../../conf/moa-spss/log4j.properties">hier</a>. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei <code>moa-spss.log</code> geschrieben. </p> + <h4><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.1.3.1 Format der Log-Meldungen</h4> + <p> Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erläutert: </p> + <pre>INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1 + MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification +</pre> +<p> Der Wert <code>INFO</code> besagt, dass die Log-Meldung im Log-Level <code>INFO</code> entstanden ist. Folgende Log-Levels existieren:</p> + <ul> + <li> + <p><code>DEBUG</code>: Log-Meldungen im Log-Level <code>DEBUG</code> geben Auskunft über die innere Arbeitsweise des Systems. Sie sind hauptsächlich für Entwickler interessant.</p> + </li> + <li> + <p><code>INFO</code>: Diese Log-Meldungen geben Status-Informationen über den Ablauf des Webservices, wie z.B. über das Einlangen einer neuen Anfrage.</p> + </li> + <li> + <p><code>WARN</code>: Bei der Ausführung einer Anfrage sind leichte Fehler aufgetreten. Der Ablauf des Webservices ist nicht weiter beeinträchtigt.</p> + </li> + <li> + <p><code>ERROR</code>: Die Ausführung einer Anfrage musste abgebrochen werden. Das Webservice ist davon nicht beeinträchtigt. </p> + </li> + <li> + <p><code>FATAL</code>: Es ist ein Fehler aufgetreten, der den weiteren Betrieb des Webservices nicht mehr erlaubt.</p> + </li> + </ul> + <p>Der nächste Wert <code>01 21:25:26,540</code> gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit). </p> + <p> Der Wert <code>Thread-3</code> bezeichnet den Thread, von dem die Anfrage bearbeitet wird.</p> + <p> Der Wert von <code>TID</code> gibt die für jede Anfrage eindeutige Transaktions-ID an. Log-Meldungen, die bei der Abarbeitung dieser Anfrage geschrieben werden, enthalten alle einen Hinweis auf die entsprechende Transaktions-ID.</p> + <p> Der Wert von <code>NID</code> gibt den Rechner-Knoten an, auf dem das MOA SP/SS Webservice läuft (bei <code>NID=<null></code> ist dieser Wert nicht konfiguriert, vergleiche Abschnitt <a href="#webservice_basisinstallation_installation_spssdeploy">2.1.2.3</a>).</p> + <p> Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist häufig ein Java Stack-Trace angefügt, der eine genauere Ursachen-Forschung ermöglicht.</p> + <h4> <a name="webservice_basisinstallation_logging_messages" id="webservice_basisinstallation_logging_messages"></a>2.1.3.2 Wichtige Log-Meldungen</h4> + <p> Neben den im Abschnitt <a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">2.1.2.4.3</a> beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgemäß gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss über die Abarbeitung von Anfragen. </p> + <p>Die Entgegennahme einer Anfrage wird angezeigt durch: + + </p> + <pre>INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> + MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification +INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> + MSG=Aufruf von Adresse=127.0.0.1 +INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> + MSG=Client-Zertifikat nicht verfügbar</pre> + <p> Die dritte Log-Meldung besagt, dass für die Abarbeitung dieser Anfrage kein Client-Zertifikat verfügbar ist (entweder, weil die Anfrage über HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen über das Client-Zertifikat aus: + <pre>INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=<null> + MSG=Client-Zertifikat: Subject=CN=Testuser, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT, + Serial=1.039.104.204, Issuer=CN=TestCA, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT</pre> + <p>Eine erfolgreich abgearbeitete Anfrage wird angezeigt durch: + </p> + <pre>INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=<null> + MSG=Anfrage erfolgreich abgearbeitet</pre> + <p>Ein Fehler beim Abarbeiten der Anfrage wird angezeigt durch: </p> + <pre>INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=<null> + MSG=Fehler beim Abarbeiten der Anfrage</pre> + <div id="block"> + <p>In diesem Fall gibt der mitgeloggte Stacktrace Auskunft über die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zurück. </p> + <p> Die Tatsächlich übertragenen Anfragen bzw. Antworten werden aus Effizienzgründen nur im Log-Level <code>DEBUG</code> angezeigt. </p> + </div> + <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_iis" id="webservice_erweiterungsmöglichkeiten_webserver_iis"></a>2.2.1.1 Microsoft Internet Information Server (MS IIS) </h4> + <p>Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall übernimmt der MS IIS die HTTP- bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat eingerichteten MOA SP/SS Webservice wird durch <span class="term">Jakarta mod_jk</span> durchgeführt. Die angeführten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_jk" id="webservice_erweiterungsmöglichkeiten_webserver_iis_jk"></a>2.2.1.1.1 Konfiguration von <span class="term">Jakarta mod_jk</span> im MS IIS</h5> + <p> Für die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das <span class="term">ISAPI</span>-Modul von <span class="term">Jakarta mod_jk</span> im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/iis.html" target="_blank">mod_jk</a></span><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/iishowto.html"> IIS HowTo</a>. Beispiele für <code>workers.properties</code> und <code>uriworkermap.properties</code> Dateien liegen im Verzeichnis <code>$MOA_SPSS_INST/tomcat</code> bei.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat" id="webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat"></a>2.2.1.1.2 Konfiguration von Tomcat</h5> + <p> Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels <span class="term">Jakarta mod_jk</span> weiterleitet werden, muss in <code>$CATALINA_HOME/conf/server.xml</code> der <span class="term">AJP 1.3 Connector</span> aktiviert werden. Im Gegenzug können die Konnektoren für HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden <code>Connector</code> Konfigurations-Elemente in dieser Datei. Die Datei <code>$MOA_SPSS_INST/tomcat/server.mod_jk.xml</code> enthält eine Konfiguration, die ausschließlich den Port für den <span class="term">AJP 1.3 Connector</span> offen lässt.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_ssl" id="webservice_erweiterungsmöglichkeiten_webserver_iis_ssl"></a>2.2.1.1.3 Konfiguration von SSL</h5> + <p> Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ oder aber auch auf den Websiten vo Mircrosoft zur Verfügung. </p> + <h4><a name="webservice_erweiterungsmöglichkeiten_webserver_apache" id="webservice_erweiterungsmöglichkeiten_webserver_apache"></a>2.2.1.2 Apache</h4> + <p>Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird <span class="term">Jakarta mod_jk</span> für die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angeführten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus und sind ident für die Versionen 1.3.x und 2.0.x.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_jk" id="webservice_erweiterungsmöglichkeiten_webserver_apache_jk"></a>2.2.1.2.1 Konfiguration von <span class="term">Jakarta mod_jk</span> im Apache </h5> + <p>Um das MOA-SPSS Webservice hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls <span class="term">mod_jk</span> erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html" target="_blank">mod_jk</a></span><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html" target="_blank"> Apache HowTo</a>. Ein Beispiel für eine <code>workers.properties</code> Datei liegt im Verzeichnis <code>$MOA_SPSS_INST/tomcat</code> bei.</p> + <p>Um das MOA SP/SS Webservice dem Apache Webserver bekannt zu machen, sind zumindest folgende Einträge im globalen Kontext der Apache-Konfigurationsdatei notwendig:</p> + <pre>LoadModule jk_module /usr/lib/apache/mod_jk.so<br>AddModule jk_module<br>JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories<br>JkWorkersFile conf/workers.properties <br>JkMount /moa-spss/* moaworker </pre> + <p>Die Pfad- und Dateinamen können je nach existierender Apache Installation geringfügig variieren.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_tomcat" id="webservice_erweiterungsmöglichkeiten_webserver_apache_tomcat"></a>2.2.1.2.2 Konfiguration von Tomcat</h5> + <p>Die Konfiguration von Tomcat ist analog zu Abschnitt <a href="#webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat">2.2.1.1.2</a> durchzuführen.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_ssl" id="webservice_erweiterungsmöglichkeiten_webserver_apache_ssl"></a>2.2.1.2.2 Konfiguration von SSL mit <span class="term">mod_SSL</span></h5> + <p>Apache kann in Verbindung mit <span class="term">mod_SSL</span> als SSL-Endpunkt für das MOA SP/SS Webservice fungieren. In diesem Fall entfällt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via <span class="term">mod_jk</span> austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enthält die <a href="http://www.modssl.org/docs/" target="_blank">Online-Dokumentation</a> von <span class="term">mod_SSL</span>.</p> + <p>Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass <span class="term">mod_ssl</span> die HTTP-Header mit den Informationen über das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht: </p> + <pre>SSLOptions +ExportCertData +StdEnvVars</pre> + <p>Je nach vorhandener SSL-Konfiguration des Apache Webservers kann diese Option im globalen Kontext, im Kontext des Virtual Hosts oder im Kontexts eines Verzeichnisses spezifiziert werden.</p> + <h3><a name="webservice_erweiterungsmöglichkeiten_datenbank" id="webservice_erweiterungsmöglichkeiten_datenbank"></a>2.2.2 Datenbank</h3> + <p>Die MOA SP/SS Module können eine Datenbank zum Archivieren von Certificate Revocation Lists (CRLs), sowie zum Abspeichern von Log-Meldungen verwenden. In beiden Fällen wird eine installierte und konfigurierte Datenbank vorausgesetzt.</p> + <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql"></a>2.2.2.1 PostgreSQL</h4> + <p>Eine detaillierte Übersicht über die Installation und Konfiguration von <span class="term">PostgreSQL</span> gibt die <a href="http://techdocs.postgresql.org/" target="_blank">Online-Dokumentation</a>. </p> + <p class="term">Bitte beachten Sie: Eine Möglichkeit, PostgreSQL unter MS Windows zu installieren, besteht darin, <a href="http://sources.redhat.com/cygwin/" target="_blank">Cygwin</a> mit dem PostgreSQL-Package zu installieren. Alternative Installationsvarianten werden auf <a href="http://techdocs.postgresql.org/guides/Windows" target="_blank">dieser Seite</a> angeführt.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer"></a>2.2.2.1.1 Anlegen eines Benutzers und einer Datenbank für MOA SP/SS</h5> + <p>Damit die MOA SP/SS Module eine Verbindung zu <span class="term">PostgreSQL</span> aufbauen kann, müssen der Name eines <span class="term">PostgreSQL</span>-Benutzers und einer <span class="term">PostgreSQL</span>-Datenbank bekannt sein. Sollten diese nicht vorhanden sein, kann mit folgenden Kommandos ein Benutzer namens <code>moa</code> und eine Datenbank namens <code>moadb</code> angelegt werden:</p> + <pre>createuser -U postgres -d -A -P moa<br>createdb -U moa moadb</pre> + <p>Da die MOA SP/SS Module über <span class="term">JDBC</span> mit der Datenbank kommunizieren, ist in der Folge die Angabe einer <span class="term">JDBC</span>-URL notwendig, welche die Verbindungsparameter enthält. Wurden der Benutzer und die Datenbank wie im obigen Beispiel angelegt, ist folgende <span class="term">JDBC</span>-URL anzugeben (Annahme: als Passwort für den Benutzer moa wurde moapass gewählt):</p> + <pre> jdbc:postgresql://host/moadb?user=moa&password=moapass</pre> + <p>Die Zeichen <code>jdbc:postgresql://</code> sind unveränderliche Bestandteile einer <span class="term">PostgreSQL</span> <span class="term">JDBC</span>-URL. <code>host</code> gibt den Rechner an, auf dem <span class="term">PostgreSQL</span> läuft. <code>moadb</code> identifiziert den Namen der Datenbank. Über die Parameter <code>user=</code> und <code>pass=</code> werden Benutzername und Passwort für den DB-User bekanntgegeben.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_crls" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_crls"></a>2.2.2.1.2 Archivierung von CRLs</h5> + <p>Zum Archivieren von CRLs müssen in der MOA SP/SS Konfigurationsdatei die Kinder des Elements <code>cfg:MOAConfiguration/cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving</code> entsprechend + konfiguriert werden: </p> + <ul> + <li><code>cfg:EnableArchiving</code> muss auf den Wert <code>true</code> gesetzt sein;</li> + <li><code>cfg:ArchiveDuration</code> muss als nichtnegative Ganzzahl die maximale Archivierungsdauer in Tagen enthalten;</li> + <li><code>cfg:Archive</code> muss genau ein Element <code>cfg:DatabaseArchive</code> enthalten, das wiederum aus zwei Elementen + bestehen muss: + <ul> + <li><code>cfg:JDBCURL</code> muss eine gültige JDBC-URL enthalten, mit der auf die Datenbank zur Archivierung + zugegriffen werden kann (<span class="remark">Hinweis: da es sich hierbei um einen Eintrag + in eine XML-Datei handelt, muss das Zeichen <code>&</code> in der in Abschnitt <a href="#webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer">2.2.2.1.1</a> gezeigten + JDBC-URL + durch die Zeichenfolge <code>&amp;</code> ersetzt werden.</span>);</li> + <li><code>cfg:JDBCDriverClassName</code> muss den vollständig qualifizierten Java-Klassennamen des JDBC-Treibers + enthalten. </li> + </ul> + </li> + </ul> + <p>Vergleiche auch Abschnitt <a href="../config/config.html#konfigurationsparameter_sp_certificatevalidation_revocationchecking_archiving">2.3.1.3.4</a> im + Konfigurationshandbuch.</p> + <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_logging" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_logging"></a>2.2.2.1.3 Logging</h5> + <p>Für das Logging in eine <span class="term">PostgreSQL</span> Datenbank mittels <span class="term">Jakarta Log4j</span> muss zunächst eine Tabelle für die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:</p> + <pre> create table spss_log (log_time timestamp, log_level varchar(5), log_msg text);</pre> + <p>Damit <span class="term">Log4j</span> die Log-Meldungen in diese Datenbanktabelle schreibt, muss die <span class="term">Log4j</span>-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte <a href="../../../conf/moa-spss/log4j.properties">Log4j-Konfiguration</a> enthält bereits die notwendigen Einträge für das Logging in eine PostgreSQL Datenbank, die jedoch standardmäßig ausgeschaltet sind. </p> + <p>Wie beim Caching von CRLs ist auch hier die Angabe einer <span class="term">JDBC</span>-URL notwendig, damit die MOA SP/SS Module eine Verbindung zur Datenbank aufnehmen können.</p> + <p><span class="remark">Bitte beachten Sie: Bei Tests hat sich das Logging in eine Datenbank mit Jakarta Log4j als Performance-Engpass herausgestellt. Es wird deshalb empfohlen, dieses Feature mit Bedacht einzusetzen.</span></p> + <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_andere" id="webservice_erweiterungsmöglichkeiten_datenbank_andere"></a>2.2.2.2 Andere Datenbanken </h4> + <p>Über die generische Anbindung JDBC können auch andere Datenbanken für die Archivierung von CRLs bzw. für die Speicherung der Log-Meldungen eingesetzt werden. Hinweise zu bestimmten Datenbanken finden Sie in den <a href="../faq/faq.html">FAQ</a>. </p> + <p>Die in Abschnitt <a href="#webservice_erweiterungsmöglichkeiten_datenbank_postgresql">2.2.2.1</a> gemachten Angaben zu Archivierung von CRLs bzw. zur Speicherung von Log-Meldungen gelten sinngemäß. </p> + <h3><a name="webservice_erweiterungsmöglichkeiten_hsm" id="webservice_erweiterungsmöglichkeiten_hsm"></a>2.2.3 Hardware Security Module (HSM)</h3> + <p>MOA SS kann für die Erstellung von Signaturen auf die Dienste eines HSM zurückgreifen. Voraussetzung dafür ist, dass für das HSM eine Implementierung der Schnittstelle PCKS#11 (PKCS#11-Bibliothek) angeboten wird. </p> + <p>Für die Einbindung des HSM in MOA SS müssen zunächst die Bibliotheken aus <code>$MOA_SPSS_INST/pkcs11</code> in ein beliebiges Verzeichnis kopiert werden, welches dann in den Libray-Pfad des jeweiligen Betriebssystems aufgenommen werden muss (Windows: Umgebungsvariable <code>PATH</code>; Linux: Umgebungsvariable <code>LD_LIBRARY_PATH</code>). </p> + <p>Der Name der für das HSM spezifischen PKCS#11-Bibliothek muss in der Konfigurationsdatei eingetragen werden (vergleiche Abschnitt <a href="../config/config.html#konfigurationsparameter_ss_keymodules_hardwarekeymodule">2.2.1.1</a> des Konfigurationshandbuchs).</p> + <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_einfuehrung" id="klassenbibliothek_basisinstallation_einfuehrung"></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.4.x JRE</a> oder <a href="#referenziertesoftware">J2SE 5.0 JRE</a> </li> + </ul> + <h3><a name="klassenbibliothek_basisinstallation_vorbereitung" id="klassenbibliothek_basisinstallation_vorbereitung"></a>3.1.2 Vorbereitung </h3> + <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.4.x SDK</a> oder <a href="#referenziertesoftware">J2SE 5.0 SDK</a> in ein beliebiges Verzeichnis. Wir empfehlen die Installation von <a href="#referenziertesoftware">J2SE 5.0 SDK</a>. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> bezeichnet. </dd> + <dt>Entpacken der MOA SP/SS Klassenbibliotheks-Distribution</dt> + <dd> Entpacken Sie die Datei <code>moa-spss-1.5.1-lib.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd> + <dt>Installation der Krypographiebibliotheken von SIC/IAIK</dt> + <dd> + <p>Die Installation der Kryptographiebibliotheken von <a href="http://jce.iaik.tugraz.at/" target="_blank">SIC/IAIK</a>:</p> + <dl> + <dt>J2SE 1.4.x SDK oder JSE 5.0 SDK </dt> + <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zusätzlich müssen Sie die Rechtedateien Ihres J2SE 1.4.x SDK bzw. J2SE 5.0 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.x SDK Downloadseite</a> bzw. <a href="http://java.sun.com/j2se/1.5.0/download.html">J2SE 5.0 SDK Downloadseite</a> und folgen Sie der darin enthaltenen Installationsanweisung. </dd> + </dl> + </dd> + </dl> + <h3><a name="klassenbibliothek_basisinstallation_verwendung" id="klassenbibliothek_basisinstallation_verwendung"></a>3.1.3 Verwendung</h3> + <p> Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu können, müssen die mit MOA SP/SS ausgelieferten Bibliotheken in den Java Klassenpfad der Applikation eingebunden werden. </p> + <p>Die nachfolgende Tabelle listet diese Klassenbibliotheken auf; die Einträge in der Spalte Dateien sind relativ zum Verzeichnis <code>$MOA_SPSS_INST</code> zu interpretieren.</p> +<table class="fixedWidth" border="1" cellpadding="2"> +<tbody><tr> +<th>Klassenbibliothek</th><th>Version</th><th>Dateien</th> + +</tr><tr> +<td>MOA SP/SS</td> +<td>1.5.1 </td> +<td><code>moa-spss.jar</code>, <code>moa-common.jar</code></td> +</tr><tr> +<td>MOA IAIK</td> +<td>1.32 </td> +<td><p><code>lib/iaik_moa-1.32.jar</code>, + <code>lib/iaik_cms-3.2.jar</code>, <code>lib/iaik_ixsil-1.2.2.5.jar</code></p> + </td> +</tr> +<tr> + <td>Mail</td> + <td>1.4 </td> + <td><code>lib/mail-1.4.jar</code></td> +</tr> +<tr> + <td>Activation</td> + <td>1.4 </td> + <td><code>lib/activation-1.1.jar</code></td> +</tr> +<tr> +<td>Xerces-J</td> +<td>2.7.1 </td> +<td><code>lib/xercesImpl.jar</code></td> +</tr><tr> +<td>Xalan-J</td> +<td>2.7.0 </td> +<td><p><code>lib/xalan.jar</code>, <code>lib/xml-apis.jar</code>, <code>lib/serializer.jar</code></p> + <p class="remark">Bitte beachten Sie: Wenn Sie J2SE 1.4.2 JRE oder J2SE 5.0 JRE verwenden, müssen Sie diese Bibliothek der Java VM als endorsed bekanntgeben. Sie können dies tun, indem Sie entweder</p> + <ul> + <li class="remark">die Bibliothek in das (ggf. vorher anzulegende) Verzeichnis <code>$JAVA_HOME/jre/lib/endorsed/</code> kopieren; oder</li> + <li class="remark">die System Property <code>java.endorsed.dirs</code> verwenden, und als Wert den Pfad zu jenem Verzeichnis angeben, in dem Sie die Bibliothek vorhalten (also z.B. <code>java.endorsed.dirs=c:/mylibdir</code>).</li> + </ul></td> +</tr><tr> +<td>Jaxen</td><td>1.0 </td> +<td><code>lib/jaxen-1.0-FCS.jar</code>, <code>lib/saxpath-1.0-FCS.jar</code></td> + +</tr><tr> +<td>Commons-Logging</td> +<td>1.0.4 </td> +<td><code>lib/commons-logging-1.0.4.jar</code></td> +</tr><tr> +<td>Log4j</td> +<td>1.2.8 </td> +<td><code>lib/log4j-1.2.8.jar</code></td> +</tr> +<tr> + <td>Commons-Discovery</td><td>0.2 </td><td><code>lib/commons-discovery-0.2.jar</code></td> +</tr> +<tr> + <td>Postgres JDBC2</td><td>7.3 </td><td><p><code>lib/postgresql-7.2.jar</code></p> + <p><span class="remark">Bitte beachten Sie: Wenn Sie keine Datenbank für MOA SP/SS verwenden (vergleiche </span><a href="#webservice_erweiterungsmöglichkeiten_datenbank">2.2.2</a><span class="remark">), benötigen Sie diese Bibliothek nicht.</span></p></td> +</tr><tr> +</tr> +<tr> + <td>Axis</td><td>1.4 </td><td><code>lib/axis-1.4.jar, lib/axis-jaxrpc-1.4.jar, lib/axis-saaj-1.4.jar, lib/axis-wsdl4j-1.5.1.jar</code></td> +</tr> +</tbody></table> + + <h3><a name="klassenbibliothek_basisinstallation_logging" id="klassenbibliothek_basisinstallation_logging"></a>3.1.4 Logging</h3> + <p> Die MOA SP/SS Klassenbibliothek verwendet <a href="#referenziertesoftware">Jakarta Log4j</a> für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Die im Abschnitt <a href="#webservice_basisinstallation_logging">2.1.3</a> gemachten Aussagen lassen sich großteils auf den Einsatz der MOA SP/SS Klassenbibliothek übertragen. </p> + <h2><a name="klassenbibliothek_erweiterungsmöglichkeiten" id="klassenbibliothek_erweiterungsmöglichkeiten"></a>3.2 Erweiterungsmöglichkeiten </h2> + <p>Die im Abschnitt <a href="#webservice_erweiterungsmöglichkeiten">2.2</a> angeführten Erweiterungsmöglichkeiten für die MOA SP/SS Webservices gelten in analoger Weise auch für die Klassenbibliothek.</p> + <h1><a name="referenzierte_software"></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.4.2/" target="_blank">J2SE 1.4.x SDK/JRE</a></td> + <td>Java 2 Standard Edition in der Version 1.4.x (Software Development Kit bzw. Java Runtime Environment) </td> + </tr> + <tr> + <td><a href="http://java.sun.com/j2se/1.5.0/" target="_blank">J2SE 5.0 SDK/JRE</a> </td> + <td>Java 2 Standard Edition in der Version 5.0 (Software Development Kit bzw. Java Runtime Environment) </td> + </tr> + <tr> + <td><a href="http://jakarta.apache.org/log4j/" target="_blank">Jakarta Log4J </a></td> + <td>Logging Framework des Apache Jakarta Projekts </td> + </tr> +</table> +</body> +</html> diff --git a/spss/handbook/handbook/intro/intro.html b/spss/handbook/handbook/intro/intro.html new file mode 100644 index 000000000..baa240263 --- /dev/null +++ b/spss/handbook/handbook/intro/intro.html @@ -0,0 +1,44 @@ +<!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>MOA SS und SP - 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" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> + <td align="center" class="logoTitle">Open Source<br> + für das E-Government</td> + <td align="center" class="logoTitle" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" width="123" height="138" align="right"></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.5</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.3.pdf" target="_blank" class="term">Spezifikation MOA SP/SS (V1.3)</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.3.pdf b/spss/handbook/handbook/spec/MOA-SPSS-1.3.pdf Binary files differnew file mode 100644 index 000000000..6709a4081 --- /dev/null +++ b/spss/handbook/handbook/spec/MOA-SPSS-1.3.pdf diff --git a/spss/handbook/handbook/spec/MOA-SPSS-1.3.wsdl b/spss/handbook/handbook/spec/MOA-SPSS-1.3.wsdl new file mode 100644 index 000000000..8ae1c1ff4 --- /dev/null +++ b/spss/handbook/handbook/spec/MOA-SPSS-1.3.wsdl @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Web Service Description for MOA SP/SS 1.3
+-->
+<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="MOA-SPSS-1.3.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.3.xsd b/spss/handbook/handbook/spec/MOA-SPSS-1.3.xsd new file mode 100644 index 000000000..756b51279 --- /dev/null +++ b/spss/handbook/handbook/spec/MOA-SPSS-1.3.xsd @@ -0,0 +1,469 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ MOA SP/SS 1.3 Schema
+-->
+<xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2" 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#">
+ <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" type="xsd:token">
+ <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" type="xsd:token">
+ <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="InputDataType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ReferenceInputData" type="InputDataType" 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="InputDataType">
+ <xsd:complexContent>
+ <xsd:extension base="ContentExLocRefBaseType">
+ <xsd:attribute name="PartOf" use="optional" default="SignedInfo">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SignedInfo"/>
+ <xsd:enumeration value="XMLDSIGManifest"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="ReferringSigReference" type="xsd:nonNegativeInteger" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <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:integer" 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>
diff --git a/spss/handbook/handbook/usage/usage.html b/spss/handbook/handbook/usage/usage.html new file mode 100644 index 000000000..8d2f002e6 --- /dev/null +++ b/spss/handbook/handbook/usage/usage.html @@ -0,0 +1,1232 @@ +<!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>MOA SS und SP - Anwendung</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" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td> + <td align="center" class="logoTitle">Open Source<br> + für das E-Government</td> + <td align="center" class="logoTitle" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" width="123" height="138" align="right"></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.5</a></p> + <p class="subtitle">Anwendung</p> + <hr/> + <h1>Inhalt</h1> + <ol> + <li> + <p><a href="#übersicht">Übersicht</a></p> + </li> + <li> + <p><a href="#webservice">Verwendung des Webservices</a></p> + <ol> + <li><a href="#webservice_xmlrequests">XML-Requests</a> <ol> + <li><a href="#webservice_xmlrequests_erstellungxml">Erstellung einer XML-Signatur</a> <ol> + <li><a href="#webservice_xmlrequests_erstellungxml_simple">Einfaches Beispiel</a></li> + <li><a href="#webservice_xmlrequests_erstellungxml_daten">Angabe der zu signierenden Daten</a></li> + <li><a href="#webservice_xmlrequests_erstellungxml_transformationen">Transformationen</a></li> + <li><a href="#webservice_xmlrequests_erstellungxml_ergaenzungsobjekte">Ergänzungsobjekte</a> </li> + </ol> + </li> + <li><a href="#webservice_xmlrequests_pruefungcms">Prüfung einer CMS-Signatur </a> <ol> + <li><a href="#webservice_xmlrequests_pruefungcms_einfach">Einfaches Beispiel</a></li> + <li><a href="#webservice_xmlrequests_pruefungcms_erweitert">Erweitertes Beispiel</a> </li> + </ol> + </li> + <li><a href="#webservice_xmlrequests_pruefungxml">Prüfung einer XML-Signatur </a> <ol> + <li><a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a></li> + <li><a href="#webservice_xmlrequests_pruefungxml_erweitert">Erweitertes Beispiel</a></li> + <li><a href="#webservice_xmlrequests_pruefungxml_xmldsigmanifest">Prüfung eines XMLDSIG-Manifests</a></li> + <li><a href="#webservice_xmlrequests_pruefungxml_ergaenzungsobjekte">Ergänzungsobjekte</a></li> + <li><a href="#webservice_xmlrequests_pruefungxml_signaturmanifest">Signatur-Manifest des Security-Layers</a></li> + </ol> + </li> + </ol> + </li> + <li><a href="#webservice_clients">Webservice-Clients + </a> <ol> + <li><a href="#webservice_clients_übersicht">Übersicht</a></li> + <li><a href="#webservice_clients_gemeinsamkeiten">Gemeinsamkeiten</a></li> + <li><a href="#webservice_clients_httpsserverauth">Besonderheiten von <code>HTTPSServerAuth.java</code></a></li> + <li><a href="#webservice_clients_httpsclientauth">Besonderheiten von <code>HTTPSClientAuth.java</code></a></li> + </ol> + </li> + </ol> + </li> + <li><a href="#klassenbibliothek">Verwendung der Klassenbibliothek</a> + <ol> + <li><a href="#klassenbibliothek_vorbereitung">Vorbereitung</a></li> + <li><a href="#klassenbibliothek_allgemeines">Allgemeines</a> </li> + <li><a href="#klassenbibliothek_beispiele">Beispiele</a></li> + <li><a href="#klassenbibliothek_apidoc">API-Dokumentation</a> </li> + </ol> + </li> + </ol> + <ol type="A"> + <li><a href="#referenzierte_software">Referenzierte Software</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 Anwendung der beiden Module auf jede dieser beiden Arten.</p> + <h1><a name="webservice"></a>2 Verwendung des Webservices </h1> + <p>Dieser Abschnitt beschreibt die Verwendung der Module SP und SS über die Webservice-Schnittstelle. Im ersten Unterabschnitt werden typische XML-Requests zur Signaturerstellung mittels SS bzw. zur Signaturprüfung mittels SP vorgestellt, wie sie an das Webservice gesendet werden können. Der zweite Unterabschnitt stellt beispielhafte Implementierungen eines Webservice-Clients in Java vor, mit dem die Requests aus dem ersten Unterabschnitt an das Webservice gesendet werden können.</p> + <h2><a name="webservice_xmlrequests" id="webservice_xmlrequests"></a>2.1 XML-Requests </h2> + <p>Dieser Abschnitt stellt typische XML-Requests für die Erstellung einer XML-Signatur mittels SS bzw. zur Prüfung einer CMS- bzw. XML-Signatur mittels SP vor. Zu jedem Request wird jeweils auch eine typische Response des Services besprochen. </p> + <p class="remark">Bitte beachten Sie: Einige der vorgestellten Requests referenzieren beispielhafte Daten auf <code>localhost</code>, z.B. <code>http://localhost:8080/referencedData/Text.txt</code>. Wenn Sie diese Beispiele ausprobieren möchten, müssen Sie dafür sorgen, dass MOA SS bzw. SP diese Daten auch tatsächlich auflösen kann. Wenn Sie Ihre Tomcat-Installation auf <code>localhost:8080</code> betreiben, ist es ausreichend, wenn sie die diesem Handbuch beiliegende Webapplikation <code><a href="../../clients/common/referencedData/referencedData.war">referencedData.war</a></code> in das Verzeichnis <code>webapps</code> Ihrer Tomcat-Installation kopieren. Ansonsten müssen Sie zusätzlich die URLs in den Requests anpassen. </p> + <h3><a name="webservice_xmlrequests_erstellungxml" id="webservice_xmlrequests_erstellungxml"></a>2.1.1 Erstellung einer XML-Signatur</h3> + <h4><a name="webservice_xmlrequests_erstellungxml_simple" id="webservice_xmlrequests_erstellungxml_simple"></a>2.1.1.1 Einfaches Beispiel</h4> + <h5>Request</h5> + <p><code><a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.xml" target="_blank">CreateXMLSignatureRequest.Simple.xml</a></code> ist ein einfacher XML-Request zur Erzeugung einer XML-Signatur. Sein Aufbau wird nachfolgend analysiert:</p> + <pre> <KeyIdentifier>KG_allgemein</KeyIdentifier> </pre> + <p><code>KG_allgemein</code> bezeichnet eine Schlüsselgruppe, aus der SS einen Signaturschlüssel selektieren soll und muss einer in der SP/SS-Konfigurationsdatei definierten Schlüsselgruppe entsprechen. </p> + <pre> <SingleSignatureInfo SecurityLayerConformity="false"></pre> + <p> Für jedes <code>SingleSignatureInfo</code>Element wird eine eigene XML-Signatur erzeugt. Wird das Attribut <code>SecurityLayerConformity</code> auf <code>true</code> gesetzt, dann wird eine XML-Signatur gemäß <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.html#signaturerstellungNachXMLDSIGAntwort" target="_blank">Security-Layer Spezifikation V1.1 </a> erzeugt; d.h. es werden signierte Properties (Zeitpunkt der Signaturerstellung, das für die Signaturüberprüfung zu verwendende Zertifikat, Metainformationen zu den signierten Datenobjekten) und ein Manifest, das alle implizite Transformationsparameter enthält, zur Signatur hinzugefügt. </p> + <pre> <DataObjectInfo Structure="enveloping"> + <DataObject> + <XMLContent>Diese Daten werden signiert.<XMLContent> + </DataObject></pre> + <p> </p> + <p> Für jedes Daten-Objekt, das in die XML-Signatur als <code>dsig:Reference</code> aufgenommen werden soll, muss ein <code>DataObjectInfo</code> Element spezifiziert werden. Das Attribut <code>Structure</code> gibt an, ob die Daten in die Signatur in ein <code>dsig:Object</code> Element integriert werden sollen (<code>Structure="enveloping"</code>), oder über einen URL referenziert werden sollen (<code>Structure="detached"</code>). </p> + <p> Im Fall von <code>Structure="enveloping"</code> muss im nachfolgenden <code>DataObject</code> Element entweder das Attribut <code>Reference</code> (enthält eine URL, von der SS die Daten beziehen soll) gesetzt sein, oder aber die zu signierenden Daten werden explizit in einem der Elemente <code>Base64Content</code> (enthält Daten in Base64 kodierter Form) oder <code>XMLContent</code> (enthält Daten als beliebiges XML-Fragment) oder <code>LocRefContent</code> (enthält eine URL, von der SS die Daten beziehen soll; in diesem Fall also gleichwertig wie ein gesetztes Attribut <code>Reference</code>) spezifiziert sein. Die Angabe der zu signierenden Daten über das Attribut <code>Reference</code> und gleichzeitig einem der Elemente <code>Base64Content</code> oder <code>XMLContent</code> oder <code>LocRefContent</code> ist nicht erlaubt.</p> + <p>Im Fall von <code>Structure="detached"</code> muss das Attribut <code>Reference</code> im nachfolgenden <code>DataObject</code> Element gesetzt sein. Es enthält jene URL, die zur Referenzierung der Daten als Wert von <code>dsig:Reference/@URI</code> in die XML-Signatur aufgenommen wird. Die Angabe eines der Element <code>Base64Content</code> oder <code>XMLContent</code> oder <code>LocRefContent</code> ist optional. Unterbleibt die Angabe, bezieht SS die Daten von der URL im Attribut <code>Reference</code>. Wird eines der Elemente verwendet, bezieht SS die Daten durch Analyse des angegebenen Elements (siehe obiger Absatz). </p> + <p>Im konkreten Beispiel sollen die Daten in ein <code>dsig:Object</code> Element integriert werden (<code>Structure="enveloping"</code>). Die Daten werden mittels <code>XMLContent</code> als XML-Fragment (ein einfacher Textknoten) angegeben.</p> + <p> + <pre> <CreateTransformsInfoProfile><br> <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain<MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile></pre> + Zu jedem Daten-Objekt können optional Transformationen (z.B. XPath, XSLT, Base64-Decodierung, etc.) angegeben werden. Werden - wie hier im Beispiel - keine Transformationen angegeben, so muss zumindest der MIME-Type der zu signierenden Daten spezifiziert werden. <p></p> + <h5>Response</h5> + <p><code><a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.resp.xml" target="_blank">CreateXMLSignatureRequest.Simple.resp.xml</a></code> ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> + <p> + <pre><CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" <br> xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><br> <SignatureEnvironment><br> <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><br> <dsig:SignedInfo> + ... + <dsig:Reference Id="reference-1-1" URI="#xpointer(id(&apos;signed-data-1-1-1&apos;)/node())"> + ... + </dsig:Reference> + ... + </dsig:SignedInfo> + ... + <dsig:Object Id="signed-data-1-1-1">Diese Daten werden signiert.</dsig:Object> + </dsig:Signature><br> </SignatureEnvironment><br></CreateXMLSignatureResponse></pre> + <p></p> + <p><code>CreateXMLSignatureResponse</code> enthält je erzeugter Signatur ein Element <code>SignatureEnvironment</code> (in diesem Fall genau ein Element). <code>SignatureEnvironment</code> enthält die von SS erzeugte XML-Signatur, die im obigen Request spezifiziert wurde. Man erkennt, dass die XML-Signatur genau ein Daten-Objekt unterzeichnet (ein <code>dsig:Reference</code> Element ist enthalten). Das unterzeichnete Datenobjekt ist in der Signaturstruktur selbst enthalten (<code>enveloping</code>), und zwar in einem <code>dsig:Object</code> Element. </p> + <h4><a name="webservice_xmlrequests_erstellungxml_daten" id="webservice_xmlrequests_erstellungxml_daten"></a>2.1.1.2 Angabe der zu signierenden Daten </h4> + <h5>Request</h5> + <p>Dieses Beispiel stellt die vielfältigen Möglichkeiten vor, wie MOA SS mitgeteilt werden kann, welche Daten signiert (wenn keine Transformationen angegeben werden) bzw. als Eingangsdaten für die Berechnung der Transformationen verwendet werden sollen (wenn Transformationen angegeben werden).</p> + <p>Mit <a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.xml" target="_blank"><code>CreateXMLSignatureRequest.Refs.xml</code></a> sollen insgesamt neun Datenobjekte signiert werden:</p> + <pre><CreateXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><br> <KeyIdentifier>KG_allgemein</KeyIdentifier><br> <SingleSignatureInfo SecurityLayerConformity="false"></pre> + <p>Die Signatur soll mit dem Schlüssel <code>KG_allgemein</code> erstellt werden; jene Elemente, die speziell für eine Security-Layer V1.1 konforme Signatur notwendig sind (vergleiche <a href="#webservice_xmlrequests_erstellungxml_simple" class="term">Einfaches Beispiel</a>), brauchen nicht erstellt zu werden (<code>SecurityLayerConformity="false"</code>).</p> + <pre> <DataObjectInfo Structure="enveloping" ChildOfManifest="true"> + <DataObject> + <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo></pre> + <p>Die Daten sollen in der <span class="term">Enveloping</span> Form in die Signatur integriert werden, d. h. die Daten werden in einem <code>dsig:Object</code> als Teil der XML-Struktur der Signatur aufgenommen (<code>Structure="enveloping"</code>). Weiters sollen die Daten nicht über über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code>, sondern über eine <code>dsig:Reference</code> in einem eigenen <code>dsig:Manifest</code> aufgenommen werden (<code>ChildOfManifest="true"</code>).</p> + <p>Die Daten selbst werden explizit in base64 kodierter Form als Inhalt des Elements <code>Base64Content</code> angegeben. Das Attribut <code>DataObject/@Reference</code> darf nicht angegeben werden, da die Daten in der <span class="term">Enveloping</span> Form integriert werden sollen, und <code>Base64Content</code> verwendet wird.</p> + <p>Es werden - wie in allen übrigen Fällen dieses Beispiels - keine Transformationen angegeben. Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben, da der Inhalt von <code>Base64Content</code> die base64-Kodierung des Texts <code>Diese Daten waren base64 kodiert.</code> ist. </p> + <pre> + <DataObjectInfo Structure="enveloping" ChildOfManifest="false"> + <DataObject> + <XMLContent><doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument></XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>application/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> + <p>Die Daten sollen in der <span class="term">Enveloping</span> Form in die Signatur integriert werden, d. h. die Daten werden in einem <code>dsig:Object</code> als Teil der XML-Struktur der Signatur aufgenommen (<code>Structure="enveloping"</code>). Diesmal sollen die Daten direkt über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest="false"</code>).</p> + <p>Die Daten selbst werden explizit als XML-Fragment als Inhalt des Elements <code>XMLContent</code> angegeben. Das Attribut <code>DataObject/@Reference</code> darf nicht angegeben werden, da die Daten in der <span class="term">Enveloping</span> Form integriert werden sollen, und <code>XMLContent</code> verwendet wird.</p> + <p>Der Mime-Type der zu signierenden Daten wird als <code>application/xml</code> angegeben.</p> +<pre> + <DataObjectInfo Structure="enveloping" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/referencedData/Text.txt"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Die Daten sollen in der <span class="term">Enveloping</span> Form in die Signatur integriert werden, d. h. die Daten werden in einem <code>dsig:Object</code> als Teil der XML-Struktur der Signatur aufgenommen (<code>Structure="enveloping"</code>). Wiederum sollen die Daten direkt über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest="false"</code>). +</p> +<p>Die Daten werden diesmal nicht explizit angegeben, sondern mittels der URL in <code>DataObject/@Reference</code> referenziert. MOA SS versucht diese URL aufzulösen, um zu den zu signierenden Daten zu gelangen. <code>Base64Content</code> oder <code>XMLContent</code> oder <code>LocRefContent</code> dürfen nicht verwendet werden, da die Daten in der <span class="term">Enveloping</span> Form integriert werden sollen, und bereits <code>DataObject/@Reference</code> eingesetzt wird. </p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben.</p> +<pre> + <DataObjectInfo Structure="enveloping" ChildOfManifest="false"> + <DataObject> + <LocRefContent>http://localhost:8080/referencedData/Text.txt</LocRefContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Die Daten sollen wiederum in der <span class="term">Enveloping</span> Form in die Signatur integriert werden, d. h. die Daten werden in einem <code>dsig:Object</code> als Teil der XML-Struktur der Signatur aufgenommen (<code>Structure="enveloping"</code>). Wiederum sollen die Daten direkt über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest="false"</code>). </p> +<p>Die Daten werden wie im vorhergehenden Fall nicht explizit angegeben, sondern referenziert. Diesmal wird die URL jedoch nicht <code>DataObject/@Reference</code> verwendet, sondern als Textinhalt des Elements <code>LocRefContent</code> (<code>LocRef</code> steht für <span class="term">Location Reference</span>). <code>DataObject/@Reference</code> darf in diesem Fall nicht verwendet werden. Diese Methode ist semantisch völlig ident mit dem vorhergehenden Fall. </p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben.</p> +<pre> + <DataObjectInfo Structure="detached" ChildOfManifest="true"> + <DataObject Reference="http://localhost:8080/referencedData/Text.b64"> + <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Die Daten sollen diesmal in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden, d. h. die Daten werden nicht direkt in die Signaturstruktur integriert, sondern lediglich mittels URI im Attribut <code>URI</code> der anzufertigenden <code>dsig:Reference</code> referenziert (<code>Structure="detached"</code>). Die Daten sollen indirekt über eine <code>dsig:Reference</code> eines <code>dsig:Manifest</code>s aufgenommen werden (<code>ChildOfManifest="true"</code>). </p> +<p>Die URI in <code>DataObject/@Reference</code> enthält dabei die URI, die zur Referenzierung in <code>dsig:Reference/@URI</code> aufgenommen werden soll. Die Daten selbst hingegen werden im diesem Beispiel explizit in base64 kodierter Form als Inhalt des Elements <code>Base64Content</code> angegeben. MOA SS löst also keine URL zur Erlangung der Daten auf, sondern verwendet den Inhalt von <code>Base64Content</code>. </p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben.</p> +<pre> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="NichtAufloesbareReferenz1"> + <XMLContent><doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> +</doc:XMLDocument></XMLContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>application/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Die Daten sollen auch diesmal in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden, d. h. die Daten werden nicht direkt in die Signaturstruktur integriert, sondern lediglich mittels URI im Attribut <code>URI</code> der anzufertigenden <code>dsig:Reference</code> referenziert (<code>Structure="detached"</code>). Diesmal sollen die Daten direkt über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest="false"</code>). +</p> +<p>Die URI in <code>DataObject/@Reference</code> enthält dabei die URI, die zur Referenzierung in <code>dsig:Reference/@URI</code> aufgenommen werden soll. Die Daten selbst hingegen werden im diesem Beispiel explizit als XML-Fragment in <code>XMLContent</code> angegeben. MOA SS löst auch hier keine URL zur Erlangung der Daten auf, sondern verwendet den Inhalt von <code>XMLContent</code>. Zur Verdeutlichung dieses Umstandes wurde die URI in <code>DataObject/@Reference</code> auf einen Wert gesetzt, der von MOA SS ganz sicher nicht aufgelöst werden kann (<code>NichtAufloesbareReferenz1</code>). </p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>application/xml</code> angegeben.</p> +<pre> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="http://localhost:8080/referencedData/Text.txt"> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Wiederum sollen die Daten in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden (<code>Structure="detached"</code>). Wie zuvor sollen die Daten direkt über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest="false"</code>). </p> +<p>Die URI in <code>DataObject/@Reference</code> enthält dabei die URI, die zur Referenzierung in <code>dsig:Reference/@URI</code> aufgenommen werden soll. Nachdem eine explizite Angabe der Daten mittels <code>Base64Content</code>, <code>XMLContent</code> oder <code>LocRefContent</code> unterbleibt, wird MOA SS versuchen, die URI in <code>dsig:Reference/@URI</code> als URL aufzulösen, um so zu den zu signierenden Daten zu gelangen. </p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben.</p> +<pre> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference="NichtAufloesbareReferenz2"> + <LocRefContent>http://localhost:8080/referencedData/Text.txt</LocRefContent> + </DataObject> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Wiederum sollen die Daten in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden (<code>Structure="detached"</code>). Wie zuvor sollen die Daten direkt über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest="false"</code>).</p> +<p>Die URI in <code>DataObject/@Reference</code> enthält dabei die URI, die zur Referenzierung in <code>dsig:Reference/@URI</code> aufgenommen werden soll. Den Hinweis, wie MOA SS zu den zu signierenden Daten gelangen soll, ist jedoch in LocRefContent enthalten. MOA SS wird also versuchen, die dort enthaltene URL aufzulösen, um zu den zu signierenden Daten zu gelangen. Zur Verdeutlichung dieses Umstandes wurde die URI in <code>DataObject/@Reference</code> auf einen Wert gesetzt, der von MOA SS ganz sicher nicht aufgelöst werden kann (<code>NichtAufloesbareReferenz2</code>). Diese Art der Datenangabe kann eingesetzt werden, wenn die Daten zum Zeitpunkt der Signaturerstellung von einem anderen Ort bezogen werden müssen, als später dann bei der Signaturprüfung.</p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben.</p> +<pre> + <DataObjectInfo Structure="detached" ChildOfManifest="false"> + <DataObject Reference=""/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>application/xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Im letzten Fall schließlich sollen wiederum Daten in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden (<code>Structure="detached"</code>). Wie zuvor sollen die Daten direkt über eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest="false"</code>).</p> +<p>Die Referenz auf die zu signierenden Daten ist wiederum in <code>DataObject/@Reference</code> enthalten; sie verweist diesmal jedoch nicht auf ein externes Dokument, sondern auf das gesamte (XML-)Dokument, in das die zu erstellende Signatur integriert werden soll, und zwar, indem <code>DataObject/@Reference</code> den leeren String (<code>""</code>) enthält. Nachdem dadurch zwangsläufig auch die Signatur in den zu signierenden Daten enthalten wäre, wird die Signatur durch die Angabe einer Enveloped Signature Transform aus den zu signierenden Daten herausgenommen, bevor darüber der Hashwert berechnet wird (dsig:Transform).</p> +<p>Offen bleibt die Frage, wie MOA SS nun weiß, in welches (XML-)Dokument es die die Signatur integrieren soll. Siehe dazu die Erläuterungen zum nächsten Ausschnitts des Requests. </p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>application/xml</code> angegeben.</p> +<pre> + <CreateSignatureInfo> + <CreateSignatureEnvironment> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.xml</LocRefContent> + </CreateSignatureEnvironment> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> +</pre> +<p>Das Element <code>CreateSignatureInfo</code> ist grundsätzlich optional, und muss nur angegeben werden, wenn die zu erstellende Signatur von MOA SS in ein bestehendes XML-Dokument integriert werden soll (was in diesem Beispiel ja der Fall ist).</p> +<p><code>CreateSignatureEnvironment</code> enthält das XML-Dokument, in das die zu erstellende Signatur integriert werden soll. In diesem Beispiel wird dieses Dokument mit Hilfe von <code>LocRefContent</code> referenziert, d. h. MOA SS wird versuchen, die darin enthaltene URL aufzulösen, um das XML-Dokument zu erhalten. Alternativ könnte auch <code>Base64Content</code> (explizite Angabe des XML-Dokuments in base64 kodierter Form) oder <code>XMLContent</code> (direkte Angabe des XML-Dokuments im Request) verwendet werden.</p> +<p><a name="webservice_xmlrequests_erstellungxml_daten_hinweisCreateSignatureLocation"></a><code>CreateSignatureLocation</code> enthält die Angabe jener Stelle, an der die Signatur in das XML-Dokument eingesetzt werden soll. Der Inhalt dieses Elements bezeichnet mittels <span class="term">XPath</span>-Ausdruck das <span class="term">Parent</span>-Element der Signatur, der Wert des Attributs <code>CreateSignatureLocation/@Index</code> enthält den Offset innerhalb dieses <span class="term">Parent</span>-Elements. Betrachten Sie zur Verdeutlichung das XML-Dokument <a href="../../clients/referencedData/src/main/webapp/XMLDocument.xml" target="_blank"><code>XMLDocument.xml</code></a>, in das die Signatur integriert werden soll: Die Signatur soll unmittelbar nach dem zweiten <code>doc:Paragraph</code> Element in das XML-Dokument eingefügt werden. Der Inhalt von <code>CreateSignatureLocation</code> (<code>/doc:XMLDocument</code>) selektiert das zukünftige <span class="term">Parent</span>-Element der Signatur, also <code>doc:XMLDocument</code>. Das Attribut <code>Index</code> enthält deshalb den Wert <code>4</code> (und nicht etwa <code>2</code> oder <code>3</code>), da erstens bei <code>0</code> zu zählen begonnen wird, und zweitens auch die Text-Knoten, die lediglich Whitespace enthalten, für diesen Offset zählen (um diese Textknoten erkennen zu können, müssen Sie das XML-Dokument in einem Text-Editor öffnen). Beachten Sie weiters, dass das im <span class="term">XPath</span>-Ausdruck verwendete Namespace-Prefix <code>doc</code> im Kontext des Elements <code>CreateSignatureLocation</code> bekannt sein muss. Deshalb enthält dieses Element auch die entsprechende Namespace-Deklaration (<code>xmlns:doc="urn:document"</code>).</p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Refs.resp.xml" target="_blank">CreateXMLSignatureRequest.Refs.resp.xml</a></code> ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <SignatureEnvironment> + <doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph><dsig:Signature Id="signature-1-1" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/> +</pre> +<p>Die Antwort enthält in <code>SignatureEnvironment</code> das Ergebnis der Signaturerstellung. Nachdem die Signatur in ein bestehendes XML-Dokument integriert werden sollte, enthält <code>SignatureEnvironment</code> das Dokument-Element dieses XML-Dokuments (<code>doc:XMLDocument</code>). Man erkennt auch gut, dass die XML-Signatur als fünfter Kindknoten (Offset <code>4</code>) von <code>doc:XMLDocument</code> eingefügt wurde.</p> +<pre> + <dsig:Reference Id="reference-1-2" URI="#xpointer(id('signed-data-1-2-1')/node())"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>A8ml6/aZKCmj1hONwvLItIwGHoc=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> wurde auf Grund des zweiten <code>DataObjectInfo</code> Elements im Request erstellt. Man erkennt gut den Verweis in <code>dsig:Reference/@URI</code> auf das <code>dsig:Object</code>, das die signierten Daten enthält (der XPointer verweist auf sämtliche Kindknoten jenes Elements, das ein ID-Attribut mit dem Wert <code>signed-data-1-2-1</code> aufweist, des ersten vorkommenden <code>dsig:Object</code>s der Signatur). </p> +<pre> + <dsig:Reference Id="reference-1-3" URI="#xpointer(id('signed-data-1-3-1')/node())"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> wurde auf Grund des dritten <code>DataObjectInfo</code> Elements im Request erstellt. Die Text-Daten wurden von der angegebenen URL (<code>http://localhost:8080/referencedData/Text.txt</code>) aufgelöst und in das <code>dsig:Object</code> mit dem ID-Attribut <code>signed-data-1-3-1</code> gesteckt. Um Probleme mit nicht in XML darstellbare Zeichen zu vermeiden, wurde der Text nicht direkt signiert, sondern in base64 kodierter Form in das <code>dsig:Object</code> integriert, und eine Transformation zur base64 Dekodierung spezifiziert. </p> +<pre> + <dsig:Reference Id="reference-1-4" URI="#xpointer(id('signed-data-1-4-1')/node())"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> wurde auf Grund des vierten <code>DataObjectInfo</code> Elements im Request erstellt. Wie schon bei der Beschreibung des Requests angeführt, ist die erstellte<code> dsig:Reference</code> semantisch genau gleich wie die vorhergehende. </p> +<pre> + <dsig:Reference Id="reference-1-6" URI="NichtAufloesbareReferenz1"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> wurde auf Grund des sechsten <code>DataObjectInfo</code> Elements im Request erstellt. Die zu signierenden Daten wurden aus dem <code>XMLContent</code> des Requests entnommen, als Wert von <code>dsig:Reference/@URI</code> wurde der Wert von <code>DataObjectInfo/@Reference</code> übernommen. </p> +<pre> + <dsig:Reference Id="reference-1-7" URI="http://localhost:8080/referencedData/Text.txt"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> wurde auf Grund des siebenten <code>DataObjectInfo</code> Elements im Request erstellt. Um zu den zu signierenden Daten zu gelangen, wurde von MOA SS die URL in <code>DataObjectInfo/@Reference</code> aufgelöst. Gleichermaßen wurde die URL in <code>dsig:Reference/@URI</code> übernommen. </p> +<pre> + <dsig:Reference Id="reference-1-8" URI="NichtAufloesbareReferenz2"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>0P878Dsmtxv5goj+6KgNmj6S/EE=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> wurde auf Grund des achten <code>DataObjectInfo</code> Elements im Request erstellt. Um zu den zu signierenden Daten zu gelangen, wurde von MOA SS die URL in LocRefContent aufgelöst. In <code>dsig:Reference/@URI</code> wurde der Wert aus <code>DataObjectInfo/@Reference</code> übernommen.</p> +<pre> + <dsig:Reference Id="reference-1-9" URI=""> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>2b83+NbXDFijHzz+sH0T7fM36sA=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> wurde auf Grund des neunten <code>DataObjectInfo</code> Elements im Request erstellt. Als zu signierende Daten wurde das XML-Dokument ausgewählt, in das die XML-Signatur integriert werden solle. Vor der Berechnung des Hashwerts wurde eine <span class="term">Enveloped Signature</span> Transformation zwischengeschaltet, welche die XML-Struktur der Signatur selbst aus den Hash-Eingangsdaten herausschneidet. </p> +<pre> + <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>mNsxUkFoF46XZVBivBo4aasFCTQ=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Diese <code>dsig:Reference</code> verweist auf das <code>dsig:Manifest</code> weiter unten in der XML-Struktur der Signatur. Das <code>dsig:Manifest</code> wurde angelegt, weil bei zwei <code>DataObjectInfo</code>s im Request das Attribut <code>ChildOfManifest</code> auf den Wert <code>true</code> gesetzt wurde.</p> +<pre> + </dsig:SignedInfo> + <dsig:SignatureValue>...</dsig:SignatureValue> + <dsig:KeyInfo>...</dsig:KeyInfo> + <dsig:Object Id="signed-data-1-2-1"> + <doc:XMLDocument xmlns:doc="urn:document"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> + </doc:XMLDocument> + </dsig:Object> + <dsig:Object Id="signed-data-1-3-1">RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=</dsig:Object> + <dsig:Object Id="signed-data-1-4-1">RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=</dsig:Object> + <dsig:Object Id="signed-data-1-1-1">RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</dsig:Object> +</pre> +<p><code>SignatureValue</code> und <code>KeyInfo</code> werden an dieser Stelle nicht näher betrachtet.</p> +<p>Das erste <code>dsig:Object</code> enthält die Daten aus dem zweiten <code>DataObjectInfo</code>; das zweite <code>dsig:Object</code> jene aus dem dritten <code>DataObjectInfo</code>; das dritte <code>dsig:Object</code> jene aus dem vierten <code>DataObjectInfo</code>; das vierte <code>dsig:Object</code> schließlich jene aus dem ersten <code>DataObjectInfo</code>.</p> +<pre> + <dsig:Object> + <dsig:Manifest Id="dsig-manifest-1-1"> + <dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue> + </dsig:Reference> + <dsig:Reference Id="reference-1-5" URI="http://localhost:8080/referencedData/Text.b64"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue> + </dsig:Reference> + </dsig:Manifest> + </dsig:Object> +</pre> +<p>Das fünfte <code>dsig:Object</code> enthält das <code>dsig:Manifest</code>, das von MOA SS auf Grund des ersten bzw. fünften <code>DataObjectInfo</code> des Requests erstellt wurde. Darin enthalten sind die zum ersten und fünten <code>DataObjectInfo</code> korrespondierenden <code>dsig:Reference</code> Elemente. Die Daten für die erste im <code>dsig:Manifest</code> enthaltene <code>dsig:Reference</code> wurden aus dem <code>Base64Content</code> Element des ersten <code>DataObjectInfo</code> entnommen, jene für die zweite <code>dsig:Reference</code> aus dem <code>Base64Content</code> Element des fünften <code>DataObjectInfo</code>. Der Wert des <code>URI</code> Attributs der zweiten <code>dsig:Reference</code> wurde aus dem <code>DataObject/@Reference</code> des fünften <code>DataObjectInfo</code> übernommen. </p> +<h4><a name="webservice_xmlrequests_erstellungxml_transformationen" id="webservice_xmlrequests_erstellungxml_transformationen"></a>2.1.1.3 Transformationen</h4> +<h5>Request</h5> +<p>Dieses Beispiel (<a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml" target="_blank"><code>CreateXMLSignatureRequest.Transforms.xml</code></a>) stellt die wichtigsten Transformationen vor, die von MOA SS bei der Erstellung einer Signatur verwendet werden können. Eine Transformation bzw. eine Kette mehrerer hintereinandergeschalteter Transformationen werden auf die Referenz-Eingangsdaten (also jene Daten, die in DataObjectInfo/DataObject angegeben werden) angewendet; das Ergebnis fließt dann in die Hashwert-Berechnung ein. </p> +<pre><CreateXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"><br> <KeyIdentifier>KG_allgemein</KeyIdentifier><br> <SingleSignatureInfo SecurityLayerConformity="false"></pre> +<p>Die Signatur soll mit dem Schlüssel <code>KG_allgemein</code> erstellt werden; jene Elemente, die speziell für eine Security-Layer V1.1 konforme Signatur notwendig sind (vergleiche <a href="#webservice_xmlrequests_erstellungxml_simple" class="term">Einfaches Beispiel</a>), brauchen nicht erstellt zu werden (<code>SecurityLayerConformity="false"</code>).</p> +<pre> + <DataObjectInfo Structure="detached"> + <DataObject Reference="http://localhost:8080/referencedData/Text.b64"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>text/plain</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Für das erste zu signierende Datenobjekt werden die Referenz-Eingangsdaten mittels <code>DataObject/@Reference</code> referenziert, d. h. MOA SS löst die darin enthaltene URL auf, um zu den Daten zu gelangen. Es handelt sich dabei um einen <a href="../../clients/referencedData/src/main/webapp/Text.b64" target="_blank">base64 kodierten Text</a>.</p> +<p>Unterschrieben werden soll nun aber nicht dieser base64 kodierte Text, sondern der entsprechend dekodierte Text. Dies lässt sich elegant durch die Angabe einer <span class="term"><a href="http://www.w3.org/TR/xmldsig-core/#sec-Base-64" target="_blank">Base64 Decoding</a></span><a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/#sec-Base-64" target="_blank"> Transformation</a> bewerkstelligen. Dazu wird als erstes Kindelement von <code>CreateTransformsInfo</code> ein <code>dsig:Transforms</code> Element im Request angegeben. Dieses <code>dsig:Transforms</code> Element nimmt ein oderer mehrere <code>dsig:Transform</code> Elemente auf, wobei jedes <code>dsig:Transform</code> Element für eine Transformation steht. In unserem Fall wird nur eine einzige Transformation benötigt; die Angabe, um welche Transformation es sich handelt, wird durch das Attribut <code>dsig:Transform/@Algorithm</code> angegeben. Für die <span class="term">Base64 Decoding</span> Transformation muss der Wert auf <code>http://www.w3.org/2000/09/xmldsig#base64</code> gesetzt werden. Sie ist eine parameterlose Transformation, d. h. <code>dsig:Transform</code> hat keine Kindelemente.</p> +<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben, da ja tatsächlich nach der durchgeführten Transformation dekodierter Text vorliegt, über den dann der Hashwert berechnet wird. </p> +<pre> + <DataObjectInfo Structure="detached"> + <DataObject Reference="http://localhost:8080/referencedData/XMLDocument.xml"/> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"> + <xp2:XPath + xmlns:xp2="http://www.w3.org/2002/06/xmldsig-filter2" + xmlns:doc="urn:document" + Filter="subtract">/doc:XMLDocument/doc:Paragraph[2]</xp2:XPath> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:doc="urn:document"> + <xsl:output encoding="UTF-8" method="xml" indent="yes"/> + <xsl:template match="/doc:XMLDocument"> + <html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <title>HTML-Dokument</title> + </head> + <body> + <xsl:for-each select="doc:Paragraph"> + <p> + <xsl:value-of select="child::text()"/> + </p> + </xsl:for-each> + </body> + </html> + </xsl:template> +</xsl:stylesheet></dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>application/xhtml+xml</MimeType> + </FinalDataMetaInfo> + </CreateTransformsInfo> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Für das zweite zu signierende Datenobjekt werden die Referenz-Eingangsdaten wiederum mittels <code>DataObject/@Reference</code> referenziert, d. h. MOA SS löst die darin enthaltene URL auf, um zu den Daten zu gelangen. Es handelt sich dabei um ein <a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.xml" target="_blank">XML-Dokument</a>.</p> +<p>Zunächst soll von diesem XML-Dokument jedoch ein Teil weggeschnitten werden, da er nicht mitsigniert werden soll. Für diesen Zweck bietet sich die<a href="http://www.w3.org/TR/2002/REC-xmldsig-filter2-20021108/" target="_blank" class="term"> XPath Filter 2 Transformation</a> an. Das Attribut <code>dsig:Transform/@Algorithm</code> ist dazu auf den Wert <code>http://www.w3.org/2002/06/xmldsig-filter2</code> zu setzen. Diese Transformation benötigt weiters Transformationsparameter. Diese werden als Kindelement <code>xp2:XPath</code> in <code>dsig:Transform</code> angegeben. Das Attribut <code>Filter</code> selektiert den Filtermodus; für das Bespiel wird den Modus <code>subtract</code> benötigt, da ein Teil weggefiltert werden soll. Der Textinhalt von <code>xp2:XPath</code> ist ein XPath-Ausdruck, der den Wurzelknoten jenes Teilbaums selektiert, der weggefiltert werden soll. Für das Beispiel soll das zweite <code>doc:Paragraph</code> Element des XML-Dokuments weggefiltert werden. Beachten Sie, dass das im XPath-Ausdruck verwendete Namespace-Prefix <code>doc</code> im Kontext des <code>xp2:XPath</code> Elements deklariert sein muss.</p> +<p>Als nächstes soll nun das XML-Dokument mit Hilfe eines Stylesheets in ein XHTML-Dokument übergeführt werden. Dazu kann die <a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/#sec-XSLT" target="_blank" class="term">XSLT Transformation</a> verwendet werden. Das Attribut <code>dsig:Transform/@Algorithm</code> ist dazu auf den Wert <code>http://www.w3.org/TR/1999/REC-xslt-19991116</code> zu setzen. Auch diese Transformation benötigt Transformationsparameter: Als Kindelement von <code>dsig:Transform</code> wird jener Stylesheet angegeben, mit dem die Stylesheet-Transformation ausgeführt werden soll.</p> +<p>Abschließend soll, wie in der Spezifikation der<span class="term"> XSLT-Transformation</span> <a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/#sec-XSLT" target="_blank">empfohlen</a>, eine Kanonisierungstransformation angewendet werden. Damit können Unterschiede im Output unterschiedlicher XSLT-Engines, wie sie in der Praxis vorkommen, abgefangen werden. Beachten Sie, dass als Voraussetzung dazu die Output-Methode im Stylesheet auf <code>xml</code> festgelegt werden muss (<code><xsl:output method="xml"></code>), denn nur XML-Output kann anschließend kanonisiert werden. Das Attribut <code>dsig:Transform/@Algorithm</code> ist für die <a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/#sec-c14nAlg" target="_blank"><span class="term">Canonical XML Transformation</span></a> auf den Wert http://www.w3.org/TR/2001/REC-xml-c14n-20010315 zu setzen. Die Transformation benötigt keine Transformationsparameter.</p> +<p>Das Ergebnis der drei hintereinandergeschalteten Transformationen, welches der Hashwert-Berechnung zufließt, finden Sie <a href="../../clients/webservice/resources/requests/transformResults/CreateXMLSignatureRequest.Transforms.hashinput.ref2.txt" target="_blank">hier</a>. </p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Transforms.resp.xml" target="_blank">CreateXMLSignatureRequest.Transforms.resp.xml</a></code> ist eine typische Response des SS Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<CreateXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <SignatureEnvironment> + <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/> +</pre> +<p>Die Antwort enthält in <code>SignatureEnvironment</code> das Ergebnis der Signaturerstellung. Nachdem die Signatur in kein bestehendes Dokument eingefügt werden sollte, enhält <code>SignatureEnvironment</code> direkt die erzeugte XML-Signatur (<code>dsig:Signature</code>).</p> +<pre> + <dsig:Reference Id="reference-1-1" URI="http://localhost:8080/referencedData/Text.b64"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#base64"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>a53jOsL7KbyltpByAK87FoMZphI=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Die erste <code>dsig:Reference</code> wurde auf Grund des ersten <code>DataObjectInfo</code> im Request erstellt. Man erkennt dass die URL auf die Referenz-Eingangsdaten (Wert des Attributs <code>dsig:Reference/@URI</code>) aus <code>DataObject/@Reference</code> übernommen und eine <span class="term">Base64 Decoding Transformation</span> eingefügt würde. Die im Request spezifizierten Transformationen werden also eins zu eins in die XML-Signatur übernommen.</p> +<pre> + <dsig:Reference Id="reference-1-2" URI="http://localhost:8080/referencedData/XMLDocument.xml"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2"> + <xp2:XPath Filter="subtract" xmlns:doc="urn:document" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" + xmlns:xf2="http://www.w3.org/2002/06/xmldsig-filter2" + xmlns:xp2="http://www.w3.org/2002/06/xmldsig-filter2">/doc:XMLDocument/doc:Paragraph[2]</xp2:XPath> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" + xmlns:doc="urn:document" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:output encoding="UTF-8" indent="yes" method="xml"/> + <xsl:template match="/doc:XMLDocument">...</xsl:template> + </xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + </dsig:Transforms> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>fIPwneCpjVqTXwHMN9DFfx6tJIU=</dsig:DigestValue> + </dsig:Reference> +</pre> +<p>Die zweite <code>dsig:Reference</code> wurde auf Grund des zweiten <code>DataObjectInfo</code> im Request erstellt. Man erkennt auch hier gut, dass die URL auf die Referenz-Eingangsdaten (Wert des Attributs <code>dsig:Reference/@URI</code>) aus <code>DataObject/@Reference</code> übernommen und die drei Transformationen wie im Request angegeben eingefügt wurden. </p> +<h4><a name="webservice_xmlrequests_erstellungxml_ergaenzungsobjekte"></a>2.1.1.4 Ergänzungsobjekte </h4> +<h5>Request</h5> +<p>Dieses Beispiel (<a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.xml" target="_blank"><code>CreateXMLSignatureRequest.Supplements.xml</code></a>) stellt die Verwendung von Ergänzungsobjekten vor. Ein Ergänzungsobjekt betrifft entweder ein zu signierendes Datum (Zusammenhang mit einem <code>DataObject</code>) oder jenes Dokument, in das eine zu erzeugende Signatur eingefügt werden soll (Zusammenhang mit <code>CreateSignatureEnvironment</code>). Es muss dann angegeben werden, wenn in einem zu signierenden Datum bzw. im Einfügedokument auf Daten per Referenz verwiesen wird, diese referenzierten Daten aber von MOA SS nicht aufgelöst werden können. Das Ergänzungsobjekt enthält dann genau diese Daten, die nicht von MOA SS aufgelöst werden können.</p> +<pre> +<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"> +</pre> +<p>Die Signatur soll mit dem Schlüssel <code>KG_allgemein</code> erstellt werden; jene Elemente, die speziell für eine Security-Layer V1.1 konforme Signatur notwendig sind (vergleiche <a href="#webservice_xmlrequests_erstellungxml_simple" class="term">Einfaches Beispiel</a>), brauchen nicht erstellt zu werden (<code>SecurityLayerConformity="false"</code>).</p> +<pre> + <DataObjectInfo Structure="detached"> + <DataObject Reference="#Para2"/> +</pre> +<p>Das zu signierende Datum in diesem Beispiel ist ein Teil des Dokuments, in das die zu erstellende Signatur eingefügt werden soll. Der Wert des <code>Reference</code> Attributs ist <code>#Para2</code>, das bedeutet, dass jenes Element des Einfügedokuments signiert werden soll, das ein ID-Attribut mit dem Wert <code>#Para2</code> aufweist. Damit MOA SS diesen Hinweis auswerten kann, muss es das Einfügedokument validierend parsen, denn sonst wüsste es ja nicht, welche Attribute überhaupt ID-Attribute sind. Das zum validierenden Parsen notwendige XML-Schema wird MOA SS in diesem Beispiel über ein Ergänzungsobjekt zum Einfügedokument mitgeteilt (siehe weiter unten). </p> +<pre> + <CreateTransformsInfoProfile> + <CreateTransformsInfo> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="XMLDocument.Para.xsl"/> +</xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </dsig:Transforms> + <FinalDataMetaInfo> + <MimeType>application/xhtml+xml</MimeType> + </FinalDataMetaInfo> +</pre> +<p>Das Beispiel enthält als erste Transformation eine <span class="term">XSLT-Transformation</span>. Der als Kindelement von <code>dsig:Transform</code> angegebene Stylesheet verweist dabei mittels <code>xsl:include</code> auf einen weiteren Stylesheet. Dieser weitere Stylesheet kann jedoch von MOA nicht direkt aufgelöst werden, da er als relative Referenz angegeben wird. Deshalb ist es notwendig, diesen weiteren Stylesheet als Ergänzungsobjekt zu den signierenden Daten anzugeben:</p> +< + </CreateTransformsInfo> + <Supplement> + <Content Reference="XMLDocument.Para.xsl"> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.Para.xsl</LocRefContent> + </Content> + </Supplement> + </CreateTransformsInfoProfile> + </DataObjectInfo> +</pre> +<p>Ein Ergänzungsobjekt für zu signierende Daten wird im entsprechenden <code>DataObjectInfo</code> Element angegeben, und zwar als Inhalt des Elements <code>CreateTransformsInfoProfile/Supplement</code>. Das verpflichtend zu verwendende Attribut <code>Content/@Reference</code> enthält dabei die Referenz auf das Ergänzungsobjekt in exakt jener Schreibweise, wie sie in der <code>xsl:include</code> Direktive vorkommt, hier also <code>XMLDocument.Para.xsl</code>. Das Element <code>Content</code> beinhaltet das Ergänzungsobjekt so, wie es MOA SS verwenden soll (Elemente <code>Base64Content</code> oder <code>XMLContent</code>, vergleiche <a href="#webservice_xmlrequests_erstellungxml_simple"><span class="term">Einfaches Beispiel</span></a>), bzw. enthält eine von MOA SS auflösbare Referenz auf das Ergänzungsobjekt (Element <code>LocRefContent</code>, vergleiche <a href="#webservice_xmlrequests_erstellungxml_simple"><span class="term">Einfaches Beispiel</span></a>). Im konkreten Beispiel wird <code>LocRefContent</code> verwendet. </p> +<pre> + <CreateSignatureInfo> + <CreateSignatureEnvironment + Reference="http://localhost:8080/referencedData/XMLDocument.withSchemaHint.xml"/> + <CreateSignatureEnvironmentProfile> + <CreateSignatureLocation + Index="4" xmlns:doc="urn:document">/doc:XMLDocument</CreateSignatureLocation> +</pre> +<p>Eingefügt werden soll die zu erzeugende Signatur in ein <a href="../../clients/referencedData/src/main/webapp/XMLDocument.withSchemaHint.xml" target="_blank">bestehendes Dokument</a>, das MOA SS durch Auflösen der in <code>CreateSignatureEnvironment/@Reference</code> angegebenen URL erhält. Eingefügt werden soll die Signatur als fünfter Kindknoten des Wurzelelements <code>doc:XMLDocument</code>. Beachten Sie wiederum die <a href="#webservice_xmlrequests_erstellungxml_daten_hinweisCreateSignatureLocation">Hinweise</a> zur Zählweise für das Attribut <code>Index</code> bzw. zur Deklaration der im XPath-Ausdruck verwendeten Namespace-Deklarationen (hier <code>doc</code>). </p> +<pre> + <Supplement> + <Content Reference="urn:XMLDocument.xsd"> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.xsd</LocRefContent> + </Content> + </Supplement> + </CreateSignatureEnvironmentProfile> + </CreateSignatureInfo> +</pre> +<p>Wie oben bereits angemerkt, muss MOA SS zur Auflösung der ID-Referenz <code>#Para2</code> das Einfügedokument validierend parsen. Im Einfügedokument ist zwar nun ein Hinweis auf die dazu notwendige Grammatikinformation in Form eines XML-Schemas enthalten (Attribut <code>xsi:schemaLocation</code> enthält den Wert <code>"urn:document urn:XMLDocument.xsd"</code>). Nachdem die darin angegebene URI <code>urn:XMLDocument.xsd</code> jedoch von MOA nicht direkt aufgelöst werden kann, wird im Request ein Ergänzungsobjekt zum Einfügedokument angegeben (<code>CreateSignatureEnvironmentProfile/Supplement</code>). Das Attribut <code>Content/@Reference</code> enthält die Referenz auf das Ergänzungsobjekt in exakt jener Schreibweise, wie sie im Attribut <code>xsi:schemaLocation</code> angegeben wurde (<code>urn:XMLDocument.xsd</code>). Das Element <code>Content</code> beinhaltet das Ergänzungsobjekt so, wie es MOA SS verwenden soll (Elemente <code>Base64Content</code> oder <code>XMLContent</code>, vergleiche <a href="#webservice_xmlrequests_erstellungxml_simple"><span class="term">Einfaches Beispiel</span></a>), bzw. enthält eine von MOA SS auflösbare Referenz auf das Ergänzungsobjekt (Element <code>LocRefContent</code>, vergleiche <a href="#webservice_xmlrequests_erstellungxml_simple"><span class="term">Einfaches Beispiel</span></a>). Im konkreten Beispiel wird <code>LocRefContent</code> verwendet. </p> +<p>Beachten Sie bitte, dass die Verwendung von Ergänzungsobjekten für die Mitteilung von XML-Schemata nur dann funktioniert, wenn die Referenz auf das XML-Schema in der <code>xsi:schemaLocation</code> eine absolute URI ist (also z.B. wie hier <code>urn:XMLDocument.xsd</code> oder auch <code>http://example.org/XMLDocument.xsd</code>, nicht aber z.B. <code>XMLDocument.xsd</code> oder <code>../schemas/XMLDocument.xsd</code>).</p> +<p>Auch für das Auflösen eines Verweises in einer DTD kann in analoger Weise von Ergänzungsobjekten Gebrauch gemacht werden. </p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.resp.xml" target="_blank">CreateXMLSignatureRequest.Supplements.resp.xml</a></code> ist eine typische Response des SS Webservices auf den obigen Request. Er wird an dieser Stelle nicht näher analysiert, da er keine für das Thema des Beispiels relevanten Besonderheiten aufweist.</p> +<h3><a name="webservice_xmlrequests_pruefungcms" id="webservice_xmlrequests_pruefungcms"></a>2.1.2 Prüfung einer CMS-Signatur</h3> +<h4><a name="webservice_xmlrequests_pruefungcms_einfach" id="webservice_xmlrequests_pruefungcms_einfach"></a>2.1.2.1 Einfaches Beispiel</h4> +<h5>Request</h5> +<p>Dieses Beispiel (<a href="../../clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.xml" target="_blank"><code>VerifyCMSSignatureRequest.Simple.xml</code></a>) ist ein einfacher Request zur Prüfung einer CMS-Signatur. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass der nachfolgende Ausschnitt aus dem Request aus Gründen der Übersichtlichkeit gekürzt wurde.</p> +<pre> +<VerifyCMSSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <CMSSignature>MIIHsAYJKo...4sLL6kpOPJaLg==</CMSSignature> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyCMSSignatureRequest> +</pre> +<p>Der Request enthält zunächst in <code>CMSSignature</code> die zu prüfende CMS-Signatur, und zwar in base64 kodierter Form. In diesem Beispiel wird davon ausgegangen, dass es sich dabei um eine <span class="term">Enveloping</span> Signature handelt, d. h. dass die signierten Daten als Teil der CMS-Struktur vorhanden sind. Für die Behandlung einer <span class="term">Detached</span> Signature sei auf das <a href="#webservice_xmlrequests_pruefungcms_detached">nächste Beispiel</a> verwiesen.</p> +<p>Abschließend enthält der Request in <code>TrustProfileID</code> die Angabe des Vertrauensprofils, gegen das die Vertrauensprüfung des Zertifikats durchgeführt werden soll. Ein Vertrauensprofil mit dem angegebenen Namen muss in der für die Signaturprüfung verwendeten Instanz von MOA SP eingerichtet sein. </p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyCMSSignatureRequest.Simple.resp.xml" target="_blank">VerifyCMSSignatureRequest.Simple.resp.xml</a></code> ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<VerifyCMSSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <SignerInfo> + <dsig:X509Data> + <dsig:X509SubjectName>serialNumber=615536615920,givenName=Gregor,SN=Karlinger, +CN=Gregor Karlinger,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=TrustSignTest-Sig-01,OU=TrustSignTest-Sig-01, +O=A-Trust Ges. für Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>2892</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + <dsig:X509Certificate>...</dsig:X509Certificate> + <QualifiedCertificate/> + </dsig:X509Data> + </SignerInfo> +</pre> +<p>Die Response enthält zunächst in <code>SignerInfo/dsig:X509Data</code> Informationen über den Signator, die aus dem in der CMS-Signatur enthaltenen Signatorzertifikat entnommen sind. </p> +<p><code>dsig:X509SubjectName</code> ist immer vorhanden und enthält den Namen des Signators. <code>dsig:X509IssuerSerial</code> ist ebenfalls immer vorhanden und enthält den Namen des Austellers des Signatorzertifikats (<code>dsig:X509IssuerName</code>) sowie die Seriennummer des Zertifikats (<code>dsig:X509SerialNumber</code>). Auch <code>dsig:X509Certificate</code> ist immer vorhanden und enthält das Signatorzertifikat in base64 kodierter Form. </p> +<p>Optional vorhanden ist das inhaltslose Element <code>QualifiedCertificate</code>, und zwar dann, wenn es sich beim Signatorzertifikat um ein qualifiziertes Zertifikat handelt. Ebenfalls optional vorhanden ist schließlich - in diesem Beispiel nicht ersichtlich - das Element <code>PublicAuthority</code>, und zwar dann, wenn das Signatorzertifikat die österreichspezifische Zertifikatserweiterung <a href="http://www.cio.gv.at/it-infrastructure/pki/" target="_blank">Verwaltungseigenschaft</a> aufweist. Ist in dieser Zertifikatserweiterung das Verwaltungskennzeichen mitkodiert, wird dieses Kennzeichen als Textinhalt des optionalen Elements <code>PublicAuthority/Code</code> geliefert.</p> +<pre> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> +</pre> +<p> Anschließend an <code>SignerInfo</code> enthält die Response mit <code>SignatureCheck/Code</code> das Resultat der kryptographischen Prüfung der Signatur. In unserem Beispiel ist dort der Wert <code>0</code> enthalten, d. h. die Signatur konnte erfolgreich validiert werden. Für eine Übersicht der möglichen Kodes siehe <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#signaturpruefungNachCMSAntwort" target="_blank">Security-Layer 1.2</a>.</p> +<pre> + <CertificateCheck> + <Code>1</Code> + </CertificateCheck> +</pre> +<p>Abschließend enthält die Response mit <code>CertificateCheck/Code</code> das Resultat der Prüfung des Signatorzertifikats. Zunächst prüft MOA SP, ob ausgehend vom Signatorzertifikat eine Zertifikatskette zu einem im zugehörigen Vertrauensprofil konfigurierten sog. <span class="term">Trust Anchor</span> gebildet werden kann. Gelingt dies, wird die Gültigkeit jedes Zertifikats dieser Kette überprüft. In unserem Beispiel enthält <code>Code</code> den Wert <code>1</code>, d. h. MOA SP konnte die oben erläuterte Zertifikatskette nicht bilden. Für eine Übersicht der möglichen Kodes siehe <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#signaturpruefungNachCMSAntwort" target="_blank">Security-Layer 1.2</a>.</p> +<h4><a name="webservice_xmlrequests_pruefungcms_erweitert" id="webservice_xmlrequests_pruefungcms_erweitert"></a>2.1.2.2 Erweitertes Beispiel</h4> +<h5>Request</h5> +<p>Dieses erweiterte Beispiel zur Prüfung einer CMS-Signatur (<a href="../../clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.xml" target="_blank"><code>VerifyCMSSignatureRequest.Extended.xml</code></a>) demonstriert die Prüfung mehrerer Signatoren einer CMS-Signatur, die Angabe des Prüfzeitpunkts sowie die Prüfung einer <span class="term">Detached Signature</span>, d. h. einer Signatur, in der die signierten Daten nicht enthalten sind und daher extra angegeben werden müssen. </p> +<pre> +<VerifyCMSSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + Signatories="1"> + <DateTime>2004-08-17T08:00:00+02:00</DateTime> + <CMSSignature>MIIHiwYJKoZI...kfiwsvqSk48lou</CMSSignature> + <DataObject> + <Content> + <Base64Content>RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu</Base64Content> + </Content> + </DataObject> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyCMSSignatureRequest> +</pre> +<p> Liegt eine zu prüfende CMS-Signatur vor, die von mehreren Unterzeichnenden signiert worden ist, kann das Attribut <code>VerifyCMSSignatureRequest/@Signatories</code> verwendet werden, um jene Unterzeichnenden auszuwählen, deren Unterschriften von MOA SP geprüft werden sollen. Der Default-Wert für dieses optionale Attribut ist <code>1</code>. Soll nicht die Unterschrift allein des ersten Unterzeichnenden geprüft werden, muss das Attribut explizit angegeben werden. Es enthält dann eine oder mehrere Ganzzahlwerte, getrennt durch Leerzeichen. Jede Ganzzahl bezeichnet einen Unterzeichnenden, wobei die Reihenfolge der Auflistung der Unterzeichner in der CMS-Signatur entspricht. Der Wert <code>"1 3"</code> würde beispielsweise aussagen, dass MOA SP die Unterschrift des ersten sowie des dritten Unterzeichnenden prüfen soll.</p> +<p>Mit dem optionalen Element <code>DateTime</code> kann der Zeitpunkt der Signaturprüfung explizit vorgegeben werden. Inhalt dieses Elements ist die Angabe von Datum und Uhrzeit entsprechend dem XML-Schema Datentyp <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#dateTime" target="_blank"><span class="term">dateTime</span></a>. Enthält der angegebene Zeitpunkt keinen Zeitzonen-Offset zur UTC, wird der Zeitpunkt als lokale Zeit des Servers interpretiert, auf dem MOA SP läuft. Wird <code>DateTime</code> nicht angegeben, versucht MOA SP, den Zeitpunkt der Signaturerstellung aus der Signatur zu ermitteln (anhand des Signaturattributs <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#ref-etsicms" target="_blank" class="term">SigningTime</a>). Enthält die Signatur keinen Zeitpunkt der Signaturerstellung, verwendet MOA SP die aktuelle Systemzeit des Servers, auf dem es läuft. </p> +<p>Das optionale Element <code>DataObject</code> muss dann angegeben werden, wenn eine <span class="term">Detached Signature</span> geprüft werden soll, d. h. wenn in der CMS-Signatur die signierten Daten nicht mitkodiert sind. In <code>DataObject/Content/Base64Content</code> sind in einem solchen Fall diese Daten in base64 kodierter Form bereit zu stellen.</p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyCMSSignatureRequest.Extended.resp.xml" target="_blank">VerifyCMSSignatureRequest.Extended.resp.xml</a></code> ist eine typische Response des SP Webservices auf den obigen Request. Er wird an dieser Stelle nicht näher analysiert, da er keine für das Thema des Beispiels relevanten Besonderheiten aufweist.</p> +<h3><a name="webservice_xmlrequests_pruefungxml"></a>2.1.3 Prüfen einer XML-Signatur</h3> +<h4><a name="webservice_xmlrequests_pruefungxml_einfach"></a>2.1.3.1 Einfaches Beispiel</h4> +<h5>Request</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.xml" target="_blank">VerifyXMLSignatureRequest.Simple.xml</a></code> ist ein einfacher XML-Request zur Prüfung einer XML-Signatur. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass der dargestellte Request zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent> + <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod + Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/> + <dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>tLODyeiWFbAkQKwhrR23jtcgu4k=</dsig:DigestValue> + </dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue>...</dsig:SignatureValue> + <dsig:KeyInfo>...</dsig:KeyInfo> + <dsig:Object Id="signed-data-1-1-1">Diese Daten werden signiert.</dsig:Object> + </dsig:Signature> + </XMLContent> + </VerifySignatureEnvironment> +</pre> +<p>Das Element <code>VerifySignatureEnvironment</code> enthält jenes XML-Dokument, das die zu prüfende XML-Signatur enthält. Auch hier stehen eine Reihe von Möglichkeiten zur Verfügung, dieses XML-Dokument anzugeben. Im Beispiel wurde das Element <code>XMLContent</code> verwendet; alternativ stehen die Elemente <code>Base64Content</code> und <code>LocRefContent</code> bzw. gleichwertig zu <code>LocRefContent</code> das Attribut <code>Reference</code> zur Verfügung.</p> +<p>Im konkreten Beispiel enthält das angegebene XML-Dokument direkt als Root-Element die zu prüfende Signatur (<code>dsig:Signature</code>). Es handelt sich dabei um eine <span class="term">Enveloping Signature</span>, d. h. die signierten Daten sind in einem <code>dsig:Object</code> als Teil der XML-Struktur der Signatur kodiert. Tatsächlich signiert ist hier die Zeichenkette <code>Diese Daten werden signiert.</code></p> +<pre> + <VerifySignatureLocation + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> +</pre> +<p>Das Element <code>VerifySignatureLocation</code> enthält als Text den XPath-Ausdruck zur Selektion der XML-Signatur innerhalb des zu prüfenden XML-Dokuments. Die Auswertung des XPath-Ausdrucks muss genau ein Element <code>dsig:Signature</code> ergeben. Bitte beachten Sie, dass im Kontext des Elements <code>VerifySignatureLocation</code> alle im XPath-Ausdruck verwendeten Namespace-Präfixe bekannt sein müssen (hier das Präfix <code>dsig</code>). </p> +<pre> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> +</pre> +<p>Das Element <code>TrustProfileID</code> schließlich enthält den Bezeichner des Vertrauensprofils, gegen das die Zertifikatsprüfung von MOA SP durchgeführt wird. Ein Vertrauensprofil enthält die Zertifikate jene Zertifizierungsdiensteanbieter, denen als Aussteller von Signatorzertifikaten vertraut wird. Ein Vertrauensprofil mit dem gewählten Namen (hier <code>Test-Signaturdienste</code>) muss in der Konfiguration von MOA SP hinterlegt sein. </p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.Simple.resp.xml" target="_blank">VerifyXMLSignatureRequest.Simple.resp.xml</a></code> ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<VerifyXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <SignerInfo> + <dsig:X509Data> + <dsig:X509SubjectName>CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards, + O=Stabsstelle IKT-Strategie des Bundes,C=AT</dsig:X509SubjectName> + <dsig:X509IssuerSerial> + <dsig:X509IssuerName>CN=Test CA - Signaturdienste,OU=Technik und Standards, + O=Stabstelle IKT-Strategie des Bundes,C=AT</dsig:X509IssuerName> + <dsig:X509SerialNumber>9</dsig:X509SerialNumber> + </dsig:X509IssuerSerial> + <dsig:X509Certificate>...</dsig:X509Certificate> + <PublicAuthority> + <Code>BKA-IKT</Code> + </PublicAuthority> + </dsig:X509Data> + </SignerInfo> +</pre> +<p>Die Response enthält zunächst in <code>SignerInfo/dsig:X509Data</code> Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind. </p> +<p><code>dsig:X509SubjectName</code> ist immer vorhanden und enthält den Namen des Signators. <code>dsig:X509IssuerSerial</code> ist ebenfalls immer vorhanden und enthält den Namen des Austellers des Signatorzertifikats (<code>dsig:X509IssuerName</code>) sowie die Seriennummer des Zertifikats (<code>dsig:X509SerialNumber</code>). Auch <code>dsig:X509Certificate</code> ist ist immer vorhanden und enthält das Signatorzertifikat in base64 kodierter Form. </p> +<p>Optional vorhanden - in diesem Beispiel nicht ersichtlich - ist das inhaltslose Element <code>QualifiedCertificate</code>, und zwar dann, wenn es sich beim Signatorzertifikat um ein qualifiziertes Zertifikat handelt. Ebenfalls optional vorhanden ist schließlich das Element <code>PublicAuthority</code>, und zwar dann, wenn das Signatorzertifikat die österreichspezifische Zertifikatserweiterung <a href="http://www.cio.gv.at/it-infrastructure/pki/" target="_blank">Verwaltungseigenschaft</a> aufweist. Ist in dieser Zertifikatserweiterung das Verwaltungskennzeichen mitkodiert, wird dieses Kennzeichen als Textinhalt des optionalen Elements <code>PublicAuthority/Code</code> geliefert.</p> +<pre> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> +</pre> +<p> Anschließend an <code>SignerInfo</code> enthält die Response mit <code>SignatureCheck/Code</code> das Resultat der kryptographischen Prüfung der Signatur. In unserem Beispiel ist dort der Wert <code>0</code> enthalten, d. h. die Signatur konnte erfolgreich validiert werden. Für eine Übersicht der möglichen Kodes siehe <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#signaturpruefungNachXMLDSIGAntwort" target="_blank">Security-Layer 1.2</a>.</p> +<pre> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</pre> +<p>Abschließend enthält die Response mit <code>CertificateCheck/Code</code> das Resultat der Prüfung des Signatorzertifikats. Zunächst prüft MOA SP, ob ausgehend vom Signatorzertifikat eine Zertifikatskette zu einem im zugehörigen Vertrauensprofil konfigurierten sog. <span class="term">Trust Anchor</span> gebildet werden kann. Gelingt dies, wird die Gültigkeit jedes Zertifikats dieser Kette überprüft. In unserem Beispiel enthält <code>Code</code> den Wert <code>0</code>, d. h. MOA SP konnte die Kette bilden, und alle Zertifikate der Kette sind gültig. Für eine Übersicht der möglichen Kodes siehe <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#signaturpruefungNachCMSAntwort" target="_blank">Security-Layer 1.2</a>.</p> +<h4><a name="webservice_xmlrequests_pruefungxml_erweitert"></a>2.1.3.2 Erweitertes Beispiel </h4> +<h5>Request</h5> +<p>Dieses erweiterte Beispiel zur Prüfung einer XML-Signatur (<a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.xml" target="_blank"><code>VerifyXMLSignatureRequest.Enveloped.xml</code></a>) demonstriert die Prüfung einer <span class="term">Enveloped Signature</span>, d. h. einer Signatur, die in ein XML-Dokument integriert ist, die Angabe des Prüfzeitpunkts sowie die Anweisung an MOA SP, in der Response die von der Signatur abgedeckten Daten zu retournieren.</p> +<pre> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <DateTime>2004-08-18T17:00:00+02:00</DateTime> +</pre> +<p>Mit dem optionalen Element <code>DateTime</code> kann der Zeitpunkt der Signaturprüfung explizit vorgegeben werden. Inhalt dieses Elements ist die Angabe von Datum und Uhrzeit entsprechend dem XML-Schema Datentyp <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/#dateTime" target="_blank"><span class="term">dateTime</span></a>. Enthält der angegebene Zeitpunkt keinen Zeitzonen-Offset zur UTC, wird der Zeitpunkt als lokale Zeit des Servers interpretiert, auf dem MOA SP läuft. Wird <code>DateTime</code> nicht angegeben, versucht MOA SP, den Zeitpunkt der Signaturerstellung aus der Signatur zu ermitteln (anhand des Signaturattributs <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#ref-etsicms" target="_blank" class="term">SigningTime</a>). Enthält die Signatur keinen Zeitpunkt der Signaturerstellung, verwendet MOA SP die aktuelle Systemzeit des Servers, auf dem es läuft.</p> +<pre> + <VerifySignatureInfo> + <VerifySignatureEnvironment Reference="http://localhost:8080/referencedData/XMLDocument.signed.xml"/> + <VerifySignatureLocation xmlns:doc="urn:document" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> +</pre> +<p>Das Element <code>VerifySignatureEnvironment</code> enthält in diesem Fall mit dem Attribut <code>Reference</code> eine Referenz auf das XML-Dokument (<code><a href="../../clients/referencedData/src/main/webapp/XMLDocument.signed.xml" target="_blank">XMLDocument.signed.xml</a></code>), das die zu prüfende Signatur beinhaltet. Als Textinhalt von <code>VerifySignatureLocation</code> ist ein XPath-Ausdruck angegeben, der die zu prüfende Signatur innerhalb des XML-Dokuments auswählt. Bitte beachten Sie, dass im Kontext des Elements <code>VerifySignatureLocation</code> alle im XPath-Ausdruck verwendeten Namespace-Präfixe bekannt sein müssen (hier die Präfixe <code>doc</code> und <code>dsig</code>). </p> +<pre> + <ReturnHashInputData/> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> +</pre> +<p>Durch Angabe des optionalen, leeren Elements <code>ReturnHashInputData</code> wird MOA SP angewiesen, im Response jene Daten zurückzuliefern, die von der Signatur abgedeckt sind, d. h. tatsächlich signiert wurden (siehe unten). Diese Information ist für die MOA SP verwendende Anwendung essentiell, da sie wissen muss, ob tatsächlich die von ihr geforderten Daten signiert wurden. Wird <code>HashInputData</code> im Request nicht angegeben, muss die Anwendung selbst die Signatur analysieren, um diese Information zu erhalten. </p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.Enveloped.resp.xml" target="_blank">VerifyXMLSignatureRequest.Enveloped.resp.xml</a></code> ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<VerifyXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <SignerInfo> + <dsig:X509Data>...</dsig:X509Data> + </SignerInfo> +</pre> +<p>Die Response enthält zunächst in <code>SignerInfo/dsig:X509Data</code> Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>).</p> +<pre> + <HashInputData PartOf="SignedInfo"> + <Base64Content>PGRvYzp...hNTERvY3VtZW50Pg==</Base64Content> + </HashInputData> +</pre> +<p>Wurde im Request - so wie in diesem Beispiel - das Element <code>ReturnHashInputData</code> angegeben, enthält + die Response nach <code>SignerInfo</code> für jede <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> der + XML-Signatur (bzw. auch für jede <code>dsig:Reference</code> aus einem <code>dsig:Manifest</code>, auf + das mittels des Attributs <code>Type="http://www.w3.org/2000/09/xmldsig#Manifest"</code> in einer <code>dsig:Reference</code> aus <code>dsig:SignedInfo</code> verwiesen + wird; solche Manifeste kommen aber in diesem Beispiel nicht vor) ein Element <code>HashInputData</code>.</p> +<p>Die Reihenfolge der <code>HashInputData</code>-Elemente + entspricht der Reihenfolge der <code>dsig:Reference</code>-Elemente in <code>dsig:SignedInfo</code> der + XML-Signatur (enthält die XML-Signatur auch <code>dsig:Manifest</code>-Elemente, auf die jeweils in einer <code>dsig:Reference</code> aus <code>dsig:SignedInfo</code> verwiesen wird, werden zuerst <code>HashInputData</code>-Elemente für alle <code>dsig:Reference</code>-Elemente + aus <code>dsig:SignedInfo</code> und anschließend <code>HashInputData</code>-Elemente für alle <code>dsig:Reference</code>-Elemente + aus den einzelnen <code>dsig:Manifest</code>-Elementen geliefert). </p> +<p>Das Attribut PartOf weist mit dem Wert SignedInfo darauf hin, dass die <code>dsig:Reference</code>, +für welche die Hasheingangsdaten gelten, Teil von <code>dsig:SignedInfo</code> ist (für eine <code>dsig:Reference</code> aus +einem <code>dsig:SignedInfo</code> würde der gelieferte Wert <code>XMLDSIGManifest</code> lauten; weiters +würde<code> HashInputData</code> in einem solchen Fall ein weiteres Attribut + + +<code>ReferringSigReference</code> aufweisen, dessen Wert die Nummer jener <code>dsig:Reference</code> aus <code>dsig:SignedInfo </code>als +positive Ganzzahl repräsentiert, die auf das beinhaltende <code>dsig:Manifest</code> verweist.). </p> +<p>Der Inhalt wird dabei stets mittels <code>Base64Content</code> in + base64-kodierter Form geliefert.</p> +<pre> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse> +</pre> +<p>Die Elemente <code>SignatureCheck</code> und <code>CertificateCheck</code> enthalten die Resultate der kryptographischen Prüfung der Signatur sowie der Zertifikatsprüfung (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>).</p> +<h4><a name="webservice_xmlrequests_pruefungxml_xmldsigmanifest"></a>2.1.3.3 Prüfung eines XMLDSIG-Manifests </h4> +<h5>Request</h5> +<p>Dieses Beispiel zur Prüfung einer XML-Signatur (<a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.xml" target="_blank"><code>VerifyXMLSignatureRequest.XMLDSigManifest.xml</code></a>) demonstriert die Prüfung eines in der XML-Signatur vorhandenden <a href="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/#sec-Manifest" target="_blank">Manifests nach XMLDSig</a>. Bitte beachten Sie, dass der dargestellte Request zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<VerifyXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent> + <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Id="signature-1-1"> + <dsig:SignedInfo> + <dsig:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> + <dsig:SignatureMethod + Algorithm="http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1"/> + <dsig:Reference Type="http://www.w3.org/2000/09/xmldsig#Manifest" URI="#dsig-manifest-1-1"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>nUUaW6OtcsNvV/QhqmkU2QXT1Mw=</dsig:DigestValue> + </dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue>315gCwZI...OXFwr+</dsig:SignatureValue> + <dsig:KeyInfo>...</dsig:KeyInfo> + <dsig:Object Id="signed-data-1-1-1">Diese Daten sind signiert.</dsig:Object> + <dsig:Object> + <dsig:Manifest Id="dsig-manifest-1-1"> + <dsig:Reference Id="reference-1-1" URI="#xpointer(id('signed-data-1-1-1')/node())"> + <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> + <dsig:DigestValue>EYxznGxNRAIcHQeUsj+zsK+uaHA=</dsig:DigestValue> + </dsig:Reference> + </dsig:Manifest> + </dsig:Object> + </dsig:Signature> + </XMLContent> + </VerifySignatureEnvironment> +</pre> +<p>Das Element <code>VerifySignatureEnvironment</code> enthält als <code>XMLContent</code> die zu prüfende XML-Signatur. Man erkennt, dass sich die einzige <code>dsig:Reference</code> im <code>dsig:SignedInfo</code> der XML-Signatur auf ein Manifest nach XMLDSig bezieht (erkennbar am Attribut <code>Type</code>, das auf den Wert <code>http://www.w3.org/2000/09/xmldsig#Manifest</code> gesetzt ist). Im Response (siehe unten) werden wir deshalb ein eigenes Resultat für die Manifest-Prüfung erhalten.</p> +<p>Das Manifest selbst ist in einem <code>dsig:Object</code>, also innerhalb der XML-Struktur der XML-Signatur kodiert. Es enthält eine <code>dsig:Reference</code>, welche sich auf die Zeichenkette <code>Diese Daten sind signiert.</code> bezieht.</p> +<pre> + <VerifySignatureLocation>//dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> +</pre> +<p>Das Element <code>VerifySignatureLocation</code> wählt die zu prüfende Signatur innerhalb des in <code>VerifySignatureEnvironment</code> angegebenen XML-Dokuments aus. Das Element <code>TrustProfileID</code> wählt das Vertrauensprofil aus, gegen das die Zertifikatsprüfung durchgeführt werden soll. </p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml" target="_blank">VerifyXMLSignatureRequest.XMLDSigManifest.resp.xml</a></code> ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<VerifyXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <SignerInfo> + <dsig:X509Data>...</dsig:X509Data> + </SignerInfo> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> +</pre> +<p>Die Response enthält zunächst in <code>SignerInfo/dsig:X509Data</code> Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>). Das Element<code> SignatureCheck</code> enthält das Resultat der kryptographischen Prüfung der Signatur (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>).</p> +<pre> + <XMLDSIGManifestCheck> + <Code>0</Code> + <Info> + <ReferringSigReference>1</ReferringSigReference> + </Info> + </XMLDSIGManifestCheck> +</pre> +<p>Neu ist in dieser Response das an <code>SignatureCheck</code> anschließende Element <code>XMLDSIGManifestCheck</code>. Ein oder mehrere solche Elemente werden immer dann zurückgeliefert, wenn in <code>dsig:SignedInfo</code> der XML-Signatur <code>dsig:Reference</code> Elemente existieren, die sich auf ein Manifest nach XMLDSIG beziehen (siehe oben). Je solcher <code>dsig:Reference</code> enthält die Antwort ein korrespondierendes Element <code>XMLDSIGManifestCheck</code>, im konkreten Beispiel als eines.</p> +<p>Das Element <code>Code</code> gibt das Ergebnis der durchgeführten Prüfung des XMLDSIG-Manifests an. In diesem Fall bedeutet <code>0</code>, dass die Prüfung jeder <code>dsig:Reference </code>im <code>dsig:Manifest</code> (im konkreten Beispiel also genau einer <code>dsig:Reference</code>) erfolgreich durchgeführt werden konnte. Für eine Übersicht der möglichen Kodes siehe <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#signaturpruefungNachXMLDSIGAntwort" target="_blank">Security-Layer 1.2</a>.</p> +<p>Das Element <code>Info/ReferringSigReference</code> enthält als Textinhalt die Nummer jenes <code>dsig:Reference</code> Elements in <code>dsig:SignedInfo</code> der XML-Signatur, welches auf das untersuchte Manifest nach XMLDSIG verweist, wobei mit <code>1</code> zu zählen begonnen wird.</p> +<pre> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse> +</pre> +<p>Das Element<code> CertificateCheck</code> enthält das Resultat der Zertifikatsprüfung (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>).</p> +<h4><a name="webservice_xmlrequests_pruefungxml_ergaenzungsobjekte"></a>2.3.1.4 Ergänzungsobjekte </h4> +<p>Dieses Beispiel zur Prüfung einer XML-Signatur (<a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.xml" target="_blank"><code>VerifyXMLSignatureRequest.Supplements.xml</code></a>) demonstriert die Verwendung von Ergänzungsobjekten. Ein Ergänzungsobjekt betrifft entweder ein signiertes Datum (Zusammenhang mit einem <code>dsig:Reference</code> der XML-Signatur) oder jenes Dokument, in dem sich die zu prüfende XML-Signatur befindet (Zusammenhang mit <code>VerifySignatureEnvironment</code>). Es muss dann angegeben werden, wenn auf ein signiertes Datum bzw. in einem signierten Datum bzw. in dem die XML-Signatur enthaltenden XML-Dokument auf weitere Daten per Referenz verwiesen wird, diese Referenz aber von MOA SP nicht aufgelöst werden kann. Das Ergänzungsobjekt enthält dann genau diese Daten die nicht von MOA SS aufgelöst werden können.</p> +<p>Bitte beachten Sie, dass der dargestellte Request zur bessernen Lesbarkeit eingerückt und gekürzt wurde.</p> +<pre> +<VerifyXMLSignatureRequest xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent> + <doc:XMLDocument ... xsi:schemaLocation="urn:document urn:XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> + <dsig:Signature Id="signature-1-1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <dsig:SignedInfo> + ... + <dsig:Reference Id="reference-1-1" URI="#Para2"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="XMLDocument.Para.xsl"/> + </xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </dsig:Transforms> + ... + </dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue>5rXIIkbP/djWmTgQEICy...0Sf8jvnz+d</dsig:SignatureValue> + <dsig:KeyInfo>...</dsig:KeyInfo> + </dsig:Signature> + </doc:XMLDocument> + </XMLContent> + </VerifySignatureEnvironment> +</pre> +<p>Das Element <code>VerifySignatureEnvironment</code> enthält das XML-Dokument mit der zu prüfenden XML-Signatur. </p> +<p>Man erkennt, dass das Attribut <code>dsig:Reference/@URI</code> das Element<code> doc:Paragraph</code> mit dem auf den Wert <code>Para2</code> gesetzten ID-Attribut <code>ParaId</code> referenziert. MOA kann jedoch den Umstand, dass es sich bei <code>doc:Paragraph/@ParaId</code> um ein ID-Attribut handelt, nur dann erkennen, wenn es das XML-Dokument validierend parst. Der dazu nötige Verweis auf das passende XML-Schema ist zwar mit dem Attribut <code>xsi:schemaLocation</code> vorhanden, jedoch handelt es sich dabei mit <code>urn:XMLDocument.xsd</code> um eine nicht auflösbare Referenz. Deshalb wird im Request ein passendes Ergänzungsobjekt benötigt (siehe unten).</p> +<p>Weiters erkennt man, dass <code>dsig:Reference</code> ein XSLT-Transformation enthält. Im darin kodierten Stylesheet-Parameter (<code>dsig:Transform/xsl:stylesheet</code>) wird ein weiterer Stylesheet inkludiert (<code>XMLDocument.Para.xsl</code>). Diese Referenz ist aber wiederum für MOA SP nicht auflösbar. Auch hier wird also ein passendes Ergänzungsobjekt benötigt (siehe unten). </p> +<pre> + <VerifySignatureLocation xmlns:doc="urn:document" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> +</pre> +<p>Das Element <code>VerifySignatureLocation</code> wählt die zu prüfende Signatur innerhalb des in <code>VerifySignatureEnvironment</code> angegebenen XML-Dokuments aus.</p> +<pre> + <SupplementProfile> + <Content Reference="XMLDocument.Para.xsl"> + <LocRefContent>http://localhost:8080/referencedData/XMLDocument.Para.xsl</LocRefContent> + </Content> + </SupplementProfile> +</pre> +<p>Das erste Element <code>SupplementProfile</code> enthält nun das Ergänzungsobjekt für den oben beschriebenen inkludierten Stylesheet. <code>Content/@Reference</code> enthält die Referenz genau so, wie sie oben im Attribut <code>xsl:stylesheet/@href</code> angegeben wurde. Im Inhalt von <code>Content</code> werden entweder explizit jene Daten angegeben, die von MOA statt des Auflösens der Referenz verwendet werden sollen (<code>Base64Content</code> oder<code> XMLContent</code>), oder aber es wird - wie im konkreten Beispiel - <code></code>mit <code>LocRefContent</code> eine auflösbare Referenz für diese Daten an MOA SP übergeben. </p> +<pre> + <SupplementProfile> + <Content Reference="urn:XMLDocument.xsd"> + <XMLContent> + <xs:schema targetNamespace="urn:document" xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns="urn:document" elementFormDefault="qualified" attributeFormDefault="unqualified"> + ... + </xs:schema> + </XMLContent> + </Content> + </SupplementProfile> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> +</pre> +<p>Das zweite Element <code>SupplementProfile</code> enthält analog das Ergänzungsobjekt für das oben beschriebene XML-Schema. <code>Content/@Reference</code> enthält die Referenz genau so, wie sie oben im Attribut <code>xsi:schemaLocation</code> angegeben wurde. </p> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.Supplements.resp.xml" target="_blank">VerifyXMLSignatureRequest.Supplements.resp.xml</a></code> ist eine typische Response des SP Webservices auf den obigen Request. Er wird an dieser Stelle nicht näher analysiert, da er keine für das Thema des Beispiels relevanten Besonderheiten aufweist.</p> +<h4><a name="webservice_xmlrequests_pruefungxml_signaturmanifest" id="webservice_xmlrequests_pruefungxml_signaturmanifest"></a>2.1.3.5 Signatur-Manifest des Security-Layers </h4> +<h5>Request</h5> +<p>Dieses Beispiel zur Prüfung einer XML-Signatur (<a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.xml" target="_blank"><code>VerifyXMLSignatureRequest.SigManifest.xml</code></a>) demonstriert die Überprüfung des Zusammenhangs zwischen den <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#glossar_Referenz-Eingangsdaten" target="_blank">Referenz-Eingangsdaten</a> und den <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#glossar_Hash-Eingangsdaten" target="_blank">Hash-Eingangsdaten</a> für die <code>dsig:Reference</code>-Elemente einer XML-Signatur. Mit Hilfe dieser Prüfung kann eine Anwendung feststellen, ob bei der Erstellung einer XML-Signatur jene Transformationen bzw. auch jene inkludierten Stylesheets (vgl. <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#signaturerstellungNachXMLDSIGAntwortImplTransParam" target="_blank">Implizite Transformationsparameter</a>) einer XSLT-Transformation angewendet wurden, welche die Anwendung vorgegeben hat. Bei erfolgreicher Prüfung dieses Zusammenhangs kann die Anwendung die Referenz-Eingangsdaten einer <code>dsig:Reference</code> als gesichert ansehen, obwohl eigentlich die Hash-Eingangsdaten durch die Signatur gesichert sind. Dies ist jenen Fällen sinnvoll, in denen die Anwendung grundsätzlich mit XML-Daten arbeitet, diese Daten jedoch für das Signieren durch eine Person in ein für diese Person verständliches Format wie z.B. HTML umgewandelt werden sollen.</p> +<pre> +<VerifyXMLSignatureRequest + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <VerifySignatureInfo> + <VerifySignatureEnvironment> + <XMLContent> + <doc:XMLDocument xmlns:doc="urn:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="urn:document http://localhost:8080/referencedData/XMLDocument.xsd"> + <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph> + <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument. +Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph> + <dsig:Signature xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" Id="signature-1-1"> + <dsig:SignedInfo> + ... + <dsig:Reference Id="reference-1-1" URI="#Para2"> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> + </xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </dsig:Transforms> + ... + </dsig:Reference> + <dsig:Reference + Type="http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest" + URI="#manifest-1-1"> + ... + </dsig:Reference> + <dsig:Reference Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties" ...>...</dsig:Reference> + </dsig:SignedInfo> + <dsig:SignatureValue>jnXc/X+hUY...uBxo9q</dsig:SignatureValue> + <dsig:KeyInfo>...</dsig:KeyInfo> + <dsig:Object> + <dsig:Manifest Id="manifest-1-1"> + <dsig:Reference URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl"> + ... + </dsig:Reference> + </dsig:Manifest> + </dsig:Object> + <dsig:Object Id="etsi-signed-1-1"> + <etsi:QualifyingProperties Target="#signature-1-1" xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#"> + ... + </etsi:QualifyingProperties> + </dsig:Object> + </dsig:Signature> + </doc:XMLDocument> + </XMLContent> + </VerifySignatureEnvironment> +</pre> +<p>Das Element <code>VerifySignatureEnvironment</code> enthält das XML-Dokument mit der zu prüfenden XML-Signatur. Die XML-Signatur wurde von einer Bürgerkarten-Umgebung erstellt. Man erkennt, dass das Element <code>dsig:SignedInfo</code> der XML-Signatur drei <code>dsig:Reference</code>-Elemente enthält. </p> +<p>Die erste <code>dsig:Reference</code> bezieht sich auf die eigentlich signierten Nutzdaten. Das zweite <code>doc:Paragraph</code>-Element stellt die Referenz-Eingangsdaten für diese <code>dsig:Reference</code> dar, welche mit Hilfe einer XSLT-Transformation in ein kleines HTML-Dokument übergeführt wird, worüber dann der Hashwert der dsig:Reference gebildet wird (Hash-Eingangsdaten).</p> +<p>Die zweite <code>dsig:Reference</code> bezieht sich auf das von der Bürgerkarten-Umgebung angefertigte Signaturmanifest. Das Signaturmanifest ist vorhanden, weil die XSLT-Transformation der ersten <code>dsig:Reference</code> einen weiteren Stylesheet inkludiert, und die Daten dieses weiteren Stylesheets ansonsten nicht von der XML-Signatur abgedeckt wären (vgl. <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html#signaturerstellungNachXMLDSIGAntwortImplTransParam" target="_blank">Implizite Transformationsparameter</a>). Das Signaturmanifest enthält eine einzige <code>dsig:Reference</code>, die den inkludierten Stylesheet referenziert und so in die XML-Signatur einbindet.</p> +<p>Die dritte <code>dsig:Reference</code> bezieht sich auf die von der Bürgerkarten-Umgebung angefertigten Signatureigenschaften, die hier nicht näher betrachtet werden. </p> +<pre> + <VerifySignatureLocation xmlns:doc="urn:document">/doc:XMLDocument/dsig:Signature</VerifySignatureLocation> + </VerifySignatureInfo> +</pre> +<p>Das Element <code>VerifySignatureLocation</code> wählt die zu prüfende Signatur innerhalb des in <code>VerifySignatureEnvironment</code> angegebenen XML-Dokuments aus.</p> +<pre> + <SignatureManifestCheckParams ReturnReferenceInputData="true"> + <ReferenceInfo> + <VerifyTransformsInfoProfile> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116"> + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + <xsl:include href="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> + </xsl:stylesheet> + </dsig:Transform> + <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/> + </dsig:Transforms> + <TransformParameter URI="http://localhost:8080/referencedData/XMLDocument.Para.xsl"/> + </VerifyTransformsInfoProfile> + <VerifyTransformsInfoProfile> + <dsig:Transforms> + <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> + </dsig:Transforms> + </VerifyTransformsInfoProfile> + </ReferenceInfo> + </SignatureManifestCheckParams> + <TrustProfileID>Test-Signaturdienste</TrustProfileID> +</VerifyXMLSignatureRequest> +</pre> +<p>Mit Angabe des optionalen Elements <code>SignatureManifestCheckParams</code> wird MOA SP angewiesen, den oben skizzierten Zusammenhang zwischen Referenz-Eingangsdaten und Hash-Eingangsdaten zu überprüfen. Wird das Attribut <code>ReturnReferenceInputData</code> wie im Beispiel auf den Wert <code>true</code> gesetzt, liefert MOA SP in der Response die Hash-Eingangsdaten für alle Referenzen in <code>dsig:SignedInfo</code> der XML-Signatur an die Anwendung zurück, was in der Regel von der Anwendung wohl gewünscht wird, wenn MOA SP schon den Zusammenhang zwischen Referenz-Eingangsdaten und Hash-Eingangsdaten prüfen soll.</p> +<p>Die Prüfung des Zusammenhangs untergliedert sich in zwei Teilprüfungen:</p> +<ul> + <li>Überprüfung, ob jede <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> der Signatur eine vorgegebene Transformationskette inkludiert;</li> + <li>Überprüfung, ob die in der vorgegebenen Transformationskette ggf. enthaltenen inkludierten Stylesheets (implizite Transformationsparameter) durch ein Signaturmanifest mitsigniert sind.</li> +</ul> +<p>Damit MOA SP die erste Teilprüfung durchführen kann, muss in <code>SignatureManifestCheckParams</code> je <code>dsig:Reference</code> Element in <code>dsig:SignedInfo</code> der XML-Signatur ein Element <code>ReferenceInfo</code> angeben. Ausgenommen sind <code>dsig:Reference</code>-Elemente, die auf ein Signaturmanifest (Attribut <code>Type</code> ist gesetzt und hat den Wert <code>http://www.buergerkarte.at/specifications/Security-Layer/20020225#SignatureManifest</code>), auf ein XMLDSIG-Manifest (Attribut <code>Type</code> ist gesetzt und hat den Wert <code>http://www.w3.org/2000/09/xmldsig#Manifest</code>) oder auf Signatureigenschaften (Attribut <code>Type</code> ist gesetzt und hat den Wert <code>http://uri.etsi.org/01903/v1.1.1#SignedProperties</code>) verweisen. </p> +<p>Das Element <code>ReferenceInfo</code> enthält eine oder mehrere erlaubte Transformationsketten, die jeweils durch ein Element <code>VerifyTransformsInfoProfile/dsig:Transforms</code> repräsentiert werden. Im konkreten Beispiel werden für die einzige zu prüfende <code>dsig:Reference</code> zwei erlaubte Transformationsketten angegeben. Die Transformationen in der <code>dsig:Reference</code> müssen einer dieser beiden Ketten entsprechen; im konkreten Beispiel entsprechen sie der ersten. </p> +<p>Nachdem die erste erlaubte Transformationskette eine XSLT-Transformation mit einem inkludierten Stylesheet enthält, muss MOA SP auch überprüfen, ob dieser inkludierte Stylesheet korrekt durch ein Signaturmanifest mitunterschrieben wurde. Nachdem wichtig ist, dass nicht irgendein beliebiger Stylesheet verwendet und mitunterschrieben wurde, sondern genau jener, den die Anwendung bei der Signaturerstellung vorgegeben hat, muss die Anwendung MOA SP mitteilen, welcher Stylesheet das sein muss. Die Anwendung verwendet dazu das Element <code>VerifyTransformsInfoProfile/TransformParameter</code>. Das Attribut <code>TransformParameter/@URI</code> enthält die Referenz auf den Stylesheet genau so, wie er im Stylesheet-Parameter der zu prüfenden Signatur verwendet wird (<code>dsig:Transform/xsl:stylesheet/xsl:inlcude/@href</code>). Für den Inhalt dieses Elements hat die Anwendung drei Möglichkeiten: </p> +<ul> + <li>Die Anwendung lässt den Inhalt leer. Dies wird sie dann machen, wenn sie darauf vertrauen kann, dass die Auflösung der in <code>TransformParameter/@URI</code> angegebenen Referenz bei der Signaturprüfung zum gleichen Resultat führt wie seinerzeit beim Erstellen der Signatur (z.B. weil die Referenz auf einen Webserver unter Kontrolle der Anwendung zeigt);</li> + <li>Die Anwendung gibt im Element <code>TransformParameter/Base64Content</code> explizit den inkludierten Stylesheet an. MOA SP verwendet dann diesen Stylesheet, um den Hashwert der <code>dsig:Reference</code> im Signaturmanifest zu kontrollieren;</li> + <li>Die Anwendung gibt im Element <code>TransformParameter/Hash </code>den Hashwert des inkludierten Stylesheets an. MOA SP löst dann die Referenz in <code>dsig:Transform/xsl:stylesheet/xsl:inlcude/@href</code> auf und stellt sicher, dass der über das Auflösungsergebnis gebildete Hashwert jenem in <code>TransformParameter/Hash </code>entspricht. Diese Möglichkeit wird die Anwendung dann verwenden, wenn es sich um einen sehr umfangreichen Stylesheet handelt, der nicht im Request mitübertragen werden soll.</li> +</ul> +<h5>Response</h5> +<p><code><a href="../../clients/webservice/resources/requests/VerifyXMLSignatureRequest.SigManifest.resp.xml" target="_blank">VerifyXMLSignatureRequest.SigManifest.resp.xml</a></code> ist eine typische Response des SP Webservices auf den obigen Request. Sein Aufbau wird nachfolgend analysiert. Bitte beachten Sie, dass die dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde. </p> +<pre> +<VerifyXMLSignatureResponse + xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"> + <SignerInfo>...</SignerInfo> +</pre> +<p>Die Response enthält zunächst in <code>SignerInfo/dsig:X509Data</code> Informationen über den Signator, die aus dem in der XML-Signatur enthaltenen Signatorzertifikat entnommen sind (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>). </p> +<pre> + <ReferenceInputData PartOf="SignedInfo"> + <XMLContent xml:space="preserve"> + <doc:Paragraph ParaId="Para2" xmlns:doc="urn:document" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">...</doc:Paragraph> + </XMLContent> + </ReferenceInputData> + <ReferenceInputData PartOf="SignedInfo"> + <XMLContent xml:space="preserve"> + <dsig:Manifest Id="manifest-1-1" xmlns:doc="urn:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + ... + </dsig:Manifest> + </XMLContent> + </ReferenceInputData> + <ReferenceInputData PartOf="SignedInfo"> + <XMLContent xml:space="preserve"> + <etsi:SignedProperties xmlns:doc="urn:document" + xmlns:etsi="http://uri.etsi.org/01903/v1.1.1#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + ... + </etsi:SignedProperties> + </XMLContent> + </ReferenceInputData> +</pre> +<p>Nachdem im Request spezifiziert wurde, dass in der Response die Referenzeingangsdaten für alle <code>dsig:Reference</code>-Elemente + von <code>dsig:SignedInfo</code> (bzw. auch für jede <code>dsig:Reference</code> aus einem <code>dsig:Manifest</code>, + auf das mittels des Attributs <code>Type="http://www.w3.org/2000/09/xmldsig#Manifest"</code> in einer <code>dsig:Reference</code> aus <code>dsig:SignedInfo</code> verwiesen + wird; solche Manifeste kommen aber in diesem Beispiel nicht vor) der geprüften + XML-Signatur übermittelt + werden sollen, enthält + die Response nach <code>SignerInfo</code> drei <code>ReferenceInputData</code>-Elemente. Das erste <code>ReferenceInputData</code>-Element + enthält das zuvor besprochene <code>doc:Paragraph</code> Element, das zweite das Signaturmanifest, das + dritte die Signatureigenschaften. Das Attribut <code>PartOf</code> jedes Elements weist mit dem Wert <code>SignedInfo</code> darauf hin, + dass die <code>dsig:Reference</code>, für welche die Referenzeingangsdaten gelten, Teil von <code>dsig:SignedInfo</code> ist. </p> +<pre> + <SignatureCheck> + <Code>0</Code> + </SignatureCheck> +</pre> +<p>Das Element<code> SignatureCheck</code> enthält das Resultat der kryptographischen Prüfung der Signatur (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>).</p> +<pre> + <SignatureManifestCheck> + <Code>0</Code> + </SignatureManifestCheck> +</pre> +<p>Das Element <code>SignatureManifestCheck</code> enhält das Resultat der Prüfung des Zusammenhangs zwischen Referenz-Eingangsdaten und Hash-Eingangsdaten. Der Kode <code>0</code> im konkreten Beispiel bedeutet, dass alle Referenzen die in der Anfrage zur Überprüfung der XML-Signatur gemachten Einschränkungen bezüglich der erlaubten Transformationskette(n) einhalten, sowie dass die Anforderungen hinsichtlich des Signaturmanifests werden eingehalten. Für eine Übersicht der möglichen Kodes siehe die <a href="../spec/MOA-SPSS-1.2.pdf" target="_blank">Spezifikation zu MOA SP/SS</a>, Abschnitt 5.1.3.1.4.</p> +<pre> + <CertificateCheck> + <Code>0</Code> + </CertificateCheck> +</VerifyXMLSignatureResponse> +</pre> +<p>Das Element<code> CertificateCheck</code> enthält das Resultat der Zertifikatsprüfung (siehe <a href="#webservice_xmlrequests_pruefungxml_einfach">Einfaches Beispiel</a>).</p> +<h2><a name="webservice_clients" id="webservice_clients"></a>2.2 Webservice-Clients</h2> +<p><a href="#webservice_xmlrequests">Abschnitt 2.1</a> bespricht eine Reihe von typischen XML-Requests, die über die Webservice-Schnittstelle an MOA SP/SS gesendet werden können, um entweder Signaturen zu erstellen (MOA SS) oder Signaturen zu prüfen (MOA SP). Dieser Abschnitt zeigt die Verwendung des prototypischen Webservice-Clients, der mit dieser Dokumentation zu MOA SP/SS ausgeliefert wird.</p> +<h3><a name="webservice_clients_übersicht" id="webservice_clients_übersicht"></a>2.2.1 Übersicht</h3> +<p>Der Webservice-Client existiert in drei Varianten, wobei jede Variante in einer eigenen Java-Klasse implementiert ist:</p> +<ul> + <li>Der einfache Client (<code><a href="../../clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTP.java">HTTP.java</a></code>) arbeitet ohne Authentifikation. Er prüft weder die Authentizität des verwendeten MOA-Webservices, noch identifiziert er sich selbst gegenüber dem MOA-Webservice.</li> + <li>Der Client mit Server-Authentisierung (<code><a href="../../clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java">HTTPSServerAuth.java</a></code>) prüft die Authentizität des verwendeten MOA-Websservices an Hand dessen SSL-Serverzertifikats, identifiziert sich selbst jedoch nicht gegenüber dem MOA-Webservice.</li> + <li>Der Client mit Client- und Server-Authentisierung (<code><a href="../../clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java">HTTPSClientAuth.java</a></code>) prüft einerseits die Authentizität des verwendeten MOA-Websservices an Hand dessen SSL-Serverzertifikats; andererseits weist er sich selbst mittels eines SSL-Client-Zertifikats gegenüber dem MOA-Webservice aus. </li> +</ul> +<p>Welcher der drei Varianten des Webservice-Clients zum Einsatz kommen soll, hängt von der Art ab, wie das MOA-Webservice betrieben wird, d.h. ob es Server- bzw. Client-Authentisierung unterstützt bzw. verlangt. Befinden sich sowohl MOA-Webservice als auch der Webservice-Client im gleichen, abgeschotteten Netzwerk, kann auch eine Kommunikation ohne Authenifikation in Betracht gezogen werden. Ansonsten wird der Standardfall wohl der Betrieb mit Server-Authentisierung (Verwendung von MOA SP) bzw. mit Server- und Client-Authentisierung (Verwendung von MOA SS) sein.</p> +<p class="remark">Hinweis: Das <a href="../../">Wurzelverzeichnis</a> dieses Handbuchs stellt ein komplettes und sofort verwendbares Eclipse Projekt dar. </p> +<h3><a name="webservice_clients_gemeinsamkeiten" id="webservice_clients_gemeinsamkeiten"></a>2.2.2 Gemeinsamkeiten</h3> +<p>Dieser Abschnitt beschreibt die Gemeinsamkeiten aller drei Varianten des Webservice-Clients. </p> +<p>Zunächst einmal benötigen alle drei Varianten die folgenden Java-Bibliotheken, die im Ordner <a href="../../clients/webservice/lib/">clients/webservice/lib/</a> dieses Handbuchs bereits enthalten sind:</p> +<table class="fixedwidth" border="1" cellpadding="2"> + <TBODY> + <TR> + <TH>Java-Bibliothek</TH> + <TH>Bemerkung</TH> + </TR><TR> + <TD><a href="#referenzierte_software">J2SE</a></TD> + <TD> J2SE 1.3.1 SDK oder J2SE 1.4.2 SDK oder J2SE 5.0 SDK. </TD> + </TR> + <TR> + <TD><a href="#referenzierte_software">Apache Xerces</a></TD> + <TD>XML-Parser, Version 2.0.2 oder höher; nicht nötig wenn JDSE 1.4.2 oder höher verwendet wird. </TD> + </TR> + <TR> + <TD><a href="#referenzierte_software">AXIS Framework</a></TD> + <TD>Webservice-Framework, Version 1.1.</TD> + </TR> + <TR> + <TD><a href="#referenzierte_software">JSSE</a></TD> + <TD>Java Secure Socket Extension, Version 1.0.3 oder höher; nur notwendig für die Varianten <code>HTTPServerAuth</code> und <code>HTTPClientAuth</code>.</TD> + </TR> + </TBODY> +</TABLE> +<p>Weiters ist allen drei Varianten der folgende Kern-Ablauf gemeinsam:</p> +<ol> + <li>Der Webservice-Client liest einen vorbereiteten MOA-XML-Request (z. B. einen der in <a href="#webservice_xmlrequests">Abschnitt 2.1</a> gezeigten) vom Dateisystem ein.</li> + <li>Der Webservice-Client erstellt einen SOAP-Request mit dem vom Dateisystem gelesenen MOA-XML-Request als Nutzlast.</li> + <li>Der Webservice-Client sendet den erstellten SOAP-Request über HTTP an MOA SP/SS. </li> + <li>Der Webservice-Client empfängt die SOAP-Response von MOA SP/SS.</li> + <li>Der Webservice-Client extrahiert die Nutzlast des SOAP-Responses (d. h. die zum MOA-XML-Request aus Schritt 1 passende MOA-XML-Response), gibt diese auf die Konsole aus und speichert sie im Dateisystem. </li> +</ol> +<p>Konfiguriert werden können alle drei Varianten mit Hilfe von zwei Kommandozeilen-Parametern:</p> +<ol> + <li>Der erste Kommandozeilenparameter gibt an, ob MOA SS (Wert <code>sign</code>) oder MOA SP (Wert <code>verify</code>) kontaktiert werden soll. </li> + <li>Der zweite Kommandozeilenparameter enthält Pfad und Dateiname einer Java-Properties-Datei, die die weiteren Konfigurationsparameter für den Webservice-Client enthält. Ein relativer Pfad wird als relativ zum Arbeitsverzeichnis der Java Virtual Machine interpretiert. Genaue Infos zu den möglichen Konfigurationsparametern entnehmen Sie bitte der Quellcodedokumentation der jeweiligen Variante des Webservice-Clients. <a href="../../clients/webservice/conf/http.properties"><code>http.properties</code></a> enthält eine auf dieses Handbuch abgestimmte Konfiguration.</li> +</ol> +<h3><a name="webservice_clients_httpsserverauth" id="webservice_clients_httpsserverauth"></a>2.2.3 Besonderheiten von <code>HTTPSServerAuth.java</code></h3> +<p>Diese Variante des Webservice-Clients verwendet JSSE, um im Schritt 3 des Kernablaufs aus <a href="#webservice_clients_gemeinsamkeiten">Abschnitt 2.2.2</a> eine SSL-Verbindung mit Server-Authentifizierung zum MOA SP/SS Server aufzubauen. In dieser SSL-Verbindung sendet der Webservice-Client dann den erstellten SOAP-Request über HTTPS.</p> +<p>Die Konfiguration von JSSE (Speicher für die vertrauenswürdigen Serverzertifikate, Typ dieses Speichers, Passwort für diesen Speicher) wird mittels zusätzlicher Parameter in der in <a href="#webservice_clients_gemeinsamkeiten">Abschnitt 2.2.2</a> besprochenen Java-Properties-Datei vorgenommen. Genaue Infos zu diesen Konfigurationsparametern entnehmen Sie bitte der Quellcodedokumentation von <code><a href="../../clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java">HTTPSServerAuth.java</a></code>. <a href="../../clients/webservice/conf/http.properties"><code>http.properties</code></a> enthält eine auf dieses Handbuch abgestimmte Konfiguration.</p> +<p>Falls Sie Probleme beim SSL-Verbindungsaufbau zwischen Webservice-Client und MOA SP/SS Webservice haben, empfiehlt sich die Aktivierung des JSSE Loggings. Das Setzen der dafür notwendigen Java System Property ist im Quellcode von <code><a href="../../clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSServerAuth.java">HTTPSServerAuth.java</a></code> bereits enthalten, jedoch auskommentiert. Suchen Sie einfach nach dem String <code>javax.net.debug</code>, um zur entsprechenden Stelle im Quellcode zu gelangen. </p> +<h3><a name="webservice_clients_httpsclientauth" id="webservice_clients_httpsclientauth"></a>2.2.4 Besonderheiten von <code>HTTPSClientAuth.java</code> </h3> +<p>Diese Variante des Webservice-Clients verwendet JSSE, um im Schritt 3 des Kernablaufs aus <a href="#webservice_clients_gemeinsamkeiten">Abschnitt 2.2.2</a> eine SSL-Verbindung mit Server- und Client-Authentifizierung zum MOA SP/SS Server aufzubauen. In dieser SSL-Verbindung sendet der Webservice-Client dann den erstellten SOAP-Request über HTTPS.</p> +<p>Die gegenüber <a href="#webservice_clients_httpsserverauth">Abschnitt 2.2.3</a> zusätzlich notwendige Konfiguration von JSSE (Speicher für das SSL-Client-Zertifikat sowie den dazugehörigen privaten Schlüssel, Typ dieses Speichers, Passwort für diesen Speicher) wird mittels zusätzlicher Parameter in der in <a href="#webservice_clients_gemeinsamkeiten">Abschnitt 2.2.2</a> besprochenen Java-Properties-Datei vorgenommen. Genaue Infos zu diesen Konfigurationsparametern entnehmen Sie bitte der Quellcodedokumentation von <code><a href="../../clients/webservice/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/webservice/HTTPSClientAuth.java">HTTPSClientAuth.java</a></code>. <a href="../../clients/webservice/conf/http.properties"><code>http.properties</code></a> enthält eine auf dieses Handbuch abgestimmte Konfiguration.</p> +<p>Beachten Sie bitte auch den Hinweis zum JSSE Logging aus <a href="#webservice_clients_httpsserverauth">Abschnitt 2.2.3</a>.</p> +<h1><a name="klassenbibliothek" id="klassenbibliothek"></a>3 Verwendung der Klassenbibliothek</h1> +<p>Neben dem Betrieb von MOA SP/SS als Webservice ist als Alternative auch die Verwendung von MOA SP/SS als Klassenbibliothek möglich, also die direkte Einbindung in ein Java-Programm unter Verwendung des Application Programmers Interface (API) von MOA SP/SS. </p> +<h2><a name="klassenbibliothek_vorbereitung" id="klassenbibliothek_vorbereitung"></a>3.1 Vorbereitung</h2> +<p>Um das API von MOA SP/SS verwenden zu können, müssen einerseits die MOA-Bibliotheken selbst, andererseits eine Reihe von unterstützenden Bibliotheken in den Klassenpfad aufgenommen werden. Eine Übersicht dazu finden Sie im Installationshandbuch im <a href="../install/install.html#klassenbibliothek">Abschnitt 3</a>. +<h2><a name="klassenbibliothek_allgemeines" id="klassenbibliothek_allgemeines"></a>3.2 Allgemeines </h2> +<p>Der strukturelle Aufbau der API entspricht weitgehend der Struktur eines MOA-XML-Requests. Es werden daher in diesem Abschnitt nur zwei grundlegende Beispiele gebracht; für komplexere Aufgaben können die XML-Beispiele aus <a href="#webservice_xmlrequests">Abschnitt 2.1</a> als Vorlage verwendet und einfach in die "API-Welt" übertragen werden. +<h2><a name="klassenbibliothek_beispiele" id="klassenbibliothek_beispiele"></a>3.3 Beispiele </h2> +<p>Dieses Handbuch enthält zwei Beispiele für die Verwendung der API von MOA SP/SS: +<ol> + <li><code><a href="../../clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/CreateXMLSignature.java">CreateXMLSignature.java</a></code>: Erstellung einer einfachen XML-Signatur; dieses Beispiel entspricht dem MOA-XML-Request aus <a href="#webservice_xmlrequests_erstellungxml_simple">Abschnitt 2.1.1.1</a>. <br> + Die Konfiguration der API erfolgt über Kommandozeilenparameter (Lage der Konfigurationsdatei für MOA SP/SS, Lage der Konfigurationsdatei für das Logging mit Log4j). Detaillierte Informationen dazu finden Sie in der Quellcodedokumentation des Beispiels. </li> + <li><code><a href="../../clients/api/src/main/java/at/gv/egovernment/moa/spss/handbook/clients/api/VerifyXMLSignature.java">VerifyXMLSignature.java</a></code>: Prüfung einer einfachen XML-Signatur; dieses Beispiel entspricht dem MOA-XML-Request aus <a href="#webservice_xmlrequests_pruefungxml_einfach">Abschnitt 2.1.3.1</a>. <br> + Die Konfiguration der API erfolgt über Kommandozeilenparameter (Lage der Konfigurationsdatei für MOA SP/SS, Lage der Konfigurationsdatei für das Logging mit Log4j). Detaillierte Informationen dazu finden Sie in der Quellcodedokumentation des Beispiels. <br> + Die Auswahl der zu prüfenden Signatur erfolgt ebenfalls per Kommandozeilenparameter. Detaillierte Informationen dazu finden Sie ebenfalls in der Quellcodedokumentation des Beispiels. </li> +</ol> +<h2><a name="klassenbibliothek_apidoc" id="klassenbibliothek_apidoc"></a>3.4 API-Dokumentation </h2> +<p>Für die vollständige Dokumentation des API von MOA SP/SS sei auf die <a href="../../api-doc/index.html">Java Doc der API</a> verwiesen. +<p> +<h1><a name="referenzierte_software" id="referenzierte_software"></a>A Referenzierte Software</h1> +<p>Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:</p> +<table class="fixedWidth" border="1" cellpadding="2"> + <tbody> + <tr> + <th scope="col">Name</th> + <th scope="col">Beschreibung</th> + </tr> + <tr> + <td><a href="http://xml.apache.org/xerces2-j/">Apache Xerces 2</a> </td> + <td>XML-Parser aus dem Apache Project</td> + </tr> + <tr> + <td><a href="http://xml.apache.org/axis/">Apache Axis</a></td> + <td>Webservice-Framework aus dem Apache Project</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><a href="http://java.sun.com/j2se/1.5.0/" target="_blank">J2SE 5.0 SDK/JRE</a> </td> + <td>Java 2 Standard Edition in der Version 5.0 (Software Development Kit bzw. Java Runtime Environment) </td> + </tr> + <tr> + <td><a href="http://java.sun.com/products/jsse/">JSSE</a></td> + <td>Java Secure Socket Extension </td> + </tr> + </tbody> +</table> +<p> </p> +</body> +</html> diff --git a/spss/handbook/pom.xml b/spss/handbook/pom.xml new file mode 100644 index 000000000..9caf5c181 --- /dev/null +++ b/spss/handbook/pom.xml @@ -0,0 +1,24 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>MOA</groupId>
+ <artifactId>spss</artifactId>
+ <version>1.5.x</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>MOA.spss.handbook</groupId>
+ <artifactId>moa-spss-handbook</artifactId>
+ <packaging>pom</packaging>
+ <version>1.5</version>
+ <name>MOA SP/SS Handbook</name>
+
+ <modules>
+ <module>clients</module>
+ </modules>
+
+ <properties>
+ <repositoryPath>${basedir}/../../../repository</repositoryPath>
+ </properties>
+
+</project>
|