aboutsummaryrefslogtreecommitdiff
path: root/spss/handbook
diff options
context:
space:
mode:
authorKlaus Stranacher <kstranacher@iaik.tugraz.at>2013-05-16 09:35:16 +0200
committerKlaus Stranacher <kstranacher@iaik.tugraz.at>2013-05-16 09:35:16 +0200
commit1d918b4e05d06ed39f6215fd70ce375a38a300b8 (patch)
treeb3e3ccdffb88eb44a4f3a0bdd34eca5045ef6a69 /spss/handbook
parentfe75121d894e86d29a2804f44438ed594c717097 (diff)
downloadmoa-id-spss-1d918b4e05d06ed39f6215fd70ce375a38a300b8.tar.gz
moa-id-spss-1d918b4e05d06ed39f6215fd70ce375a38a300b8.tar.bz2
moa-id-spss-1d918b4e05d06ed39f6215fd70ce375a38a300b8.zip
New design MOA-ID and MOA-SPSS documentation
Diffstat (limited to 'spss/handbook')
-rw-r--r--spss/handbook/handbook/common/LogoEGIZ.pngbin0 -> 77395 bytes
-rw-r--r--spss/handbook/handbook/common/LogoMoa4c.3148x3545.jpgbin1584855 -> 0 bytes
-rw-r--r--spss/handbook/handbook/common/LogoMoa4c.jpgbin45624 -> 0 bytes
-rw-r--r--spss/handbook/handbook/common/LogoMoaBw.jpgbin41375 -> 0 bytes
-rw-r--r--spss/handbook/handbook/common/MOA.css317
-rw-r--r--spss/handbook/handbook/config/config.html50
-rw-r--r--spss/handbook/handbook/faq/faq.html11
-rw-r--r--spss/handbook/handbook/index.html7
-rw-r--r--spss/handbook/handbook/install/install.html9
-rw-r--r--spss/handbook/handbook/intro/intro.html9
-rw-r--r--spss/handbook/handbook/usage/usage.html511
11 files changed, 612 insertions, 302 deletions
diff --git a/spss/handbook/handbook/common/LogoEGIZ.png b/spss/handbook/handbook/common/LogoEGIZ.png
new file mode 100644
index 000000000..39f05d131
--- /dev/null
+++ b/spss/handbook/handbook/common/LogoEGIZ.png
Binary files differ
diff --git a/spss/handbook/handbook/common/LogoMoa4c.3148x3545.jpg b/spss/handbook/handbook/common/LogoMoa4c.3148x3545.jpg
deleted file mode 100644
index a5ba135ef..000000000
--- a/spss/handbook/handbook/common/LogoMoa4c.3148x3545.jpg
+++ /dev/null
Binary files differ
diff --git a/spss/handbook/handbook/common/LogoMoa4c.jpg b/spss/handbook/handbook/common/LogoMoa4c.jpg
deleted file mode 100644
index a1102090b..000000000
--- a/spss/handbook/handbook/common/LogoMoa4c.jpg
+++ /dev/null
Binary files differ
diff --git a/spss/handbook/handbook/common/LogoMoaBw.jpg b/spss/handbook/handbook/common/LogoMoaBw.jpg
deleted file mode 100644
index 5a31e3e15..000000000
--- a/spss/handbook/handbook/common/LogoMoaBw.jpg
+++ /dev/null
Binary files differ
diff --git a/spss/handbook/handbook/common/MOA.css b/spss/handbook/handbook/common/MOA.css
index 81e0a3f8d..85ed13693 100644
--- a/spss/handbook/handbook/common/MOA.css
+++ b/spss/handbook/handbook/common/MOA.css
@@ -5,6 +5,322 @@ body
font-weight: normal;
margin-left: 2.5em;
margin-right: 2.5em;
+ background-color: white;
+ text: #000000;
+ link: #990000;
+ vlink: #666666;
+ alink: #cc9966;
+}
+
+
+
+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: #000000;
+ text-align: left;
+ font-size: 167%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h2
+{
+ color: #000000;
+ font-size: 150%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h3
+{
+ color: #000000;
+ font-size: 133%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h4
+{
+ color: #000000;
+ font-size: 116%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h5
+{
+ color: #000000;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h6
+{
+ color: #000000;
+ font-size: 83%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+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: 200%;
+ color: #000000;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+ background-color:#999;
+}
+
+.subtitle
+{
+ text-align: left;
+ font-size: 133%;
+ color: #000000;
+ 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: 200%;
+ 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;
+}
+
+
+/*body
+{
+ font-family: "Times New Roman", Times, serif;
+ font-size: medium;
+ font-weight: normal;
+ margin-left: 2.5em;
+ margin-right: 2.5em;
}
p
@@ -298,3 +614,4 @@ li.faq
font-weight: normal;
margin-bottom: 0.4em;
}
+*/ \ No newline at end of file
diff --git a/spss/handbook/handbook/config/config.html b/spss/handbook/handbook/config/config.html
index 6809c143d..d1c7d5636 100644
--- a/spss/handbook/handbook/config/config.html
+++ b/spss/handbook/handbook/config/config.html
@@ -5,41 +5,40 @@
<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">
+<body link="#990000">
<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&uuml;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>
+ <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">Dokumentation</td>
+ <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
</tr>
</table>
<hr/>
- <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP), V 1.5</a></p>
+ <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP)</a></p>
<p class="subtitle">Konfiguration</p>
<hr/>
<h1>Inhalt</h1>
<ol>
<li>
- <p><a href="#&#252;bersicht">&Uuml;bersicht</a></p>
+ <p><a href="#uebersicht">&Uuml;bersicht</a></p>
<ol>
- <li><a href="#&#252;bersicht_allgemeines">Allgemeines</a>
+ <li><a href="#uebersicht_allgemeines">Allgemeines</a>
<ol>
- <li><a href="#&#252;bersicht_allgemeines_namenskonventionen">Namenskonventionen</a></li>
+ <li><a href="#uebersicht_allgemeines_namenskonventionen">Namenskonventionen</a></li>
</ol>
</li>
- <li><a href="#&#252;bersicht_zentraledatei">Zentrale Konfigurationsdatei</a>
+ <li><a href="#uebersicht_zentraledatei">Zentrale Konfigurationsdatei</a>
<ol>
- <li><a href="#&#252;bersicht_zentraledatei_aktualisierung">Aktualisierung auf das Format von MOA SP/SS 1.3</a></li>
+ <li><a href="#uebersicht_zentraledatei_aktualisierung">Aktualisierung auf das Format von MOA SP/SS 1.3</a></li>
</ol>
</li>
- <li><a href="#&#252;bersicht_bekanntmachung">Bekanntmachung der Konfigurationsdatei
+ <li><a href="#uebersicht_bekanntmachung">Bekanntmachung der Konfigurationsdatei
</a>
<ol>
- <li><a href="#&#252;bersicht_bekanntmachung_laufenderbetrieb">Aktualisierung der Konfiguration im laufenden Betrieb</a></li>
+ <li><a href="#uebersicht_bekanntmachung_laufenderbetrieb">Aktualisierung der Konfiguration im laufenden Betrieb</a></li>
</ol>
</li>
- <li><a href="#&#252;bersicht_logging">Konfiguration des Loggings</a></li>
+ <li><a href="#uebersicht_logging">Konfiguration des Loggings</a></li>
</ol>
</li>
<li><a href="#konfigurationsparameter">Konfigurationsparameter</a>
@@ -115,10 +114,10 @@
</li>
</ol>
<hr/>
- <h1><a name="übersicht" id="übersicht"></a>1 &Uuml;bersicht </h1>
+ <h1><a name="uebersicht" id="uebersicht"></a>1 &Uuml;bersicht </h1>
<p>Dieses Handbuch beschreibt detailliert die Konfigurationsm&ouml;glichkeiten f&uuml;r MOA SP/SS. Wenn nicht anders angegeben, beziehen sich die Erl&auml;uterungen sowohl auf die Konfiguration des Webservices als auch auf die Konfiguration von MOA SP/SS f&uuml;r den Einsatz als Klassenbibliothek.</p>
- <h2><a name="&uuml;bersicht_allgemeines" id="&uuml;bersicht_allgemeines"></a>1.1 Allgemeines</h2>
- <h3><a name="&uuml;bersicht_allgemeines_namenskonventionen" id="&uuml;bersicht_allgemeines_namenskonventionen"></a>1.1.1 Namenskonventionen </h3>
+ <h2><a name="uebersicht_allgemeines" id="uebersicht_allgemeines"></a>1.1 Allgemeines</h2>
+ <h3><a name="uebersicht_allgemeines_namenskonventionen" id="uebersicht_allgemeines_namenskonventionen"></a>1.1.1 Namenskonventionen </h3>
<p>Folgende Namenraum-Pr&auml;fixe werden in diesem Handbuch zur Kennzeichnung der Namenr&auml;ume
von XML-Elementen verwendet: </p>
<table class="fixedWidth" border="1" cellpadding="2">
@@ -143,9 +142,9 @@
<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>
+ <h2><a name="uebersicht_zentraledatei" id="uebersicht_zentraledatei"></a>1.2 Zentrale Konfigurationsdatei</h2>
<p>Die Konfiguration von MOA SP/SS erfolgt zentral &uuml;ber eine einzige Konfigurationsdatei. Das Format der Konfigurationsdatei ist XML und muss dem Schema <a href="./MOA-SPSS-config-1.5.2.xsd">MOA-SPSS-config-1.5.2.xsd</a> entsprechen. <a href="#konfigurationsparameter">Abschnitt 2</a> erl&auml;utert die Konfigurationsm&ouml;glichkeiten im Einzelnen.</p>
- <h3><a name="&uuml;bersicht_zentraledatei_aktualisierung" id="&uuml;bersicht_zentraledatei_aktualisierung"></a>1.2.1
+ <h3><a name="uebersicht_zentraledatei_aktualisierung" id="uebersicht_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, &uuml;bersichtlicheres Format f&uuml;r die
XML-Konfigurationsdatei. </p>
@@ -159,19 +158,18 @@
an, der zweite Parameter Pfad und Dateiname f&uuml;r die zu erzeugende Konfigurationsdatei im neuen Format (<span class="remark">Hinweis:
Die Beispielpfade beziehen sich auf Windows-Betriebssysteme; f&uuml;r Unix-Betriebssysteme w&auml;hlen Sie bitte sinngem&auml;&szlig;e
Pfade.</span>). </p>
- <h2><a name="übersicht_bekanntmachung" id="übersicht_bekanntmachung"></a>1.3 Bekanntmachung der Konfigurationsdatei</h2>
+ <h2><a name="uebersicht_bekanntmachung" id="uebersicht_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&auml;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&lt;name&gt;=&lt;wert&gt;</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&uuml;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
+<h3><a name="uebersicht_bekanntmachung_laufenderbetrieb" id="uebersicht_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&ouml;glich, &Auml;nderungen an der Konfigurationsdatei vorzunehmen, und diese &Auml;nderungen ohne Neustart des zu Grunde liegenden Servlet Containers in den Betrieb zu &uuml;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&uuml;r Logging-Information die Open Source Software <code>log4j</code>. Die Konfiguration der Logging-Information erfolgt nicht direkt durch MOA SP/SS, sondern &uuml;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>
+<h2><a name="uebersicht_logging" id="uebersicht_logging"></a>1.4 Konfiguration des Loggings</h2>
+ <p>MOA SP/SS verwendet als Framework f&uuml;r Logging-Information die Open Source Software <code>log4j</code>. Die Konfiguration der Logging-Information erfolgt nicht direkt durch MOA SP/SS, sondern &uuml;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>
+<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>
@@ -219,7 +217,7 @@
</table>
<h3><a name="konfigurationsparameter_allgemein_externaluris" id="konfigurationsparameter_allgemein_externaluris"></a>2.1.2 Aufl&ouml;sen externer URIs</h3>
- <p>Standardm&auml;&szlig;ig ist das Aufl&ouml;sen von externen URIs (inkl. localhost) deaktiviert (d.h. keines der nachfolgenden Konfigurationselement <code>cfg:PermitExternalUris</code> bzw. <code>cfg:ForbidExternalUris</code> existiert). Es gibt jedoch zwei M&ouml;glichkeiten das Aufl&ouml;sen zu aktivieren bzw. zu </p>
+ <p>Standardm&auml;&szlig;ig ist das Aufl&ouml;sen von externen URIs (inkl. localhost) deaktiviert (d.h. keines der nachfolgenden Konfigurationselement <code>cfg:PermitExternalUris</code> bzw. <code>cfg:ForbidExternalUris</code> existiert). Es gibt jedoch zwei M&ouml;glichkeiten das Aufl&ouml;sen zu aktivieren: </p>
<ul>
<li>Blacklisting: Hierbei wird das Aufl&ouml;sen von externen URIs erlaubt. Es kann jedoch durch die Angaben einer Blacklist der Zugriff auf bestimmte URIs eingeschr&auml;nkt werden.</li>
<li>Whitelisting: Hierbei ist das Aufl&ouml;sen von externen URIs weiterhin verboten. Es kann jedoch durch die Angabe einer Whitelist der Zugriff auf bestimmte URIs gestattet werden.</li>
diff --git a/spss/handbook/handbook/faq/faq.html b/spss/handbook/handbook/faq/faq.html
index 00e005a02..4e9ff77a3 100644
--- a/spss/handbook/handbook/faq/faq.html
+++ b/spss/handbook/handbook/faq/faq.html
@@ -5,17 +5,16 @@
<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">
+<body link="#990000">
<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&uuml;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>
+ <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">Dokumentation</td>
+ <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
</tr>
</table>
<hr/>
- <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP), V 1.5</a></p>
+ <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP)</a></p>
<p class="subtitle">FAQ</p>
<hr/>
<h1>Inhalt</h1>
diff --git a/spss/handbook/handbook/index.html b/spss/handbook/handbook/index.html
index 8146ea7c0..2dbc921bd 100644
--- a/spss/handbook/handbook/index.html
+++ b/spss/handbook/handbook/index.html
@@ -5,13 +5,12 @@
<title>MOA SS und SP - &Uuml;bersicht</title>
<link rel="stylesheet" href="./common/MOA.css" type="text/css">
</head>
-<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966">
+<body link="#990000">
<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&uuml;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>
+ <td align="center" class="logoTitle">Dokumentation</td>
+ <td align="center" class="logoTitle" width="123"><img src="common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
</tr>
</table>
<hr/>
diff --git a/spss/handbook/handbook/install/install.html b/spss/handbook/handbook/install/install.html
index 57da2b55c..61785870d 100644
--- a/spss/handbook/handbook/install/install.html
+++ b/spss/handbook/handbook/install/install.html
@@ -5,17 +5,16 @@
<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">
+<<body link="#990000">
<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&uuml;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>
+ <td align="center" class="logoTitle">Dokumentation</td>
+ <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
</tr>
</table>
<hr/>
- <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP), V 1.5</a></p>
+ <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP)</a></p>
<p class="subtitle">Installation</p>
<hr/>
<h1>Inhalt</h1>
diff --git a/spss/handbook/handbook/intro/intro.html b/spss/handbook/handbook/intro/intro.html
index af479d2c5..5d6dec136 100644
--- a/spss/handbook/handbook/intro/intro.html
+++ b/spss/handbook/handbook/intro/intro.html
@@ -5,17 +5,16 @@
<title>MOA SS und SP - 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">
+<body link="#990000">
<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&uuml;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>
+ <td align="center" class="logoTitle">Dokumentation</td>
+ <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
</tr>
</table>
<hr/>
- <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP), V 1.5</a></p>
+ <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP)</a></p>
<p class="subtitle">Einf&uuml;hrung</p>
<hr/>
<h1>Inhalt</h1>
diff --git a/spss/handbook/handbook/usage/usage.html b/spss/handbook/handbook/usage/usage.html
index 6fcccc612..b6f97b79d 100644
--- a/spss/handbook/handbook/usage/usage.html
+++ b/spss/handbook/handbook/usage/usage.html
@@ -5,17 +5,16 @@
<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">
+<body link="#990000">
<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&uuml;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>
+ <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">Dokumentation</td>
+ <td align="center" class="logoTitle" width="123"><img src="../common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
</tr>
</table>
<hr/>
- <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP), V 1.5</a></p>
+ <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP)</a></p>
<p class="subtitle">Anwendung</p>
<hr/>
<h1>Inhalt</h1>
@@ -96,16 +95,16 @@
<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="true"&gt;</pre>
<p> F&uuml;r jedes <code>SingleSignatureInfo</code>Element wird eine eigene CMS/CAdES-Signatur erzeugt. Wird das Attribut <code>SecurityLayerConformity</code> auf <code>true</code> gesetzt, dann wird eine CAdES-Signatur gem&auml;&szlig; <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20080220/core/Core.html#signaturerstellungNachXMLDSIG" target="_blank">Security-Layer Spezifikation V1.2x TODO </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).</p>
-<pre> &lt;DataObjectInfo Structure="enveloping"&gt;
- &lt;DataObject&gt;
- &lt;MetaInfo&gt;
- &lt;MimeType&gt;text/plain&lt;/MimeType&gt;
- &lt;/MetaInfo&gt;
- &lt;Content&gt;
- &lt;Base64Content&gt;RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=&lt;/Base64Content&gt;
- &lt;/Content&gt;
- &lt;/DataObject&gt;
- &lt;/DataObjectInfo&gt;
+<pre> &lt;DataObjectInfo Structure="enveloping"&gt;
+ &lt;DataObject&gt;
+ &lt;MetaInfo&gt;
+ &lt;MimeType&gt;text/plain&lt;/MimeType&gt;
+ &lt;/MetaInfo&gt;
+ &lt;Content&gt;
+ &lt;Base64Content&gt;RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=&lt;/Base64Content&gt;
+ &lt;/Content&gt;
+ &lt;/DataObject&gt;
+ &lt;/DataObjectInfo&gt;
</pre>
<p>Das zu signierende Daten-Objekt muss in einem <code>DataObjectInfo</code> Element spezifiziert werden. Das Attribut <code>Structure</code> gibt an, ob die Daten in die Signatur integriert werden sollen (<code>Structure="enveloping"</code>) oder nicht (<code>Structure="detached"</code>). </p>
<p> Im nachfolgenden <code>DataObject</code> Element muss 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 im Element <code>Base64Content</code> (enth&auml;lt Daten in Base64 kodierter Form) spezifiziert sein. Die Angabe der zu signierenden Daten &uuml;ber das Attribut <code>Reference</code> und gleichzeitig im Element <code>Base64Content</code> ist nicht erlaubt. Zus&auml;tzlich muss im Element <code>MimeType</code> (unter dem Element <code>MetaInfo</code>) der MIME-Type der zu signierenden Daten spezifiziert werden.</p>
@@ -113,8 +112,8 @@
<h5>Response</h5>
<p>TODO: Neue Signatur erzeugen (da CAdES - d.h. noch auf neues iaik-moa warten)</p>
<p><code><a href="../../clients/webservice/resources/requests/CreateCMSSignatureRequest.Base64Content.resp.xml" target="_blank">CreateCMSSignatureRequest.Base64Content.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&uuml;ckt und gek&uuml;rzt wurde. </p>
- <pre>&lt;CreateCMSSignatureResponse
- 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;CMSSignature&gt;MIAGCSqGSI...p92gh6wAAAAAAAA=&lt;/CMSSignature&gt;<br>&lt;/CreateCMSSignatureResponse&gt;</pre>
+ <pre> &lt;CreateCMSSignatureResponse
+ 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;CMSSignature&gt;MIAGCSqGSI...p92gh6wAAAAAAAA=&lt;/CMSSignature&gt;<br> &lt;/CreateCMSSignatureResponse&gt;</pre>
<p><code>CreateCMSSignatureResponse</code> enth&auml;lt je erzeugter Signatur ein Element <code>CMSSignature</code> (in diesem Fall genau ein Element). <code>CMSSignature</code> enth&auml;lt die von SS erzeugte CAdES-Signatur (da <code>SecurityLayerConformity="true"</code> im Request angegeben wurde) als Base64-codierten Wert. Das unterzeichnete Datenobjekt ist in der Signaturstruktur selbst enthalten (<code>enveloping</code>). </p>
<h4><a name="webservice_xmlrequests_erstellungcms_erweitert" id="webservice_xmlrequests_erstellungcms_erweitert"></a>2.1.1.2 Beispiel (Datenobjekt als Referenz)</h4>
@@ -124,22 +123,22 @@
<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 CMS/CAdES-Signatur erzeugt. Wird das Attribut <code>SecurityLayerConformity</code> auf <code>true</code> gesetzt, dann wird eine CAdES-Signatur gem&auml;&szlig; <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20080220/core/Core.html#signaturerstellungNachXMLDSIG" target="_blank">Security-Layer Spezifikation V1.2x TODO </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).</p>
-<pre> &lt;DataObjectInfo Structure="detached"&gt;
- &lt;DataObject&gt;
- &lt;MetaInfo&gt;
- &lt;MimeType&gt;text/plain&lt;/MimeType&gt;
- &lt;/MetaInfo&gt;
- &lt;Content Reference=&quot;http://localhost:8080/moa-spss-handbook-referencedData/Text.txt&quot;/&gt;
- &lt;/DataObject&gt;
- &lt;/DataObjectInfo&gt;
+<pre> &lt;DataObjectInfo Structure="detached"&gt;
+ &lt;DataObject&gt;
+ &lt;MetaInfo&gt;
+ &lt;MimeType&gt;text/plain&lt;/MimeType&gt;
+ &lt;/MetaInfo&gt;
+ &lt;Content Reference=&quot;http://localhost:8080/moa-spss-handbook-referencedData/Text.txt&quot;/&gt;
+ &lt;/DataObject&gt;
+ &lt;/DataObjectInfo&gt;
</pre>
<p>Das zu signierende Daten-Objekt muss in einem <code>DataObjectInfo</code> Element spezifiziert werden. Das Attribut <code>Structure</code> gibt an, ob die Daten in die Signatur integriert werden sollen (<code>Structure="enveloping"</code>) oder nicht (<code>Structure="detached"</code>). </p>
<p> Im nachfolgenden <code>DataObject</code> Element muss 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 im Element <code>Base64Content</code> (enth&auml;lt Daten in Base64 kodierter Form) spezifiziert sein. Die Angabe der zu signierenden Daten &uuml;ber das Attribut <code>Reference</code> und gleichzeitig im Element <code>Base64Content</code> ist nicht erlaubt. Zus&auml;tzlich muss im Element <code>MimeType</code> (unter dem Element <code>MetaInfo</code>) der MIME-Type der zu signierenden Daten spezifiziert werden.</p>
<p>Im konkreten Beispiel sollen die Daten nicht in die Signatur integriert werden (<code>Structure="detached"</code>). Die Daten werden in diesem Beispiel mittels der Attributs <code>Refernce</code> angegeben und SS muss es von dieser URL laden. Der MIME-Type wird mit <code>text/plain</code> angegeben.</p>
<h5>Response</h5>
<p><code><a href="../../clients/webservice/resources/requests/CreateCMSSignatureRequest.Reference.resp.xml" target="_blank">CreateCMSSignatureRequest.Reference.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&uuml;ckt und gek&uuml;rzt wurde. </p>
-<pre>&lt;CreateCMSSignatureResponse
- 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;CMSSignature&gt;MIAGCSqGSI...SwxhbA9pAAAAAAAA&lt;/CMSSignature&gt;<br>&lt;/CreateCMSSignatureResponse&gt;</pre>
+<pre> &lt;CreateCMSSignatureResponse
+ 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;CMSSignature&gt;MIAGCSqGSI...SwxhbA9pAAAAAAAA&lt;/CMSSignature&gt;<br> &lt;/CreateCMSSignatureResponse&gt;</pre>
<p><code>CreateCMSSignatureResponse</code> enth&auml;lt je erzeugter Signatur ein Element <code>CMSSignature</code> (in diesem Fall genau ein Element). <code>CMSSignature</code> enth&auml;lt die von SS erzeugte CMS-Signatur (da <code>SecurityLayerConformity="false"</code> im Request angegeben wurde) als Base64-codierten Wert. Das unterzeichnete Datenobjekt ist in der Signaturstruktur nicht enthalten (<code>detached</code>).</p>
<h3><a name="webservice_xmlrequests_erstellungxml" id="webservice_xmlrequests_erstellungxml"></a>2.1.2 Erstellung einer XML bzw. XAdES-Signatur</h3>
<p>MOA-SS erm&ouml;glicht die Erstellung einer herk&ouml;mmlichen XML-Signatur und einer XAdES-Signatur&nbsp;gem&auml;&szlig; der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20080220/core/Core.html#signaturerstellungNachXMLDSIG" target="_blank">Security-Layer Spezifikation V1.2x TODO</a>. Die Auswahl ob eine herk&ouml;mmliche XML oder eine Security-Layer konforme XAdES-Signatur erstellt wird, erfolgt durch das Attribute <code>SecurityLayerConformity</code> im Signaturerstelltungs-Request (siehe auch folgende Beispiele). </p>
@@ -151,216 +150,216 @@
<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/20080220/core/Core.html#signaturerstellungNachXMLDSIG" target="_blank">Security-Layer Spezifikation V1.2x TODO </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 (=eine XAdES Signatur).</p>
-<pre> &lt;DataObjectInfo Structure="enveloping"&gt;
- &lt;DataObject&gt;
- &lt;XMLContent&gt;Diese Daten werden signiert.&lt;XMLContent&gt;
- &lt;/DataObject&gt;</pre>
+<pre> &lt;DataObjectInfo Structure="enveloping"&gt;
+ &lt;DataObject&gt;
+ &lt;XMLContent&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>
+ <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></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&uuml;ckt und gek&uuml;rzt wurde.</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;
+ <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&uuml;ckt und gek&uuml;rzt wurde. </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&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: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>
+ &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>
<p><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>
<h4><a name="webservice_xmlrequests_erstellungxml_daten" id="webservice_xmlrequests_erstellungxml_daten"></a>2.1.2.2 Angabe der zu signierenden Daten </h4>
<h5>Request</h5>
<p>Dieses Beispiel stellt die vielf&auml;ltigen M&ouml;glichkeiten vor, wie MOA SS mitgeteilt werden kann, welche Daten signiert (wenn keine Transformationen angegeben werden) bzw. als Eingangsdaten f&uuml;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>&lt;CreateXMLSignatureRequest
- xmlns=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot;
- xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;<br> &lt;KeyIdentifier&gt;KG_allgemein&lt;/KeyIdentifier&gt;<br> &lt;SingleSignatureInfo SecurityLayerConformity=&quot;false&quot;&gt;</pre>
+ <pre> &lt;CreateXMLSignatureRequest
+ xmlns=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot;
+ xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;<br> &lt;KeyIdentifier&gt;KG_allgemein&lt;/KeyIdentifier&gt;<br> &lt;SingleSignatureInfo SecurityLayerConformity=&quot;false&quot;&gt;</pre>
<p>Die Signatur soll mit dem Schl&uuml;ssel <code>KG_allgemein</code> erstellt werden; jene Elemente, die speziell f&uuml;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=&quot;false&quot;</code>).</p>
- <pre> &lt;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;true&quot;&gt;
- &lt;DataObject&gt;
- &lt;Base64Content&gt;RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu&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>
+ <pre> &lt;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;true&quot;&gt;
+ &lt;DataObject&gt;
+ &lt;Base64Content&gt;RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu&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>
<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=&quot;enveloping&quot;</code>). Weiters sollen die Daten nicht &uuml;ber &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code>, sondern &uuml;ber eine <code>dsig:Reference</code> in einem eigenen <code>dsig:Manifest</code> aufgenommen werden (<code>ChildOfManifest=&quot;true&quot;</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 &uuml;brigen F&auml;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>
- &lt;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;false&quot;&gt;
- &lt;DataObject&gt;
- &lt;XMLContent&gt;&lt;doc:XMLDocument xmlns:doc=&quot;urn:document&quot;&gt;
- &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
- &lt;doc:Paragraph ParaId=&quot;Para2&quot;&gt;Und ich bin der zweite Absatz in diesem Dokument.
-Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
-&lt;/doc:XMLDocument&gt;&lt;/XMLContent&gt;
- &lt;/DataObject&gt;
- &lt;CreateTransformsInfoProfile&gt;
- &lt;CreateTransformsInfo&gt;
- &lt;FinalDataMetaInfo&gt;
- &lt;MimeType&gt;application/xml&lt;/MimeType&gt;
- &lt;/FinalDataMetaInfo&gt;
- &lt;/CreateTransformsInfo&gt;
- &lt;/CreateTransformsInfoProfile&gt;
- &lt;/DataObjectInfo&gt;
+ &lt;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;false&quot;&gt;
+ &lt;DataObject&gt;
+ &lt;XMLContent&gt;&lt;doc:XMLDocument xmlns:doc=&quot;urn:document&quot;&gt;
+ &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
+ &lt;doc:Paragraph ParaId=&quot;Para2&quot;&gt;Und ich bin der zweite Absatz in diesem Dokument.
+ Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
+ &lt;/doc:XMLDocument&gt;&lt;/XMLContent&gt;
+ &lt;/DataObject&gt;
+ &lt;CreateTransformsInfoProfile&gt;
+ &lt;CreateTransformsInfo&gt;
+ &lt;FinalDataMetaInfo&gt;
+ &lt;MimeType&gt;application/xml&lt;/MimeType&gt;
+ &lt;/FinalDataMetaInfo&gt;
+ &lt;/CreateTransformsInfo&gt;
+ &lt;/CreateTransformsInfoProfile&gt;
+ &lt;/DataObjectInfo&gt;
</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=&quot;enveloping&quot;</code>). Diesmal sollen die Daten direkt &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest=&quot;false&quot;</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>
- &lt;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;false&quot;&gt;
- &lt;DataObject Reference=&quot;http://localhost:8080/referencedData/Text.txt&quot;/&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;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;false&quot;&gt;
+ &lt;DataObject Reference=&quot;http://localhost:8080/referencedData/Text.txt&quot;/&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>
<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=&quot;enveloping&quot;</code>). Wiederum sollen die Daten direkt &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest=&quot;false&quot;</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&ouml;sen, um zu den zu signierenden Daten zu gelangen. <code>Base64Content</code> oder <code>XMLContent</code> oder <code>LocRefContent</code> d&uuml;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>
- &lt;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;false&quot;&gt;
- &lt;DataObject&gt;
- &lt;LocRefContent&gt;http://localhost:8080/referencedData/Text.txt&lt;/LocRefContent&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;DataObjectInfo Structure=&quot;enveloping&quot; ChildOfManifest=&quot;false&quot;&gt;
+ &lt;DataObject&gt;
+ &lt;LocRefContent&gt;http://localhost:8080/referencedData/Text.txt&lt;/LocRefContent&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>
<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=&quot;enveloping&quot;</code>). Wiederum sollen die Daten direkt &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest=&quot;false&quot;</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&uuml;r <span class="term">Location Reference</span>). <code>DataObject/@Reference</code> darf in diesem Fall nicht verwendet werden. Diese Methode ist semantisch v&ouml;llig ident mit dem vorhergehenden Fall. </p>
<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben.</p>
<pre>
- &lt;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;true&quot;&gt;
- &lt;DataObject Reference=&quot;http://localhost:8080/referencedData/Text.b64&quot;&gt;
- &lt;Base64Content&gt;RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu&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;
+ &lt;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;true&quot;&gt;
+ &lt;DataObject Reference=&quot;http://localhost:8080/referencedData/Text.b64&quot;&gt;
+ &lt;Base64Content&gt;RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu&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>
<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=&quot;detached&quot;</code>). Die Daten sollen indirekt &uuml;ber eine <code>dsig:Reference</code> eines <code>dsig:Manifest</code>s aufgenommen werden (<code>ChildOfManifest=&quot;true&quot;</code>). </p>
<p>Die URI in <code>DataObject/@Reference</code> enth&auml;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&ouml;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>
- &lt;DataObjectInfo Structure="detached" ChildOfManifest="false"&gt;
- &lt;DataObject Reference="NichtAufloesbareReferenz1"&gt;
- &lt;XMLContent&gt;&lt;doc:XMLDocument xmlns:doc="urn:document"&gt;
- &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
- &lt;doc:Paragraph ParaId="Para2"&gt;Und ich bin der zweite Absatz in diesem Dokument.
-Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
-&lt;/doc:XMLDocument&gt;&lt;/XMLContent&gt;
- &lt;/DataObject&gt;
- &lt;CreateTransformsInfoProfile&gt;
- &lt;CreateTransformsInfo&gt;
- &lt;FinalDataMetaInfo&gt;
- &lt;MimeType&gt;application/xml&lt;/MimeType&gt;
- &lt;/FinalDataMetaInfo&gt;
- &lt;/CreateTransformsInfo&gt;
- &lt;/CreateTransformsInfoProfile&gt;
- &lt;/DataObjectInfo&gt;
+ &lt;DataObjectInfo Structure="detached" ChildOfManifest="false"&gt;
+ &lt;DataObject Reference="NichtAufloesbareReferenz1"&gt;
+ &lt;XMLContent&gt;&lt;doc:XMLDocument xmlns:doc="urn:document"&gt;
+ &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
+ &lt;doc:Paragraph ParaId="Para2"&gt;Und ich bin der zweite Absatz in diesem Dokument.
+ Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
+ &lt;/doc:XMLDocument&gt;
+ &lt;/XMLContent&gt;
+ &lt;/DataObject&gt;
+ &lt;CreateTransformsInfoProfile&gt;
+ &lt;CreateTransformsInfo&gt;
+ &lt;FinalDataMetaInfo&gt;
+ &lt;MimeType&gt;application/xml&lt;/MimeType&gt;
+ &lt;/FinalDataMetaInfo&gt;
+ &lt;/CreateTransformsInfo&gt;
+ &lt;/CreateTransformsInfoProfile&gt;
+ &lt;/DataObjectInfo&gt;
</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=&quot;detached&quot;</code>). Diesmal sollen die Daten direkt &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest=&quot;false&quot;</code>).
</p>
<p>Die URI in <code>DataObject/@Reference</code> enth&auml;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&ouml;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&ouml;st werden kann (<code>NichtAufloesbareReferenz1</code>). </p>
<p>Der Mime-Type der zu signierenden Daten wird als <code>application/xml</code> angegeben.</p>
<pre>
- &lt;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;false&quot;&gt;
- &lt;DataObject Reference=&quot;http://localhost:8080/referencedData/Text.txt&quot;&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;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;false&quot;&gt;
+ &lt;DataObject Reference=&quot;http://localhost:8080/referencedData/Text.txt&quot;&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>
<p>Wiederum sollen die Daten in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden (<code>Structure=&quot;detached&quot;</code>). Wie zuvor sollen die Daten direkt &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest=&quot;false&quot;</code>). </p>
<p>Die URI in <code>DataObject/@Reference</code> enth&auml;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&ouml;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>
- &lt;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;false&quot;&gt;
- &lt;DataObject Reference=&quot;NichtAufloesbareReferenz2&quot;&gt;
- &lt;LocRefContent&gt;http://localhost:8080/referencedData/Text.txt&lt;/LocRefContent&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;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;false&quot;&gt;
+ &lt;DataObject Reference=&quot;NichtAufloesbareReferenz2&quot;&gt;
+ &lt;LocRefContent&gt;http://localhost:8080/referencedData/Text.txt&lt;/LocRefContent&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>
<p>Wiederum sollen die Daten in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden (<code>Structure=&quot;detached&quot;</code>). Wie zuvor sollen die Daten direkt &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest=&quot;false&quot;</code>).</p>
<p>Die URI in <code>DataObject/@Reference</code> enth&auml;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&ouml;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&ouml;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&uuml;ssen, als sp&auml;ter dann bei der Signaturpr&uuml;fung.</p>
<p>Der Mime-Type der zu signierenden Daten wird als <code>text/plain</code> angegeben.</p>
<pre>
- &lt;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;false&quot;&gt;
- &lt;DataObject Reference=&quot;&quot;/&gt;
- &lt;CreateTransformsInfoProfile&gt;
- &lt;CreateTransformsInfo&gt;
- &lt;dsig:Transforms&gt;
- &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#enveloped-signature&quot;/&gt;
- &lt;/dsig:Transforms&gt;
- &lt;FinalDataMetaInfo&gt;
- &lt;MimeType&gt;application/xml&lt;/MimeType&gt;
- &lt;/FinalDataMetaInfo&gt;
- &lt;/CreateTransformsInfo&gt;
- &lt;/CreateTransformsInfoProfile&gt;
- &lt;/DataObjectInfo&gt;
+ &lt;DataObjectInfo Structure=&quot;detached&quot; ChildOfManifest=&quot;false&quot;&gt;
+ &lt;DataObject Reference=&quot;&quot;/&gt;
+ &lt;CreateTransformsInfoProfile&gt;
+ &lt;CreateTransformsInfo&gt;
+ &lt;dsig:Transforms&gt;
+ &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#enveloped-signature&quot;/&gt;
+ &lt;/dsig:Transforms&gt;
+ &lt;FinalDataMetaInfo&gt;
+ &lt;MimeType&gt;application/xml&lt;/MimeType&gt;
+ &lt;/FinalDataMetaInfo&gt;
+ &lt;/CreateTransformsInfo&gt;
+ &lt;/CreateTransformsInfoProfile&gt;
+ &lt;/DataObjectInfo&gt;
</pre>
<p>Im letzten Fall schlie&szlig;lich sollen wiederum Daten in der <span class="term">Detached</span> Form in die Signatur aufgenommen werden (<code>Structure=&quot;detached&quot;</code>). Wie zuvor sollen die Daten direkt &uuml;ber eine <code>dsig:Reference</code> in <code>dsig:SignedInfo</code> aufgenommen werden (<code>ChildOfManifest=&quot;false&quot;</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>&quot;&quot;</code>) enth&auml;lt. Nachdem dadurch zwangsl&auml;ufig auch die Signatur in den zu signierenden Daten enthalten w&auml;re, wird die Signatur durch die Angabe einer Enveloped Signature Transform aus den zu signierenden Daten herausgenommen, bevor dar&uuml;ber der Hashwert berechnet wird (dsig:Transform).</p>
<p>Offen bleibt die Frage, wie MOA SS nun wei&szlig;, in welches (XML-)Dokument es die die Signatur integrieren soll. Siehe dazu die Erl&auml;uterungen zum n&auml;chsten Ausschnitts des Requests. </p>
<p>Der Mime-Type der zu signierenden Daten wird als <code>application/xml</code> angegeben.</p>
<pre>
- &lt;CreateSignatureInfo&gt;
- &lt;CreateSignatureEnvironment&gt;
- &lt;LocRefContent&gt;http://localhost:8080/referencedData/XMLDocument.xml&lt;/LocRefContent&gt;
- &lt;/CreateSignatureEnvironment&gt;
- &lt;CreateSignatureEnvironmentProfile&gt;
- &lt;CreateSignatureLocation Index=&quot;4&quot; xmlns:doc=&quot;urn:document&quot;&gt;/doc:XMLDocument&lt;/CreateSignatureLocation&gt;
- &lt;/CreateSignatureEnvironmentProfile&gt;
- &lt;/CreateSignatureInfo&gt;
+ &lt;CreateSignatureInfo&gt;
+ &lt;CreateSignatureEnvironment&gt;
+ &lt;LocRefContent&gt;http://localhost:8080/referencedData/XMLDocument.xml&lt;/LocRefContent&gt;
+ &lt;/CreateSignatureEnvironment&gt;
+ &lt;CreateSignatureEnvironmentProfile&gt;
+ &lt;CreateSignatureLocation Index=&quot;4&quot; xmlns:doc=&quot;urn:document&quot;&gt;/doc:XMLDocument&lt;/CreateSignatureLocation&gt;
+ &lt;/CreateSignatureEnvironmentProfile&gt;
+ &lt;/CreateSignatureInfo&gt;
</pre>
<p>Das Element <code>CreateSignatureInfo</code> ist grunds&auml;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&auml;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&ouml;sen, um das XML-Dokument zu erhalten. Alternativ k&ouml;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>
@@ -368,118 +367,118 @@ Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
<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&uuml;ckt und gek&uuml;rzt wurde.</p>
<pre>
-&lt;CreateXMLSignatureResponse
- xmlns=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot;
- xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;
- &lt;SignatureEnvironment&gt;
- &lt;doc:XMLDocument xmlns:doc=&quot;urn:document&quot;&gt;
- &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
- &lt;doc:Paragraph ParaId=&quot;Para2&quot;&gt;Und ich bin der zweite Absatz in diesem Dokument.
-Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;&lt;dsig:Signature Id=&quot;signature-1-1&quot;
- xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;
- &lt;dsig:SignedInfo&gt;
- &lt;dsig:CanonicalizationMethod Algorithm=&quot;http://www.w3.org/TR/2001/REC-xml-c14n-20010315&quot;/&gt;
- &lt;dsig:SignatureMethod Algorithm=&quot;http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1&quot;/&gt;
+ &lt;CreateXMLSignatureResponse
+ xmlns=&quot;http://reference.e-government.gv.at/namespace/moa/20020822#&quot;
+ xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;
+ &lt;SignatureEnvironment&gt;
+ &lt;doc:XMLDocument xmlns:doc=&quot;urn:document&quot;&gt;
+ &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
+ &lt;doc:Paragraph ParaId=&quot;Para2&quot;&gt;Und ich bin der zweite Absatz in diesem Dokument.
+ Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
+ &lt;dsig:Signature Id=&quot;signature-1-1&quot; xmlns:dsig=&quot;http://www.w3.org/2000/09/xmldsig#&quot;&gt;
+ &lt;dsig:SignedInfo&gt;
+ &lt;dsig:CanonicalizationMethod Algorithm=&quot;http://www.w3.org/TR/2001/REC-xml-c14n-20010315&quot;/&gt;
+ &lt;dsig:SignatureMethod Algorithm=&quot;http://www.w3.org/2001/04/xmldsig-more#ecdsa-sha1&quot;/&gt;
</pre>
<p>Die Antwort enth&auml;lt in <code>SignatureEnvironment</code> das Ergebnis der Signaturerstellung. Nachdem die Signatur in ein bestehendes XML-Dokument integriert werden sollte, enth&auml;lt <code>SignatureEnvironment</code> das Dokument-Element dieses XML-Dokuments (<code>doc:XMLDocument</code>). Man erkennt auch gut, dass die XML-Signatur als f&uuml;nfter Kindknoten (Offset <code>4</code>) von <code>doc:XMLDocument</code> eingef&uuml;gt wurde.</p>
<pre>
- &lt;dsig:Reference Id=&quot;reference-1-2&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-2-1&apos;)/node())&quot;&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;A8ml6/aZKCmj1hONwvLItIwGHoc=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-2&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-2-1&apos;)/node())&quot;&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;A8ml6/aZKCmj1hONwvLItIwGHoc=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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&auml;lt (der XPointer verweist auf s&auml;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>
- &lt;dsig:Reference Id=&quot;reference-1-3&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-3-1&apos;)/node())&quot;&gt;
- &lt;dsig:Transforms&gt;
- &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#base64&quot;/&gt;
- &lt;/dsig:Transforms&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-3&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-3-1&apos;)/node())&quot;&gt;
+ &lt;dsig:Transforms&gt;
+ &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#base64&quot;/&gt;
+ &lt;/dsig:Transforms&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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&ouml;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>
- &lt;dsig:Reference Id=&quot;reference-1-4&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-4-1&apos;)/node())&quot;&gt;
- &lt;dsig:Transforms&gt;
- &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#base64&quot;/&gt;
- &lt;/dsig:Transforms&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-4&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-4-1&apos;)/node())&quot;&gt;
+ &lt;dsig:Transforms&gt;
+ &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#base64&quot;/&gt;
+ &lt;/dsig:Transforms&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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&uuml;hrt, ist die erstellte<code> dsig:Reference</code> semantisch genau gleich wie die vorhergehende. </p>
<pre>
- &lt;dsig:Reference Id=&quot;reference-1-6&quot; URI=&quot;NichtAufloesbareReferenz1&quot;&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;2b83+NbXDFijHzz+sH0T7fM36sA=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-6&quot; URI=&quot;NichtAufloesbareReferenz1&quot;&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;2b83+NbXDFijHzz+sH0T7fM36sA=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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> &uuml;bernommen. </p>
<pre>
- &lt;dsig:Reference Id=&quot;reference-1-7&quot; URI=&quot;http://localhost:8080/referencedData/Text.txt&quot;&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-7&quot; URI=&quot;http://localhost:8080/referencedData/Text.txt&quot;&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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&ouml;st. Gleicherma&szlig;en wurde die URL in <code>dsig:Reference/@URI</code> &uuml;bernommen. </p>
<pre>
- &lt;dsig:Reference Id=&quot;reference-1-8&quot; URI=&quot;NichtAufloesbareReferenz2&quot;&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-8&quot; URI=&quot;NichtAufloesbareReferenz2&quot;&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;0P878Dsmtxv5goj+6KgNmj6S/EE=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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&ouml;st. In <code>dsig:Reference/@URI</code> wurde der Wert aus <code>DataObjectInfo/@Reference</code> &uuml;bernommen.</p>
<pre>
- &lt;dsig:Reference Id=&quot;reference-1-9&quot; URI=&quot;&quot;&gt;
- &lt;dsig:Transforms&gt;
- &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#enveloped-signature&quot;/&gt;
- &lt;/dsig:Transforms&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;2b83+NbXDFijHzz+sH0T7fM36sA=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-9&quot; URI=&quot;&quot;&gt;
+ &lt;dsig:Transforms&gt;
+ &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#enveloped-signature&quot;/&gt;
+ &lt;/dsig:Transforms&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;2b83+NbXDFijHzz+sH0T7fM36sA=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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&auml;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>
- &lt;dsig:Reference Type=&quot;http://www.w3.org/2000/09/xmldsig#Manifest&quot; URI=&quot;#dsig-manifest-1-1&quot;&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;mNsxUkFoF46XZVBivBo4aasFCTQ=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Type=&quot;http://www.w3.org/2000/09/xmldsig#Manifest&quot; URI=&quot;#dsig-manifest-1-1&quot;&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;mNsxUkFoF46XZVBivBo4aasFCTQ=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
</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>
- &lt;/dsig:SignedInfo&gt;
- &lt;dsig:SignatureValue&gt;...&lt;/dsig:SignatureValue&gt;
- &lt;dsig:KeyInfo&gt;...&lt;/dsig:KeyInfo&gt;
- &lt;dsig:Object Id=&quot;signed-data-1-2-1&quot;&gt;
- &lt;doc:XMLDocument xmlns:doc=&quot;urn:document&quot;&gt;
- &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
- &lt;doc:Paragraph ParaId=&quot;Para2&quot;&gt;Und ich bin der zweite Absatz in diesem Dokument.
-Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
- &lt;/doc:XMLDocument&gt;
- &lt;/dsig:Object&gt;
- &lt;dsig:Object Id=&quot;signed-data-1-3-1&quot;&gt;RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=&lt;/dsig:Object&gt;
- &lt;dsig:Object Id=&quot;signed-data-1-4-1&quot;&gt;RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=&lt;/dsig:Object&gt;
- &lt;dsig:Object Id=&quot;signed-data-1-1-1&quot;&gt;RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu&lt;/dsig:Object&gt;
+ &lt;/dsig:SignedInfo&gt;
+ &lt;dsig:SignatureValue&gt;...&lt;/dsig:SignatureValue&gt;
+ &lt;dsig:KeyInfo&gt;...&lt;/dsig:KeyInfo&gt;
+ &lt;dsig:Object Id=&quot;signed-data-1-2-1&quot;&gt;
+ &lt;doc:XMLDocument xmlns:doc=&quot;urn:document&quot;&gt;
+ &lt;doc:Paragraph&gt;Ich bin der erste Absatz in diesem Dokument.&lt;/doc:Paragraph&gt;
+ &lt;doc:Paragraph ParaId=&quot;Para2&quot;&gt;Und ich bin der zweite Absatz in diesem Dokument.
+ Ich habe weiters ein eigenens ID-Attribut bekommen.&lt;/doc:Paragraph&gt;
+ &lt;/doc:XMLDocument&gt;
+ &lt;/dsig:Object&gt;
+ &lt;dsig:Object Id=&quot;signed-data-1-3-1&quot;&gt;RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=&lt;/dsig:Object&gt;
+ &lt;dsig:Object Id=&quot;signed-data-1-4-1&quot;&gt;RGllc2UgRGF0ZW4gc2luZCByZWluZXIgVGV4dC4=&lt;/dsig:Object&gt;
+ &lt;dsig:Object Id=&quot;signed-data-1-1-1&quot;&gt;RGllc2UgRGF0ZW4gd2FyZW4gYmFzZTY0IGtvZGllcnQu&lt;/dsig:Object&gt;
</pre>
<p><code>SignatureValue</code> und <code>KeyInfo</code> werden an dieser Stelle nicht n&auml;her betrachtet.</p>
<p>Das erste <code>dsig:Object</code> enth&auml;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&szlig;lich jene aus dem ersten <code>DataObjectInfo</code>.</p>
<pre>
- &lt;dsig:Object&gt;
- &lt;dsig:Manifest Id=&quot;dsig-manifest-1-1&quot;&gt;
- &lt;dsig:Reference Id=&quot;reference-1-1&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-1-1&apos;)/node())&quot;&gt;
- &lt;dsig:Transforms&gt;
- &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#base64&quot;/&gt;
- &lt;/dsig:Transforms&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;a53jOsL7KbyltpByAK87FoMZphI=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
- &lt;dsig:Reference Id=&quot;reference-1-5&quot; URI=&quot;http://localhost:8080/referencedData/Text.b64&quot;&gt;
- &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
- &lt;dsig:DigestValue&gt;a53jOsL7KbyltpByAK87FoMZphI=&lt;/dsig:DigestValue&gt;
- &lt;/dsig:Reference&gt;
- &lt;/dsig:Manifest&gt;
- &lt;/dsig:Object&gt;
+ &lt;dsig:Object&gt;
+ &lt;dsig:Manifest Id=&quot;dsig-manifest-1-1&quot;&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-1&quot; URI=&quot;#xpointer(id(&apos;signed-data-1-1-1&apos;)/node())&quot;&gt;
+ &lt;dsig:Transforms&gt;
+ &lt;dsig:Transform Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#base64&quot;/&gt;
+ &lt;/dsig:Transforms&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;a53jOsL7KbyltpByAK87FoMZphI=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
+ &lt;dsig:Reference Id=&quot;reference-1-5&quot; URI=&quot;http://localhost:8080/referencedData/Text.b64&quot;&gt;
+ &lt;dsig:DigestMethod Algorithm=&quot;http://www.w3.org/2000/09/xmldsig#sha1&quot;/&gt;
+ &lt;dsig:DigestValue&gt;a53jOsL7KbyltpByAK87FoMZphI=&lt;/dsig:DigestValue&gt;
+ &lt;/dsig:Reference&gt;
+ &lt;/dsig:Manifest&gt;
+ &lt;/dsig:Object&gt;
</pre>
<p>Das f&uuml;nfte <code>dsig:Object</code> enth&auml;lt das <code>dsig:Manifest</code>, das von MOA SS auf Grund des ersten bzw. f&uuml;nften <code>DataObjectInfo</code> des Requests erstellt wurde. Darin enthalten sind die zum ersten und f&uuml;nten <code>DataObjectInfo</code> korrespondierenden <code>dsig:Reference</code> Elemente. Die Daten f&uuml;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&uuml;r die zweite <code>dsig:Reference</code> aus dem <code>Base64Content</code> Element des f&uuml;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&uuml;nften <code>DataObjectInfo</code> &uuml;bernommen. </p>
<h4><a name="webservice_xmlrequests_erstellungxml_transformationen" id="webservice_xmlrequests_erstellungxml_transformationen"></a>2.1.2.3 Transformationen</h4>