aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2004-08-05 16:07:27 +0000
committergregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2004-08-05 16:07:27 +0000
commiteb03228d316d9b19e870f761a72c524f2ed3369f (patch)
tree97c99238b9afdb16d184d1ecd6891d2c84b1b0bd
parent1c8fb74e3d6b7973cb0b16eec9cf0de2bc046b75 (diff)
downloadmoa-id-spss-eb03228d316d9b19e870f761a72c524f2ed3369f.tar.gz
moa-id-spss-eb03228d316d9b19e870f761a72c524f2ed3369f.tar.bz2
moa-id-spss-eb03228d316d9b19e870f761a72c524f2ed3369f.zip
Erstellt.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@167 d688527b-c9ab-4aba-bd8d-4036d912da1d
-rw-r--r--spss.handbook/handbook/usage/usage.html104
1 files changed, 104 insertions, 0 deletions
diff --git a/spss.handbook/handbook/usage/usage.html b/spss.handbook/handbook/usage/usage.html
new file mode 100644
index 000000000..d1f160a98
--- /dev/null
+++ b/spss.handbook/handbook/usage/usage.html
@@ -0,0 +1,104 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
+ <title>Die &ouml;sterreichische B&uuml;rgerkarte - Einf&uuml;hrung</title>
+ <link rel="stylesheet" href="../common/MOA.css" type="text/css">
+</head>
+<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966">
+ <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
+ <tr>
+ <td align="center" width="30%"><img src="../common/LogoBKA.png" width="267" height="36" alt="Logo BKA"></td>
+ <td align="center" class="logoTitle"><div align="right">Open Source
+ f&uuml;r das E-Government</div></td>
+ </tr>
+ </table>
+ <hr/>
+ <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP), V 1.2 </a></p>
+ <p class="subtitle">Anwendung</p>
+ <hr/>
+ <h1>Inhalt</h1>
+ <ol>
+ <li>
+ <p><a href="#&#252;bersicht">&Uuml;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_einfach">Einfaches Beispiel</a></li>
+ <li>Erweitertes Beispiel</li>
+ </ol>
+ </li>
+ <li>Pr&uuml;fung einer CMS-Signatur</li>
+ <li>Pr&uuml;fung einer XML-Signatur
+ <ol>
+ <li>Einfaches Beispiel</li>
+ <li>Erweitertes Beispiel</li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ <li>Webservice-Clients
+ <ol>
+ <li>&Uuml;bersicht</li>
+ <li>Gemeinsamkeiten</li>
+ <li>Besonderheiten von HTTPSServerAuth</li>
+ <li>Besonderheiten von HTTPSClientAuth</li>
+ </ol>
+ </li>
+ </ol>
+ </li>
+ <li><a href="#klassenbibliothek">Verwendung der Klassenbibliothek</a></li>
+ </ol>
+<hr/>
+ <h1><a name="übersicht" id="übersicht"></a>1 &Uuml;bersicht</h1>
+ <p> Die Module Signaturpr&uuml;fung (SP) und Serversignatur (SS) sind als plattformunabh&auml;ngige Module ausgelegt, die entweder als Webservice &uuml;ber HTTP bzw. HTTPS oder als Klassenbibliothek &uuml;ber ein API angesprochen werden k&ouml;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 &uuml;ber die Webservice-Schnittstelle. Im ersten Unterabschnitt werden typische XML-Requests zur Signaturerstellung mittels SS bzw. zur Signaturpr&uuml;fung mittels SP vorgestellt, wie sie an das Webservice gesendet werden k&ouml;nnen. Der zweite Unterabschnitt stellt beispielhafte Implementierungen eines Webservice-Clients in Java vor. </p>
+ <h2><a name="webservice_xmlrequests" id="webservice_xmlrequests"></a>2.1 XML-Requests </h2>
+ <p>Dieser Abschnitt stellt typische XML-Requests f&uuml;r die Erstellung einer XML-Signatur mittels SS bzw. zur Pr&uuml;fung einer CMS- bzw. XML-Signatur mittels SP vor. Zu jedem Request wird jeweils auch eine typische Response des Services besprochen. </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_einfach" id="webservice_xmlrequests_erstellungxml_einfach"></a>2.1.1.1 Einfaches Beispiel</h4>
+ <h5>Request</h5>
+ <p><code><a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest1.xml" target="_blank">CreateXMLSignatureRequest1.xml</a></code> ist ein einfacher XML-Request zur Erzeugung einer XML-Signatur. Sein Aufbau wird nachfolgend analysiert:</p>
+ <pre> &lt;KeyIdentifier&gt;KG_allgemein&lt;/KeyIdentifier&gt; </pre>
+ <p><code>KG_allgemein</code> bezeichnet eine Schl&uuml;sselgruppe, aus der SS einen Signaturschl&uuml;ssel selektieren soll und muss einer in der SP/SS-Konfigurationsdatei definierten Schl&uuml;sselgruppe entsprechen. </p>
+ <pre> &lt;SingleSignatureInfo SecurityLayerConformity="false"&gt;</pre>
+ <p> F&uuml;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&auml;&szlig; <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&uuml;r die Signatur&uuml;berpr&uuml;fung zu verwendende Zertifikat, Metainformationen zu den signierten Datenobjekten) und ein Manifest, das alle implizite Transformationsparameter enth&auml;lt, zur Signatur hinzugef&uuml;gt. </p>
+ <pre> &lt;DataObjectInfo Structure="enveloping"&gt;
+ &lt;DataObject&gt;
+ &lt;XMLContent xml:space="preserve"&gt;Diese Daten werden signiert.&lt;XMLContent&gt;
+ &lt;/DataObject&gt;</pre>
+ <p> </p>
+ <p> F&uuml;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 &uuml;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&auml;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&auml;lt Daten in Base64 kodierter Form) oder <code>XMLContent</code> (enth&auml;lt Daten als beliebiges XML-Fragment) oder <code>LocRefContent</code> (enth&auml;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 &uuml;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&auml;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> &lt;CreateTransformsInfoProfile&gt;<br> &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&ouml;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>
+ <h5>Response</h5>
+ <p><code><a href="../../clients/webservice/resources/requests/CreateXMLSignatureRequest1.resp.xml" target="_blank">CreateXMLSignatureRequest1.resp.xml</a></code> ist eine typische Response des SS Webservice auf den obigen Request. Sein Aufbau wird nachfolgend analysiert:</p>
+ <p>
+ <pre>&lt;CreateXMLSignatureResponse
+ xmlns=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot; <br> xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;<br> &lt;SignatureEnvironment&gt;<br> &lt;dsig:Signature Id=&quot;signature-1-1&quot; xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;<br> &lt;dsig:SignedInfo&gt;
+ ...
+ &lt;dsig:Reference Id=&quot;reference-1-1&quot; URI=&quot;#xpointer(id(&amp;apos;signed-data-1-1-1&amp;apos;)/node())&quot;&gt;
+ ...
+ &lt;/dsig:Reference&gt;
+ ...
+ &lt;/dsig:SignedInfo&gt;
+ ...
+ &lt;dsig:Object Id=&quot;signed-data-1-1-1&quot;&gt;Diese Daten werden signiert.&lt;/dsig:Object&gt;
+ &lt;/dsig:Signature&gt;<br> &lt;/SignatureEnvironment&gt;<br>&lt;/CreateXMLSignatureResponse&gt;</pre>
+ </p>
+ <p>Bitte beachten Sie, dass der die oben dargestellte Response zur bessernen Lesbarkeit einger&uuml;ckt und gek&uuml;rzt wurde. <code>CreateXMLSignatureResponse</code> enth&auml;lt je erzeugter Signatur ein Element <code>SignatureEnvironment</code> (in diesem Fall genau ein Element). <code>SignatureEnvironment</code> enth&auml;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>
+</body>
+</html>