aboutsummaryrefslogtreecommitdiff
path: root/spss.server/doc/moa_spss/sp-anwendung.htm
diff options
context:
space:
mode:
Diffstat (limited to 'spss.server/doc/moa_spss/sp-anwendung.htm')
-rw-r--r--spss.server/doc/moa_spss/sp-anwendung.htm1079
1 files changed, 0 insertions, 1079 deletions
diff --git a/spss.server/doc/moa_spss/sp-anwendung.htm b/spss.server/doc/moa_spss/sp-anwendung.htm
deleted file mode 100644
index 4adccb46d..000000000
--- a/spss.server/doc/moa_spss/sp-anwendung.htm
+++ /dev/null
@@ -1,1079 +0,0 @@
-<html>
-<head>
- <title>MOA SP/SS-Anwendung</title>
- <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
- <meta content="heinz.rosenkranz@brz.gv.at" name="author"/>
-
-<style type="text/css">
- body { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
- td { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; }
- th { font-family:"Verdana", "Arial"; font-size:10pt; font-weight:bold; color:#c0c0c0; background:#505050}
- li { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
- ul { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; margin-top:3px }
- tt { font-size:9pt; color:#505060; }
- pre { font-size:9pt; color:#505060; }
- #titel { font-family:"Verdana", "Arial"; font-size:18pt; color:#505060; }
- #subtitel { font-family:"Verdana", "Arial"; font-size:12pt; font-weight:bold; color:#505060; }
- #slogan { font-family:"Verdana", "Arial"; font-size:8pt; color:#808090; text-align:justify; width:160px }
- #block { font-family:"Verdana", "Arial"; font-size:10pt; color:#505060; text-align:justify }
- #klein { font-family:"Verdana", "Arial"; font-size:9pt; color:#505060; margin-top:3px }
- a:link {color:#000090}
- a:visited {color:#000090}
- a:hover {color:#c03030}
- a {text-decoration: none}
-</style>
-
-<script language="JavaScript">
-<!--
-function goWin(url) {
- Fenster=window.open(url,"smallWin","toolbar=0,location=0,directories=0,status=0,menubar=0,resizable=yes,scrollbars=yes,width=500,height=480,top=20,screenY=0,left=20,screenX=0");
- window.setTimeout("showWin()",300);
-}
-function showWin() { Fenster.focus(); }
-// -->
-</script>
-</head>
-
-<body bgcolor="#FFFFFF" >
-<div style="width:650px">
-
-<!-- Projekt-Logo -->
-<div style="height:42px; font-size:16pt; color:#b0b8c0; background:#003050">
-&#160;Module für Online-Applikationen
-</div>
-<div style="margin-left:8px; margin-top:3px; font-size:8pt; color:#707070; ">
-<!-- Development Center der BRZ GmbH, A-Trust und IAIK Graz -->&#160;
-</div>
-<div style="margin-top:-65px; text-align:right; font-size:8pt; font-weight:bold; color:#d04040;" >
-Projekt <span style="font-size:48pt; ">moa</span>&#160;
-</div>
-<br />
-
-<!-- First Section with Navigation -->
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top">
-<div style="font-weight:bold; margin-top:12px">MOA-SP/SS</div><br />
-<div id="klein"><a href="#Webservices"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> Beispiel-Programme </b></div>
-<div id="klein"><a href="#ClientExample"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> Client Example</b></div>
-<div id="klein"><a href="#ServerAuth"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> Server Auth Example</b></div>
-<div id="klein"><a href="#ClientAuth"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> Client Auth Example</b></div>
-<div id="klein"><a href="#API"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> API Example</b></div>
-<br />
-<div id="klein"><a href="#Beispiel-Requests"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> Beispiel-Requests</b></div>
-
-<div id="klein"><a href="#CreateXMLSignature1"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> CreateXMLSignature 1</b></div>
-<div id="klein"><a href="#VerifyXMLSignature1"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> VerifyXMLSignature 1</b></div>
-<div id="klein"><a href="#CreateXMLSignature2"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> CreateXMLSignature 2</b></div>
-<div id="klein"><a href="#VerifyXMLSignature2"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> VerifyXMLSignature 2</b></div>
-<div id="klein"><a href="#VerifyCMSSignature"><img src="../moa_images/idle.gif" border="0" width="13" height="14" />
- <b> VerifyCMSSignature</b></div>
-
-<br />
-<div id="klein"><a href="moa.htm"><img src="../moa_images/west.gif" border="0" width="13" height="14" />
- <b> Zurück</b></a></div>
-<br /><br />
-</td>
-
-<td valign="top">
-<div id="titel">MOA SP/SS-Anwendung</div>
-<p id="block">
-Die Module Signaturprüfung (SP) und Serversignatur (SS) sind als plattformunabhängige Module ausgelegt, die über ein
-Webservice bzw. ein Java-API verwendet werden können.
-<br /><br />
-Dieses Handbuch beschreibt die Verwendung der SP/SS-Module anhand einfacher exemplarischer Anwendungen:
-<ul>
-<li>HTTPClientExample.java <br />Aufruf des Webservice über HTTP </li>
-<li>HTTPSClientExampleServerAuth.java <br />Aufruf des Webservice über eine TLS-Verbindung mit serverseitiger Authentisierung</li>
-<li>HTTPSClientExampleClientAuth.java <br />Aufruf des Webservice über eine TLS-Verbindung mit client- und serverseitiger Authentisierung</li>
-<li>APIClientExample.java <br />Aufruf des API</li>
-</ul>
-Weiters werden folgende Beispiel-Requests beschrieben:
-<ul>
-<li>einfache Requests für die Erstellung und Überprüfung einer XML-Signatur</li>
-<li>umfassende Requests für die Erstellung und Überprüfung einer XML-Signatur</li>
-<li>ein Request für die Überprüfung einer CMS-Signatur</li>
-</ul>
-
-</p>
-</td></tr></table>
-
-
-<div id="voraussetzung" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Voraussetzungen</p>
-<div id="block">
-Die folgende Liste enthält die erforderlichen Java-Bibliotheken, um die Beispielprogramme auszuführen.
-Die angeführten Versionsnummern bezeichnen jene Versionen dieser Java-Bibliotheken, mit denen die
-Beispielprogramme getestet wurden.
-<br /><br />
-<table border="1" width="100%" cellpadding="2" cellspacing="0">
-<tr>
-<th>Java-Bibliothek</th><th>Version</th><th>Bemerkung</th>
-</tr><tr>
-<tr valign="top">
-<td>JDK</td><td>1.3+</td><td>Java Development Kit</td>
-</tr><tr valign="top">
-<td>Xerces <br />XML Parser</td><td>2.0.2+</td>
-<td id="klein">nicht nötig wenn JDK 1.4 verwendet wird <br />
- Download: <a href="http://xml.apache.org/xerces2-j/">xml.apache.org/xerces2-j</a> </td>
-</tr><tr valign="top">
-<td>AXIS Framework</td><td>1.0+</td>
-<td id="klein">Download: <a href="http://xml.apache.org/axis/">xml.apache.org/axis</a> </td>
-</tr><tr valign="top">
-<td>JSSE</td><td>1.0.3+</td>
-<td id="klein">wenn eine SSL Verbindung verwendet wird, nicht nötig wenn JDK 1.4 verwendet wird <br />Download: <a href="http://java.sun.com/products/jsse/">java.sun.com/products/jsse</a> </td>
-</tr><tr valign="top">
-<td>Servlet API</td><td>2.3+</td>
-<td id="klein">nicht nötig wenn AXIS 1.1 verwendet wird <br />
-Download: <a href="http://java.sun.com/products/servlet/">java.sun.com/products/servlet</a> </td>
-</tr>
-</table>
-</div>
-</td></tr></table>
-<br /><br />
-
-
-
-<div id="Webservices" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="titel">&#160;</p>
-<p id="subtitel">&#160;</p>
-</td>
-<td valign="top">
-<p id="titel">Beispiel-Programme </p>
-<div id="block">Im folgenden werden vier Beispiele für Client-Applikationen beschrieben: </div>
-<ul>
-<li>HTTPClientExample <br />
-Aufruf des Webservice über HTTP</li>
-<li>HTTPSClientExampleServerAuth <br />
-Aufruf des Webservice über eine TLS-Verbindung mit serverseitiger Authentisierung </li>
-<li>HTTPSClientExampleClientAuth <br />
-Aufruf des Webservice über eine TLS-Verbindung mit client- und serverseitiger Authentisierung</li>
-<li>APIClientExample <br />
-Aufruf des API</li>
-</ul>
-</td></tr></table>
-<br /><br />
-
-
-
-<div id="ClientExample" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="examples/testclient/example_request.xml" target="_new">example_request.xml</a><br />
-<a href="HTTPClientExample.txt" target="_new">HTTPClientExample</a><br />
-<br /><br />
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Beispiel HTTPClientExample </p>
-<div id="block">
-<b>1. Einlesen des XML-Request aus einer Datei</b><br />
-<pre>
- FileInputStream inputStream =
- new FileInputStream("example_request.xml");
-</pre
-<br /><br />
-
-<b>2. Aufbau der DOM-Struktur</b><br />
-Erstellen der BuilderFactory für den Parser
-<pre>
- DocumentBuilderFactory factory =
- DocumentBuilderFactory.newInstance();
-</pre>
-Namespaces müssen im Request definiert sein, darum
-<pre>
- factory.setNamespaceAware(true);
-</pre>
-Einen neuen Builder instanzieren
-<pre>
- DocumentBuilder builder =
- factory.newDocumentBuilder();
-</pre>
-XML-Datei einlesen und parsen
-<pre>
- Document root_request =
- builder.parse(inputStream);
-</pre>
-<br /><br />
-
-<b>3. AXIS Service instanzieren</b><br />
-Service erstellen. SERVICE_QNAME ist entweder SignatureCreation oder SignatureVerification.
-<pre>
- Service service =
- ServiceFactory.newInstance().
- createService(SERVICE_QNAME);
-</pre>
-Call Object erstellen
-<pre>
- Call call = service.createCall();
-</pre>
-Ein SOAP Body Objekt erzeugen und mit dem Request aus der Datei füllen
-<pre>
- SOAPBodyElement body =
- new SOAPBodyElement(root_request.
- getDocumentElement());
- SOAPBodyElement[] params =
- new SOAPBodyElement[] {body};
-</pre>
-Serviceendpunkt einstellen. URL zum Server mit dem Webservice z.b. http://localhost:8080/moa-spss/services/SignatureCreation.
-<pre>
- call.setTargetEndpointAddress(ENDPOINT);
-</pre>
-<br /><br />
-
-<b>4. Service aufrufen</b><br />
-Request durchführen (Parameter werden als Array von SOAPBodyElement-Objekten übergeben)
-<pre>
- Vector responses = (Vector)call.invoke(params);
-</pre>
-Response auslesen
-<pre>
- SOAPBodyElement response =
- (SOAPBodyElement) responses.get(0);
-</pre>
-Response-Document auslesen
-<pre>
- Document root_response = response.getAsDocument();
-</pre>
-<br /><br />
-
-<b>5. Exceptions behandeln</b><br />
-Folgende Exceptions können auftreten und müssen bei der Dokumentverarbeitung
-behandelt werden:<br />
-<table border="1" width="100%" cellpadding="2" cellspacing="0">
-<tr>
-<th>Exception</th><th>Beschreibung</th>
-</tr><tr>
-<tr valign="top">
-<td>FileNotFoundException</td><td>Datei kann nicht gefunden werden</td>
-</tr><tr valign="top">
-<td>IOException</td><td>Datei kann nicht gelesen werden</td>
-</tr><tr valign="top">
-<td>ParserConfigurationException</td><td>Parsereinstellungen nicht korrekt</td>
-</tr><tr valign="top">
-<td>xxSAXException</td><td>Fehler beim Parsen (z.b. XML-Fehler in der Eingabedatei)</td>
-</tr><tr valign="top">
-<td>ServiceException</td><td>Fehler beim Durchführen des AXIS Request</td>
-</tr><tr valign="top">
-<td>RemoteException</td><td>Probleme mit der Verbindung</td>
-</tr>
-</table>
-
-</div>
-</td></tr></table>
-<br /><br />
-
-
-
-<div id="ServerAuth" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="examples/testclient/example_request.xml" target="_new">example_request.xml</a><br />
-<a href="HTTPSClientExampleServerAuth.txt" target="_new">HTTPSClientExample 1</a><br />
-<br /><br />
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Beispiel HTTPSClientExampleServerAuth</p>
-<div id="block">
-Zusätzlich zu HTTPClientExample: <br /><br />
-Erst werden die Konstanten für die Systemproperties gesetzt
-<pre>
- handler = "java.protocol.handler.pkgs";
- trustStore = "javax.net.ssl.trustStore";
- trustStorePassword =
- "javax.net.ssl.trustStorePassword";
-</pre>
-Hinzufügen des SSL-Providers in das Systemobjekt Security
-<pre>
- Security.addProvider(
- new com.sun.net.ssl.internal.ssl.Provider());
-</pre>
-Setzen der Systemproperties für den SSL-Provider
-<pre>
- System.setProperty(
- handler,"com.sun.net.ssl.internal.www.protocol");
- System.setProperty(
- trustStore, "client.keystore");
- System.setProperty(trustStorePassword, "changeit");
-</pre>
-
-Danach muß nur noch der Endpunkt umgestellt werden von ENDPOINT zu SECURE_ENDPOINT
-<pre>
- "http://localhost:8080/moa-spss/
- services/SignatureCreation"
-</pre>
-wird zu
-<pre>
- "https://localhost:8443/moa-spss/
- services/SignatureCreation"
-</pre>
-AXIS erkennt das es sich um eine sichere Verbindung handelt und initialisert die Verbindung über einen SecureSocket.
-</div>
-</td></tr></table>
-<br /><br />
-
-
-
-<div id="ClientAuth" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="examples/testclient/example_request.xml" target="_new">example_request.xml</a><br />
-<a href="HTTPSClientExampleClientAuth.txt" target="_new">HTTPSClientExample 2</a><br />
-<br /><br />
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Beispiel HTTPSClientExampleClientAuth</p>
-<div id="block">
-Zusätzlich zu HTTPSClientExampleServerAuth: <br /><br />
-Für Clientauthorisierung kommen noch folgende Properties hinzu
-<pre>
- keyStore = "javax.net.ssl.keyStore";
- keyStorePassword = "javax.net.ssl.keyStorePassword";
- System.setProperty(
- keyStore, "client.keystore");
- System.setProperty(keyStorePassword, "changeit");
-</pre>
-</div>
-</td></tr></table>
-<br /><br />
-
-<div id="API" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="APIClientExample.txt" target="_new">APIClientExample</a><br />
-<br /><br />
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Beispiel APIClientExample</p>
-<div id="block">
-Folgende VM-Properties m&uuml;ssen gesetzt sein um das API Beispiel
-ausführen zu können.<br /><br />
-
-<table border="1" cellpadding="2" cellspacing="0">
-<tr>
-<th colspan=2>moa.spss.server.configuration</th>
-</tr><tr>
-<tr valign="top">
-<td>Pfad&nbsp;zur&nbsp;Konfiguration von&nbsp;MOA-SPSS</td><td>Beispiel C:\moa\ConfigurationTest.xml </td>
-</tr>
-<th colspan=2>log4j.configuration</th>
-<tr valign="top">
-<td>Pfad zu einer g&uuml;ltigen Log4J Konfiguration</td><td>Beispiel file:/C:/moa/log4j.properties</td>
-</tr><tr valign="top">
-</tr>
-</table>
-<br />
-Serverfunktionshandler instanzieren
-<pre> SPSSFactory spf =
- SPSSFactory.getInstance();</pre>
-
-Signaturedaten in ein Contentobjekt einbinden
-<pre> byte[]data =
- "Dies sind Testdaten".getBytes("UTF-8");
- ByteArrayInputStream bis =
- new ByteArrayInputStream(data);
- Content cont =
- spf.createContent(bis,"http://uri.data.org");</pre>
-
-Beschreibungselement zu den Daten erstellen
-<pre> MetaInfo mi =
- spf.createMetaInfo("text/plain","Testdaten",null);</pre>
-
-Transformationen erstellen
-<pre> CreateTransformsInfo cti =
- spf.createCreateTransformsInfo(null,mi);
- CreateTransformsInfoProfile ct =
- spf.createCreateTransformsInfoProfile(
- cti,
- null);</pre>
-
-Datenobjekt aufbauen
-<pre> DataObjectInfo doi =
- spf.createDataObjectInfo(
- DataObjectInfo.STRUCTURE_DETACHED,
- false,
- cont,
- ct);
- List dataobjectinfolist = new ArrayList();
- dataobjectinfolist.add(doi);</pre>
-
-alles zusammenpacken zu einer SingleSignature
-<pre> SingleSignatureInfo ssi =
- spf.createSingleSignatureInfo(
- dataobjectinfolist,
- null,
- false);
- List singlesignatureinfolist = new ArrayList();
- singlesignatureinfolist.add(ssi);</pre>
-die Signatur in einen Request einbetten
-<pre> CreateXMLSignatureRequest cxsreq =
- spf.createCreateXMLSignatureRequest(
- "PKCS12RSAKey1",
- singlesignatureinfolist);</pre>
-
-Signatureerstellungsservice instanzieren
-<pre> SignatureCreationService scs =
- SignatureCreationService.getInstance();</pre>
-
-Signatureerstellungsservice aufrufen
-<pre> CreateXMLSignatureResponse cxsres =
- scs.createXMLSignature(cxsreq);</pre>
-
-Response auswerten
-<pre> List elements = cxsres.getResponseElements();
-
- SignatureEnvironmentResponse ser =
- (SignatureEnvironmentResponse)elements.get(0);</pre>
-
-Responsetyp lesen
-<pre> int response_type = ser.getResponseType();
- if(response_type ==
- SignatureEnvironmentResponse.ERROR_RESPONSE)
- {
- ...
- }
-</pre>
-Fehlerfall
-<pre> System.out.println("Bei der Erstellung der
- Signatur ist ein Fehler aufgetreten");
-</pre>
-Signaturerstellung erfolgreich
-<pre> Element se = ser.getSignatureEnvironment();
- System.out.println(
- "Signaturerstellung erfolgreich");
- displayTree(se);
-</pre>
-
-</div>
-</td></tr></table>
-<br /><br />
-
-
-<div id="Beispiel-Requests" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-</td>
-<td valign="top">
-<p id="titel">Beispiel-Requests</p>
-<div id="block">
-In den folgenden Abschnitten werden einfache und umfassende Beispiele für Requests beschrieben, die an MOA-SP/SS
-gesendet werden können. Damit soll der Anwendungsentwickler einen Überblick über die
-Möglichkeiten von MOA-SP/SS vermittelt bekommen. Die detaillierte und vollständige Beschreibung
-des Funktionsumfangs ist in den Spezifikationen von MOA-SP/SS und des Security-Layers enthalten.
-</div>
-</td></tr></table>
-<br /><br />
-
-
-
-<div id="CreateXMLSignature1" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="examples/requestsResponses/CreateXMLSignatureRequest1.xml" target="_new">Request</a><br />
-<a href="examples/requestsResponses/CreateXMLSignatureResponse1.xml" target="_new">Response</a><br />
-<br /><br />
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Beispiel:<br/ > einfacher CreateXMLSignatureRequest</p>
-<div id="block">
-Das Beispiel in <a href="examples/requestsResponses/CreateXMLSignatureRequest1.xml" target="_new">CreateXMLSignatureReqest1.xml</a> zeigt einen
-einfachen <tt>&lt;CreateXMLSignatureRequest&gt;</tt>. Die Bedeutung der einzelnen Elemente
-wird im folgenden beschrieben:
-<pre>
- &lt;KeyIdentifier&gt;PKCS12RSAKey1&lt;/KeyIdentifier&gt;
-</pre>
-<tt>PKCS12RSAKey1</tt> bezeichnet eine Schlüsselgruppe aus der MOA-SS einen Signaturschlüssel selektieren soll
-und muss einer im Konfigurationsfile definierten <tt>&lt;KeyGroup&gt;</tt> entsprechen.
-<pre>
- &lt;SingleSignatureInfo SecurityLayerConformity="false"&gt;
-</pre>
-Für jedes <tt>&lt;SingleSignatureInfo&gt;</tt>-Element wird eine eigene XML-Signatur erzeugt. Wird das
-Attribut <tt>SecurityLayerConformity</tt> auf <tt>true</tt> gesetzt, dann wird eine XML-Signatur
-gemäß <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.html#signaturerstellungNachXMLDSIGAntwort"
-target="_new">Security-Layer Spezifikation</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.
-<pre>
- &lt;DataObjectInfo Structure="enveloping"&gt;
-</pre>
-Für jedes Daten-Objekt, das in die Signatur als <tt>dsig:Reference</tt> aufgenommen werden soll, muss ein
-<tt>DataObjectInfo</tt>-Element spezifiziert werden. Das Attribut <tt>Structure</tt> gibt an, ob die Daten
-in die Signatur in ein <tt>&lt;dsig:Object&gt;</tt>-Element integriert werden soll
-(<tt>Structure="enveloping"</tt>) oder via eine URL referenziert werden soll (<tt>Structure="detached"</tt>).
-<br /><br />
-Im Fall von <tt>Structure="enveloping"</tt> muss im nachfolgenden <tt>DataObject</tt> Element entweder das
-Attribut <tt>Reference</tt> gesetzt sein oder die zu signierenden Daten explizit im Element <tt>Base64Content</tt> oder
-<tt>XMLContent</tt> spezifiziert sein. Die Angabe der zu signierenden Daten über das Attribut <tt>Reference</tt>
-und gleichzeitig dem Element <tt>Base64Content</tt> oder <tt>XMLContent</tt> ist nicht erlaubt.
-<br /><br />
-Im Fall von <tt>Structure="detached"</tt> muss das Attribut <tt>Reference</tt> im nachfolgenden <tt>DataObject</tt>
-Element gesetzt sein. Die Angabe der Elemente <tt>Base64Content</tt> oder <tt>XMLContent</tt> ist optional.
-<pre>
- &lt;DataObject&gt;
- &lt;XMLContent xml:space="preserve"&gt;
- Diese Daten werden signiert.
- &lt;XMLContent&gt;
- &lt;/DataObject&gt;
-</pre>
-Die zu signierenden Daten werden im Element <tt>&lt;DataObject&gt;</tt> spezifiziert und können entweder als
-<tt>&lt;XMLContent&gt;</tt> oder <tt>&lt;Base64Content&gt;</tt> oder über das Attribut <tt>Reference</tt>
-angegeben werden.
-<pre>
- &lt;CreateTransformsInfoProfile&gt;
- &lt;CreateTransformsInfo&gt;
- &lt;FinalDataMetaInfo&gt;
- &lt;MimeType&gt;text/plain&lt;MimeType&gt;
- &lt;/FinalDataMetaInfo&gt;
- &lt;/CreateTransformsInfo&gt;
- &lt;/CreateTransformsInfoProfile&gt;
-</pre>
-Zu jedem Daten-Objekt können optional Transformationen (z.B. XPath, XSLT, Base64-Decodierung, etc.)angegeben werden.
-Werden keine Transformationen angegeben so muss zumindest der MIME-Type der zu signierenden Daten spezifiziert werden.
-<p>
-Die von diesem Request erzeugt Response ist in <a href="examples/requestsResponses/CreateXMLSignatureResponse1.xml"
-target="_new">CreateXMLSignatureResponse1.xml</a> abgelegt.
-</div>
-</td></tr></table>
-<br /><br />
-
-
-<div id="VerifyXMLSignature1" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="examples/requestsResponses/VerifyXMLSignatureRequest1.xml" target="_new">Request</a><br />
-<a href="examples/requestsResponses/VerifyXMLSignatureResponse1.xml" target="_new">Response</a><br />
-<br /><br />
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Beispiel:<br/ > einfacher VerifyXMLSignatureRequest</p>
-<div id="block">
-Die oben erzeugte XML-Signatur kann mit dem in <a href="examples/requestsResponses/VerifyXMLSignatureRequest1.xml" target="_new">VerifyXMLSignatureReqest1.xml</a> gezeigten
-einfachen <tt>&lt;VerifyXMLSignatureRequest&gt;</tt> wieder überprüft werden.
-<pre>
-&lt;VerifyXMLSignatureRequest
- xmlns="http://reference.e-government.gv.at/
- namespace/moa/20020822#"
- xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&gt;
-
- &lt;VerifySignatureInfo&gt;
- &lt;VerifySignatureEnvironment&gt;
- &lt;XMLContent&gt;
- &lt;dsig:Signature
- Id="signature-1"
- xmlns:dsig="http://www.w3.org/2000/09/
- xmldsig#"&gt;
- .........
- &lt;/dsig:Signature&gt;
- &lt;/XMLContent&gt;
- &lt;/VerifySignatureEnvironment&gt;
-</pre>
-
-Im Element <tt>VerifySignatureInfo</tt> wird zuerst die zu überprüfende Signatur im Element
-<tt>VerifySignatureEnvironment</tt> angegeben. Im Beispiel wird die Signatur als Kind-Element von
-<tt>&lt;XMLContent&gt;</tt> spezifiziert. Alternativ könnte die Signatur in Base64-Kodierung
-im Element <tt>&lt;Base64Content&gt;</tt> oder mit dem Attribut <tt>Reference</tt> über eine URL
-referenziert werden.
-
-<pre>
- &lt;VerifySignatureLocation&gt;
- //dsig:Signature
- &lt;/VerifySignatureLocation&gt;
-
- &lt;/VerifySignatureInfo&gt;
-</pre>
-
-Weiters muss mittels eines XPath-Ausdrucks im Element <tt>&lt;VerifySignatureLocation&gt;</tt>
-die Position der zu prüfenden Signatur spezifiziert werden. Werden im XPath-Ausdruck
-Namespace-Prefixes verwendet, müssen die entsprechenden Namespace-Deklarationen im Kontext
-des Elements <tt>VerifySignatureLocation</tt> bekannt sein. Im Beispiel wird das Prefix <tt>dsig</tt>
-verwendet, das im Element <tt>&lt;VerifyXMLSignatureRequest&gt;</tt> deklariert wird.
-
-<pre>
- &lt;TrustProfileID&gt;TrustProfile1&lt;TrustProfileID&gt;
-</pre>
-Abschließend wird im Element <tt>&lt;TrustProfileID&gt;</tt> ein Trustprofile spezifiziert, das am MOA-SP Server
-definiert ist und jene Zertifikate enthält, die für diesen Request als vertrauenswürdig gelten.
-<p>
-Die von diesem Request erzeugt Response ist in <a href="examples/requestsResponses/verifyXMLSignatureResponse1.xml"
-target="_new">VerifyXMLSignatureResponse1.xml</a> abgelegt. Die Response enthält das Ergebnis der Signaturprüfung
-im Element <tt>&lt;SignatureCheck&gt;</tt>, das Ergebnis der Zertifikatsprüfung im Element
-<tt>&lt;CertificateCheck&gt;</tt> und Informationen über den Signator im Element
-<tt>&lt;SignerInfo&gt/&lt;X509Data&gt;</tt>. Die Informationen über den Signator bestehen aus den Elementen
-<tt>&lt;X509SubjectName&gt;</tt>, <tt>&lt;X509IssuerSerial&gt;</tt> und <tt>&lt;X509Certificate&gt;</tt>.
-
-</div>
-</td></tr></table>
-<br /><br />
-
-
-<div id="CreateXMLSignature2" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p> <div id="slogan"> <b>Beispiel: </b><br /> <a
-href="examples/requestsResponses/CreateXMLSignatureRequest2.xml" target="_new">Request</a><br />
-<a href="examples/requestsResponses/CreateXMLSignatureResponse2.xml" target="_new">Response</a>
-<br /> <br /><br />
-</div>
-</td>
-<td valign="top"> <p
-id="subtitel">Beispiel:<br/ > umfassender CreateXMLSignatureRequest</p> <div
-id="block"> Das Beispiel in <a
-href="examples/requestsResponses/CreateXMLSignatureRequest2.xml"
-target="_new">CreateXMLSignatureReqest2.xml</a> zeigt einen umfassenden
-<tt>&lt;CreateXMLSignatureRequest&gt;</tt>.
-<br /><br />
-Das Beispiel benötigt zwei Dateien, die über die URL
-<tt>http://localhost:8080/TestDatenGenerator/resources/&lt;Dateiname&gt;</tt> erreichbar sind.
-Bevor der Beispiel-Request ausgeführt wird, muss daher
-<a href="requestsResponses/TestDatenGenerator.zip">TestDatenGenerator.zip</a>
-entpackt und in $CATALINA_HOME/webapps kopiert werden. Voraussetzung ist, dass Tomcat auf Port 8080 läuft.
-
-<pre>
-&lt;CreateXMLSignatureRequest
- xmlns="http://reference.e-government.gv.at/
- namespace/moa/20020822#"
- xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&gt;
- &lt;KeyIdentifier&gt;PKCS12RSAKey1&lt;/KeyIdentifier&gt;
- &lt;SingleSignatureInfo SecurityLayerConformity="false"&gt;
- &lt;DataObjectInfo Structure="enveloping"
- ChildOfManifest="true"&gt;
- &lt;DataObject&gt;
- &lt;XMLContent&gt;Diese Daten werden
- signiert.&lt;/XMLContent&gt;
- &lt;/DataObject&gt;
- &lt;CreateTransformsInfoProfile&gt;
- &lt;CreateTransformsInfo&gt;
- &lt;FinalDataMetaInfo&gt;
- &lt;MimeType&gt;text/plain&lt;/MimeType&gt;
- &lt;/FinalDataMetaInfo&gt;
- &lt;/CreateTransformsInfo&gt;
- &lt;/CreateTransformsInfoProfile&gt;
- &lt;/DataObjectInfo&gt;
- &lt;/SingleSignatureInfo&gt;
-</pre>
-
-Der Anfang des Requests ist identisch mit dem <a href="#CreateXMLSignature1">einfachen CreateXMLSignatureRequest</a>.
-Als Variation wurde <tt>&lt;ChildOfManifest= "true"&gt;</tt> gesetzt.
-
-Damit wird spezifiziert, dass die zugehörige <tt>&lt;dsig:Reference&gt;</tt> nicht in das Element
-<tt>&lt;SignedInfo&gt;</tt> sondern in ein XMLDSig-Manifest eingefügt werden soll.
-
-Wird das Attribut <tt>&lt;ChildOfManifest&gt;</tt> nicht gesetzt, dann
-wird kein XMLDSig-Manifest erzeugt.
-
-<pre>
- &lt;SingleSignatureInfo SecurityLayerConformity="true"&gt;
-</pre>
-
-Anschließend wird angegeben, dass eine zweite Signatur erstellt werden soll.
-<tt>SecurityLayerConformity="true"</tt> gibt an, dass die Signatur entsprechend der Security-Layer
-Spezifikation Version 1.1 erstellt werden muss, d.h. es werden Signaturattribute und gegebenenfalls ein
-<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.html#signaturerstellungNachXMLDSIGAntwortImplTransParam" target="_new">
-Signatur-Manifest<a> erzeugt. Wird eine Security-Layer konforme Signatur erzeugt, dann
-darf <tt>&lt;ChildOfManifest="true"&gt;</tt> nicht gesetzt sein.
-<p>
-Die zweite Signatur soll zwei Datenobjekte enthalten:
-
-<pre>
- &lt;DataObjectInfo Structure="detached"&gt;
-</pre>
-
-Für das erste Datenobjekt sollen die signierten Daten nicht in der Signatur enthalten sein (<tt>Structure="detached"</tt>).
-
-<pre>
- &lt;DataObject
- Reference="http://localhost:8080/TestDatenGenerator
- /resources/testDaten.txt"&gt;
- &lt;Base64Content&gt;
- RGllcyBz........DQphdXM=
- &lt;/Base64Content&gt;
- &lt;/DataObject&gt;
- &lt;CreateTransformsInfoProfile&gt;
- &lt;CreateTransformsInfo&gt;
- &lt;FinalDataMetaInfo&gt;
- &lt;MimeType&gt;text/plain&lt;/MimeType&gt;
- &lt;/FinalDataMetaInfo&gt;
- &lt;/CreateTransformsInfo&gt;
- &lt;/CreateTransformsInfoProfile&gt;
- &lt;/DataObjectInfo&gt;
-</pre>
-
-Die zu signierenden Daten sind in Base64-Kodierung angegeben und werden in der Signatur über die URL, die im
-Attribut <tt>Reference</tt> angegeben ist, referenziert. Diese URL wird im Zuge der Signaturerstellung
-nicht aufgelöst, da die Daten bereits explizit im Request angegeben sind. Es werden keine weitere
-Transformationen für das Datenobjekt angegeben.
-
-<pre>
- &lt;DataObjectInfo Structure="enveloping"&gt;
- &lt;DataObject&gt;
- &lt;XMLContent xml:space="preserve"&gt;
- &lt;data:book
- xmlns:data="http://uri.data.org"
- data:hardback="yes"&gt;
- &lt;data:title&gt;
- Gesundheitliche Auswirkungen
- elektronischer Signaturen
- &lt;/data:title&gt;
- &lt;data:first-name&gt;Ellipse&lt;/data:first-name&gt;
- &lt;data:last-name&gt;Kurvenreich&lt;/data:last-name&gt;
- &lt;data:birth-date&gt;1951-04-16&lt;/data:birth-date&gt;
- &lt;data:birth-location&gt;
- Hinterm Berg
- &lt;/data:birth-location&gt;
- &lt;data:register-number&gt;
- 6-930-21512-12
- &lt;/data:register-number&gt;
- &lt;/data:book&gt;
- &lt;/XMLContent&gt;
- &lt;/DataObject&gt;
-</pre>
-
-Das zweite Datenobjekt, das signiert werden soll ist eine XML-Struktur.
-<p>
-Für die XML-Struktur wird eine Transformation spezifiziert, die angewendet werden muss, bevor die Daten signiert
-werden:
-<pre>
- &lt;CreateTransformsInfoProfile&gt;
-</pre>
-Transformationen können entweder explizit im Request im Element <tt>&lt;CreateTransformsInfoProfile&gt;</tt>
-angegeben werden oder mit dem Element <tt>&lt;CreateTransformsInfoProfileID&gt;</tt> über eine am MOA-SS-Server
-konfigurierte Profil-ID referenziert werden.
-<pre>
- &lt;CreateTransformsInfo&gt;
-</pre>
-Im Transformationsprofil werden im Element <tt>&lt;CreateTransformsInfo&gt;</tt> die Transformationskette
-(<tt>&lt;dsig:Transforms&gt;</tt>) und optionale Ergänzungsobjekte (<tt>&lt;Supplement&gt;</tt>) angegeben.
-<pre>
- &lt;dsig:Transforms&gt;
- &lt;dsig:Transform
- Algorithm="http://www.w3.org/TR/
- 1999/REC-xslt-19991116"&gt;
- &lt;xsl:stylesheet
- xmlns:xsl="http://www.w3.org/
- 1999/XSL/Transform"
- version="1.0"&gt;
- &lt;xsl:include
- href="http://localhost:8080/
- TestDatenGenerator/resources/
- CX1_book_not_here.xsl"/&gt;
- &lt;/xsl:stylesheet&gt;
- &lt;/dsig:Transform&gt;
- &lt;/dsig:Transforms&gt;
-</pre>
-Im Beispiel besteht die Transformationskette aus einer XSLT-Transformation, die ein weiteres XSLT Stylesheet inkludiert.
-MOA-SS unterstützt alle Transformationen aus der XMLDSig-Spezifikation sowie Exclusive XML Canonicalization 1.0 und
-XPath Filter 2.0.
-
-<pre>
- &lt;FinalDataMetaInfo&gt;
- &lt;MimeType&gt;text/html&lt;/MimeType&gt;
- &lt;/FinalDataMetaInfo&gt;
- &lt;/CreateTransformsInfo&gt;
-</pre>
-<tt>&lt;FinalDataMetaInfo&gt;</tt> gibt den MIME-Type der Daten an, die das Ergebnis der Transformation bilden und
-tatsächlich signiert werden.
-<p>
-Weiters können optional Ergänzungsobjekte angegeben werden, die Daten enthalten, die von MOA-SP zur
-Signaturerstellung verwendet werden sollen:
-<pre>
- &lt;Supplement&gt;
- &lt;Content Reference="http://localhost:8080/
- TestDatenGenerator/resources/
- CX1_book_not_here.xsl"&gt;
- &lt;Base64Content&gt;PHhzbDpzdHls.....eWxlc2hlZXQ+
- &lt;/Base64Content&gt;
- &lt;/Content&gt;
- &lt;/Supplement&gt;
- &lt;/CreateTransformsInfoProfile&gt;
- &lt;/DataObjectInfo&gt;
-</pre>
-Im aktuellen Beispiel wird ein Ergänzungsobjekt für jenes Stylesheet angegeben, das im Stylesheet der oben
-spezifizierten XSLT-Transformation referenziert wird. MOA-SS wird die angegebene URL nicht auflösen sondern
-stattdessen die im Ergänzungsobjekt enthaltenen Daten verwenden.
-<p>
-<pre>
- &lt;CreateSignatureInfo xmlns:env="http://uri.env.org"&gt;
-</pre>
-Abschließend wird hier noch mittels des optionalen Elements <tt>&lt;CreateSignatureInfo&gt;</tt> festgelegt,
-dass die zu erzeugende Signatur in ein bereits bestehendes XML-Dokument eingebettet werden soll. Im Beispiel
-wird das Namespace-Prefix <tt>env</tt> hier deklariert, da es weiter unten im Element
-<tt>CreateSignatureLocation</tt> verwendet werden wird.
-<pre>
- &lt;CreateSignatureEnvironment&gt;
- &lt;XMLContent&gt;
- &lt;env:Document
- xmlns:env="http://uri.env.org"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://uri.env.org
- http://anyhost/envSchema.xsd"&gt;
- nach diesem Text wird die Signatur in das Dokument
- eingefügt
- &lt;/env:Document&gt;
- &lt;/XMLContent&gt;
- &lt;/CreateSignatureEnvironment&gt;
-</pre>
-Im Element <tt>&lt;CreateSignatureEnvironment&gt;</tt> wird das XML-Dokument angegeben.
-<pre>
- &lt;CreateSignatureEnvironmentProfile&gt;
- &lt;CreateSignatureLocation Index="1"&gt;
- /env:Document
- &lt;/CreateSignatureLocation&gt;
- &lt;/CreateSignatureEnvironmentProfile&gt;
-</pre>
-Anschließend wird im Profil angegeben an welcher Position des XML-Dokuments die Signatur eingefügt werden
-soll. Im Element <tt>&lt;CreateSignatureLocation&gt;</tt> wird ein XPath-Ausdruck angegeben, der das
-Element selektiert, als dessen Kind die Signatur eingefügt werden soll. Das Attribut <tt>Index</tt> spezifiziert
-die Position innerhalb dieses Elements, an der die Signatur eingefügt werden soll. <tt>"0"</tt> gibt an,
-dass die Signatur als erstes Kind eingefügt werden soll.</tt>
-<pre>
- &lt;/CreateSignatureInfo&gt;
- &lt;/SingleSignatureInfo&gt;
-&lt;/CreateXMLSignatureRequest&gt;
-</pre>
-Abschließend müssen alle Elemente wieder geschlossen werden.
-<p>
-Die von diesem Request erzeugt Response ist in <a href="examples/requestsResponses/CreateXMLSignatureResponse2.xml" target="_new">
-CreateXMLSignatureResponse2.xml</a> abgelegt. Die Response enthält zwei Elemente <tt>SignatureEnvironment</tt>, die die
-beiden erzeugten Signaturen enthalten.
-</div>
-</td></tr></table>
-<br /><br />
-
-<div id="VerifyXMLSignature2" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="examples/requestsResponses/VerifyXMLSignatureRequest2.xml" target="_new">Request</a><br />
-<a href="examples/requestsResponses/VerifyXMLSignatureResponse2.xml" target="_new">Response</a><br />
-<br /><br />
-</div>
-</td>
-
-
-<td valign="top">
-<p id="subtitel">Beispiel:<br/ > umfassender VerifyXMLSignatureRequest</p>
-<div id="block">
-Das Beispiel in <a href="examples/requestsResponses/VerifyXMLSignatureRequest2.xml" target="_new">
-VerifyXMLSignatureReqest2.xml</a> zeigt wie die im obigen Beispiel erzeugte zweite Signatur
-überprüft werden kann.
-<pre>
-&lt;VerifyXMLSignatureRequest
- xmlns="http://reference.e-government.gv.at/
- namespace/moa/20020822#"
- xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"&gt;
- &lt;DateTime&gt;2003-03-24T12:41:54+01:00&lt;/DateTime&gt;
-</pre>
-Optional kann ein Datum und eine Uhrzeit angegeben werden, für die die Überprüfung durchgeführt werden soll.
-
-<pre>
- &lt;VerifySignatureInfo&gt;
- &lt;VerifySignatureEnvironment&gt;
- &lt;XMLContent&gt;
- &lt;env:Document xmlns:env="http://uri.env.org" .....&gt;
- nach diesem Text ..... Dokument eingefuegt
- &lt;dsig:Signature .....&gt;.....&lt;/dsig:Signature&gt;
- &lt;/env:Document&gt;
- &lt;/XMLContent&gt;
- &lt;/VerifySignatureEnvironment&gt;
-</pre>
-Die Signatur inklusive des umgebenden XML-Dokuments wird im Element <tt>&lt;VerifySignatureEnvironment&gt;</tt>
-angegeben.
-<pre>
- &lt;VerifySignatureLocation&gt;
- //dsig:Signature
- &lt;/VerifySignatureLocation&gt;
- &lt;/VerifySignatureInfo&gt;
-</pre>
-Die zu prüfende Signatur aus dem Element <tt>&lt;VerifySignatureEnvironment&gt;</tt> wird über einen XPath-Ausdruck
-spezifiziert.
-
-Enthält die Signatur ID-Attribute, die referenziert werden, dann muss das XML-Dokument validierend geparst werden können.
-Im Beispiel-Request wird die URL des Schemas für das Element <tt>env:Document</tt> im Attribut <tt>xsi:schemaLocation</tt>
-spezifiziert (<tt>http://anyhost/envSchema.xsd</tt>). Soll MOA-SP diese URL nicht selbst auflösen, dann kann das
-Schema kann im Element <tt>SupplementProfile</tt> übergeben werden:
-
-<pre>
- &lt;SupplementProfile&gt;
- &lt;Content Reference="http://anyhost/envSchema.xsd"&gt;
- &lt;XMLContent xml:space="preserve"&gt;
- &lt;xsd:schema
- targetNamespace="http://uri.env.org"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"&gt;
- &lt;xsd:element name="Document"&gt;
- &lt;xsd:complexType mixed="true"&gt;
- &lt;xsd:sequence minOccurs="0"
- maxOccurs="unbounded"&gt;
- &lt;xsd:any namespace="##any"
- processContents="lax"/&gt;
- &lt;/xsd:sequence&gt;
- &lt;/xsd:complexType&gt;
- &lt;/xsd:element&gt;
- &lt;/xsd:schema&gt;
- &lt;/XMLContent&gt;
- &lt;/Content&gt;
- &lt;/SupplementProfile&gt;
-</pre>
-
-<pre>
- &lt;ReturnHashInputData/&gt;
-</pre>
-Das Element gibt an, dass für jedes <tt>dsig:SignedInfo/dsig:Reference</tt> Element jene Daten, die für die
-Hash-Berechnung der Signatur als Eingangsdaten verwendet werden, in der Antwort returniert werden sollen.
-
-<pre>
- &lt;TrustProfileID&gt;TrustProfile1&lt;/TrustProfileID&gt;
-&lt;/VerifyXMLSignatureRequest&gt;
-</pre>
-Abschließend wird ein am MOA-SP Server definiertes Profil angegeben, dass jene Zertifikate umfasst, die für
-diesen Request als vertrauenswürdig anzusehen sind.
-<p>
-
-Die von diesem Request erzeugt Response ist in <a href="examples/requestsResponses/VerifyXMLSignatureResponse2.xml" target="_new">
-VerifyXMLSignatureResponse2.xml</a> abgelegt. Zusätzlich zu den Daten der Response des einfachen
-VerifyXMLSignatureRequests enthält diese Response für jedes <tt>dsig:SignedInfo/dsig:Reference</tt> Element
-ein <tt>HashInputData</tt> Element.
-</div>
-</td></tr></table>
-<br /><br />
-
-
-
-
-
-<div id="VerifyCMSSignature" />
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top" id="klein">
-<p id="subtitel">&#160;</p>
-<div id="slogan">
-<b>Beispiel: </b><br />
-<a href="examples/requestsResponses/VerifyCMSSignatureRequest.xml" target="_new">Request</a><br />
-<a href="examples/requestsResponses/VerifyCMSSignatureResponse.xml" target="_new">Response</a><br />
-<br /><br />
-</div>
-</td>
-<td valign="top">
-<p id="subtitel">Beispiel:<br/ > VerifyCMSSignatureRequest</p>
-<div id="block">
-Das Beispiel in <a href="examples/requestsResponses/VerifyCMSSignatureRequest.xml" target="_new">VerifyCMSSignatureRequest.xml</a> zeigt einen
-einfachen <tt>&lt;VerifyCMSSignatureRequest&gt;</tt>. Die Bedeutung der einzelnen Elemente
-wird im folgenden beschrieben:
-<pre>
-&lt;VerifyCMSSignatureRequest
- xmlns="http://reference.e-government.gv.at/
- namespace/moa/20020822#"
- xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
- Signatories="1"&gt;
-</pre>
-Das optionale Attribut <tt>Signatories</tt> enthält eine Liste von positiven Ganzzahlen und gibt an, welche Signaturen
-im CMS-Datenobjekt überprüft werden sollen. <tt>Signatories="1"</tt> gibt an, dass die erste Signatur geprüft
-werden soll.
-Wird das Attribut nicht spezifiziert, dann wird ebenfalls die erste Signatur geprüft. <tt>Signatories="all"</tt>
-gibt an, dass alle im CMS-Objekt enthaltene Signaturen geprüft werden sollen.
-
-<pre>
- &lt;DateTime&gt;2003-04-04T09:30:47-05:00&lt;/DateTime&gt;
-</pre>
-Das optionale Element <tt>&lt;DateTime&gt;</tt> gibt an für welchen Zeitpunkt die Signaturüberprüfung
-durchgeführt werden soll. Ist das Element nicht im Request enthalten, dann wird die aktuelle Systemzeit
-verwendet.
-
-<pre>
- &lt;CMSSignature&gt;MIIGAAYJKo...mT9fmvKwdJOiA==&lt;/CMSSignature&gt;
-</pre>
-Das Element <tt>&lt;CMSSignature&gt;</tt> enthält das CMS-Signaturobjekt in Base64-Kodierung.
-<br /><br />
-Sind die signierten Daten nicht in der CMS-Signatur enthalten, müssen sie im <tt>DataObject</tt>-Element
-angegeben werden. Optional kann der MIME-Type dieser Daten spezifiziert werden. Die eigentlichen Daten
-müssen im <tt>Base64Content</tt>-Element in Base64-Kodierung vorliegen.
-
-<pre>
- &lt;TrustProfileID&gt;TrustProfile1&lt;TrustProfileID&gt;
-</pre>
-
-<tt>TrustProfile1</tt> referenziert ein im Konfigurationsfile des MOA-Server definiertes Profil, das
-jene Zertifikate umfasst, die für diese Überprüfung als vertrauenswürdig gelten.
-
-
-<p>
-Die von diesem Request erzeugt Response ist in <a href="examples/requestsResponses/VerifyCMSSignatureResponse.xml" target="_new">
-VerifyCMSSignatureResponse.xml</a> abgelegt. Die Response enthält die selben Informationen wie die Response zum
-einfachen VerifyXMLSignatureRequest.
-</div>
-</td></tr></table>
-<br /><br />
-
-
-
-<table width="650" border="0" cellpadding="10" cellspacing="0">
-<tr>
-<td width="170" valign="top"><br /></td>
-<td valign="top">
-<hr />
-<div style="font-size:8pt; color:#909090">&copy; 2003 <!-- Development Center, BRZ GmbH --></div>
-</td></tr></table>
-<br />
-
-
-</div>
-</body>
-</html> \ No newline at end of file