diff options
author | gregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2004-08-05 16:07:27 +0000 |
---|---|---|
committer | gregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2004-08-05 16:07:27 +0000 |
commit | eb03228d316d9b19e870f761a72c524f2ed3369f (patch) | |
tree | 97c99238b9afdb16d184d1ecd6891d2c84b1b0bd | |
parent | 1c8fb74e3d6b7973cb0b16eec9cf0de2bc046b75 (diff) | |
download | moa-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.html | 104 |
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 österreichische Bürgerkarte - Einführung</title> + <link rel="stylesheet" href="../common/MOA.css" type="text/css"> +</head> +<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966"> + <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10"> + <tr> + <td align="center" width="30%"><img src="../common/LogoBKA.png" width="267" height="36" alt="Logo BKA"></td> + <td align="center" class="logoTitle"><div align="right">Open Source + für das E-Government</div></td> + </tr> + </table> + <hr/> + <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.2 </a></p> + <p class="subtitle">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_einfach">Einfaches Beispiel</a></li> + <li>Erweitertes Beispiel</li> + </ol> + </li> + <li>Prüfung einer CMS-Signatur</li> + <li>Prüfung einer XML-Signatur + <ol> + <li>Einfaches Beispiel</li> + <li>Erweitertes Beispiel</li> + </ol> + </li> + </ol> + </li> + <li>Webservice-Clients + <ol> + <li>Ü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 Ü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. </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> + <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> <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 xml:space="preserve">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> + <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><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>Bitte beachten Sie, dass der die oben dargestellte Response zur bessernen Lesbarkeit eingerückt und gekürzt wurde. <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> +</body> +</html> |