aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--spss.slinterface/handbook/constraints.txt6
-rw-r--r--spss.slinterface/handbook/operation/images/testapp.screen1.pngbin0 -> 38150 bytes
-rw-r--r--spss.slinterface/handbook/operation/images/testapp.screen2.pngbin0 -> 44749 bytes
-rw-r--r--spss.slinterface/handbook/operation/images/testapp.screen3.pngbin0 -> 16625 bytes
-rw-r--r--spss.slinterface/handbook/operation/images/testapp.screen4.pngbin0 -> 40110 bytes
-rw-r--r--spss.slinterface/handbook/operation/operation.html1746
-rw-r--r--spss.slinterface/handbook/system/images/Zusammenspiel.VSDbin0 -> 138240 bytes
-rw-r--r--spss.slinterface/handbook/system/images/Zusammenspiel.mit.pngbin0 -> 48649 bytes
-rw-r--r--spss.slinterface/handbook/system/images/Zusammenspiel.ohne.pngbin0 -> 36106 bytes
-rw-r--r--spss.slinterface/handbook/system/system.html960
10 files changed, 1823 insertions, 889 deletions
diff --git a/spss.slinterface/handbook/constraints.txt b/spss.slinterface/handbook/constraints.txt
new file mode 100644
index 000000000..f21d385c8
--- /dev/null
+++ b/spss.slinterface/handbook/constraints.txt
@@ -0,0 +1,6 @@
+- Prüfung eines ggf. vorhandenen SL-Manifests wird nicht durchgeführt.
+ In der Antwort wird der Code 98 zurückgeliefert.
+
+- Prüfung von dsig-Manifesten escheint nicht in der Auswertungsseite.
+
+- Bei signiertem XHTML-Dokument wird list-style-image-URL nicht geprüft. \ No newline at end of file
diff --git a/spss.slinterface/handbook/operation/images/testapp.screen1.png b/spss.slinterface/handbook/operation/images/testapp.screen1.png
new file mode 100644
index 000000000..38a226d09
--- /dev/null
+++ b/spss.slinterface/handbook/operation/images/testapp.screen1.png
Binary files differ
diff --git a/spss.slinterface/handbook/operation/images/testapp.screen2.png b/spss.slinterface/handbook/operation/images/testapp.screen2.png
new file mode 100644
index 000000000..45230d5c9
--- /dev/null
+++ b/spss.slinterface/handbook/operation/images/testapp.screen2.png
Binary files differ
diff --git a/spss.slinterface/handbook/operation/images/testapp.screen3.png b/spss.slinterface/handbook/operation/images/testapp.screen3.png
new file mode 100644
index 000000000..7d5db9cad
--- /dev/null
+++ b/spss.slinterface/handbook/operation/images/testapp.screen3.png
Binary files differ
diff --git a/spss.slinterface/handbook/operation/images/testapp.screen4.png b/spss.slinterface/handbook/operation/images/testapp.screen4.png
new file mode 100644
index 000000000..9fe7ee264
--- /dev/null
+++ b/spss.slinterface/handbook/operation/images/testapp.screen4.png
Binary files differ
diff --git a/spss.slinterface/handbook/operation/operation.html b/spss.slinterface/handbook/operation/operation.html
index fbdda0b9e..05287b293 100644
--- a/spss.slinterface/handbook/operation/operation.html
+++ b/spss.slinterface/handbook/operation/operation.html
@@ -1,449 +1,1351 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
+
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>MOA SL - Betriebshandbuch</title>
+
+
<link rel="stylesheet" href="../common/MOA.css" type="text/css">
+
</head>
-<body bgcolor="white" text="#000000" link="#990000" vlink="#666666" alink="#cc9966">
- <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
- <tr>
- <td align="center" class="logoTitle" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
- <td align="center" class="logoTitle">Open Source<br>
- f&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>
- </tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA: Serverseitige Signaturpr&uuml;fung (SL), V 1.0</a></p>
- <p class="subtitle">Betriebshandbuch</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
- <li>
- <p><a href="#&#220;bersicht">&Uuml;bersicht</a></p>
- </li>
- <li>Installation
- <ol>
- <li>Einf&uuml;hrung</li>
- </ol>
- </li>
- <li>Konfiguration</li>
- <li>
- <p><a href="#webservice">Webservice</a></p>
- <ol>
- <li><a href="#webservice_basisinstallation">Basisinstallation</a>
- <ol>
- <li><a href="#webservice_basisinstallation_einf&#252;hrung">Einf&uuml;hrung</a></li>
- <li><a href="#webservice_basisinstallation_installation">Installation</a>
- <ol>
- <li><a href="#webservice_basisinstallation_installation_vorbereitung">Vorbereitung</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig">Konfiguration von Apache Tomcat</a>
- <ol>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpconn">Konfiguration des HTTP Connectors</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpsconn">Konfiguration des HTTPS Connectors</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_moaadmin">Einrichten des MOA SP/SS Administrators</a></li>
- </ol>
- </li>
- <li><a href="#webservice_basisinstallation_installation_spssdeploy">Einsatz des MOA SP/SS Webservices in Tomcat</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpsconn">Starten und Stoppen von Tomcat</a>
- <ol>
- <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_windows">Unter Windows</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_unix">Unter Unix</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">Pr&uuml;fen des erfolgreichen Starts</a> </li>
- </ol>
- </li>
- <li><a href="#webservice_basisinstallation_installation_changeonthefly">&Auml;nderung der Konfiguration im laufenden Betrieb</a></li>
- </ol>
- </li>
- <li><a href="#webservice_basisinstallation_logging">Logging</a>
- <ol>
- <li><a href="#webservice_basisinstallation_logging_format">Format der Log-Meldungen</a></li>
- <li><a href="#webservice_basisinstallation_logging_messages">Wichtige Log-Meldungen</a></li>
- </ol>
- </li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten">Erweiterungsm&ouml;glichkeiten</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver">Vorgeschalteter Webserver</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis">Microsoft Internet Information Server (MS IIS)</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_jk">Konfiguration von <span class="term">Jakarta mod_jk</span> im MS IIS</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_tomcat">Konfiguration von Tomcat</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_ssl">Konfiguration von SSL</a></li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache">Apache</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache_jk">Konfiguration von <span class="term">Jakarta mod_jk</span> im Apache </a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache_tomcat">Konfiguration von Tomcat</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache_ssl">Konfiguration von SSL mit <span class="term">mod_SSL</span></a></li>
- </ol>
- </li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank">Datenbank</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql">PostgreSQL</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_benutzer">Anlegen eines Benutzers und einer Datenbank f&uuml;r MOA SP/SS</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_crls">Archivierung von CRLs</a> </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_logging">Logging</a></li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_andere">Andere Datenbanken</a> </li>
- </ol>
- </li>
- </ol>
- </li>
- </ol>
- <li><a href="#klassenbibliothek">Klassenbibliothek</a>
- <ol>
- <li><a href="#klassenbibliothek_basisinstallation">Basisinstallation</a>
- <ol>
- <li><a href="#klassenbibliothek_basisinstallation_einfuehrung">Einf&uuml;hrung</a></li>
- <li><a href="#klassenbibliothek_basisinstallation_vorbereitung">Vorbereitung</a></li>
- <li><a href="#klassenbibliothek_basisinstallation_verwendung">Verwendung</a></li>
- <li><a href="#klassenbibliothek_basisinstallation_logging">Logging</a></li>
- </ol>
- </li>
- <li><a href="#klassenbibliothek_erweiterungsm&#246;glichkeiten">Erweiterungsm&ouml;glichkeiten</a></li>
- </ol>
- </li>
- </ol>
- <ol type="A">
- <li><a href="#referenzierte_software">Referenzierte Software</a></li>
- </ol>
- <hr/>
- <h1><a name="übersicht" id="übersicht"></a>1 &Uuml;bersicht</h1>
- <p> Das Modul Serverseitige Signaturpr&uuml;fung (SL) ist als plattformunabh&auml;ngiges Modul ausgelegt, das als Webservice &uuml;ber HTTP bzw. HTTPS angesprochen werden kann. </p>
- <p>Dieses Handbuch beschreibt einerseits die Installation des Moduls, andererseits werden die Konfigurationsm&ouml;glichkeiten dargestellt. F&uuml;r eine funktionale Beschreibung des Moduls siehe <a href="../system/system.html">Systemhandbuch</a>. </p>
- <h1><a name="installation" id="installation"></a>2 Installation</h1>
- <h2><a name="installation_einf&uuml;hrung" id="installation_einf&uuml;hrung"></a>2.1 Einf&uuml;hrung </h2>
- <p>Das MOA SL Webservice wurde plattformunabh&auml;nig konzipiert und in Java entwickelt. Es ben&ouml;tigt als Ablaufumgebung eine Java 2 Standard Edition (J2SE SDK, Version <a href="http://java.sun.com/j2se/1.4.2/">1.4.2</a> oder <a href="http://java.sun.com/j2se/1.5.0/">5.0</a>) sowie einen Java Servlet Container, der die <span class="comment">Java Servlet Specification</span> in der Version <span class="comment">x.y</span> erf&uuml;llt.</p>
- <p>In diesem Betriebshandbuch wird davon ausgegangen, dass MOA SL <a href="http://jakarta.apache.org/tomcat/index.html">Apache Tomcat</a> (Version 4.1 oder h&ouml;her) als Servlet Container verwendet. Die Verwendung eines anderen Servlet Containers ist grunds&auml;tzlich m&ouml;glich, wurde aber nicht getestet und ist auch nicht Gegenstand dieses Betriebshandbuchs. </p>
- <p>Weiters wird davon ausgegangen, dass Apache Tomcat gleichzeitig als HTTP- bzw. HTTPS-Endpunkt f&uuml;r das MOA SL Webservice dient, d.h. beide Protokolle werden direkt in Tomcat konfiguriert. Die Verwendung eines vor Apache Tomcat geschalteten Webservers ist grunds&auml;tzlich m&ouml;glich. So werden etwa als Teil des Apache Tomcat Projekts <span class="comment">Module</span> zur Verbindung mit einem vorgeschalteten Microsoft Internet Information Server oder mit einem vorgeschalteten Apache Webserver angeboten. Die Beschreibung der m&ouml;glichen Vorschaltungen ist jedoch nicht Teil dieses Betriebshandbuchs. </p>
- <p>Das MOA SL Webservice nimmt Signaturpr&uuml;fungsrequests f&uuml;r XML-Signaturen entsprechend der Spezifikation des Security-Layers zur &ouml;sterreichischen B&uuml;rgerkarte in den Versionen 1.1 und 1.2 entgegen. F&uuml;r die Durchf&uuml;hrung der Signaturpr&uuml;fung bedient sich MOA SL des Moduls MOA Signaturpr&uuml;fung (SP). F&uuml;r den Betrieb von MOA SL ist daher die Verf&uuml;gbarkeit einer Webservice-Installation von MOA SP in der Version 1.2 oder h&ouml;her Voraussetzung. </p>
- <p>Als Logging Toolkit verwendet das MOA SL Webservice <a href="http://logging.apache.org/log4j/">Apache Log4j</a>. </p>
- <h2><a name="installation_vorbereitung" id="installation_vorbereitung"></a>2.2 Vorbereitung</h2>
- <p>Die folgenden Schritte dienen der Vorbereitung der Installation.</p>
- <dl>
+
+
+<body style="color: rgb(0, 0, 0); background-color: white;" alink="#cc9966" link="#990000" vlink="#666666">
+
+<table class="logoTable" border="0" cellpadding="10" cellspacing="0" width="100%">
+
+ <tbody>
+
+ <tr>
+
+ <td class="logoTitle" align="center" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" align="left" height="37" width="267"></td>
+
+ <td class="logoTitle" align="center">Open
+Source<br>
+
+f&uuml;r das E-Government</td>
+
+ <td class="logoTitle" align="center" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" align="right" height="138" width="123"></td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<hr>
+<p class="title"><a href="../index.html">MOA:
+Serverseitige Signaturpr&uuml;fung (SL), V 1.1</a></p>
+
+<p class="subtitle">Betriebshandbuch</p>
+
+<hr>
+<h1>Inhalt</h1>
+
+<ol>
+
+ <li>
+ <p><a href="#%FCbersicht">&Uuml;bersicht</a></p>
+
+ </li>
+
+ <li><a href="#installation">Installation</a>
+ <ol>
+
+ <li><a href="#installation_einf%FChrung">Einf&uuml;hrung</a></li>
+
+ <li><a href="#installation_vorbereitung">Vorbereitung</a></li>
+
+ <li><a href="#installation_tomcatconfig">Konfiguration
+von Apache Tomcat</a>
+ <ol>
+
+ <li><a href="#installation_tomcatconfig_httpconn">Konfiguration
+des HTTP Connectors</a></li>
+
+ <li><a href="#installation_tomcatconfig_httpsconn">Konfiguration
+des HTTPS Connectors</a></li>
+
+ </ol>
+
+ </li>
+
+ <li><a href="#installation_deploy">Einsatz des
+MOA SL Webservices in Tomcat</a></li>
+
+ <li><a href="#installation_tomcatstartstop">Starten
+und Stoppen von Tomcat</a>
+ <ol>
+
+ <li><a href="#installation_tomcatstartstop_windows">Unter
+Windows</a></li>
+
+ <li><a href="#installation_tomcatstartstop_unix">Unter
+Unix</a></li>
+
+ <li><a href="#installation_tomcatstartstop_logging">Logging</a>
+ <ol>
+
+ <li><a href="#webservice_basisinstallation_logging_format">Format
+der Log-Meldungen</a> </li>
+
+ </ol>
+
+ </li>
+
+ <li><a href="#installation_tomcatstartstop_verify">Pr&uuml;fen
+des erfolgreichen Starts</a></li>
+
+ </ol>
+
+ </li>
+
+ </ol>
+
+ </li>
+
+ <li><a href="#konfiguration">Konfiguration</a>
+ <ol>
+
+ <li><a href="#konfiguration_konfigurationsdatei">Zentrale
+Konfigurationsdatei</a>
+ <ol>
+
+ <li><a href="#konfiguration_konfigurationsdatei_schemata">XML-Schemata
+f&uuml;r Request- und Response-Validierung</a></li>
+
+ <li><a href="#konfiguration_konfigurationsdatei_arbeitsverzeichnis">Arbeitsverzeichnis</a></li>
+
+ <li><a href="#konfiguration_konfigurationsdatei_moasp">Parameter
+der verwendeten MOA SP Installation</a></li>
+
+ <li><a href="#konfiguration_konfigurationsdatei_umfang">Umfang der
+Pr&uuml;fberichtseite</a></li>
+
+ <li><a href="#konfiguration_konfigurationsdatei_umschreiben">Parameter
+f&uuml;r das Umschreiben der Links in der Pr&uuml;fberichtseite</a></li>
+
+ </ol>
+
+ </li>
+
+ <li><a href="#konfiguration_layout">Layout des
+Pr&uuml;fberichts</a> </li>
+
+ </ol>
+
+ </li>
+
+ <li><a href="#testapp">Durchlaufen der
+Testapplikation</a> </li>
+
+</ol>
+
+<hr>
+<h1><a name="&uuml;bersicht" id="&uuml;bersicht"></a>1
+&Uuml;bersicht</h1>
+
+<p> Das Modul<span class="term"> Serverseitige
+Signaturpr&uuml;fung</span> (MOA SL) ist als
+plattformunabh&auml;ngiges Modul ausgelegt, das als Webservice
+&uuml;ber HTTP bzw. HTTPS angesprochen werden kann. </p>
+
+<p>Dieses Handbuch beschreibt einerseits die Installation des
+Moduls, andererseits werden die Konfigurationsm&ouml;glichkeiten
+dargestellt. F&uuml;r eine funktionale Beschreibung des Moduls
+siehe <a href="../system/system.html">Systemhandbuch</a>.
+</p>
+
+<h1><a name="installation" id="installation"></a>2
+Installation</h1>
+
+<h2><a name="installation_einf&uuml;hrung" id="installation_einf&uuml;hrung"></a>2.1
+Einf&uuml;hrung </h2>
+
+<p>Das MOA SL Webservice wurde plattformunabh&auml;nig
+konzipiert und in Java entwickelt. Es ben&ouml;tigt als
+Ablaufumgebung eine Java 2 Standard Edition (J2SE SDK, Version <a href="http://java.sun.com/j2se/1.4.2/">1.4.2</a> oder <a href="http://java.sun.com/j2se/1.5.0/">5.0</a>) sowie
+einen Java Servlet Container, der die <a href="http://java.sun.com/products/servlet/reference/api/index.html">Java
+Servlet Specification</a> in der Version 2.3 erf&uuml;llt.</p>
+
+<p>In diesem Betriebshandbuch wird davon ausgegangen, dass MOA SL
+<a href="http://jakarta.apache.org/tomcat/index.html">Apache
+Tomcat</a> (Version 4.1 oder h&ouml;her) als Servlet
+Container verwendet. Die Verwendung eines anderen Servlet Containers
+ist grunds&auml;tzlich m&ouml;glich, wurde aber nicht getestet
+und ist auch nicht Gegenstand dieses Betriebshandbuchs. </p>
+
+<p>Weiters wird davon ausgegangen, dass Apache Tomcat
+gleichzeitig als HTTP- bzw. HTTPS-Endpunkt f&uuml;r das MOA SL
+Webservice dient, d.h. beide Protokolle werden direkt in Tomcat
+konfiguriert. Die Verwendung eines vor Apache Tomcat geschalteten
+Webservers ist grunds&auml;tzlich m&ouml;glich. So werden etwa
+als Teil des Apache Tomcat Projekts <a href="http://tomcat.apache.org/connectors-doc/">Module</a>
+zur Verbindung mit einem vorgeschalteten Microsoft Internet Information
+Server oder mit einem vorgeschalteten Apache Webserver angeboten. Die
+Beschreibung der m&ouml;glichen Vorschaltungen ist jedoch nicht
+Teil dieses Betriebshandbuchs. </p>
+
+<p>Das MOA SL Webservice nimmt Signaturpr&uuml;fungsrequests
+f&uuml;r XML-Signaturen entsprechend der Spezifikation des
+Security-Layers zur &ouml;sterreichischen B&uuml;rgerkarte in
+den Versionen 1.1 und 1.2 entgegen. F&uuml;r die
+Durchf&uuml;hrung der Signaturpr&uuml;fung bedient sich MOA SL
+des Moduls MOA Signaturpr&uuml;fung (SP). F&uuml;r den Betrieb
+von MOA SL ist daher die Verf&uuml;gbarkeit einer
+Webservice-Installation von MOA SP in der Version 1.2 oder
+h&ouml;her Voraussetzung. </p>
+
+<p>Als Logging Toolkit verwendet das MOA SL Webservice <a href="http://logging.apache.org/log4j/">Apache Log4j</a>.
+</p>
+
+<h2><a name="installation_vorbereitung" id="installation_vorbereitung"></a>2.2 Vorbereitung</h2>
+
+<p>Die folgenden Schritte dienen der Vorbereitung der
+Installation.</p>
+
+<dl>
+
<dt>Installation von J2SE SDK</dt>
- <dd>Installieren Sie <a href="http://java.sun.com/j2se/1.4.2/">J2SE 1.4.2 SDK</a> oder <a href="http://java.sun.com/j2se/1.5.0/">J2SE 5.0 SDK</a> in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> bezeichnet. </dd>
+
+ <dd>Installieren Sie <a href="http://java.sun.com/j2se/1.4.2/">J2SE 1.4.2 SDK</a>
+oder <a href="http://java.sun.com/j2se/1.5.0/">J2SE 5.0
+SDK</a> in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der
+J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code>
+bezeichnet. </dd>
+
<dt>Installation von Apache Tomcat</dt>
- <dd> Installieren Sie <a href="http://jakarta.apache.org/tomcat/index.html">Apache Tomcat</a> 4.1.31 oder h&ouml;her in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enth&auml;lt. Verwenden Sie bitte die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als <code>$CATALINA_HOME</code> bezeichnet.</dd>
+
+ <dd> Installieren Sie <a href="http://jakarta.apache.org/tomcat/index.html">Apache
+Tomcat</a> 4.1.31 oder h&ouml;her in ein Verzeichnis, das
+keine Leerzeichen im Pfadnamen enth&auml;lt. Verwenden Sie bitte
+die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das
+Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als <code>$CATALINA_HOME</code>
+bezeichnet.</dd>
+
<dt>Installation von MOA SP </dt>
- <dd>Installieren Sie das <span class="comment">Kombinationsmodul MOA SPSS</span> Version 1.2 oder h&ouml;her entsprechend seiner Installationsanleitung. Sie ben&ouml;tigen die Webservice-Schnittstelle von MOA SP. Es ist ausreichend, mittels entsprechender Konfigurationseinstellungen ausschlie&szlig;lich MOA SP zu aktivieren; MOA SS kann deaktiviert bleiben. Wenn Sie sowohl f&uuml;r MOA SPSS als auch f&uuml;r MOA SL Apache Tomcat als Servlet Container verwenden m&ouml;chten, empfehlen wir, MOA SPSS und MOA SL in jeweils eigenst&auml;ndigen Instanzen von Apache Tomcat zu betreiben. </dd>
+
+ <dd>Installieren Sie das <a href="http://www.cio.gv.at/onlineservices/basicmodules/moa-spss/">Kombinationsmodul
+MOA SPSS</a> Version 1.3 oder h&ouml;her entsprechend seiner
+Installationsanleitung. Sie ben&ouml;tigen die
+Webservice-Schnittstelle von MOA SP. Es ist ausreichend, mittels
+entsprechender Konfigurationseinstellungen ausschlie&szlig;lich MOA
+SP zu aktivieren; MOA SS kann deaktiviert bleiben. Wenn Sie sowohl
+f&uuml;r MOA SPSS als auch f&uuml;r MOA SL Apache Tomcat als
+Servlet Container verwenden m&ouml;chten, empfehlen wir, MOA SPSS
+und MOA SL in jeweils eigenst&auml;ndigen Instanzen von Apache
+Tomcat zu betreiben. </dd>
+
<dt>Entpacken der MOA SL Distribution</dt>
- <dd> Entpacken Sie die Datei <code>moa-sl-1.0.x.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SL_INST</code> bezeichnet. </dd>
+
+ <dd> Entpacken Sie die Datei <code>moa-sl-1.1.x.zip</code>
+in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren
+Verlauf als <code>$MOA_SL_INST</code> bezeichnet. </dd>
+
</dl>
- <h2><a name="installation_tomcatconfig" id="installation_tomcatconfig"></a>2.3 Konfiguration von Apache Tomcat</h2>
- <p> Die zentrale Konfigurations-Datei von Tomcat ist <code>$CATALINA_HOME/conf/server.xml</code>. Tomcat wird grunds&auml;tzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enth&auml;lt und viele Ports offen l&auml;sst. </p>
- <h3><a name="installation_tomcatconfig_httpconn" id="installation_tomcatconfig_httpconn"></a>2.3.1 Konfiguration des HTTP Connectors</h3>
- <p> Die Datei <code>$MOA_SL_INST/conf/tomcat/server.xml</code> enth&auml;lt eine minimale Tomcat-Konfiguration, die ausschlie&szlig;lich den Connector f&uuml;r HTTP auf Port 8080 freischaltet. Durch kopieren dieser Datei nach <code>$CATALINA_HOME/conf/server.xml</code> kann Tomcat mit dieser Konfiguration gestartet werden. Wir empfehlen diese Konfiguration nur f&uuml;r F&auml;lle, in denen das MOA SL Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird. </p>
- <h3><a name="installation_tomcatconfig_httpsconn" id="installation_tomcatconfig_httpsconn"></a>2.3.2 Konfiguration des HTTPS Connectors</h3>
- <p>Wird das MOA SL Webservice in einer nicht abgeschlossenen Umgebung (z.B. Erreichbarkeit &uuml;ber das Internet) betrieben, ist es f&uuml;r den Benutzer von MOA SL essentiell, die Identit&auml;t des Webservice eindeutig feststellen zu k&ouml;nnen, denn er vertraut dem Webservice ja die Pr&uuml;fung einer elektronischen Signatur an. Diese Identit&auml;tspr&uuml;fung kann mit hoher Qualit&auml;t vorgenommen werden, wenn die Erreichbarkeit des Webservice auf HTTPS mit Serverauthentisierung eingeschr&auml;nkt wird. </p>
- <p>F&uuml;r die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zun&auml;chst ist der HTTP Connector abzuschalten (auszukommentieren). Anschlie&szlig;end ist der HTTPS Connector zu konfigurieren. Das Dokument <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html">Tomcat SSL Configuration HOW-TO </a> gibt einen guten &Uuml;berblick dazu. Grob zusammengefasst sind folgende Schritte durchzuf&uuml;hren: </p>
- <ul>
- <li>Erstellung eines <span class="term">Server-Keystores</span>, der den privaten Schl&uuml;ssel sowie das zugeh&ouml;rige Zertifikat des Webservices enth&auml;lt, mit dem es sich bei Aufbau einer SSL-Verbindung gegen&uuml;ber dem Kunden ausweist. Sie k&ouml;nnen diesen Keystore z.B. mit <code>keytool</code> erstellen, einem Programm, das Ihrem J2SE SDK beiliegt.</li>
- <li>Erstellung eines <span class="term">Client-Keystores</span>, der die Zertifikate aller Kunden des Webservices enth&auml;lt. Nur Kunden des MOA SL Webservices, die sich beim Aufbau einer SSL-Verbindung gegen&uuml;ber dem Webservice mit einem im <span class="term">Client-Keystore</span> enthaltenen Zertifikat ausweisen, erhalten Zugriff zu den Diensten des MOA SL Webservices. Auch dieser Keystore kann z.B. mit <code>keytool</code> erstellt werden. Dieser Keystore ist optional und braucht nur erstellt zu werden, wenn sich die Kunden gegen&uuml;ber dem MOA SL Webservice authentisieren m&uuml;ssen. </li>
- <li>Konfiguration des HTTPS Connectors in <code>$CATALINA_HOME/conf/server.xml</code>.</li>
- </ul>
- <p>Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden &uuml;bernimmt (siehe <a href="#installation_einführung">Abschnitt 2.1</a>).</p>
- <h2><a name="webservice_basisinstallation_installation_spssdeploy" id="webservice_basisinstallation_installation_spssdeploy"></a>2.4 Einsatz des MOA SL Webservices in Tomcat</h2>
- <p> Um das MOA SL Webservice in Tomcat f&uuml;r den Einsatz vorzubereiten, sind folgende Schritte notwendig:</p>
- <ul>
- <li>Die Datei <code>$MOA_SL_INST/moa-sl.war</code> enth&auml;lt das einsatzfertige MOA SL Webarchiv und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/moa-sl</code> entpackt. </li>
- <li>Die zentrale Konfigurationsdatei f&uuml;r MOA SL muss in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-sl</code>). Eine funktionsf&auml;hige Konfiguration, die als Ausgangspunkt f&uuml;r die Konfiguration des MOA SL Webservices dienen kann, finden Sie <a href="../conf/moa-sl/moa-sl.properties">hier</a>. </li>
- <li>Die Dateien <code>xalan.jar</code>, <code>xercesImpl.jar</code> und <code>xmlParserAPIs.jar</code> aus dem Verzeichnis <code>$MOA_SL_INST/endorsed14</code> m&uuml;ssen in das Tomcat-Verzeichnis <code>$CATALINA_HOME/common/endorsed</code> kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden, m&uuml;ssen sie &uuml;berschrieben werden. Die ggf. in diesem Verzeichnis vorhandene Datei <code>xml-apis.jar</code> muss gel&ouml;scht werden.</li>
- <li>Folgende <span class="term">System Properties</span> m&uuml;ssen bzw. k&ouml;nnen gesetzt werden (werden beim Starten von Tomcat der <span class="term">Java Virtual Machine</span> in der Umgebungsvariablen <code>CATALINA_OPTS</code> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> &uuml;bergeben):
- <ul>
- <li id="klein"><code>at.gv.egovernment.moa.spss.slinterface.PropertiesLocation</code>: Pfad und Name der zentralen Konfigurationsdatei f&uuml;r MOA SL. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../conf/moa-sl/moa-sl.properties">hier</a>. Wird ein relativer Pfad angegeben, wird zuerst versucht, diesen relativ zum Wurzelverzeichnis der Webapplikation (also <code>$CATALINA_HOME/webapps/moa-sl</code>) zu interpretieren. Klappt das nicht, wird dann versucht, den relativen Pfad relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> zu interpretieren. Diese <span class="term">System Property</span> muss jedenfalls gesetzt werden.</li>
- <li id="klein"><code>log4j.configuration</code>: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie <a href="../conf/log4j/log4j.properties">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. <span class="comment">Ist diese System Property nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen.</span></li>
- <li id="klein"><code>javax.net.ssl.trustStore</code>: Pfad und Dateiname des <span class="term">Truststores</span> f&uuml;r vertrauensw&uuml;rdige SSL Client-Zertifikate (optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL Client-Authentisierung durchgef&uuml;hrt werden soll). Ein relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li>
- <li id="klein"><code>javax.net.ssl.trustStorePassword</code>: Passwort f&uuml;r den <span class="term">Truststore</span> (optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL Client-Authentisierung durchgef&uuml;hrt werden soll). </li>
- <li id="klein"><code>javax.net.ssl.trustStoreType</code>: Truststore-Typ (optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL Client-Authentisierung durchgef&uuml;hrt werden soll). Je nach verwendetem Keystore-Typ muss <code>jks</code> (<span class="term">Java Key Store</span>) oder <code>pkcs12</code> (PKCS#12-Datei) angegeben werden.</li>
- </ul>
+
+<h2><a name="installation_tomcatconfig" id="installation_tomcatconfig"></a>2.3 Konfiguration
+von Apache Tomcat</h2>
+
+<p> Die zentrale Konfigurations-Datei von Tomcat ist <code>$CATALINA_HOME/conf/server.xml</code>.
+Tomcat wird grunds&auml;tzlich mit einer funktionierenden
+Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast
+enth&auml;lt und viele Ports offen l&auml;sst. </p>
+
+<h3><a name="installation_tomcatconfig_httpconn" id="installation_tomcatconfig_httpconn"></a>2.3.1
+Konfiguration des HTTP Connectors</h3>
+
+<p> Die Datei <code>$MOA_SL_INST/conf/tomcat/server.xml</code>
+enth&auml;lt eine minimale Tomcat-Konfiguration, die
+ausschlie&szlig;lich den Connector f&uuml;r HTTP auf Port 8080
+freischaltet. Durch kopieren dieser Datei nach <code>$CATALINA_HOME/conf/server.xml</code>
+kann Tomcat mit dieser Konfiguration gestartet werden. Wir empfehlen
+diese Konfiguration nur f&uuml;r F&auml;lle, in denen das MOA
+SL Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird.
+</p>
+
+<h3><a name="installation_tomcatconfig_httpsconn" id="installation_tomcatconfig_httpsconn"></a>2.3.2
+Konfiguration des HTTPS Connectors</h3>
+
+<p>Wird das MOA SL Webservice in einer nicht abgeschlossenen
+Umgebung (z.B. Erreichbarkeit &uuml;ber das Internet) betrieben,
+ist es f&uuml;r den Benutzer von MOA SL essentiell, die
+Identit&auml;t des Webservice eindeutig feststellen zu
+k&ouml;nnen, denn er vertraut dem Webservice ja die
+Pr&uuml;fung einer elektronischen Signatur an. Diese
+Identit&auml;tspr&uuml;fung kann mit hoher Qualit&auml;t
+vorgenommen werden, wenn die Erreichbarkeit des Webservice auf HTTPS
+mit Serverauthentisierung eingeschr&auml;nkt wird. </p>
+
+<p>F&uuml;r die dazu notwendige Konfiguration kann die im
+vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als
+Ausgangspunkt verwendet werden: Zun&auml;chst ist der HTTP
+Connector abzuschalten (auszukommentieren). Anschlie&szlig;end ist
+der HTTPS Connector zu konfigurieren. Das Dokument <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html">Tomcat
+SSL Configuration HOW-TO </a> gibt einen guten
+&Uuml;berblick dazu. Grob zusammengefasst sind folgende Schritte
+durchzuf&uuml;hren: </p>
+
+<ul>
+
+ <li>Erstellung eines <span class="term">Server-Keystores</span>,
+der den privaten Schl&uuml;ssel sowie das zugeh&ouml;rige
+Zertifikat des Webservices enth&auml;lt, mit dem es sich bei Aufbau
+einer SSL-Verbindung gegen&uuml;ber dem Kunden ausweist. Sie
+k&ouml;nnen diesen Keystore z.B. mit <code>keytool</code>
+erstellen, einem Programm, das Ihrem J2SE SDK beiliegt.</li>
+
+ <li>Erstellung eines <span class="term">Client-Keystores</span>,
+der die Zertifikate aller Kunden des Webservices enth&auml;lt. Nur
+Kunden des MOA SL Webservices, die sich beim Aufbau einer
+SSL-Verbindung gegen&uuml;ber dem Webservice mit einem im <span class="term">Client-Keystore</span> enthaltenen
+Zertifikat ausweisen, erhalten Zugriff zu den Diensten des MOA SL
+Webservices. Auch dieser Keystore kann z.B. mit <code>keytool</code>
+erstellt werden. Dieser Keystore ist optional und braucht nur erstellt
+zu werden, wenn sich die Kunden gegen&uuml;ber dem MOA SL
+Webservice authentisieren m&uuml;ssen. </li>
+
+ <li>Konfiguration des HTTPS Connectors in <code>$CATALINA_HOME/conf/server.xml</code>.</li>
+
+</ul>
+
+<p>Die Konfiguration des HTTPS Connectors kann entfallen, wenn
+Tomcat ein Webserver vorgeschaltet ist, und dieser die
+SSL-Kommunikation mit dem Kunden &uuml;bernimmt (siehe <a href="#installation_einf%FChrung">Abschnitt 2.1</a>).</p>
+
+<h2><a name="installation_deploy" id="installation_deploy"></a>2.4 Einsatz des MOA SL
+Webservices in Tomcat</h2>
+
+<p> Um das MOA SL Webservice in Tomcat f&uuml;r den Einsatz
+vorzubereiten, sind folgende Schritte notwendig:</p>
+
+<ul>
+
+ <li>Die Datei <code>$MOA_SL_INST/moa-sl.war</code>
+enth&auml;lt das einsatzfertige MOA SL Webarchiv und muss ins
+Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert
+werden. Dort wird sie beim ersten Start von Tomcat automatisch ins
+Verzeichnis <code>$CATALINA_HOME/webapps/moa-sl</code>
+entpackt. </li>
+
+ <li>Die zentrale Konfigurationsdatei f&uuml;r MOA SL muss
+in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-sl/</code>).
+Eine funktionsf&auml;hige Konfiguration, die als Ausgangspunkt
+f&uuml;r die Konfiguration des MOA SL Webservices dienen kann,
+finden Sie unter <code>$MOA_SL_INST/conf/moa-sl/moa-sl.properties</code>.
+ </li>
+
+ <li>Die Dateien <code>xalan.jar</code>, <code>xercesImpl.jar</code>
+und <code>xmlParserAPIs.jar</code> aus dem Verzeichnis <code>$MOA_SL_INST/endorsed14</code>
+m&uuml;ssen in das Tomcat-Verzeichnis <code>$CATALINA_HOME/common/endorsed</code>
+kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden,
+m&uuml;ssen sie &uuml;berschrieben werden. Die ggf. in diesem
+Verzeichnis vorhandene Datei <code>xml-apis.jar</code>
+muss gel&ouml;scht werden.</li>
+
+ <li>Folgende <span class="term">System Properties</span>
+f&uuml;r die <span class="term">Java Virtual Machine</span>
+m&uuml;ssen bzw. k&ouml;nnen gesetzt werden. Am einfachsten
+k&ouml;nnen diese <span class="term">System Properties</span>
+beim Starten von Tomcat in der Umgebungsvariablen <code>CATALINA_OPTS</code>
+in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code>
+&uuml;bergeben werden.
+ <ul>
+
+ <li id="klein"><code>at.gv.egovernment.moa.spss.slinterface.PropertiesLocation</code>:
+Pfad und Name der zentralen Konfigurationsdatei f&uuml;r MOA SL.
+Eine beispielhafte Konfigurationsdatei finden Sie unter <code>$MOA_SL_INST/conf/moa-sl/moa-sl.properties</code>.
+Wird ein relativer Pfad angegeben, wird zuerst versucht, diesen relativ
+zum Wurzelverzeichnis der Webapplikation (also <code>$CATALINA_HOME/webapps/moa-sl</code>)
+zu interpretieren. Klappt das nicht, wird dann versucht, den relativen
+Pfad relativ zum Startverzeichnis der <span class="term">Java
+Virtual Machine</span> zu interpretieren. Diese <span class="term">System Property</span> muss jedenfalls
+gesetzt werden.</li>
+
+ <li id="klein"><code>log4j.configuration</code>:
+URL der Log4j Konfigurationsdatei. Eine beispielhafte
+Log4j-Konfiguration finden Sie unter <code>$MOA_SL_INST/conf/log4j/log4j.properties</code>. Wird eine
+relative URL angegeben, wird diese als File-URL relativ zum
+Startverzeichnis der <span class="term">Java Virtual
+Machine</span> interpretiert. Ist diese System Property nicht
+gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code>
+enthaltene Default-Konfiguration herangezogen.</li>
+
+ <li id="klein"><code>javax.net.ssl.trustStore</code>:
+Pfad und Dateiname des <span class="term">Truststores</span>
+f&uuml;r vertrauensw&uuml;rdige SSL Client-Zertifikate
+(optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL
+Client-Authentisierung durchgef&uuml;hrt werden soll). Ein
+relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li>
+
+ <li id="klein"><code>javax.net.ssl.trustStorePassword</code>:
+Passwort f&uuml;r den <span class="term">Truststore</span>
+(optional; nur wenn kein Webserver vor Tomcat geschalten wird und SSL
+Client-Authentisierung durchgef&uuml;hrt werden soll). </li>
+
+ <li id="klein"><code>javax.net.ssl.trustStoreType</code>:
+Truststore-Typ (optional; nur wenn kein Webserver vor Tomcat geschalten
+wird und SSL Client-Authentisierung durchgef&uuml;hrt werden soll).
+Je nach verwendetem Keystore-Typ muss <code>jks</code> (<span class="term">Java Key Store</span>) oder <code>pkcs12</code>
+(PKCS#12-Datei) angegeben werden.</li>
+
+ </ul>
+
</li>
+
</ul>
- <h2><a name="installation_tomcatstartstop" id="installation_tomcatstartstop"></a>2.5 Starten und Stoppen von Tomcat</h2>
- <h3><a name="installation_tomcatstartstop_windows" id="installation_tomcatstartstop_windows"></a>2.5.1 Unter Windows</h3>
- <p>Das Verzeichnis <code>$MOA_SL_INST/conf/tomcat/win32</code> enth&auml;lt Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts m&uuml;ssen in den ersten Zeilen die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. m&uuml;ssen Sie auch noch die in den Script-Dateien gesetzten, in <a href="#webservice_basisinstallation_installation_spssdeploy">Abschnitt 2.4</a> besprochenen <span class="term">System Properties</span> anpassen. </p>
- <h3><a name="webservice_basisinstallation_installation_tomcatstartstop_unix" id="webservice_basisinstallation_installation_tomcatstartstop_unix"></a>2.5.2 Unter Unix</h3>
- <p>Zun&auml;chst m&uuml;ssen die in <a href="#webservice_basisinstallation_installation_spssdeploy">Abschnitt 2.4</a> besprochenen <span class="term">System Properties</span> mit Hilfe der Umgebungsvariablen <code>CATALINA_OPTS</code> gesetzt wrden. Die Datei <code>$MOA_SL_INST/tomcat/unix/moa-env.sh</code> enth&auml;lt ein Beispiel daf&uuml;r. Weiters m&uuml;ssen noch die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.</p>
- <p>Nun kann Tomcat aus seinem Basisverzeichnis mit </p>
+
+<h2><a name="installation_tomcatstartstop" id="installation_tomcatstartstop"></a>2.5 Starten und
+Stoppen von Tomcat</h2>
+
+<h3><a name="installation_tomcatstartstop_windows" id="installation_tomcatstartstop_windows"></a>2.5.1
+Unter Windows</h3>
+
+<p>Das Verzeichnis <code>$MOA_SL_INST/conf/tomcat/win32</code>
+enth&auml;lt Script-Dateien zum Starten und Stoppen von Tomcat. Vor
+der erstmaligen Verwendung der Scripts m&uuml;ssen in den ersten
+Zeilen die Umgebungsvariablen <code>JAVA_HOME</code>
+(Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code>
+(Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst
+werden. Evtl. m&uuml;ssen Sie auch noch die in den Script-Dateien
+gesetzten, in <a href="#installation_deploy">Abschnitt 2.4</a>
+besprochenen <span class="term">System Properties</span>
+anpassen. </p>
+
+<h3><a name="installation_tomcatstartstop_unix" id="installation_tomcatstartstop_unix"></a>2.5.2 Unter
+Unix</h3>
+
+<p>Zun&auml;chst m&uuml;ssen die in <a href="#installation_deploy">Abschnitt 2.4</a>
+besprochenen <span class="term">System Properties</span>
+mit Hilfe der Umgebungsvariablen <code>CATALINA_OPTS</code>
+gesetzt werden. Die Datei <code>$MOA_SL_INST/tomcat/unix/moa-env.sh</code>
+enth&auml;lt ein Beispiel daf&uuml;r. Weiters m&uuml;ssen
+noch die Umgebungsvariablen <code>JAVA_HOME</code>
+(Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code>
+(Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst
+werden.</p>
+
+<p>Nun kann Tomcat aus seinem Basisverzeichnis mit </p>
+
<pre>bin/catalina.sh start</pre>
+
gestartet werden. Das Stoppen von Tomcat erfolgt analog mit
<pre>bin/catalina.sh stop</pre>
-<h3><a name="installation_tomcatstartstop_verify" id="installation_tomcatstartstop_verify"></a><span class="comment">2.5.3 Pr&uuml;fen des erfolgreichen Starts </span></h3>
- <p>Ein erfolgreicher Start des MOA SL Webservices ist an folgender Log-Meldung ersichtlich: </p>
+<h3><a name="installation_tomcatstartstop_logging" id="installation_tomcatstartstop_logging"></a>2.5.3
+Logging </h3>
- <pre>INFO | 18 10:09:45,155 | main | TID=startup NID=&lt;null&gt; MSG=MOA Konfiguration erfolgreich geladen
-</pre>
-<p>Bei leichten Fehlern in der Konfiguration geben <code>WARN</code> Log-Meldungen unmittelbar davor Aufschluss &uuml;ber fehlerhafte Konfigurations-Eintr&auml;ge.
- Nach dem Starten von Tomcat steht das MOA SP/SS Webservice f&uuml;r die Server-Signatur und Signatur-Pr&uuml;fung unter den Endpunkten </p>
-<pre>http://&lt;host&gt;:&lt;port&gt;/moa-spss/services/SignatureCreation
-</pre>
-<p>bzw.
+<p>Das MOA SL Webservice verwendet <a href="http://logging.apache.org/log4j/">Apache Log4j</a> f&uuml;r die
+Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j
+bietet zahlreiche Konfigurationsm&ouml;glichkeiten, die
+ausf&uuml;hrlich im <a href="http://logging.apache.org/log4j/">Apache
+Log4j</a>
+Handbuch beschrieben sind. Unter anderem gibt es die
+M&ouml;glichkeit, folgende Einstellungen vorzunehmen:
</p>
-<pre>http://&lt;host&gt;:&lt;port&gt;/moa-spss/services/SignatureVerification
-</pre>
-<p>zur Verf&uuml;gung. Die Verf&uuml;gbarkeit des Services k&ouml;nnen Sie einfach &uuml;berpr&uuml;fen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite f&uuml;hren. </p>
-<p>Konnte das MOA SP/SS Webservice nicht ordnungsgem&auml;&szlig; gestartet werden, f&uuml;hrt das zu folgender Log-Meldung:</p>
-<pre>FATAL | 18 10:17:03,475 | main | TID=startup NID=&lt;null&gt; <br> MSG=Fehler beim Lesen der MOA Konfiguration: das Service steht nicht zur Verf&uuml;gung
-</pre>
-In diesem Fall geben die <code>WARN</code> bzw. <code>ERROR</code> Log-Meldungen unmittelbar davor Aufschluss &uuml;ber den genaueren Grund.
-<h3><a name="webservice_basisinstallation_logging" id="webservice_basisinstallation_logging"></a>2.1.3 Logging </h3>
-<p>Das MOA SL Webservice verwendet <a href="http://logging.apache.org/log4j/">Apache Log4j</a><a href="#referenziertesoftware"></a> f&uuml;r die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsm&ouml;glichkeiten, die ausf&uuml;hrlich im <a href="http://logging.apache.org/log4j/">Apache Log4j</a><a href="#referenziertesoftware"></a> Handbuch beschrieben sind. Unter anderem gibt es die M&ouml;glichkeit, folgende Einstellungen vorzunehmen:
+
<ul>
- <li id="klein">
- <p>Das verwendete Log-Level (<code>DEBUG</code>, <code>INFO</code>, <code>WARN</code>, <code>ERROR</code>, <code>FATAL</code>);</p>
- </li>
- <li id="klein">
- <p>Name und maximale Gr&ouml;&szlig;e der Log-Datei(en);</p>
- </li>
- <li id="klein">
- <p>Das Aussehen der Log-Eintr&auml;ge.</p>
- </li>
+
+ <li id="klein">
+ <p>Das verwendete Log-Level (<code>DEBUG</code>, <code>INFO</code>,
+ <code>WARN</code>, <code>ERROR</code>, <code>FATAL</code>);</p>
+
+ </li>
+
+ <li id="klein">
+ <p>Name und maximale Gr&ouml;&szlig;e der
+Log-Datei(en);</p>
+
+ </li>
+
+ <li id="klein">
+ <p>Das Aussehen der Log-Eintr&auml;ge.</p>
+
+ </li>
+
</ul>
- <p>Das MOA SL Webservice verwendet folgende Log-Hierarchien: </p>
- <ul>
- <li>
- <p><code>moa.spss.server</code> f&uuml;r alle Log-Meldungen aus dem MOA/SPSS Webservice; </p>
- </li>
- <li>
- <p><code>iaik.server</code> f&uuml;r alle Log-Meldungen aus den SIC/IAIK Kryptographie-Modulen. </p>
- </li>
+
+<p>Das MOA SL Webservice verwendet f&uuml;r alle
+Logeintr&auml;ge die Log-Hierarchie <code>slinterface</code>.
+F&uuml;r die einzelnen Pakete des MOA SL Webservices werden davon
+abgeleitete Sub-Hierarchien eingesetzt, z.B. <code>slinterface.xmlparser</code>,
+<code>slinterface.beans</code> oder <code>slinterface.filters</code>.</p>
+
+<p>Eine f&uuml;r MOA SL passende Konfigurationsdatei
+f&uuml;r Log4j finden Sie unter <code>$MOA_SL_INST/conf/log4j/log4j.properties</code>. Wird diese
+Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen
+sowohl in die Konsole, als auch in die Datei <code>$CATALINA_HOME/logs/moa-sl.log</code>
+geschrieben. </p>
+
+<h4><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.5.3.1
+Format der Log-Meldungen</h4>
+
+<p> Anhand einer konkreten Log-Meldung wird das Format der MOA SL
+Log-Meldungen erl&auml;utert: </p>
+
+<pre>INFO | 10 15:58:45,531 | slinterface.listeners | main | <br> Web application initialization succeeded..</pre>
+
+<p> Der Wert <code>INFO</code> besagt, dass die
+Log-Meldung im Log-Level <code>INFO</code> entstanden ist.
+Folgende Log-Levels existieren:</p>
+
+<ul>
+
+ <li>
+ <p><code>DEBUG</code>: Log-Meldungen im Log-Level
+ <code>DEBUG</code> geben Auskunft &uuml;ber die
+innere Arbeitsweise des Systems. Sie sind haupts&auml;chlich
+f&uuml;r Entwickler interessant.</p>
+
+ </li>
+
+ <li>
+ <p><code>INFO</code>: Diese Log-Meldungen geben
+Status-Informationen &uuml;ber den Ablauf des Webservices, wie z.B.
+&uuml;ber das Einlangen einer neuen Anfrage.</p>
+
+ </li>
+
+ <li>
+ <p><code>WARN</code>: Bei der Ausf&uuml;hrung
+einer Anfrage sind leichte Fehler aufgetreten. Der Ablauf des
+Webservices ist nicht weiter beeintr&auml;chtigt.</p>
+
+ </li>
+
+ <li>
+ <p><code>ERROR</code>: Die Ausf&uuml;hrung
+einer Anfrage musste abgebrochen werden. Das Webservice ist davon nicht
+beeintr&auml;chtigt. </p>
+
+ </li>
+
+ <li>
+ <p><code>FATAL</code>: Es ist ein Fehler
+aufgetreten, der den weiteren Betrieb des Webservices nicht mehr
+erlaubt.</p>
+
+ </li>
+
</ul>
- <p>Eine f&uuml;r MOA SP/SS passende Konfigurationsdatei f&uuml;r Log4j finden Sie <a href="../../conf/moa-spss/log4j.properties">hier</a>. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei <code>moa-spss.log</code> geschrieben. </p>
- <h4><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.1.3.1 Format der Log-Meldungen</h4>
- <p> Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erl&auml;utert: </p>
- <pre>INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
- MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
-</pre>
-<p> Der Wert <code>INFO</code> besagt, dass die Log-Meldung im Log-Level <code>INFO</code> entstanden ist. Folgende Log-Levels existieren:</p>
- <ul>
- <li>
- <p><code>DEBUG</code>: Log-Meldungen im Log-Level <code>DEBUG</code> geben Auskunft &uuml;ber die innere Arbeitsweise des Systems. Sie sind haupts&auml;chlich f&uuml;r Entwickler interessant.</p>
- </li>
- <li>
- <p><code>INFO</code>: Diese Log-Meldungen geben Status-Informationen &uuml;ber den Ablauf des Webservices, wie z.B. &uuml;ber das Einlangen einer neuen Anfrage.</p>
- </li>
- <li>
- <p><code>WARN</code>: Bei der Ausf&uuml;hrung einer Anfrage sind leichte Fehler aufgetreten. Der Ablauf des Webservices ist nicht weiter beeintr&auml;chtigt.</p>
- </li>
- <li>
- <p><code>ERROR</code>: Die Ausf&uuml;hrung einer Anfrage musste abgebrochen werden. Das Webservice ist davon nicht beeintr&auml;chtigt. </p>
- </li>
- <li>
- <p><code>FATAL</code>: Es ist ein Fehler aufgetreten, der den weiteren Betrieb des Webservices nicht mehr erlaubt.</p>
- </li>
- </ul>
- <p>Der n&auml;chste Wert <code>01 21:25:26,540</code> gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit). </p>
- <p> Der Wert <code>Thread-3</code> bezeichnet den Thread, von dem die Anfrage bearbeitet wird.</p>
- <p> Der Wert von <code>TID</code> gibt die f&uuml;r jede Anfrage eindeutige Transaktions-ID an. Log-Meldungen, die bei der Abarbeitung dieser Anfrage geschrieben werden, enthalten alle einen Hinweis auf die entsprechende Transaktions-ID.</p>
- <p> Der Wert von <code>NID</code> gibt den Rechner-Knoten an, auf dem das MOA SP/SS Webservice l&auml;uft (bei <code>NID=&lt;null&gt;</code> ist dieser Wert nicht konfiguriert, vergleiche Abschnitt <a href="#webservice_basisinstallation_installation_spssdeploy">2.1.2.3</a>).</p>
- <p> Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist h&auml;ufig ein Java Stack-Trace angef&uuml;gt, der eine genauere Ursachen-Forschung erm&ouml;glicht.</p>
- <h4> <a name="webservice_basisinstallation_logging_messages" id="webservice_basisinstallation_logging_messages"></a>2.1.3.2 Wichtige Log-Meldungen</h4>
- <p> Neben den im Abschnitt <a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">2.1.2.4.3</a> beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgem&auml;&szlig; gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss &uuml;ber die Abarbeitung von Anfragen. </p>
- <p>Die Entgegennahme einer Anfrage wird angezeigt durch:
-
- </p>
- <pre>INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Aufruf von Adresse=127.0.0.1
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Client-Zertifikat nicht verf&uuml;gbar</pre>
- <p> Die dritte Log-Meldung besagt, dass f&uuml;r die Abarbeitung dieser Anfrage kein Client-Zertifikat verf&uuml;gbar ist (entweder, weil die Anfrage &uuml;ber HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen &uuml;ber das Client-Zertifikat aus:
- <pre>INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=&lt;null&gt;
- MSG=Client-Zertifikat: Subject=CN=Testuser, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT,
- Serial=1.039.104.204, Issuer=CN=TestCA, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT</pre>
- <p>Eine erfolgreich abgearbeitete Anfrage wird angezeigt durch:
- </p>
- <pre>INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=&lt;null&gt;
- MSG=Anfrage erfolgreich abgearbeitet</pre>
- <p>Ein Fehler beim Abarbeiten der Anfrage wird angezeigt durch: </p>
- <pre>INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Fehler beim Abarbeiten der Anfrage</pre>
- <div id="block">
- <p>In diesem Fall gibt der mitgeloggte Stacktrace Auskunft &uuml;ber die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zur&uuml;ck. </p>
- <p> Die Tats&auml;chlich &uuml;bertragenen Anfragen bzw. Antworten werden aus Effizienzgr&uuml;nden nur im Log-Level <code>DEBUG</code> angezeigt. </p>
- </div>
- <h2><a name="webservice_erweiterungsmöglichkeiten" id="webservice_erweiterungsmöglichkeiten"></a>2.2 Erweiterungsm&ouml;glichkeiten</h2>
-<p>Ausgehend von der <a href="#webservice_basisinstallation">Basisinstallation</a> k&ouml;nnen die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabh&auml;ngig und in beliebiger Kombination aufgesetzt werden.</p>
- <h3><a name="webservice_erweiterungsmöglichkeiten_webserver" id="webservice_erweiterungsmöglichkeiten_webserver"></a>2.2.1 Vorgeschalteter Webserver</h3>
- <h4><a name="webservice_erweiterungsmöglichkeiten_webserver_iis" id="webservice_erweiterungsmöglichkeiten_webserver_iis"></a>2.2.1.1 Microsoft Internet Information Server (MS IIS) </h4>
- <p>Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall &uuml;bernimmt der MS IIS die HTTP- bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat eingerichteten MOA SP/SS Webservice wird durch <span class="term">Jakarta mod_jk</span> durchgef&uuml;hrt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_jk" id="webservice_erweiterungsmöglichkeiten_webserver_iis_jk"></a>2.2.1.1.1 Konfiguration von <span class="term">Jakarta mod_jk</span> im MS IIS</h5>
- <p> F&uuml;r die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das <span class="term">ISAPI</span>-Modul von <span class="term">Jakarta mod_jk</span> im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/iis.html" target="_blank">mod_jk</a></span><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/iishowto.html"> IIS HowTo</a>. Beispiele f&uuml;r <code>workers.properties</code> und <code>uriworkermap.properties</code> Dateien liegen im Verzeichnis <code>$MOA_SL_INST/tomcat</code> bei.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat" id="webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat"></a>2.2.1.1.2 Konfiguration von Tomcat</h5>
- <p> Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels <span class="term">Jakarta mod_jk</span> weiterleitet werden, muss in <code>$CATALINA_HOME/conf/server.xml</code> der <span class="term">AJP 1.3 Connector</span> aktiviert werden. Im Gegenzug k&ouml;nnen die Konnektoren f&uuml;r HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden <code>Connector</code> Konfigurations-Elemente in dieser Datei. Die Datei <code>$MOA_SL_INST/tomcat/server.mod_jk.xml</code> enth&auml;lt eine Konfiguration, die ausschlie&szlig;lich den Port f&uuml;r den <span class="term">AJP 1.3 Connector</span> offen l&auml;sst.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_ssl" id="webservice_erweiterungsmöglichkeiten_webserver_iis_ssl"></a>2.2.1.1.3 Konfiguration von SSL</h5>
- <p> Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ oder aber auch auf den Websiten vo Mircrosoft zur Verf&uuml;gung. </p>
- <h4><a name="webservice_erweiterungsm&ouml;glichkeiten_webserver_apache" id="webservice_erweiterungsm&ouml;glichkeiten_webserver_apache"></a>2.2.1.2 Apache</h4>
- <p>Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird <span class="term">Jakarta mod_jk</span> f&uuml;r die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus und sind ident f&uuml;r die Versionen 1.3.x und 2.0.x.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_jk" id="webservice_erweiterungsmöglichkeiten_webserver_apache_jk"></a>2.2.1.2.1 Konfiguration von <span class="term">Jakarta mod_jk</span> im Apache </h5>
- <p>Um das MOA-SPSS Webservice hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls <span class="term">mod_jk</span> erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html" target="_blank">mod_jk</a></span><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html" target="_blank"> Apache HowTo</a>. Ein Beispiel f&uuml;r eine <code>workers.properties</code> Datei liegt im Verzeichnis <code>$MOA_SL_INST/tomcat</code> bei.</p>
- <p>Um das MOA SP/SS Webservice dem Apache Webserver bekannt zu machen, sind zumindest folgende Eintr&auml;ge im globalen Kontext der Apache-Konfigurationsdatei notwendig:</p>
- <pre>LoadModule jk_module /usr/lib/apache/mod_jk.so<br>AddModule jk_module<br>JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories<br>JkWorkersFile conf/workers.properties <br>JkMount /moa-spss/* moaworker </pre>
- <p>Die Pfad- und Dateinamen k&ouml;nnen je nach existierender Apache Installation geringf&uuml;gig variieren.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_tomcat" id="webservice_erweiterungsmöglichkeiten_webserver_apache_tomcat"></a>2.2.1.2.2 Konfiguration von Tomcat</h5>
- <p>Die Konfiguration von Tomcat ist analog zu Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_tomcat">2.2.1.1.2</a> durchzuf&uuml;hren.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_ssl" id="webservice_erweiterungsmöglichkeiten_webserver_apache_ssl"></a>2.2.1.2.2 Konfiguration von SSL mit <span class="term">mod_SSL</span></h5>
- <p>Apache kann in Verbindung mit <span class="term">mod_SSL</span> als SSL-Endpunkt f&uuml;r das MOA SP/SS Webservice fungieren. In diesem Fall entf&auml;llt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via <span class="term">mod_jk</span> austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enth&auml;lt die <a href="http://www.modssl.org/docs/" target="_blank">Online-Dokumentation</a> von <span class="term">mod_SSL</span>.</p>
- <p>Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass <span class="term">mod_ssl</span> die HTTP-Header mit den Informationen &uuml;ber das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht: </p>
- <pre>SSLOptions +ExportCertData +StdEnvVars</pre>
- <p>Je nach vorhandener SSL-Konfiguration des Apache Webservers kann diese Option im globalen Kontext, im Kontext des Virtual Hosts oder im Kontexts eines Verzeichnisses spezifiziert werden.</p>
- <h3><a name="webservice_erweiterungsmöglichkeiten_datenbank" id="webservice_erweiterungsmöglichkeiten_datenbank"></a>2.2.2 Datenbank</h3>
- <p>Die MOA SP/SS Module k&ouml;nnen eine Datenbank zum Archivieren von Certificate Revocation Lists (CRLs), sowie zum Abspeichern von Log-Meldungen verwenden. In beiden F&auml;llen wird eine installierte und konfigurierte Datenbank vorausgesetzt.</p>
- <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql"></a>2.2.2.1 PostgreSQL</h4>
- <p>Eine detaillierte &Uuml;bersicht &uuml;ber die Installation und Konfiguration von <span class="term">PostgreSQL</span> gibt die <a href="http://techdocs.postgresql.org/" target="_blank">Online-Dokumentation</a>. </p>
- <p class="term">Bitte beachten Sie: Eine M&ouml;glichkeit, PostgreSQL unter MS Windows zu installieren, besteht darin, <a href="http://sources.redhat.com/cygwin/" target="_blank">Cygwin</a> mit dem PostgreSQL-Package zu installieren. Alternative Installationsvarianten werden auf <a href="http://techdocs.postgresql.org/guides/Windows" target="_blank">dieser Seite</a> angef&uuml;hrt.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer"></a>2.2.2.1.1 Anlegen eines Benutzers und einer Datenbank f&uuml;r MOA SP/SS</h5>
- <p>Damit die MOA SP/SS Module eine Verbindung zu <span class="term">PostgreSQL</span> aufbauen kann, m&uuml;ssen der Name eines <span class="term">PostgreSQL</span>-Benutzers und einer <span class="term">PostgreSQL</span>-Datenbank bekannt sein. Sollten diese nicht vorhanden sein, kann mit folgenden Kommandos ein Benutzer namens <code>moa</code> und eine Datenbank namens <code>moadb</code> angelegt werden:</p>
- <pre>createuser -U postgres -d -A -P moa<br>createdb -U moa moadb</pre>
- <p>Da die MOA SP/SS Module &uuml;ber <span class="term">JDBC</span> mit der Datenbank kommunizieren, ist in der Folge die Angabe einer <span class="term">JDBC</span>-URL notwendig, welche die Verbindungsparameter enth&auml;lt. Wurden der Benutzer und die Datenbank wie im obigen Beispiel angelegt, ist folgende <span class="term">JDBC</span>-URL anzugeben (Annahme: als Passwort f&uuml;r den Benutzer moa wurde moapass gew&auml;hlt):</p>
- <pre> jdbc:postgresql://host/moadb?user=moa&amp;password=moapass</pre>
- <p>Die Zeichen <code>jdbc:postgresql://</code> sind unver&auml;nderliche Bestandteile einer <span class="term">PostgreSQL</span> <span class="term">JDBC</span>-URL. <code>host</code> gibt den Rechner an, auf dem <span class="term">PostgreSQL</span> l&auml;uft. <code>moadb</code> identifiziert den Namen der Datenbank. &Uuml;ber die Parameter <code>user=</code> und <code>pass=</code> werden Benutzername und Passwort f&uuml;r den DB-User bekanntgegeben.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_crls" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_crls"></a>2.2.2.1.2 Archivierung von CRLs</h5>
- <p>Zum Archivieren von CRLs m&uuml;ssen in der MOA SP/SS Konfigurationsdatei die Kinder des Elements <code>cfg:MOAConfiguration/cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving</code> entsprechend
- konfiguriert werden: </p>
- <ul>
- <li><code>cfg:EnableArchiving</code> muss auf den Wert <code>true</code> gesetzt sein;</li>
- <li><code>cfg:ArchiveDuration</code> muss als nichtnegative Ganzzahl die maximale Archivierungsdauer in Tagen enthalten;</li>
- <li><code>cfg:Archive</code> muss genau ein Element <code>cfg:DatabaseArchive</code> enthalten, das wiederum aus zwei Elementen
- bestehen muss:
- <ul>
- <li><code>cfg:JDBCURL</code> muss eine g&uuml;ltige JDBC-URL enthalten, mit der auf die Datenbank zur Archivierung
- zugegriffen werden kann (<span class="remark">Hinweis: da es sich hierbei um einen Eintrag
- in eine XML-Datei handelt, muss das Zeichen <code>&amp;</code> in der in Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_benutzer">2.2.2.1.1</a> gezeigten
- JDBC-URL
- durch die Zeichenfolge <code>&amp;amp;</code> ersetzt werden.</span>);</li>
- <li><code>cfg:JDBCDriverClassName</code> muss den vollst&auml;ndig qualifizierten Java-Klassennamen des JDBC-Treibers
- enthalten. </li>
- </ul>
- </li>
- </ul>
- <p>Vergleiche auch Abschnitt <a href="../config/config.html#konfigurationsparameter_sp_certificatevalidation_revocationchecking_archiving">2.3.1.3.4</a> im
- Konfigurationshandbuch.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_logging" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_logging"></a>2.2.2.1.3 Logging</h5>
- <p>F&uuml;r das Logging in eine <span class="term">PostgreSQL</span> Datenbank mittels <span class="term">Jakarta Log4j</span> muss zun&auml;chst eine Tabelle f&uuml;r die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:</p>
- <pre> create table spss_log (log_time timestamp, log_level varchar(5), log_msg text);</pre>
- <p>Damit <span class="term">Log4j</span> die Log-Meldungen in diese Datenbanktabelle schreibt, muss die <span class="term">Log4j</span>-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte <a href="../../conf/moa-spss/log4j.properties">Log4j-Konfiguration</a> enth&auml;lt bereits die notwendigen Eintr&auml;ge f&uuml;r das Logging in eine PostgreSQL Datenbank, die jedoch standardm&auml;&szlig;ig ausgeschaltet sind. </p>
- <p>Wie beim Caching von CRLs ist auch hier die Angabe einer <span class="term">JDBC</span>-URL notwendig, damit die MOA SP/SS Module eine Verbindung zur Datenbank aufnehmen k&ouml;nnen.</p>
- <p><span class="remark">Bitte beachten Sie: Bei Tests hat sich das Logging in eine Datenbank mit Jakarta Log4j als Performance-Engpass herausgestellt. Es wird deshalb empfohlen, dieses Feature mit Bedacht einzusetzen.</span></p>
- <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_andere" id="webservice_erweiterungsmöglichkeiten_datenbank_andere"></a>2.2.2.2 Andere Datenbanken </h4>
- <p>&Uuml;ber die generische Anbindung JDBC k&ouml;nnen auch andere Datenbanken f&uuml;r die Archivierung von CRLs bzw. f&uuml;r die Speicherung der Log-Meldungen eingesetzt werden. Hinweise zu bestimmten Datenbanken finden Sie in den <a href="../faq/faq.html">FAQ</a>. </p>
- <p>Die in Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql">2.2.2.1</a> gemachten Angaben zu Archivierung von CRLs bzw. zur Speicherung von Log-Meldungen gelten sinngem&auml;&szlig;. </p>
- <h3><a name="webservice_erweiterungsmöglichkeiten_hsm" id="webservice_erweiterungsmöglichkeiten_hsm"></a>2.2.3 Hardware Security Module (HSM)</h3>
- <p>MOA SS kann f&uuml;r die Erstellung von Signaturen auf die Dienste eines HSM zur&uuml;ckgreifen. Voraussetzung daf&uuml;r ist, dass f&uuml;r das HSM eine Implementierung der Schnittstelle PCKS#11 (PKCS#11-Bibliothek) angeboten wird. </p>
- <p>F&uuml;r die Einbindung des HSM in MOA SS m&uuml;ssen zun&auml;chst die Bibliotheken aus <code>$MOA_SL_INST/pkcs11</code> in ein beliebiges Verzeichnis kopiert werden, welches dann in den Libray-Pfad des jeweiligen Betriebssystems aufgenommen werden muss (Windows: Umgebungsvariable <code>PATH</code>; Linux: Umgebungsvariable <code>LD_LIBRARY_PATH</code>). </p>
- <p>Der Name der f&uuml;r das HSM spezifischen PKCS#11-Bibliothek muss in der Konfigurationsdatei eingetragen werden (vergleiche Abschnitt <a href="../config/config.html#konfigurationsparameter_ss_keymodules_hardwarekeymodule">2.2.1.1</a> des Konfigurationshandbuchs).</p>
- <h1><a name="klassenbibliothek"></a>3 Klassenbibliothek</h1>
- <p>Dieser Abschnitt beschreibt die Verwendung von MOA SP/SS als Klassenbibliothek. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsm&ouml;glichkeiten auf.</p>
- <h2><a name="klassenbibliothek_basisinstallation" id="klassenbibliothek_basisinstallation"></a>3.1 Basisinstallation</h2>
- <h3><a name="klassenbibliothek_basisinstallation_einfuehrung" id="klassenbibliothek_basisinstallation_einfuehrung"></a>3.1.1 Einf&uuml;hrung </h3>
- <p>Die Basisinstallation der Klassenbibliothek stellt einerseits die minimalen Anforderungen f&uuml;r den Einsatz von MOA SP/SS als Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt f&uuml;r optionale Erweiterungsm&ouml;glichkeiten.</p>
- <p> Folgende Software ist Voraussetzung f&uuml;r die Basisinstallation der Klassenbibliothek: </p>
- <ul>
- <li><a href="#referenziertesoftware">J2SE 1.3.1 JRE</a> oder <a href="#referenziertesoftware">J2SE 1.4.2 JRE</a> oder <a href="#referenziertesoftware">J2SE 5.0 JRE</a> </li>
- </ul>
- <h3><a name="klassenbibliothek_basisinstallation_vorbereitung" id="klassenbibliothek_basisinstallation_vorbereitung"></a>3.1.2 Vorbereitung </h3>
- <p>Die folgenden Schritte dienen der Vorbereitung der Installation.</p>
- <dl>
- <dt>Installation von J2SE SDK</dt>
- <dd>Installieren Sie <a href="#referenziertesoftware">J2SE 1.3.1 SDK</a> oder <a href="#referenziertesoftware">J2SE 1.4.2 SDK</a> oder <a href="#referenziertesoftware">J2SE 5.0 SDK</a> in ein beliebiges Verzeichnis. Wir empfehlen die Installation von <a href="#referenziertesoftware">J2SE 5.0 SDK</a>. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> bezeichnet. </dd>
- <dt>Entpacken der MOA SP/SS Klassenbibliotheks-Distribution</dt>
- <dd> Entpacken Sie die Datei <code>moa-spss-1.2.x-lib.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SL_INST</code> bezeichnet. </dd>
- <dt>Installation der Krypographiebibliotheken von SIC/IAIK</dt>
- <dd>
- <p>Die Installation der Kryptographiebibliotheken von <a href="http://jce.iaik.tugraz.at/" target="_blank">SIC/IAIK</a> ist abh&auml;ngig vom eingesetzten J2SE SDK:</p>
- <dl>
- <dt>J2SE 1.3.1 SDK</dt>
- <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SL_INST/ext13</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>.</dd>
- <dt>J2SE 1.4.2 SDK oder JSE 5.0 SDK </dt>
- <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SL_INST/ext14</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zus&auml;tzlich m&uuml;ssen Sie die Rechtedateien Ihres J2SE 1.4.2 SDK bzw. J2SE 5.0 SDK austauschen. Laden Sie dazu die <span class="term">Unlimited Strength Jurisdiction Policy Files</span> von der <a href="http://java.sun.com/j2se/1.4.2/download.html" target="_blank">J2SE 1.4.2 SDK Downloadseite</a> bzw. <a href="http://java.sun.com/j2se/1.5.0/download.html">J2SE 5.0 SDK Downloadseite</a> und folgen Sie der darin enthaltenen Installationsanweisung. </dd>
- </dl>
- </dd>
- </dl>
- <h3><a name="klassenbibliothek_basisinstallation_verwendung" id="klassenbibliothek_basisinstallation_verwendung"></a>3.1.3 Verwendung</h3>
- <p> Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu k&ouml;nnen, m&uuml;ssen die mit MOA SP/SS ausgelieferten Bibliotheken in den Java Klassenpfad der Applikation eingebunden werden. </p>
- <p>Die nachfolgende Tabelle listet diese Klassenbibliotheken auf; die Eintr&auml;ge in der Spalte Dateien sind relativ zum Verzeichnis <code>$MOA_SL_INST</code> zu interpretieren.</p>
+
+<p>Der n&auml;chste Wert <code>10 15:58:45,531</code>
+gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in
+diesem Fall den 10. Tag im aktuellen Monat, sowie die genaue Uhrzeit). </p>
+
+<p>Der Wert <code>slinterface.listeners</code> gibt
+die Log-Hierarchie an, aus der die Log-Meldung stammt. </p>
+
+<p>Der Wert <code>main</code> bezeichnet den Thread,
+aus der die Log-Meldung stammt. </p>
+
+<p>Der Rest der Zeile einer Log-Meldung ist der eigentliche Text,
+mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist
+h&auml;ufig ein Java Stack-Trace angef&uuml;gt, der eine
+genauere Ursachen-Forschung erm&ouml;glicht.</p>
+
+<h3><a name="installation_tomcatstartstop_verify" id="installation_tomcatstartstop_verify"></a>2.5.4
+Pr&uuml;fen des erfolgreichen Starts </h3>
+
+<p>Ein erfolgreicher Start des MOA SL Webservices ist an
+folgender Log-Meldung ersichtlich: </p>
+
+<pre>INFO | 10 15:58:45,531 | slinterface.listeners | main | <br> Web application initialization succeeded..</pre>
+
+<p>Konnte das MOA SL Webservice nicht
+ordnungsgem&auml;&szlig; gestartet werden, f&uuml;hrt das
+zu folgender Log-Meldung:</p>
+
+<pre>FATAL | 18 10:17:03,475 | main | TID=startup NID=&lt;null&gt; <br> Web application initialization failed.<br></pre>
+
+<p>In diesem Fall geben die<code> </code>Log-Meldungen
+unmittelbar davor Aufschluss &uuml;ber den genaueren Grund. </p>
+
+<p>Fehlermeldungen w&auml;hrend der Initialisierung des
+XML-Parsers, die wie nachfolgend dargestellt aussehen, k&ouml;nnen
+ignoriert werden. Sie resultieren aus einem Bug im eingesetzten
+XML-Parser Apache Xerces in der Version 2.6.2. </p>
+
+<pre>[Error] xhtml-attribs-1.xsd:<em>xx</em>:<em>xx</em>: src-attribute_group.3: <br> Circular definitions detected for attribute group '<em>xxx</em>'. <br> Recursively following attribute group references eventually leads back to itself.<br>[Error] xhtml-attribs-1.xsd:<em>xx</em>:<em>xx</em>: src-redefine.7.2.1: <br> No attributeGroup in the redefined schema has a name matching '<em>xx</em>'.</pre>
+
+<h1><a name="konfiguration" id="konfiguration"></a>3
+Konfiguration</h1>
+
+<h2><a name="konfiguration_konfigurationsdatei" id="konfiguration_konfigurationsdatei"></a>3.1
+Zentrale Konfigurationsdatei</h2>
+
+<p>Alle Konfigurationsparameter von MOA SL mit Ausnahme des
+Layouts f&uuml;r den Pr&uuml;fbericht (siehe Abschnitt <a href="#konfiguration_layout">3.2</a>) sind in einer
+zentralen Konfigurationsdatei zusammengefasst. Eine beispielhafte
+Konfigurationsdatei finden Sie unter <code>$MOA_SL_INST/conf/moa-sl/moa-sl.properties</code>.
+F&uuml;r Hinweise, wie Sie dem MOA SL Webservice mitteilen, welche
+Konfigurationsdatei es verwenden soll, siehe Abschnitt <a href="#installation_deploy">2.4</a>. </p>
+
+<p>In den folgenden Abschnitten werden die einzelnen
+Konfigurationsparameter der zentralen Konfigurationsdatei im Detail
+besprochen. Die meisten Konfigurationsparameter werden leichter
+verst&auml;ndlich, wenn Sie zun&auml;chst<span style="font-style: italic;"> </span>das <a href="../system/system.html">Systemhandbuch<span class="comment"></span></a> lesen. Dort werden
+der gesamte Ablauf eines Signaturpr&uuml;fvorgangs in MOA SL sowie
+die daran beteiligten Komponenten erkl&auml;rt. </p>
+
+<p>Die Konfigurationsdatei ist als <span class="term">Java
+Properties</span> Datei aufgebaut, d. h. jede Zeile
+enth&auml;lt den Namen sowie den Wert des jeweiligen
+Konfigurationsparameters in der Form <code>name=wert</code>.
+Details zum Aufbau einer <span class="term">Java
+Properties</span> Datei finden Sie in der API-Dokumentation zu
+Ihrem Java JDK, beispielsweise <a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Properties.html">hier</a>.
+</p>
+
+<h3><a name="konfiguration_konfigurationsdatei_schemata" id="konfiguration_konfigurationsdatei_schemata"></a>3.1.1
+XML-Schemata f&uuml;r Request- und Response-Validierung</h3>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>location.schema.sl</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Mit diesem Konfigurationsparameter wird MOA SL
+mitgeteilt, wo es das XML-Schema f&uuml;r die Validierung eines
+eingehenden Signaturpr&uuml;fungsrequests nach Security-Layer V1.2
+findet. </p>
+
+ <p>Der Konfigurationsparameter muss als Wert einen Pfad
+enthalten, der mit <code>/</code> beginnt, und der von MOA
+SL als relativ zum <span class="term">Context Root</span>
+der Webapplikation interpretiert wird.</p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>/WEB-INF/classes/resources/schemas/Core.20031231.xsd</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>location.schema.moa</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Mit diesem Konfigurationsparameter wird MOA SL
+mitgeteilt, wo es das XML-Schema f&uuml;r die Validierung eines von
+MOA SP empfangenen Signaturpr&uuml;fungsresponses nach MOA SPSS
+V1.3 findet. </p>
+
+ <p>Der Konfigurationsparameter muss als Wert einen Pfad
+enthalten, der mit <code>/</code> beginnt, und der von MOA
+SL als relativ zum <span class="term">Context Root</span>
+der Webapplikation interpretiert wird.</p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>/WEB-INF/classes/resources/schemas/MOA-SPSS-1.3.xsd</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<h3><a name="konfiguration_konfigurationsdatei_arbeitsverzeichnis" id="konfiguration_konfigurationsdatei_arbeitsverzeichnis"></a>3.1.2
+Arbeitsverzeichnis</h3>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>location.tempdir</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Mit diesem Konfigurationsparameter wird MOA SL
+mitgeteilt, wo es das Arbeitsverzeichnis zum Ablegen der von einer
+gepr&uuml;ften Signatur abgesicherten Dokumente findet. Diese
+Dokumente werden tempor&auml;r gespeichert, damit sie vom Benutzer
+&uuml;ber den Pr&uuml;fbericht abgerufen werden
+k&ouml;nnen. </p>
+
+ <p>Der Konfigurationsparameter muss als Wert einen Pfad
+enthalten, der von MOA SL als relativ zum <span class="term">Context
+Root</span> der Webapplikation interpretiert wird. Der angegebene
+Pfad muss einen abschlie&szlig;enden <code>/</code>
+aufweisen und im Dateisystem tats&auml;chlich existieren. </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>/workdir/temp/</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<h3><a name="konfiguration_konfigurationsdatei_moasp" id="konfiguration_konfigurationsdatei_moasp"></a>3.1.3
+Parameter der verwendeten MOA SP Installation</h3>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>service.sp.endpoint</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Mit diesem Konfigurationsparameter wird MOA SL der
+Zugangspunkt zum Webservice von MOA SP mitgeteilt. </p>
+
+ <p>Der Konfigurationsparameter muss eine URL enthalten, die
+von MOA SL aus erreichbar ist und den Zugangspunkt zu MOA SP
+adressiert. </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>http://localhost:8080/moa-spss/services/SignatureVerification</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>service.sp.trustProfileId</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Mit diesem Konfigurationsparameter wird MOA SL
+mitgeteilt, welches Vertrauensprofil es im Signaturpr&uuml;frequest
+an MOA SP verwenden soll. </p>
+
+ <p>Der Konfigurationsparameter muss den Bezeichner eines in
+MOA SP hinterlegten Vertrauensprofils enthalten.</p>
+
+ <p class="remark">Hinweis: Zum Durchlaufen der
+Testapplikation nach Abschnitt <a href="#testapp">4</a>
+dieses Handbuchs m&uuml;ssen Sie in MOA SP ein Vertrauensprofil mit
+dem Namen <code>MOA-SL-Test</code> einrichten. Unter <code>$MOA_SL_INST/conf/moa-spss/trustprofiles/spssconfig.fragment
+ </code>finden Sie das dazu notwendige XML-Fragment zum
+Einf&uuml;gen in die Konfigurationsdatei von MOA SP. Unter <code>$MOA_SL_INST/conf/moa-spss/trustprofiles/moa-sl/test/</code>
+finden Sie das im XML-Fragment referenzierte Verzeichnis mit den
+f&uuml;r das Vertrauensprofil notwendigen Zertifikatsdateien. </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>MOA-SL-Test</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<h3><a name="konfiguration_konfigurationsdatei_umfang" id="konfiguration_konfigurationsdatei_umfang"></a>3.1.4
+Umfang der Pr&uuml;fberichtseite</h3>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>result.showetsi</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser Konfigurationsparameter gibt an, ob MOA SL auf
+der Pr&uuml;fberichtseite unter den signierten Dokumenten auch
+eventuell vorhandenene, mitsignierte Signatureigenschaften (z.B. das
+Signaturdatum) auflisten soll. Signatureigenschaften sind in der Regel
+vorhanden, wenn die zur Pr&uuml;fung eingereichte Signatur von
+einer B&uuml;rgerkartenumgebung erstellt worden ist.</p>
+
+ <p>Der Konfigurationsparamter muss einen der Werte <code>true</code>
+oder <code>false</code> aufweisen. </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>false</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
<table class="fixedWidth" border="1" cellpadding="2">
-<tbody><tr>
-<th>Klassenbibliothek</th><th>Version</th><th>Dateien</th>
-
-</tr><tr>
-<td>MOA SP/SS</td>
-<td>1.2.x&nbsp; </td>
-<td><code>moa-spss.jar</code>, <code>moa-common.jar</code></td>
-</tr><tr>
-<td>MOA IAIK</td>
-<td>1.0.7&nbsp; </td>
-<td><p><code>lib/iaik_moa_full.jar</code>, <code>lib/iaik_Pkcs11Wrapper.jar</code>,
- <code>lib/iaik_cms.jar</code>, <code>lib/iaik_ixsil.jar</code></p>
- </td>
-</tr><tr>
-<td>JAXP</td><td>1.2_01&nbsp; </td><td><code>lib/jaxp-api.jar</code>, <code>lib/sax.jar</code>, <code>lib/dom.jar</code></td>
-
-</tr><tr>
-<td>Xerces-J</td><td>2.4.0&nbsp; </td><td><code>lib/xercesImpl.jar</code>, <code>lib/xmlParserAPIs.jar</code></td>
-</tr><tr>
-<td>Xalan-J</td><td>2.5.1&nbsp; </td><td><p><code>lib/xalan.jar</code></p>
- <p class="remark">Bitte beachten Sie: Wenn Sie J2SE 1.4.2 JRE oder J2SE 5.0 JRE verwenden, m&uuml;ssen Sie diese Bibliothek der Java VM als endorsed bekanntgeben. Sie k&ouml;nnen dies tun, indem Sie entweder</p>
- <ul>
- <li class="remark">die Bibliothek in das (ggf. vorher anzulegende) Verzeichnis <code>$JAVA_HOME/jre/lib/endorsed/</code> kopieren; oder</li>
- <li class="remark">die System Property <code>java.endorsed.dirs</code> verwenden, und als Wert den Pfad zu jenem Verzeichnis angeben, in dem Sie die Bibliothek vorhalten (also z.B. <code>java.endorsed.dirs=c:/mylibdir</code>).</li>
- </ul></td>
-</tr><tr>
-<td>Jaxen</td><td>1.0&nbsp; </td><td><code>lib/jaxen-core.jar</code>, <code>lib/jaxen-dom.jar</code>, <code>lib/saxpath.jar</code></td>
-
-</tr><tr>
-<td>Commons-Logging</td>
-<td>1.0.4&nbsp; </td>
-<td><code>lib/commons-logging-api.jar</code>, <code>lib/commons-logging.jar</code></td>
-</tr><tr>
-<td>Log4j</td><td>1.2.7&nbsp; </td><td><code>lib/log4j-1.2.7.jar</code></td>
-</tr><tr>
-<td>Commons-Discovery</td><td>0.2&nbsp; </td><td><code>lib/commons-discovery.jar</code></td>
-
-</tr><tr>
-<td>JSSE</td><td>1.0.3_01&nbsp; </td>
-<td><p>Diese Bibliotheken ben&ouml;tigen Sie nur, wenn Sie J2SE 1.3.1 verwenden:</p>
- <p><code>lib/ext13/jsse.jar</code>, <code>lib/ext13/jcert.jar</code>, <code>lib/ext13/jnet.jar</code></p>
- <p class="remark">Bitte beachten Sie: Diese Bibliotheken ben&ouml;tigen Sie nur, wenn Sie J2SE 1.3.1 verwenden.</p> </td>
-</tr><tr>
-<td>Postgres JDBC2</td><td>7.3&nbsp; </td><td><p><code>lib/pg73jdbc2.jar</code></p>
- <p><span class="remark">Bitte beachten Sie: Wenn Sie keine Datenbank f&uuml;r MOA SP/SS verwenden (vergleiche </span><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank">2.2.2</a><span class="remark">), ben&ouml;tigen Sie diese Bibliothek nicht.</span></p></td>
-</tr><tr>
-</tr>
-</tbody></table>
-
- <h3><a name="klassenbibliothek_basisinstallation_logging" id="klassenbibliothek_basisinstallation_logging"></a>3.1.4 Logging</h3>
- <p> Die MOA SP/SS Klassenbibliothek verwendet <a href="#referenziertesoftware">Jakarta Log4j</a> f&uuml;r die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Die im Abschnitt <a href="#webservice_basisinstallation_logging">2.1.3</a> gemachten Aussagen lassen sich gro&szlig;teils auf den Einsatz der MOA SP/SS Klassenbibliothek &uuml;bertragen. </p>
- <h2><a name="klassenbibliothek_erweiterungsmöglichkeiten" id="klassenbibliothek_erweiterungsmöglichkeiten"></a>3.2 Erweiterungsm&ouml;glichkeiten </h2>
- <p>Die im Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten">2.2</a> angef&uuml;hrten Erweiterungsm&ouml;glichkeiten f&uuml;r die MOA SP/SS Webservices gelten in analoger Weise auch f&uuml;r die Klassenbibliothek.</p>
- <h1><a name="referenzierte_software"></a>A Referenzierte Software</h1>
-<p>Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:</p>
-<table class="fixedWidth" border="1" cellpadding="2">
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Beschreibung</th>
- </tr>
- <tr>
- <td><a href="http://jakarta.apache.org/tomcat/index.html" target="_blank">Apache Tomcat 4.1.x </a></td>
- <td>Servlet-Container des Apache Jakarta Projekts in der Version 4.1.x </td>
- </tr>
- <tr>
- <td><a href="http://java.sun.com/j2se/1.4.2/" target="_blank">J2SE 1.4.2 SDK/JRE</a></td>
- <td>Java 2 Standard Edition in der Version 1.4.2 (Software Development Kit bzw. Java Runtime Environment) </td>
- </tr>
- <tr>
- <td><a href="http://java.sun.com/j2se/1.5.0/" target="_blank">J2SE 5.0 SDK/JRE</a> </td>
- <td>Java 2 Standard Edition in der Version 5.0 (Software Development Kit bzw. Java Runtime Environment) </td>
- </tr>
- <tr>
- <td><a href="http://logging.apache.org/log4j/" target="_blank">Apache Log4J </a></td>
- <td>Logging Framework des Apache Projekts </td>
- </tr>
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>result.showslmanifest</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser Konfigurationsparameter gibt an, ob MOA SL auf
+der Pr&uuml;fberichtseite unter den signierten Dokumenten auch ein
+eventuell vorhandenes, mitsigniertes <span class="term"><a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/aktuell/core/Core.html#signaturerstellungNachXMLDSIGAntwort">Signaturmanifest</a></span>
+nach Security-Layer V1.2 auflisten soll. </p>
+
+ <p>Der Konfigurationsparamter muss einen der Werte <code>true</code>
+oder <code>false</code> aufweisen. </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>false</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
</table>
+
+<h3><a name="konfiguration_konfigurationsdatei_umschreiben" id="konfiguration_konfigurationsdatei_umschreiben"></a>3.1.5
+Parameter f&uuml;r das Umschreiben der Links in der
+Pr&uuml;fberichtseite</h3>
+
+<p>Insbesondere zum Verst&auml;ndnis dieses Abschnitts
+sollten Sie zun&auml;chst&nbsp;das <a href="../system/system.html">Systemhandbuch</a> lesen.
+Dort werden der gesamte Ablauf eines Signaturpr&uuml;fvorgangs in
+MOA SL sowie die daran beteiligten Komponenten erkl&auml;rt. </p>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>rewrite</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser Konfigurationsparameter gibt an, ob MOA SL Links
+auf der Pr&uuml;fberichtseite umschreiben soll.</p>
+
+ <p>der&nbsp;</p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>true</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>rewrite.proxyURL</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser Konfigurationsparameter enth&auml;lt die URL
+des <span class="term">Rewrite-Proxy</span>. Der <span class="term">Rewrite-Proxy</span> ist jener Rechner,
+der (m&ouml;glicherweise im Gegensatz zum Rechner, auf dem MOA SL
+l&auml;uft) vom Internet aus erreichbar ist, und &uuml;ber den
+alle Anfragen vom Benutzer an MOA SL geleitet werden. </p>
+
+ <p>Teil der mit diesem Konfigurationsparameter angegebenen
+URL ist der Platzhalter f&uuml;r den Dom&auml;nennamen des <span class="term">Rewrite-Proxy</span>. Wie dieser
+Platzhalter aussehen muss, wird im Konfigurationsparameter <code>rewrite.proxyURL.proxyhostDummy</code>
+festgelegt. Im unten angegebenen Beispiel lautet der Platzhalter <code>&lt;proxyhost&gt;</code>.</p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>http://&lt;rewriteproxyhost&gt;:1234/rewrite</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>rewrite.proxyURL.proxyhostDummy</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser Konfigurationsparameter enth&auml;lt das
+Format f&uuml;r den Platzhalter f&uuml;r den
+Dom&auml;nennamen des <span class="term">Rewrite-Proxy</span>.
+Der Platzhalter im Konfigurationsparameter <code>rewrite.proxyURL</code>
+muss genau diesem Format entsprechen. </p>
+
+ <p>Notwendig ist dieser Platzhalter, weil MOA SL bei der
+Erstellung der Pr&uuml;fberichtseite alle Vorkommnisse dieses
+Platzhalters in der Pr&uuml;fberichtseite durch den
+Dom&auml;nennamen jener IP-Adresse ersetzt, von der aus der
+Signaturpr&uuml;frequest an MOA SL gesendet wurde. Die
+Konfiguration des dazu notwendigen <span class="term">Reverse
+DNS Lookup</span> geschieht mit dem Konfigurationsparameter <code>rewrite.dn.*</code>.
+ </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>&lt;rewriteproxyhost&gt;</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>rewrite.dn.*</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser (bzw. diese) Konfigurationsparameter definieren
+die Lookup-Tabelle f&uuml;r das <span class="term">Reverse
+DNS Lookup</span> im Zuge der Umschreibung von Links in der
+Pr&uuml;fberichtseite, damit diese ausschlie&szlig;lich
+&uuml;ber den <span class="term">Rewrite-Proxy</span>
+abgerufen werden k&ouml;nnen. </p>
+
+ <p>Der Aufbau der Konfigurationsparameter entspricht dabei
+dem Schema<code>
+rewrite.dn.&lt;IP-Adresse&gt;=&lt;Dom&auml;nenname&gt;</code>.
+ </p>
+
+ <p>Der Default-Dom&auml;nenname, der f&uuml;r die
+Umschreibung verwendet wird, wenn f&uuml;r die IP-Adresse des <span class="term">Rewrite-Proxy</span> kein Eintrag in der
+Lookup-Tabelle definiert wurde, wird wie folgt angegeben: <code>rewrite.dn.default=&lt;Dom&auml;nenname&gt;</code>.
+ </p>
+
+ <p>Das Beispiel geht von zwei m&ouml;glichen <span class="term">Rewrite-Proxys</span> aus, denen die
+IP-Adressen <code>192.168.0.101</code> bzw. <code>192.168.0.102</code>
+zugeordnet sind. Die nach au&szlig;en sichtbaren Namen dieser <span class="term">Rewrite-Proxys</span> lauten <code>rewriteproxyhost1</code>
+und <code>rewriteproxyhost2</code>. <code>rewriteproxyhost1</code>
+ist als Standard-<span class="term">Rewrite-Proxy</span>
+konfiguriert. </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>rewrite.dn.192.168.0.101=rewriteproxyhost1<br>
+
+rewrite.dn.192.168.0.102=rewriteproxyhost2<br>
+
+rewrite.dn.default=rewriteproxyhost1</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>rewrite.MOASLUrlParamName</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser Konfigurationsparameter gibt den Namen des
+URL-Parameters in den im Signaturpr&uuml;fbericht f&uuml;r den <span class="term">Rewrite-Proxy</span> umgeschriebenen
+Links an, dessen Wert die vom <span class="term">Rewrite-Proxy</span>
+f&uuml;r den tats&auml;chlichen Abruf von Daten von MOA SL
+enth&auml;lt.</p>
+
+ <p>Am Wert dieses Konfigurationsparameters erkennt der <span class="term">Rewrite-Proxy</span>, wie der
+HTTP-Request an den <span class="term">Rewrite-Proxy</span>
+in einen HTTP-Request an das MOA SL Webservice umzusetzen ist. Lautet
+eine im Signaturpr&uuml;fbericht enthaltene URL z.B. <code>http://rewriteproxyhost1:1234/rewrite?targetURL=http://moaslhost:8080/moa-sl/showdata?hidCount=0</code>,
+dann geht zun&auml;chst ein HTTP-Request an den <span class="term">Rewrite-Proxy </span>(der auf dem
+Rechner mit dem Namen <code>rewriteproxyhost1 unter Port 1234
+lauscht)</code>. Der <span class="term">Rewrite-Proxy</span>
+entnimmt nun aus dem URL-Parameter <code>targetURL</code>
+die URL f&uuml;r die Umsetzung an MOA SL, also <code>http://moaslhost:8080/moa-sl/showdata?hidCount=0</code>.
+Der <span class="term">Rewrite-Proxy</span> setzt
+nun einen entsprechenden HTTP-Request an MOA SL ab; die Antwort von MOA
+SL wird als Antwort auf den an den <span class="term">Rewrite-Proxy</span>
+gerichteten HTTP-Request weitergegeben. </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>targetURL</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<table class="fixedWidth" border="1" cellpadding="2">
+
+ <tbody>
+
+ <tr>
+
+ <td>Name</td>
+
+ <td><code>rewrite.MOASLWebAppServUrl</code></td>
+
+ </tr>
+
+ <tr>
+
+ <td>Erl&auml;uterung</td>
+
+ <td>
+ <p>Dieser Konfigurationsparameter gibt jene URL an, unter
+der der Webapplikationsserver mit MOA SL vom <code>Rewrite-Proxy</code>
+aus erreichbar ist.</p>
+
+ <p>Die URL besteht aus Protokoll, Dom&auml;nennamen
+sowie gegebenenfalls Port (wenn dieser nicht dem Standardport
+f&uuml;r das Protokoll entspricht). Nach dem Dom&auml;nennamen
+bzw. Port d&uuml;rfen keine weiteren Bestandteile mehr vorkommen. </p>
+
+ <p>Verwendung findet dieser Konfigurationsparameter als
+erster Teil des Werts f&uuml;r den oben besprochenen URL-Parameter (<code>rewrite.sliUrlParamName</code>).
+ </p>
+
+ </td>
+
+ </tr>
+
+ <tr>
+
+ <td>Beispiel</td>
+
+ <td>
+ <p><code>http://moaslhost:8080</code></p>
+
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+<h2><a name="konfiguration_layout" id="konfiguration_layout"></a>3.2 Layout des
+Pr&uuml;fberichts </h2>
+
+<p>Die einzige Schnittstelle des MOA SL Webservices zum Benutzer
+ist der Pr&uuml;fbericht &uuml;ber die eingereichte Signatur,
+den das Service dem Benutzer in einer f&uuml;r ihn gut
+aufbereiteten Form darstellt, bevor das automatisch auswertbare
+Pr&uuml;fprotokoll an die aufrufende Applikation
+zur&uuml;ck&uuml;bermittelt (f&uuml;r eine
+Erkl&auml;rung des gesamten Signaturpr&uuml;fvorgangs in MOA SL
+sowie der daran beteiligten Komponenten vergleiche&nbsp;das <a href="../system/system.html">Systemhandbuch</a>). </p>
+
+<p>Das Layout des Pr&uuml;fberichts, das in der JSP-Seite <code>$MOA_SL_WEBAPP/pages/resultOverview.jsp</code>
+(<code>$MOA_SL_WEBAPP</code> steht f&uuml;r den Ort der
+Webapplikatioin, f&uuml;r gew&ouml;hnlich ist das<code>
+$CATALINA_HOME/webapps</code>) festgelegt ist, kann
+v&ouml;llig frei gestaltet werden. </p>
+
+<p>Wenn Sie das Layout gegen&uuml;ber der Vorgabe
+ver&auml;ndern m&ouml;chten, editieren Sie einfach die
+HTML-Teile dieser JSP-Seite. Beachten Sie bitte, dass Sie dabei die
+JSP-Scriptelemente unver&auml;ndert lassen. JSP-Scriptelemente sind
+entweder Tags, die mit dem Pr&auml;fix <code>jsp</code>
+gekennzeichnet sind (z.B. <code>&lt;jsp:useBean&gt;</code>
+oder <code>&lt;jsp:getProperty&gt;</code>, oder
+Bereiche die mit der Kennzeichnung <code>&lt;%</code>
+eingeleitet bzw. mit der Kennzeichnung <code>%&gt;</code>
+ausgeleitet werden. </p>
+
+<h1><a name="testapp" id="testapp"></a>4
+Durchlaufen der Testapplikation</h1>
+
+<p>Konnte das MOA SL Webservice entsprechend Abschnitt <a href="#installation_tomcatstartstop_verify">2.5.4</a>
+erfolgreich initialisiert werden, und haben Sie weiters die
+Konfiguration des MOA SL Webservices entsprechend Abschnitt <a href="#konfiguration">3</a> an Ihre Anforderungen
+angepasst, sollten Sie schlie&szlig;lich pr&uuml;fen, ob die
+mit MOA SL mitgelieferte Testapplikation erfolgreich durchlaufen werden
+kann.</p>
+
+<p>Beginnen Sie bitte, in dem Sie einen Webbrowser starten und
+sich mit folgender Seite verbinden, die Teil des MOA SL Webservices
+ist. Sollte Ihre Tomcat-Installation unter einer anderen Adresse als <code>localhost:8080</code>
+erreichbar sein, passen Sie die URL bitte entsprechend an.</p>
+
+<pre>http://localhost:8080/moa-sl/pages/test/forms/verify.slxhtml.jsp</pre>
+
+<p>Die aufgerufene Webseite sollte in etwa wie folgt aussehen
+(f&uuml;r eine gr&ouml;&szlig;ere Darstellung bitte
+klicken):</p>
+
+<p style="text-align: center;"><a href="images/testapp.screen1.png" target="_blank"><img src="images/testapp.screen1.png" alt="pplikation - Screen 1" border="0" height="287" width="400"></a></p>
+
+<p>Durch Abschicken des dargestellten Formulars wird ein
+vorbereiteter Signaturpr&uuml;fungsrequest entsprechend der
+Spezifikation des Security-Layers an MOA SL &uuml;bermittelt. Als
+weiterer Parameter wird eine DataURL ebenfalls ensprechend der
+Spezifikation des Security-Layers angegeben. Beide Parameter sind auf
+das installierte MOA SL Webservice abgestimmt und k&ouml;nnen
+unver&auml;ndert &uuml;bernommen werden. </p>
+
+<p>Wenn das Formular an an MOA SL &uuml;bermittelt wurde,
+antwortet MOA SL mit dem Signaturpr&uuml;fbericht, der in etwa wie
+folgt aussehen sollte:</p>
+
+<p style="text-align: center;"><a href="images/testapp.screen2.png" target="_blank"><img src="images/testapp.screen2.png" alt="pplikation - Screen 2" height="458" width="400"></a></p>
+
+<p>Sollten Sie an statt des Pr&uuml;fberichts eine
+Fehlerseite von Tomcat erhalten, liegt das mit hoher Wahrscheinlichkeit
+daran, dass das Zusammenspiel von MOA SL mit MOA SPSS nicht korrekt
+konfiguriert wurde. Pr&uuml;fen Sie dann Ihre Konfiguration
+entsprechend den Angaben in Abschnitt <a href="#konfiguration_konfigurationsdatei_moasp">3.1.3</a>.</p>
+
+<p>Wenn Sie den Pr&uuml;fbericht zwar erhalten, der Text zu
+Pr&uuml;fungen/Zertifikat jedoch in rot gehalten ist und auf einen
+Fehler bei der Zertifikatspr&uuml;fung hinweist, wurde das
+f&uuml;r die Testapplikation notwendige Vertrauensprofil in MOA
+SPSS nicht korrekt konfiguriert. Folgen Sie dann den Hinweisen in
+Abschnitt <a href="#konfiguration_konfigurationsdatei_moasp">3.1.3</a>.</p>
+
+<p>Der Pr&uuml;fbericht selbst enth&auml;lt Informationen
+zum Ersteller der Signatur, zum Aussteller des Zertifikats,
+&uuml;ber Seriennummer und Qualit&auml;t des Zertifikats, sowie
+&uuml;ber die durchgef&uuml;hrten Pr&uuml;fungen
+bez&uuml;glich der Signatur selbst sowie des verwendeten
+Zertifikats. Nach diesen Informationen enth&auml;lt der
+Pr&uuml;fbericht eine Liste der von der Signatur gesicherten
+Dokumente. In unserem Fall erstreckt sich die Signatur &uuml;ber
+genau ein Dokument. Dieses Dokument kann durch einen Klick auf den
+entsprechenden Link in einem neuen Fenster ge&ouml;ffnet werden.
+Das ge&ouml;ffnete Dokument sollte in etwa wie folgt aussehen:</p>
+
+<p style="text-align: center;"><a href="images/testapp.screen3.png" target="_blank"><img src="images/testapp.screen3.png" alt="Testapplikation - Screen 3" height="100" width="400"></a>
+</p>
+
+<p>Wenn Sie schlie&szlig;lich im Pr&uuml;fbericht dem
+Link <span class="term">Zur&uuml;ck zur Anwendung ...</span>
+folgen, gelangen Sie zur Abschlussseite der Testapplikation:</p>
+
+<p style="text-align: center;"><a href="images/testapp.screen4.png" target="_blank"><img src="images/testapp.screen4.png" alt="Testapplikation - Screen 4" border="0" height="290" width="400"></a></p>
+
+<p> Die Abschlussseite pr&auml;sentiert in Tabellenform die
+Informationen, die vom MOA SL Webservice als automatisch auswertbare
+Information entsprechend der Spezifikation des Security-Layers an den <code>DataURL</code>-Server
+(vergleiche Parameter auf der Startseite der Testapplikation)
+&uuml;bermittelt. Im Wesentlichen ist das der
+Signaturpr&uuml;fresponse entsprechend der Spezifikation des
+Security-Layers. </p>
+
</body>
</html>
diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.VSD b/spss.slinterface/handbook/system/images/Zusammenspiel.VSD
new file mode 100644
index 000000000..0088d5109
--- /dev/null
+++ b/spss.slinterface/handbook/system/images/Zusammenspiel.VSD
Binary files differ
diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png b/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png
new file mode 100644
index 000000000..4e7fcda67
--- /dev/null
+++ b/spss.slinterface/handbook/system/images/Zusammenspiel.mit.png
Binary files differ
diff --git a/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png b/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png
new file mode 100644
index 000000000..0dc944cb9
--- /dev/null
+++ b/spss.slinterface/handbook/system/images/Zusammenspiel.ohne.png
Binary files differ
diff --git a/spss.slinterface/handbook/system/system.html b/spss.slinterface/handbook/system/system.html
index eb287ee8a..b911d84c8 100644
--- a/spss.slinterface/handbook/system/system.html
+++ b/spss.slinterface/handbook/system/system.html
@@ -1,486 +1,512 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
+
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
- <title>MOA SS und SP - Installation</title>
+ <title>MOA SL - Systemhandbuch</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">
+
+
+<body style="color: rgb(0, 0, 0); background-color: white;" alink="#cc9966" link="#990000" vlink="#666666">
+
+<table class="logoTable" border="0" cellpadding="10" cellspacing="0" width="100%">
+
+ <tbody>
+
<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 class="logoTitle" align="center" width="267"><img src="../common/LogoBKA.png" alt="Logo BKA" align="left" height="37" width="267"></td>
+
+ <td class="logoTitle" align="center">Open
+Source<br>
+
+f&uuml;r das E-Government</td>
+
+ <td class="logoTitle" align="center" width="123"><img src="../common/LogoMoa4c.jpg" alt="Logo MOA" align="right" height="138" width="123"></td>
+
</tr>
- </table>
- <hr/>
- <p class="title"><a href="../index.html">MOA: Serversignatur (SS) und Signaturpr&uuml;fung (SP), V 1.3</a></p>
- <p class="subtitle">Installation</p>
- <hr/>
- <h1>Inhalt</h1>
- <ol>
- <li>
- <p><a href="#&#220;bersicht">&Uuml;bersicht</a></p>
- </li>
- <li>
- <p><a href="#webservice">Webservice</a></p>
- <ol>
- <li><a href="#webservice_basisinstallation">Basisinstallation</a>
- <ol>
- <li><a href="#webservice_basisinstallation_einf&#252;hrung">Einf&uuml;hrung</a></li>
- <li><a href="#webservice_basisinstallation_installation">Installation</a>
- <ol>
- <li><a href="#webservice_basisinstallation_installation_vorbereitung">Vorbereitung</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig">Konfiguration von Apache Tomcat</a>
- <ol>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpconn">Konfiguration des HTTP Connectors</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpsconn">Konfiguration des HTTPS Connectors</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_moaadmin">Einrichten des MOA SP/SS Administrators</a></li>
- </ol>
- </li>
- <li><a href="#webservice_basisinstallation_installation_spssdeploy">Einsatz des MOA SP/SS Webservices in Tomcat</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatconfig_httpsconn">Starten und Stoppen von Tomcat</a>
- <ol>
- <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_windows">Unter Windows</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_unix">Unter Unix</a></li>
- <li><a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">Pr&uuml;fen des erfolgreichen Starts</a> </li>
- </ol>
- </li>
- <li><a href="#webservice_basisinstallation_installation_changeonthefly">&Auml;nderung der Konfiguration im laufenden Betrieb</a></li>
- </ol>
- </li>
- <li><a href="#webservice_basisinstallation_logging">Logging</a>
- <ol>
- <li><a href="#webservice_basisinstallation_logging_format">Format der Log-Meldungen</a></li>
- <li><a href="#webservice_basisinstallation_logging_messages">Wichtige Log-Meldungen</a></li>
- </ol>
- </li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten">Erweiterungsm&ouml;glichkeiten</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver">Vorgeschalteter Webserver</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis">Microsoft Internet Information Server (MS IIS)</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_jk">Konfiguration von <span class="term">Jakarta mod_jk</span> im MS IIS</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_tomcat">Konfiguration von Tomcat</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_ssl">Konfiguration von SSL</a></li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache">Apache</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache_jk">Konfiguration von <span class="term">Jakarta mod_jk</span> im Apache </a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache_tomcat">Konfiguration von Tomcat</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_apache_ssl">Konfiguration von SSL mit <span class="term">mod_SSL</span></a></li>
- </ol>
- </li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank">Datenbank</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql">PostgreSQL</a> <ol>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_benutzer">Anlegen eines Benutzers und einer Datenbank f&uuml;r MOA SP/SS</a></li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_crls">Archivierung von CRLs</a> </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_logging">Logging</a></li>
- </ol>
- </li>
- <li><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_andere">Andere Datenbanken</a> </li>
- </ol>
- </li>
- </ol>
- </li>
- </ol>
- <li><a href="#klassenbibliothek">Klassenbibliothek</a>
- <ol>
- <li><a href="#klassenbibliothek_basisinstallation">Basisinstallation</a>
- <ol>
- <li><a href="#klassenbibliothek_basisinstallation_einfuehrung">Einf&uuml;hrung</a></li>
- <li><a href="#klassenbibliothek_basisinstallation_vorbereitung">Vorbereitung</a></li>
- <li><a href="#klassenbibliothek_basisinstallation_verwendung">Verwendung</a></li>
- <li><a href="#klassenbibliothek_basisinstallation_logging">Logging</a></li>
- </ol>
- </li>
- <li><a href="#klassenbibliothek_erweiterungsm&#246;glichkeiten">Erweiterungsm&ouml;glichkeiten</a></li>
- </ol>
- </li>
- </ol>
- <ol type="A">
- <li><a href="#referenzierte_software">Referenzierte Software</a></li>
- </ol>
- <hr/>
- <h1><a name="übersicht" id="übersicht"></a>1 &Uuml;bersicht</h1>
- <p> Die Module Signaturpr&uuml;fung (SP) und Serversignatur (SS) sind als plattformunabh&auml;ngige Module ausgelegt, die entweder als Webservice &uuml;ber HTTP bzw. HTTPS oder als Klassenbibliothek &uuml;ber ein API angesprochen werden k&ouml;nnen. Dieses Handbuch beschreibt die Installation der beiden Module als Webservice oder als Klassenbibliothek, sowie die Einrichtung der Systemumgebung.</p>
- <h1><a name="webservice"></a>2 Webservice </h1>
- <p>Dieser Abschnitt beschreibt die Installation von MOA SP/SS als Webservice. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsm&ouml;glichkeiten auf.</p>
- <h2><a name="webservice_basisinstallation" id="webservice_basisinstallation"></a>2.1 Basisinstallation</h2>
- <h3><a name="webservice_basisinstallation_einführung" id="webservice_basisinstallation_einführung"></a>2.1.1 Einf&uuml;hrung </h3>
- <p> Die Basisinstallation des Webservices stellt einerseits die minimalen Anforderungen f&uuml;r den Betrieb von MOA SP/SS als Webservices dar, andererseits dient sie als Ausgangspunkt f&uuml;r optionale <a href="#webservice_erweiterungsm&#246;glichkeiten">Erweiterungsm&ouml;glichkeiten</a>.</p>
- <p> Folgende Software ist Voraussetzung f&uuml;r die Basisinstallation des Webservices: </p>
- <ul>
- <li><a href="#referenziertesoftware">J2SE 1.3.1 SDK oder J2SE 1.4.2 SDK oder J2SE 5.0 SDK </a></li>
- <li><a href="#referenziertesoftware">Apache Tomcat 4.1.18 oder h&ouml;her </a></li>
- </ul>
- <p>In diesem Betriebs-Szenario wird das MOA SP/SS Webservice in Tomcat zum Einsatz gebracht. Tomcat fungiert gleichzeitig als HTTP- und HTTPS-Endpunkt f&uuml;r das MOA SP/SS Webservice. Beide Protokolle werden direkt in Tomcat konfiguriert. Das MOA SP/SS Webservice verwendet Log4j als Logging Toolkit.</p>
- <h3><a name="webservice_basisinstallation_installation" id="webservice_basisinstallation_installation"></a>2.1.2 Installation</h3>
- <h4><a name="webservice_basisinstallation_installation_vorbereitung" id="webservice_basisinstallation_installation_vorbereitung"></a>2.1.2.1 Vorbereitung</h4>
- <p>Die folgenden Schritte dienen der Vorbereitung der Installation.</p>
- <dl>
- <dt>Installation von J2SE SDK</dt>
- <dd>Installieren Sie <a href="#referenziertesoftware">J2SE 1.3.1 SDK</a> oder <a href="#referenziertesoftware">J2SE 1.4.2 SDK</a> oder <a href="#referenziertesoftware">J2SE 5.0 SDK</a> in ein beliebiges Verzeichnis. Wir empfehlen die Installation von <a href="#referenziertesoftware">J2SE 5.0 SDK</a>. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> bezeichnet. </dd>
- <dt>Installation von Apache Tomcat 4.1</dt>
- <dd> Installieren Sie <a href="#referenziertesoftware">Apache Tomcat 4.1.18</a> oder h&ouml;her in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enth&auml;lt. Wir empfehlen die Installation von <a href="#referenziertesoftware">Apache Tomcat 4.1.31</a>. Verwenden Sie bitte die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als <code>$CATALINA_HOME</code> bezeichnet.</dd>
- <dt>Entpacken der MOA SP/SS Webservice Distribution</dt>
- <dd> Entpacken Sie die Datei <code>moa-spss-1.2.x.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd>
- <dt>Installation der Krypographiebibliotheken von SIC/IAIK</dt>
- <dd>
- <p>Die Installation der Kryptographiebibliotheken von <a href="http://jce.iaik.tugraz.at/" target="_blank">SIC/IAIK</a> ist abh&auml;ngig vom eingesetzten J2SE SDK:</p>
- <dl>
- <dt>J2SE 1.3.1 SDK</dt>
- <dd>Kopieren Sie alle Dateien aus dem Verzeichnis
-
-
- <code>$MOA_SPSS_INST/ext13</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>.</dd>
- <dt>J2SE 1.4.2 SDK oder JSE 5.0 SDK </dt>
- <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext14</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zus&auml;tzlich m&uuml;ssen Sie die Rechtedateien Ihres J2SE 1.4.2 SDK bzw. J2SE 5.0 SDK austauschen. Laden Sie dazu die <span class="term">Unlimited Strength
-
-
- Jurisdiction Policy Files</span> von der <a href="http://java.sun.com/j2se/1.4.2/download.html" target="_blank">J2SE 1.4.2 SDK Downloadseite</a> bzw. <a href="http://java.sun.com/j2se/1.5.0/download.html">J2SE 5.0 SDK Downloadseite</a> und folgen Sie der darin enthaltenen Installationsanweisung. </dd>
- </dl>
- </dd>
- </dl>
- <h4><a name="webservice_basisinstallation_installation_tomcatconfig" id="webservice_basisinstallation_installation_tomcatconfig"></a>2.1.2.2 Konfiguration von Apache Tomcat</h4>
- <p> Die zentrale Konfigurations-Datei von Tomcat ist <code>$CATALINA_HOME/conf/server.xml</code>. Tomcat wird grunds&auml;tzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enth&auml;lt und viele Ports offen l&auml;sst. </p>
- <h5><a name="webservice_basisinstallation_installation_tomcatconfig_httpconn" id="webservice_basisinstallation_installation_tomcatconfig_httpconn"></a>2.1.2.2.1 Konfiguration des HTTP Connectors</h5>
- <p> Die Datei <code>$MOA_SPSS_INST/tomcat/server.xml</code> enth&auml;lt eine minimale Tomcat-Konfiguration, die ausschlie&szlig;lich den Connector f&uuml;r HTTP auf Port 8080 freischaltet. Durch kopieren dieser Datei nach <code>$CATALINA_HOME/conf/server.xml</code> kann Tomcat mit dieser Konfiguration gestartet werden. Wir empfehlen diese Konfiguration nur f&uuml;r F&auml;lle, in denen das MOA SP/SS Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird. </p>
- <h5><a name="webservice_basisinstallation_installation_tomcatconfig_httpsconn" id="webservice_basisinstallation_installation_tomcatconfig_httpsconn"></a>2.1.2.2.2 Konfiguration des HTTPS Connectors</h5>
- <p>Wird das MOA SP/SS Webservice in einer nicht abgeschlossenen Umgebung (z.B. Erreichbarkeit &uuml;ber das Internet) betrieben, ist die gegenseitige Identit&auml;tsfeststellung von Kunde und Webservice essentiell: </p>
- <ul>
- <li> Nutzt ein Kunde MOA SP, ist es f&uuml;r ihn wichtig, die Identit&auml;t des Webservice eindeutig feststellen zu k&ouml;nnen, denn er vertraut dem Webservice ja die Pr&uuml;fung einer elektronischen Signatur an.</li>
- <li>Nutzt ein Kunde MOA SS, ist es f&uuml;r ihn wesentlich, dass nur er Zugriff auf die f&uuml;r ihn vom Webservice verwalteten privaten Schl&uuml;ssel hat, um elektronische Signaturen zu erstellen. Das Webservice muss also die Identit&auml;t des Kunden pr&uuml;fen. </li>
- </ul>
- <p>Beide Identit&auml;tspr&uuml;fungen k&ouml;nnen mit hoher Qualit&auml;t vorgenommen werden, wenn die Erreichbarkeit des Webservice auf SSL mit Server- (f&uuml;r MOA SP) bzw. Client- und Serverauthentisierung (f&uuml;r MOA SS) eingeschr&auml;nkt wird. </p>
- <p>F&uuml;r die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zun&auml;chst ist der HTTP Connector abzuschalten (auszukommentieren). Anschlie&szlig;end ist der HTTPS Connector zu konfigurieren. Das Dokument <a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/ssl-howto.html">Tomcat SSL Configuration HOW-TO </a> gibt einen guten &Uuml;berblick dazu. Grob zusammengefasst sind folgende Schritte durchzuf&uuml;hren: </p>
- <ul>
- <li>Erstellung eines <span class="term">Server-Keystores</span>, der den privaten Schl&uuml;ssel sowie das zugeh&ouml;rige Zertifikat des Webservices enth&auml;lt, mit dem es sich bei Aufbau einer SSL-Verbindung gegen&uuml;ber dem Kunden ausweist.sowie das dazugeh&ouml;rige ZertiServer-Zertifikat enth&auml;lt. Sie k&ouml;nnen diesen Keystore z.B. mit <code>keytool</code> erstellen, einem Programm, das Ihrem J2SE SDK beiliegt.</li>
- <li>Erstellung eines <span class="term">Client-Keystores</span>, der die Zertifikate aller Kunden des Webservices enth&auml;lt. Nur Kunden des Webservices, die sich beim Aufbau einer SSL-Verbindung gegen&uuml;ber dem Webservice mit einem im <span class="term">Client-Keystore</span> enthaltenen Zertifikat ausweisen, erhalten grunds&auml;tzlich Zugriff zu den Diensten des Webservices (f&uuml;r die Konfiguration, welcher Kunde welche Schl&uuml;ssel von MOA SS verwenden darf, siehe <a href="../config/config.html#konfigurationsparameter_ss_keygroupmapping">Abschnitt 2.2.3 des Konfigurationshandbuchs</a>). Auch dieser Keystore kann z.B. mit <code>keytool</code> erstellt werden. Dieser Keystore ist optional und braucht nur erstellt zu werden, wenn sich die Kunden gegen&uuml;ber dem Webservice authentisieren m&uuml;ssen. </li>
- <li>Konfiguration des HTTPS Connectors in <code>$CATALINA_HOME/conf/server.xml</code>.</li>
- </ul>
- <p>Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden &uuml;bernimmt (siehe <a href="#webservice_erweiterungsm&#246;glichkeiten_webserver">Abschnitt 2.2.1</a>).</p>
- <h5><a name="webservice_basisinstallation_installation_tomcatconfig_moaadmin" id="webservice_basisinstallation_installation_tomcatconfig_moaadmin"></a>2.1.2.2.3 Einrichten des MOA SP/SS Administrators </h5>
- <p>Das MOA SP/SS Webservice kann <span class="term">remote</span> durch den Aufruf einer speziellen URL des Webservices dazu veranlasst werden, seine Konfiguration neu einzulesen (vergleiche Abschnitt <a href="#webservice_basisinstallation_installation_changeonthefly">2.1.2.5</a>). Der Zugriff auf diese URL ist durch eine Passwort-Abfrage gesch&uuml;tzt, und kann nur von Tomcat-Benutzern aufgerufen werden, denen die Tomcat-Benutzer-Rolle <code>moa-admin</code> zugeordnet wurde.</p>
- <p> Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, m&uuml;ssen in der Datei <code>$CATALINA_HOME/conf/tomcat-users.xml </code>unter dem Element <code>&lt;tomcat-users&gt;</code> sinngem&auml;&szlig; folgende Eintr&auml;ge hinzugef&uuml;gt werden: </p>
- <p>
- <pre>&lt;role rolename="moa-admin"/&gt;
-&lt;user username="moa-chief" password="openSesam" roles="moa-admin"/&gt; </pre>
-<p>Soll der Aufruf dieser URL niemandem erm&ouml;glicht werden, sind die oben beschriebenen Eintr&auml;ge einfach nicht vorzunehmen.</p>
-
-<h4><a name="webservice_basisinstallation_installation_spssdeploy" id="webservice_basisinstallation_installation_spssdeploy"></a>2.1.2.3 Einsatz des MOA SP/SS Webservices in Tomcat</h4>
-<p> Um das MOA SP/SS Webservice in Tomcat f&uuml;r den Einsatz vorzubereiten, sind folgende Schritte notwendig:</p>
+
+ </tbody>
+</table>
+
+<hr>
+<p class="title"><a href="../index.html">MOA:
+Serverseitige Signaturpr&uuml;fung (SL), V 1.1</a></p>
+
+<p class="subtitle">Systemhandbuch</p>
+
+<hr>
+<h1>Inhalt</h1>
+
+<ol>
+
+ <li>
+ <p><a href="#einf%FChrung">Einf&uuml;hrung</a></p>
+
+ </li>
+
+ <li><a href="#%FCberblick">&Uuml;berblick</a></li>
+
+ <li> <a href="#komponenten">Komponenten</a>
+ <ol>
+
+ <li><a href="#komponenten.sl2moafilter">Der
+Filter <code>SL2MOAFilter</code></a>
+ </li>
+
+ <li><a href="#komponenten.moaservlet">Das
+Servlet <code>MOAServlet</code></a>
+ </li>
+
+ <li><a href="#komponenten.resultoverview">Die
+JSP-Seite <code>resultOverview.jsp</code></a>
+ </li>
+
+ <li><a href="#komponenten.hashinputservlet">Das
+Servlet&nbsp;<code>HashInputDataServlet</code></a></li>
+
+ <li><a href="#komponenten.returnservlet">Das
+Servlet <code>ReturnServlet</code></a></li>
+
+ <li><a href="#komponenten.urlrewriter">Die
+Klasse URLRewriter</a></li>
+
+ <li><a href="#komponenten.webxml">Der
+Deployment Descriptor web.xml</a></li>
+
+ </ol>
+
+ </li>
+
+ <li><a href="#zusammenspiel">Zusammenspiel der
+Komponenten</a>
+ <ol>
+
+ <li><a href="#zusammenspiel.basis">Basisablauf</a></li>
+
+ <li><a href="#zusammenspiel.rewrite">Ablauf mit Rewrite-Proxy</a></li>
+
+ </ol>
+
+ </li>
+
+</ol>
+
+<hr>
+<h1><a name="einf&uuml;hrung" id="einf&uuml;hrung"></a>1
+Einf&uuml;hrung </h1>
+
+<p>Das Modul <span class="term">Serverseitige
+Signaturpr&uuml;fung</span> (MOA SL) ist als
+plattformunabh&auml;ngiges Modul ausgelegt, das als Webservice
+&uuml;ber HTTP bzw. HTTPS angesprochen werden kann. </p>
+
+<p>Dieses Handbuch beschreibt den Aufbau von MOA SL. Abschnitt 2
+bietet einen groben &Uuml;berblick &uuml;ber die Funktionsweise
+von MOA SL. Abschnitt 3 beschreibt die einzelnen Komponenenten, aus
+denen MOA SL aufgebaut ist. Abschnitt 4 schlie&szlig;lich
+beschreibt das Zusammenspiel der einzelnen Komponenten.</p>
+
+<p>F&uuml;r die Installation und die Konfiguration von MOA SL
+siehe <a href="../operation.html">Betriebshandbuch</a>.
+</p>
+
+<h1><a name="&uuml;berblick" id="&uuml;berblick"></a>2
+&Uuml;berblick</h1>
+
+<p>Das Modul <span class="term">Serverseitige
+Signaturpr&uuml;fung</span> (MOA SL) bietet f&uuml;r
+Signaturpr&uuml;fung eine serverseitige Implementierung einer
+B&uuml;rgerkarten-Umgebung entsprechend den <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen
+zur &ouml;sterreichischen B&uuml;rgerkarte</a> in der
+Version 1.2. </p>
+
+<p>Der Funktionsumfang von MOA SL kann wie folgt zusammengefasst
+werden:</p>
+
<ul>
- <li>Die Datei <code>$MOA_SPSS_INST/moa-spss.war</code> enth&auml;lt das einsatzfertige MOA SP/SS Webarchiv und muss ins Verzeichnis <code>$CATALINA_HOME/webapps</code> kopiert werden. Dort wird sie beim ersten Start von Tomcat automatisch ins Verzeichnis <code>$CATALINA_HOME/webapps/ moa-spss</code> entpackt. </li>
- <li>Die zentrale Konfigurationsdatei f&uuml;r MOA SP/SS und die zugeh&ouml;rigen Profil-Verzeichnisse m&uuml;ssen in ein beliebiges Verzeichnis im Dateisystem kopiert werden (z.B. <code>$CATALINA_HOME/conf/moa-spss</code>). Eine funktionsf&auml;hige Konfiguration, die als Ausgangspunkt f&uuml;r die Konfiguration des MOA SP/SS Webservices dienen kann, finden Sie <a href="../../conf/moa-spss/spss.config.xml">hier</a>. </li>
- <li>Wird Tomcat unter J2SE 1.4.x SDK oder höher betrieben, müssen die Dateien <code>xalan.jar</code>, <code>xercesImpl.jar</code> und <code>xmlParserAPIs.jar</code> aus dem Verzeichnis <code>$MOA_SPSS_INST/endorsed14</code> in das Tomcat-Verzeichnis <code>$CATALINA_HOME/common/endorsed</code> kopiert werden. Sind gleichnamige Dateien dort bereits vorhanden, m&uuml;ssen sie &uuml;berschrieben werden. Die ggf. in diesem Verzeichnis vorhandene Datei <code>xml-apis.jar</code> muss gel&ouml;scht werden.</li>
- <li>Folgende <span class="term">System Properties</span> k&ouml;nnen gesetzt werden (wird beim Starten von Tomcat der <span class="term">Java Virtual Machine</span> in der Umgebungsvariablen <code>CATALINA_OPTS</code> in der Form <code>-D&lt;name&gt;=&lt;wert&gt;</code> &uuml;bergeben):
- <ul>
- <li id="klein"><code>moa.spss.server.configuration</code>: Pfad und Name der zentralen Konfigurationsdatei f&uuml;r MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../../conf/moa-spss/spss.config.xml">hier</a>. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/conf</code> enthaltene Default-Konfiguration herangezogen.</li>
- <li id="klein"><code>log4j.configuration</code>: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie <a href="../../conf/moa-spss/log4j.properties">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen.</li>
- <li id="klein"><code>moa.node.id</code>: Frei w&auml;hlbarer Name des Rechner-Knotens, auf dem MOA SP/SS l&auml;uft. Der Name des Knotens wird bei Log-Ausgaben von MOA SP/SS angef&uuml;hrt und dient zur Unterscheidung mehrerer gleichzeitig betriebener MOA SP/SS Webservice-Instanzen. </li>
- <li id="klein"><code>javax.net.ssl.trustStore</code>: Pfad und Dateiname des <span class="term">Truststores</span> f&uuml;r vertrauensw&uuml;rdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden soll). Ein relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li>
- <li id="klein"><code>javax.net.ssl.trustStorePassword</code>: Passwort f&uuml;r den <span class="term">Truststore</span> (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden soll). </li>
- <li id="klein"><code>javax.net.ssl.trustStoreType</code>: Truststore-Typ (optional; nur, wenn SSL Client-Authentisierung durchgef&uuml;hrt werden soll). Je nach verwendetem Keystore-Typ muss <code>jks</code> (<span class="term">Java Key Store</span>) oder <code>pkcs12</code> (PKCS#12-Datei) angegeben werden.</li>
- </ul>
+
+ <li>Von den XML-Befehlen der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/core/Core.html">Applikationsschnittstelle
+Security-Layer</a> wird genau ein Befehl unterst&uuml;tzt,
+und zwar jener zur Pr&uuml;fung von XML-Signaturen (<span class="term">VerifyXMLSignature</span>).</li>
+
+ <li>Hinsichtlich der <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html">Transportprotokolle
+des Security-Layer</a> wird ausschlie&szlig;lich die
+HTTP-Bindung unterst&uuml;tzt, wobei f&uuml;r diese Bindung
+zus&auml;tzlich folgende Einschr&auml;nkungen gelten:
+ <ul>
+
+ <li>Keine Unterst&uuml;tzung der Formularparameter
+RedirectURL und StylesheetURL.</li>
+
+ <li>Verpflichtende Verwendung des Formularparameters
+DataURL. </li>
+
+ <li>Keine Unterst&uuml;tzung von Weitergabe-Parametern
+und Weitergabe-Headern.</li>
+
+ <li>Keine Referenzierbarkeit von Formularfeldern.</li>
+
+ <li>Hinsichtlich der Ablaufsteuerung laut <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html#http.ablauf.schritte">Abschnitt
+3.2.3</a> wird ausschlie&szlig;lich Fall 5e
+unterst&uuml;tzt. </li>
+
+ </ul>
+
</li>
+
+ <li>Hinsichtlich der Anzeigeformate des Security-Layer wird
+ausschlie&szlig;lich das <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/minimum/Minimum.html#anzeigeformate.formate.slxhtml">Standardanzeigeformat
+des Security-Layers</a> unterst&uuml;tzt. Liegen die von der
+zu pr&uuml;fenden Signatur gesicherten Daten in einem anderen
+Format vor, k&ouml;nnen diese nicht angezeigt, sondern stattdessen
+per Download bezogen werden. </li>
+
</ul>
-<h4><a name="webservice_basisinstallation_installation_tomcatstartstop" id="webservice_basisinstallation_installation_tomcatstartstop"></a>2.1.2.4 Starten und Stoppen von Tomcat</h4>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_windows" id="webservice_basisinstallation_installation_tomcatstartstop_windows"></a>2.1.2.4.1 Unter Windows</h5>
-<div id="block">
- <p>Das Verzeichnis <code>$MOA_SPSS_INST/tomcat/win32</code> enth&auml;lt Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts m&uuml;ssen in den ersten Zeilen die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. m&uuml;ssen Sie auch noch die in den Script-Dateien gesetzten, in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> anpassen. </p>
-</div>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_unix" id="webservice_basisinstallation_installation_tomcatstartstop_unix"></a>2.1.2.4.2 Unter Unix</h5>
-<p>Zun&auml;chst m&uuml;ssen die in Abschnitt 2.1.2.3 besprochenen <span class="term">System Properties</span> mit Hilfe der Umgebungsvariablen <code>CATALINA_OPTS</code> gesetzt sein. Die Datei <code>$MOA_SPSS_INST/tomcat/unix/moa-env.sh</code> enth&auml;lt ein Beispiel daf&uuml;r. Weiters m&uuml;ssen noch die Umgebungsvariablen <code>JAVA_HOME</code> (Basisverzeichnis des eingesetzten J2SE SDK) und <code>CATALINA_HOME</code> (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.</p>
-<p>Nun kann Tomcat aus seinem Basisverzeichnis mit </p>
-<pre>bin/catalina.sh start</pre>
-gestartet werden. Das Stoppen von Tomcat erfolgt analog mit
-<pre>bin/catalina.sh stop</pre>
-<h5><a name="webservice_basisinstallation_installation_tomcatstartstop_verify" id="webservice_basisinstallation_installation_tomcatstartstop_verify"></a>2.1.2.4.3 Pr&uuml;fen des erfolgreichen Starts </h5>
-<div id="block">
- <p>Ein erfolgreicher Start des MOA SP/SS Webservices ist an folgender Log-Meldung ersichtlich: <br>
- </p>
-</div>
-<pre>INFO | 18 10:09:45,155 | main | TID=startup NID=&lt;null&gt; MSG=MOA Konfiguration erfolgreich geladen
-</pre>
-<p>Bei leichten Fehlern in der Konfiguration geben <code>WARN</code> Log-Meldungen unmittelbar davor Aufschluss &uuml;ber fehlerhafte Konfigurations-Eintr&auml;ge.
- Nach dem Starten von Tomcat steht das MOA SP/SS Webservice f&uuml;r die Server-Signatur und Signatur-Pr&uuml;fung unter den Endpunkten </p>
-<pre>http://&lt;host&gt;:&lt;port&gt;/moa-spss/services/SignatureCreation
-</pre>
-<p>bzw.
+
+<h1><a name="komponenten" id="komponenten"></a>3
+Komponenten</h1>
+
+<h2><a name="komponenten.sl2moafilter" id="komponenten"></a>3.1
+Der Filter <code>SL2MOAFilter</code></h2>
+
+<p>Die Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>
+ist ein
+<code><abbr title="javax.servlet.Filter">Filter</abbr></code>,
+der einerseits
+den <code><abbr title="javax.servlet.http.httpservletrequest=">HttpServletRequest</abbr>
+ver&auml;ndert, bevor er an das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>
+weitergeleitet wird, und andererseits den <code><abbr title="javax.servlet.http.HttpServletResponse">HttpServletResponse</abbr></code>
+ver&auml;ndert, nachdem er vom Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>
+bearbeitet wurde.</code></p>
+
+<p>Der <code><abbr title="javax.servlet.http.HttpServletRequest">HttpServletRequest</abbr></code>
+enh&auml;lt ja zun&auml;chst den Request zur Pr&uuml;fung
+der XML-Signatur in einem Format entsprechend der&nbsp;<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen
+zur &ouml;sterreichischen B&uuml;rgerkarte</a> in der
+Version 1.2 (SL-Request). Das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>
+erwartet sich jedoch den
+Request zur Pr&uuml;fung der XML-Signatur in einem Format
+entsprechend der Webservice-Schnittstelle f&uuml;r das Basismodul
+MOA SP (MOA-Request). Aufgabe des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>s
+ist es daher, vor der Ausf&uuml;hrung des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>s
+f&uuml;r eine passende Umsetzung des SL-Requests in den
+entsprechenden MOA-Request zu sorgen. Zur Erf&uuml;llung dieser
+Aufgabe bedient sich der <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>
+der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.transformers.SL2MOA">SL2MOA</abbr></code>,
+in der die
+Request-Transformation gekapselt ist.</p>
+
+<p>Das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>
+w&uuml;rde dann die Antwort des Basismoduls MOA SP in einem Format
+entsprechend der Webservice-Schnittstelle f&uuml;r das Basismodul
+MOA SP (MOA-Response) retournieren. Die Anwendung, die das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>
+aufruft, erwartet sich jedoch die Antwort auf den Request zur
+Pr&uuml;fung
+der XML-Signatur in einem Format entsprechend der&nbsp;<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen
+zur &ouml;sterreichischen B&uuml;rgerkarte</a> in der
+Version 1.2 (SL-Response). Aufgabe&nbsp;des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>s
+ist es daher, nach der Ausf&uuml;hrung&nbsp;des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>s
+f&uuml;r eine passende Umsetzung der MOA-Response in die
+entsprechende SL-Response zu sorgen.&nbsp;Zur Erf&uuml;llung
+dieser
+Aufgabe bedient sich der <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>
+der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.transformers.MOA2SL">MOA2SL</abbr></code>,
+in der die
+Response-Transformation gekapselt ist.</p>
+
+<p>Eine weitere Aufgabe der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>
+ist es schlie&szlig;lich, die JSP-Seite <code>resultoverview.jsp</code>
+einzubinden, die f&uuml;r eine benutzertaugliche HTML-Darstellung
+der SL-Response sorgt. Diese benutzertaugliche Darstellung wird dann
+tats&auml;chlich als finales Resultat des <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>s
+an die Anwendung zur&uuml;ck&uuml;bermittelt. Bevor die
+JSP-Seite eingebunden wird, erzeugt <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>
+Java Beans aus den Informationen der SL-Response und speichert sie im
+Request Scope bzw. Session Scope. Diese Java Beans werden dann von der
+JSP-Seite zum
+Aufbau der benutzertauglichen HTML-Darstellung herangezogen.
+F&uuml;r weitere Informationen zur JSP-Seite sowie zu den von ihr
+verwendeten Java Beans siehe <a href="#komponenten.resultoverview">Abschnitt 3.3</a>.
</p>
-<pre>http://&lt;host&gt;:&lt;port&gt;/moa-spss/services/SignatureVerification
-</pre>
-<p>zur Verf&uuml;gung. Die Verf&uuml;gbarkeit des Services k&ouml;nnen Sie einfach &uuml;berpr&uuml;fen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite f&uuml;hren. </p>
-<p>Konnte das MOA SP/SS Webservice nicht ordnungsgem&auml;&szlig; gestartet werden, f&uuml;hrt das zu folgender Log-Meldung:</p>
-<pre>FATAL | 18 10:17:03,475 | main | TID=startup NID=&lt;null&gt; <br> MSG=Fehler beim Lesen der MOA Konfiguration: das Service steht nicht zur Verf&uuml;gung
-</pre>
-In diesem Fall geben die <code>WARN</code> bzw. <code>ERROR</code> Log-Meldungen unmittelbar davor Aufschluss &uuml;ber den genaueren Grund.
-<h4><a name="webservice_basisinstallation_installation_changeonthefly" id="webservice_basisinstallation_installation_changeonthefly"></a>2.1.2.5 &Auml;nderung der Konfiguration im laufenden Betrieb </h4>
-<p> Sie k&ouml;nnen die Konfiguration f&uuml;r MOA SP/SS im laufenden Betrieb aktualisieren, in dem Sie mittels eines Web-Browsers folgende URL aufrufen:</p>
-<pre> http://&lt;host&gt;:&lt;port&gt;/moa-spss/ConfigurationUpdate </pre>
-<p>Damit dies funktioniert, muss in der Konfiguration von Tomcat ein spezieller Benutzer sowie eine spezielle Benutzerrolle eingerichtet werden (vergleiche Abschnitt <a href="#webservice_basisinstallation_installation_tomcatconfig_moaadmin">2.1.2.2.3</a>). </p>
-<h3><a name="webservice_basisinstallation_logging" id="webservice_basisinstallation_logging"></a>2.1.3 Logging </h3>
-<p>Das MOA SP/SS Webservice verwendet <a href="#referenziertesoftware">Jakarta Log4j</a> f&uuml;r die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsm&ouml;glichkeiten, die ausf&uuml;hrlich im <a href="#referenziertesoftware">Jakarta Log4j</a> Handbuch beschrieben sind. Unter anderem gibt es die M&ouml;glichkeit, folgende Einstellungen vorzunehmen:
+
+<h2><a name="komponenten.moaservlet" id="komponenten"></a>3.2
+Das Servlet <code>MOAServlet</code></h2>
+
+<p>Die Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">
+MOAServlet</abbr></code> ist ein <code><abbr title="javax.servlet.http.HttpServlet">HttpServlet</abbr></code>
+und als solches f&uuml;r die Kommunikation mit dem Basismodul MOA
+SP verantwortlich. </p>
+
+<p>Das Servlet liest aus dem <code><abbr title="javax.servlet.ServletInputStream">ServletInputStream</abbr></code>
+des <code><abbr title="javax.servlet.http.HttpServletRequest">HttpServletRequest</abbr></code>s
+den MOA SP Request
+zur Pr&uuml;fung der XML-Signatur und sendet diesen XML-Request
+unter Verwendung der Webservice-Schnittstelle von MOA SP an das
+Basismodul MOA SP.</p>
+
+<p>Danach liest das Servlet die vom Basismodul MOA SP auf den
+Request zur Pr&uuml;fung der XML-Signatur
+r&uuml;ck&uuml;bermittelte Response und schreibt diese
+XML-Response in den <code><abbr title="javax.servlet.ServletOutputStream">ServletOutputStream</abbr></code>
+der <code><abbr title="javax.servlet.http.HttpServletResponse">HttpServletResponse</abbr></code>.</p>
+
+<p>Das MOAServlet bedient sich zur Kommunikation mit MOA SP der
+Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker">
+MOAInvoker</abbr></code>, in der die
+Funktionalit&auml;t des Webservice-Clients f&uuml;r MOA SP
+gekapselt ist.</p>
+
+<h2><a name="komponenten.resultoverview" id="komponenten"></a>3.3 Die JSP-Seite <code>resultOverview.jsp</code></h2>
+
+<p>Die JSP-Seite <code>resultOverview.jsp</code> ist
+verantwortlich f&uuml;r die Aufbereitung
+einer&nbsp;benutzertauglichen HTML-Darstellung der SL-Response, die
+das Servlet&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>
+im Zusammenspiel mit dem Filter&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>
+erzeugt.&nbsp;</p>
+
+<p>Die f&uuml;r die Aufbereitung erforderlichen Informationen
+werden der JSP-Seite in Form von Java Beans zur Verf&uuml;gung
+gestellt, die zuvor vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter
+</abbr></code>erzeugt worden sind (vergleiche <a href="#komponenten.sl2moafilter">Abschnitt 3.1</a>).
+Folgende Java Beans stehen der JSP-Seite zur Verf&uuml;gung:</p>
+
<ul>
- <li id="klein">
- <p>Das verwendete Log-Level (<code>DEBUG</code>, <code>INFO</code>, <code>WARN</code>, <code>ERROR</code>, <code>FATAL</code>);</p>
- </li>
- <li id="klein">
- <p>Name und maximale Gr&ouml;&szlig;e der Log-Datei(en);</p>
- </li>
- <li id="klein">
- <p>Das Aussehen der Log-Eintr&auml;ge.</p>
- </li>
+
+ <li><code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean">DataInfoBean</abbr></code>:
+Enth&auml;lt
+alle notwendigen Informationen zu den von der gepr&uuml;ften
+XML-Signatur gesicherten Dokumenten. Beim Erzeugen dieser Java Bean
+werden unter anderem die gesicherten Dokumente f&uuml;r den
+sp&auml;teren Abruf durch die Anwendung (vergleiche
+ <a href="#komponenten.hashinputservlet">Abschnitt 3.4</a>)
+im Filesystem zwischengespeichert sowie die Pr&uuml;fung
+vorgenommen, ob es sich bei einem gesicherten Dokument um ein
+XHTML-Dokument gem&auml;&szlig;&nbsp;<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen
+zur &ouml;sterreichischen B&uuml;rgerkarte</a> in der
+Version 1.2 handelt (SLXHTML-Dokument) oder nicht. Die Bean ist im
+Session Scope abgelegt.</li>
+
+ <li><code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.SignerInfoBean">SignerInfoBean</abbr></code>:
+Enth&auml;lt
+alle notwendigen Informationen zum Ersteller der gepr&uuml;ften
+XML-Signatur. Die Bean ist im Servlet Scope abgelegt.</li>
+
+ <li><code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.ChecksInfoBean">ChecksInfoBean</abbr></code>:
+Enth&auml;lt
+alle notwendigen Informationen zum Ergebnis der Pr&uuml;fung der
+XML-Signatur.&nbsp;Die Bean ist im Servlet Scope abgelegt.</li>
+
</ul>
- <p>Das MOA SP/SS Webservice verwendet folgende Log-Hierarchien: </p>
+
+<p>Die JSP-Seite <code>resultOverview.jsp</code>
+erzeugt aus den mittels der erw&auml;hnten Java Beans zur
+Verf&uuml;gung gestellten Informationen eine HTML-Darstellung.
+Diese HTML-Darstellung ist in die folgenden Informationsbl&ouml;cke
+unterteilt:</p>
+
<ul>
- <li>
- <p><code>moa.spss.server</code> f&uuml;r alle Log-Meldungen aus dem MOA/SPSS Webservice; </p>
- </li>
- <li>
- <p><code>iaik.server</code> f&uuml;r alle Log-Meldungen aus den SIC/IAIK Kryptographie-Modulen. </p>
- </li>
+
+ <li>Informationen zum Ersteller der gepr&uuml;ften
+XML-Signatur: Name des Erstellers, Name des Ausstellers des
+Zertifikats, Angaben zur Qualit&auml;t des Zertifikats.</li>
+
+ <li>Informationen zum Ergebnis der Pr&uuml;fung der
+XML-Signatur: Ergebnis der Signaturpr&uuml;fung, Ergebnis der
+Pr&uuml;fung des Zertifikats.</li>
+
+ <li>Informationen zu jedem von der XML-Signatur gesicherten
+Dokument: Angabe, ob es sich beim Dokument um ein SLXHTML-Dokument
+handelt, Link zum Download des gesicherten Dokuments. Wenn es sich um
+ein SLXHTML-Dokument handelt, wird das Dokument bei Verfolgung des
+Links in einem neuen Browserfenster angezeigt, ansonsten kann das
+Dokument heruntergeladen und gespeichert werden.</li>
+
</ul>
- <p>Eine f&uuml;r MOA SP/SS passende Konfigurationsdatei f&uuml;r Log4j finden Sie <a href="../../conf/moa-spss/log4j.properties">hier</a>. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei <code>moa-spss.log</code> geschrieben. </p>
- <h4><a name="webservice_basisinstallation_logging_format" id="webservice_basisinstallation_logging_format"></a>2.1.3.1 Format der Log-Meldungen</h4>
- <p> Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erl&auml;utert: </p>
- <pre>INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1
- MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
-</pre>
-<p> Der Wert <code>INFO</code> besagt, dass die Log-Meldung im Log-Level <code>INFO</code> entstanden ist. Folgende Log-Levels existieren:</p>
- <ul>
- <li>
- <p><code>DEBUG</code>: Log-Meldungen im Log-Level <code>DEBUG</code> geben Auskunft &uuml;ber die innere Arbeitsweise des Systems. Sie sind haupts&auml;chlich f&uuml;r Entwickler interessant.</p>
- </li>
- <li>
- <p><code>INFO</code>: Diese Log-Meldungen geben Status-Informationen &uuml;ber den Ablauf des Webservices, wie z.B. &uuml;ber das Einlangen einer neuen Anfrage.</p>
- </li>
- <li>
- <p><code>WARN</code>: Bei der Ausf&uuml;hrung einer Anfrage sind leichte Fehler aufgetreten. Der Ablauf des Webservices ist nicht weiter beeintr&auml;chtigt.</p>
- </li>
- <li>
- <p><code>ERROR</code>: Die Ausf&uuml;hrung einer Anfrage musste abgebrochen werden. Das Webservice ist davon nicht beeintr&auml;chtigt. </p>
- </li>
- <li>
- <p><code>FATAL</code>: Es ist ein Fehler aufgetreten, der den weiteren Betrieb des Webservices nicht mehr erlaubt.</p>
- </li>
- </ul>
- <p>Der n&auml;chste Wert <code>01 21:25:26,540</code> gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit). </p>
- <p> Der Wert <code>Thread-3</code> bezeichnet den Thread, von dem die Anfrage bearbeitet wird.</p>
- <p> Der Wert von <code>TID</code> gibt die f&uuml;r jede Anfrage eindeutige Transaktions-ID an. Log-Meldungen, die bei der Abarbeitung dieser Anfrage geschrieben werden, enthalten alle einen Hinweis auf die entsprechende Transaktions-ID.</p>
- <p> Der Wert von <code>NID</code> gibt den Rechner-Knoten an, auf dem das MOA SP/SS Webservice l&auml;uft (bei <code>NID=&lt;null&gt;</code> ist dieser Wert nicht konfiguriert, vergleiche Abschnitt <a href="#webservice_basisinstallation_installation_spssdeploy">2.1.2.3</a>).</p>
- <p> Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist h&auml;ufig ein Java Stack-Trace angef&uuml;gt, der eine genauere Ursachen-Forschung erm&ouml;glicht.</p>
- <h4> <a name="webservice_basisinstallation_logging_messages" id="webservice_basisinstallation_logging_messages"></a>2.1.3.2 Wichtige Log-Meldungen</h4>
- <p> Neben den im Abschnitt <a href="#webservice_basisinstallation_installation_tomcatstartstop_verify">2.1.2.4.3</a> beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgem&auml;&szlig; gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss &uuml;ber die Abarbeitung von Anfragen. </p>
- <p>Die Entgegennahme einer Anfrage wird angezeigt durch:
-
- </p>
- <pre>INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Aufruf von Adresse=127.0.0.1
-INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Client-Zertifikat nicht verf&uuml;gbar</pre>
- <p> Die dritte Log-Meldung besagt, dass f&uuml;r die Abarbeitung dieser Anfrage kein Client-Zertifikat verf&uuml;gbar ist (entweder, weil die Anfrage &uuml;ber HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen &uuml;ber das Client-Zertifikat aus:
- <pre>INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=&lt;null&gt;
- MSG=Client-Zertifikat: Subject=CN=Testuser, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT,
- Serial=1.039.104.204, Issuer=CN=TestCA, OU=MOA, O=BRZ, L=Vienna, ST=Vienna, C=AT</pre>
- <p>Eine erfolgreich abgearbeitete Anfrage wird angezeigt durch:
- </p>
- <pre>INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=&lt;null&gt;
- MSG=Anfrage erfolgreich abgearbeitet</pre>
- <p>Ein Fehler beim Abarbeiten der Anfrage wird angezeigt durch: </p>
- <pre>INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=&lt;null&gt;
- MSG=Fehler beim Abarbeiten der Anfrage</pre>
- <div id="block">
- <p>In diesem Fall gibt der mitgeloggte Stacktrace Auskunft &uuml;ber die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zur&uuml;ck. </p>
- <p> Die Tats&auml;chlich &uuml;bertragenen Anfragen bzw. Antworten werden aus Effizienzgr&uuml;nden nur im Log-Level <code>DEBUG</code> angezeigt. </p>
- </div>
- <h2><a name="webservice_erweiterungsmöglichkeiten" id="webservice_erweiterungsmöglichkeiten"></a>2.2 Erweiterungsm&ouml;glichkeiten</h2>
-<p>Ausgehend von der <a href="#webservice_basisinstallation">Basisinstallation</a> k&ouml;nnen die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabh&auml;ngig und in beliebiger Kombination aufgesetzt werden.</p>
- <h3><a name="webservice_erweiterungsmöglichkeiten_webserver" id="webservice_erweiterungsmöglichkeiten_webserver"></a>2.2.1 Vorgeschalteter Webserver</h3>
- <h4><a name="webservice_erweiterungsmöglichkeiten_webserver_iis" id="webservice_erweiterungsmöglichkeiten_webserver_iis"></a>2.2.1.1 Microsoft Internet Information Server (MS IIS) </h4>
- <p>Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall &uuml;bernimmt der MS IIS die HTTP- bzw. HTTPS-Kommunikation mit dem Aufrufer des Webservices. Die Kommunikation zwischen MS IIS und dem in Tomcat eingerichteten MOA SP/SS Webservice wird durch <span class="term">Jakarta mod_jk</span> durchgef&uuml;hrt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_jk" id="webservice_erweiterungsmöglichkeiten_webserver_iis_jk"></a>2.2.1.1.1 Konfiguration von <span class="term">Jakarta mod_jk</span> im MS IIS</h5>
- <p> F&uuml;r die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das <span class="term">ISAPI</span>-Modul von <span class="term">Jakarta mod_jk</span> im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/iis.html" target="_blank">mod_jk</a></span><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/iishowto.html"> IIS HowTo</a>. Beispiele f&uuml;r <code>workers.properties</code> und <code>uriworkermap.properties</code> Dateien liegen im Verzeichnis <code>$MOA_SPSS_INST/tomcat</code> bei.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat" id="webservice_erweiterungsmöglichkeiten_webserver_iis_tomcat"></a>2.2.1.1.2 Konfiguration von Tomcat</h5>
- <p> Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels <span class="term">Jakarta mod_jk</span> weiterleitet werden, muss in <code>$CATALINA_HOME/conf/server.xml</code> der <span class="term">AJP 1.3 Connector</span> aktiviert werden. Im Gegenzug k&ouml;nnen die Konnektoren f&uuml;r HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden <code>Connector</code> Konfigurations-Elemente in dieser Datei. Die Datei <code>$MOA_SPSS_INST/tomcat/server.mod_jk.xml</code> enth&auml;lt eine Konfiguration, die ausschlie&szlig;lich den Port f&uuml;r den <span class="term">AJP 1.3 Connector</span> offen l&auml;sst.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_iis_ssl" id="webservice_erweiterungsmöglichkeiten_webserver_iis_ssl"></a>2.2.1.1.3 Konfiguration von SSL</h5>
- <p> Die Dokumentation zum Einrichten von SSL auf dem MS IIS steht nach Installation des IIS unter http://localhost/iisHelp/ oder aber auch auf den Websiten vo Mircrosoft zur Verf&uuml;gung. </p>
- <h4><a name="webservice_erweiterungsm&ouml;glichkeiten_webserver_apache" id="webservice_erweiterungsm&ouml;glichkeiten_webserver_apache"></a>2.2.1.2 Apache</h4>
- <p>Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird <span class="term">Jakarta mod_jk</span> f&uuml;r die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angef&uuml;hrten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus und sind ident f&uuml;r die Versionen 1.3.x und 2.0.x.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_jk" id="webservice_erweiterungsmöglichkeiten_webserver_apache_jk"></a>2.2.1.2.1 Konfiguration von <span class="term">Jakarta mod_jk</span> im Apache </h5>
- <p>Um das MOA-SPSS Webservice hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls <span class="term">mod_jk</span> erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das <span class="term"><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html" target="_blank">mod_jk</a></span><a href="http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html" target="_blank"> Apache HowTo</a>. Ein Beispiel f&uuml;r eine <code>workers.properties</code> Datei liegt im Verzeichnis <code>$MOA_SPSS_INST/tomcat</code> bei.</p>
- <p>Um das MOA SP/SS Webservice dem Apache Webserver bekannt zu machen, sind zumindest folgende Eintr&auml;ge im globalen Kontext der Apache-Konfigurationsdatei notwendig:</p>
- <pre>LoadModule jk_module /usr/lib/apache/mod_jk.so<br>AddModule jk_module<br>JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories<br>JkWorkersFile conf/workers.properties <br>JkMount /moa-spss/* moaworker </pre>
- <p>Die Pfad- und Dateinamen k&ouml;nnen je nach existierender Apache Installation geringf&uuml;gig variieren.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_tomcat" id="webservice_erweiterungsmöglichkeiten_webserver_apache_tomcat"></a>2.2.1.2.2 Konfiguration von Tomcat</h5>
- <p>Die Konfiguration von Tomcat ist analog zu Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten_webserver_iis_tomcat">2.2.1.1.2</a> durchzuf&uuml;hren.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_webserver_apache_ssl" id="webservice_erweiterungsmöglichkeiten_webserver_apache_ssl"></a>2.2.1.2.2 Konfiguration von SSL mit <span class="term">mod_SSL</span></h5>
- <p>Apache kann in Verbindung mit <span class="term">mod_SSL</span> als SSL-Endpunkt f&uuml;r das MOA SP/SS Webservice fungieren. In diesem Fall entf&auml;llt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via <span class="term">mod_jk</span> austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enth&auml;lt die <a href="http://www.modssl.org/docs/" target="_blank">Online-Dokumentation</a> von <span class="term">mod_SSL</span>.</p>
- <p>Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass <span class="term">mod_ssl</span> die HTTP-Header mit den Informationen &uuml;ber das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht: </p>
- <pre>SSLOptions +ExportCertData +StdEnvVars</pre>
- <p>Je nach vorhandener SSL-Konfiguration des Apache Webservers kann diese Option im globalen Kontext, im Kontext des Virtual Hosts oder im Kontexts eines Verzeichnisses spezifiziert werden.</p>
- <h3><a name="webservice_erweiterungsmöglichkeiten_datenbank" id="webservice_erweiterungsmöglichkeiten_datenbank"></a>2.2.2 Datenbank</h3>
- <p>Die MOA SP/SS Module k&ouml;nnen eine Datenbank zum Archivieren von Certificate Revocation Lists (CRLs), sowie zum Abspeichern von Log-Meldungen verwenden. In beiden F&auml;llen wird eine installierte und konfigurierte Datenbank vorausgesetzt.</p>
- <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql"></a>2.2.2.1 PostgreSQL</h4>
- <p>Eine detaillierte &Uuml;bersicht &uuml;ber die Installation und Konfiguration von <span class="term">PostgreSQL</span> gibt die <a href="http://techdocs.postgresql.org/" target="_blank">Online-Dokumentation</a>. </p>
- <p class="term">Bitte beachten Sie: Eine M&ouml;glichkeit, PostgreSQL unter MS Windows zu installieren, besteht darin, <a href="http://sources.redhat.com/cygwin/" target="_blank">Cygwin</a> mit dem PostgreSQL-Package zu installieren. Alternative Installationsvarianten werden auf <a href="http://techdocs.postgresql.org/guides/Windows" target="_blank">dieser Seite</a> angef&uuml;hrt.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_benutzer"></a>2.2.2.1.1 Anlegen eines Benutzers und einer Datenbank f&uuml;r MOA SP/SS</h5>
- <p>Damit die MOA SP/SS Module eine Verbindung zu <span class="term">PostgreSQL</span> aufbauen kann, m&uuml;ssen der Name eines <span class="term">PostgreSQL</span>-Benutzers und einer <span class="term">PostgreSQL</span>-Datenbank bekannt sein. Sollten diese nicht vorhanden sein, kann mit folgenden Kommandos ein Benutzer namens <code>moa</code> und eine Datenbank namens <code>moadb</code> angelegt werden:</p>
- <pre>createuser -U postgres -d -A -P moa<br>createdb -U moa moadb</pre>
- <p>Da die MOA SP/SS Module &uuml;ber <span class="term">JDBC</span> mit der Datenbank kommunizieren, ist in der Folge die Angabe einer <span class="term">JDBC</span>-URL notwendig, welche die Verbindungsparameter enth&auml;lt. Wurden der Benutzer und die Datenbank wie im obigen Beispiel angelegt, ist folgende <span class="term">JDBC</span>-URL anzugeben (Annahme: als Passwort f&uuml;r den Benutzer moa wurde moapass gew&auml;hlt):</p>
- <pre> jdbc:postgresql://host/moadb?user=moa&amp;password=moapass</pre>
- <p>Die Zeichen <code>jdbc:postgresql://</code> sind unver&auml;nderliche Bestandteile einer <span class="term">PostgreSQL</span> <span class="term">JDBC</span>-URL. <code>host</code> gibt den Rechner an, auf dem <span class="term">PostgreSQL</span> l&auml;uft. <code>moadb</code> identifiziert den Namen der Datenbank. &Uuml;ber die Parameter <code>user=</code> und <code>pass=</code> werden Benutzername und Passwort f&uuml;r den DB-User bekanntgegeben.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_crls" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_crls"></a>2.2.2.1.2 Archivierung von CRLs</h5>
- <p>Zum Archivieren von CRLs m&uuml;ssen in der MOA SP/SS Konfigurationsdatei die Kinder des Elements <code>cfg:MOAConfiguration/cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving</code> entsprechend
- konfiguriert werden: </p>
- <ul>
- <li><code>cfg:EnableArchiving</code> muss auf den Wert <code>true</code> gesetzt sein;</li>
- <li><code>cfg:ArchiveDuration</code> muss als nichtnegative Ganzzahl die maximale Archivierungsdauer in Tagen enthalten;</li>
- <li><code>cfg:Archive</code> muss genau ein Element <code>cfg:DatabaseArchive</code> enthalten, das wiederum aus zwei Elementen
- bestehen muss:
- <ul>
- <li><code>cfg:JDBCURL</code> muss eine g&uuml;ltige JDBC-URL enthalten, mit der auf die Datenbank zur Archivierung
- zugegriffen werden kann (<span class="remark">Hinweis: da es sich hierbei um einen Eintrag
- in eine XML-Datei handelt, muss das Zeichen <code>&amp;</code> in der in Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql_benutzer">2.2.2.1.1</a> gezeigten
- JDBC-URL
- durch die Zeichenfolge <code>&amp;amp;</code> ersetzt werden.</span>);</li>
- <li><code>cfg:JDBCDriverClassName</code> muss den vollst&auml;ndig qualifizierten Java-Klassennamen des JDBC-Treibers
- enthalten. </li>
- </ul>
- </li>
- </ul>
- <p>Vergleiche auch Abschnitt <a href="../config/config.html#konfigurationsparameter_sp_certificatevalidation_revocationchecking_archiving">2.3.1.3.4</a> im
- Konfigurationshandbuch.</p>
- <h5><a name="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_logging" id="webservice_erweiterungsmöglichkeiten_datenbank_postgresql_logging"></a>2.2.2.1.3 Logging</h5>
- <p>F&uuml;r das Logging in eine <span class="term">PostgreSQL</span> Datenbank mittels <span class="term">Jakarta Log4j</span> muss zun&auml;chst eine Tabelle f&uuml;r die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:</p>
- <pre> create table spss_log (log_time timestamp, log_level varchar(5), log_msg text);</pre>
- <p>Damit <span class="term">Log4j</span> die Log-Meldungen in diese Datenbanktabelle schreibt, muss die <span class="term">Log4j</span>-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte <a href="../../conf/moa-spss/log4j.properties">Log4j-Konfiguration</a> enth&auml;lt bereits die notwendigen Eintr&auml;ge f&uuml;r das Logging in eine PostgreSQL Datenbank, die jedoch standardm&auml;&szlig;ig ausgeschaltet sind. </p>
- <p>Wie beim Caching von CRLs ist auch hier die Angabe einer <span class="term">JDBC</span>-URL notwendig, damit die MOA SP/SS Module eine Verbindung zur Datenbank aufnehmen k&ouml;nnen.</p>
- <p><span class="remark">Bitte beachten Sie: Bei Tests hat sich das Logging in eine Datenbank mit Jakarta Log4j als Performance-Engpass herausgestellt. Es wird deshalb empfohlen, dieses Feature mit Bedacht einzusetzen.</span></p>
- <h4><a name="webservice_erweiterungsmöglichkeiten_datenbank_andere" id="webservice_erweiterungsmöglichkeiten_datenbank_andere"></a>2.2.2.2 Andere Datenbanken </h4>
- <p>&Uuml;ber die generische Anbindung JDBC k&ouml;nnen auch andere Datenbanken f&uuml;r die Archivierung von CRLs bzw. f&uuml;r die Speicherung der Log-Meldungen eingesetzt werden. Hinweise zu bestimmten Datenbanken finden Sie in den <a href="../faq/faq.html">FAQ</a>. </p>
- <p>Die in Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank_postgresql">2.2.2.1</a> gemachten Angaben zu Archivierung von CRLs bzw. zur Speicherung von Log-Meldungen gelten sinngem&auml;&szlig;. </p>
- <h3><a name="webservice_erweiterungsmöglichkeiten_hsm" id="webservice_erweiterungsmöglichkeiten_hsm"></a>2.2.3 Hardware Security Module (HSM)</h3>
- <p>MOA SS kann f&uuml;r die Erstellung von Signaturen auf die Dienste eines HSM zur&uuml;ckgreifen. Voraussetzung daf&uuml;r ist, dass f&uuml;r das HSM eine Implementierung der Schnittstelle PCKS#11 (PKCS#11-Bibliothek) angeboten wird. </p>
- <p>F&uuml;r die Einbindung des HSM in MOA SS m&uuml;ssen zun&auml;chst die Bibliotheken aus <code>$MOA_SPSS_INST/pkcs11</code> in ein beliebiges Verzeichnis kopiert werden, welches dann in den Libray-Pfad des jeweiligen Betriebssystems aufgenommen werden muss (Windows: Umgebungsvariable <code>PATH</code>; Linux: Umgebungsvariable <code>LD_LIBRARY_PATH</code>). </p>
- <p>Der Name der f&uuml;r das HSM spezifischen PKCS#11-Bibliothek muss in der Konfigurationsdatei eingetragen werden (vergleiche Abschnitt <a href="../config/config.html#konfigurationsparameter_ss_keymodules_hardwarekeymodule">2.2.1.1</a> des Konfigurationshandbuchs).</p>
- <h1><a name="klassenbibliothek"></a>3 Klassenbibliothek</h1>
- <p>Dieser Abschnitt beschreibt die Verwendung von MOA SP/SS als Klassenbibliothek. Im ersten Unterkapitel wird eine minimale Basisinstallation beschrieben. Das zweite Unterkapitel zeigt eine Reihe von optionalen Erweiterungsm&ouml;glichkeiten auf.</p>
- <h2><a name="klassenbibliothek_basisinstallation" id="klassenbibliothek_basisinstallation"></a>3.1 Basisinstallation</h2>
- <h3><a name="klassenbibliothek_basisinstallation_einfuehrung" id="klassenbibliothek_basisinstallation_einfuehrung"></a>3.1.1 Einf&uuml;hrung </h3>
- <p>Die Basisinstallation der Klassenbibliothek stellt einerseits die minimalen Anforderungen f&uuml;r den Einsatz von MOA SP/SS als Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt f&uuml;r optionale Erweiterungsm&ouml;glichkeiten.</p>
- <p> Folgende Software ist Voraussetzung f&uuml;r die Basisinstallation der Klassenbibliothek: </p>
- <ul>
- <li><a href="#referenziertesoftware">J2SE 1.3.1 JRE</a> oder <a href="#referenziertesoftware">J2SE 1.4.2 JRE</a> oder <a href="#referenziertesoftware">J2SE 5.0 JRE</a> </li>
- </ul>
- <h3><a name="klassenbibliothek_basisinstallation_vorbereitung" id="klassenbibliothek_basisinstallation_vorbereitung"></a>3.1.2 Vorbereitung </h3>
- <p>Die folgenden Schritte dienen der Vorbereitung der Installation.</p>
- <dl>
- <dt>Installation von J2SE SDK</dt>
- <dd>Installieren Sie <a href="#referenziertesoftware">J2SE 1.3.1 SDK</a> oder <a href="#referenziertesoftware">J2SE 1.4.2 SDK</a> oder <a href="#referenziertesoftware">J2SE 5.0 SDK</a> in ein beliebiges Verzeichnis. Wir empfehlen die Installation von <a href="#referenziertesoftware">J2SE 5.0 SDK</a>. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> bezeichnet. </dd>
- <dt>Entpacken der MOA SP/SS Klassenbibliotheks-Distribution</dt>
- <dd> Entpacken Sie die Datei <code>moa-spss-1.2.x-lib.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd>
- <dt>Installation der Krypographiebibliotheken von SIC/IAIK</dt>
- <dd>
- <p>Die Installation der Kryptographiebibliotheken von <a href="http://jce.iaik.tugraz.at/" target="_blank">SIC/IAIK</a> ist abh&auml;ngig vom eingesetzten J2SE SDK:</p>
- <dl>
- <dt>J2SE 1.3.1 SDK</dt>
- <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext13</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>.</dd>
- <dt>J2SE 1.4.2 SDK oder JSE 5.0 SDK </dt>
- <dd>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext14</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zus&auml;tzlich m&uuml;ssen Sie die Rechtedateien Ihres J2SE 1.4.2 SDK bzw. J2SE 5.0 SDK austauschen. Laden Sie dazu die <span class="term">Unlimited Strength Jurisdiction Policy Files</span> von der <a href="http://java.sun.com/j2se/1.4.2/download.html" target="_blank">J2SE 1.4.2 SDK Downloadseite</a> bzw. <a href="http://java.sun.com/j2se/1.5.0/download.html">J2SE 5.0 SDK Downloadseite</a> und folgen Sie der darin enthaltenen Installationsanweisung. </dd>
- </dl>
- </dd>
- </dl>
- <h3><a name="klassenbibliothek_basisinstallation_verwendung" id="klassenbibliothek_basisinstallation_verwendung"></a>3.1.3 Verwendung</h3>
- <p> Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu k&ouml;nnen, m&uuml;ssen die mit MOA SP/SS ausgelieferten Bibliotheken in den Java Klassenpfad der Applikation eingebunden werden. </p>
- <p>Die nachfolgende Tabelle listet diese Klassenbibliotheken auf; die Eintr&auml;ge in der Spalte Dateien sind relativ zum Verzeichnis <code>$MOA_SPSS_INST</code> zu interpretieren.</p>
-<table class="fixedWidth" border="1" cellpadding="2">
-<tbody><tr>
-<th>Klassenbibliothek</th><th>Version</th><th>Dateien</th>
-
-</tr><tr>
-<td>MOA SP/SS</td>
-<td>1.2.x&nbsp; </td>
-<td><code>moa-spss.jar</code>, <code>moa-common.jar</code></td>
-</tr><tr>
-<td>MOA IAIK</td>
-<td>1.0.7&nbsp; </td>
-<td><p><code>lib/iaik_moa_full.jar</code>, <code>lib/iaik_Pkcs11Wrapper.jar</code>,
- <code>lib/iaik_cms.jar</code>, <code>lib/iaik_ixsil.jar</code></p>
- </td>
-</tr><tr>
-<td>JAXP</td><td>1.2_01&nbsp; </td><td><code>lib/jaxp-api.jar</code>, <code>lib/sax.jar</code>, <code>lib/dom.jar</code></td>
-
-</tr><tr>
-<td>Xerces-J</td><td>2.4.0&nbsp; </td><td><code>lib/xercesImpl.jar</code>, <code>lib/xmlParserAPIs.jar</code></td>
-</tr><tr>
-<td>Xalan-J</td><td>2.5.1&nbsp; </td><td><p><code>lib/xalan.jar</code></p>
- <p class="remark">Bitte beachten Sie: Wenn Sie J2SE 1.4.2 JRE oder J2SE 5.0 JRE verwenden, m&uuml;ssen Sie diese Bibliothek der Java VM als endorsed bekanntgeben. Sie k&ouml;nnen dies tun, indem Sie entweder</p>
- <ul>
- <li class="remark">die Bibliothek in das (ggf. vorher anzulegende) Verzeichnis <code>$JAVA_HOME/jre/lib/endorsed/</code> kopieren; oder</li>
- <li class="remark">die System Property <code>java.endorsed.dirs</code> verwenden, und als Wert den Pfad zu jenem Verzeichnis angeben, in dem Sie die Bibliothek vorhalten (also z.B. <code>java.endorsed.dirs=c:/mylibdir</code>).</li>
- </ul></td>
-</tr><tr>
-<td>Jaxen</td><td>1.0&nbsp; </td><td><code>lib/jaxen-core.jar</code>, <code>lib/jaxen-dom.jar</code>, <code>lib/saxpath.jar</code></td>
-
-</tr><tr>
-<td>Commons-Logging</td>
-<td>1.0.4&nbsp; </td>
-<td><code>lib/commons-logging-api.jar</code>, <code>lib/commons-logging.jar</code></td>
-</tr><tr>
-<td>Log4j</td><td>1.2.7&nbsp; </td><td><code>lib/log4j-1.2.7.jar</code></td>
-</tr><tr>
-<td>Commons-Discovery</td><td>0.2&nbsp; </td><td><code>lib/commons-discovery.jar</code></td>
-
-</tr><tr>
-<td>JSSE</td><td>1.0.3_01&nbsp; </td>
-<td><p>Diese Bibliotheken ben&ouml;tigen Sie nur, wenn Sie J2SE 1.3.1 verwenden:</p>
- <p><code>lib/ext13/jsse.jar</code>, <code>lib/ext13/jcert.jar</code>, <code>lib/ext13/jnet.jar</code></p>
- <p class="remark">Bitte beachten Sie: Diese Bibliotheken ben&ouml;tigen Sie nur, wenn Sie J2SE 1.3.1 verwenden.</p> </td>
-</tr><tr>
-<td>Postgres JDBC2</td><td>7.3&nbsp; </td><td><p><code>lib/pg73jdbc2.jar</code></p>
- <p><span class="remark">Bitte beachten Sie: Wenn Sie keine Datenbank f&uuml;r MOA SP/SS verwenden (vergleiche </span><a href="#webservice_erweiterungsm&#246;glichkeiten_datenbank">2.2.2</a><span class="remark">), ben&ouml;tigen Sie diese Bibliothek nicht.</span></p></td>
-</tr><tr>
-</tr>
-</tbody></table>
-
- <h3><a name="klassenbibliothek_basisinstallation_logging" id="klassenbibliothek_basisinstallation_logging"></a>3.1.4 Logging</h3>
- <p> Die MOA SP/SS Klassenbibliothek verwendet <a href="#referenziertesoftware">Jakarta Log4j</a> f&uuml;r die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Die im Abschnitt <a href="#webservice_basisinstallation_logging">2.1.3</a> gemachten Aussagen lassen sich gro&szlig;teils auf den Einsatz der MOA SP/SS Klassenbibliothek &uuml;bertragen. </p>
- <h2><a name="klassenbibliothek_erweiterungsmöglichkeiten" id="klassenbibliothek_erweiterungsmöglichkeiten"></a>3.2 Erweiterungsm&ouml;glichkeiten </h2>
- <p>Die im Abschnitt <a href="#webservice_erweiterungsm&#246;glichkeiten">2.2</a> angef&uuml;hrten Erweiterungsm&ouml;glichkeiten f&uuml;r die MOA SP/SS Webservices gelten in analoger Weise auch f&uuml;r die Klassenbibliothek.</p>
- <h1><a name="referenzierte_software"></a>A Referenzierte Software</h1>
-<p>Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:</p>
-<table class="fixedWidth" border="1" cellpadding="2">
- <tr>
- <th scope="col">Name</th>
- <th scope="col">Beschreibung</th>
- </tr>
- <tr>
- <td><a href="http://jakarta.apache.org/tomcat/index.html" target="_blank">Apache Tomcat 4.1.x </a></td>
- <td>Servlet-Container des Apache Jakarta Projekts in der Version 4.1.x </td>
- </tr>
- <tr>
- <td><a href="http://java.sun.com/j2se/1.3.1/" target="_blank">J2SE 1.3.1 SDK/JRE</a> </td>
- <td>Java 2 Standard Edition in der Version 1.3.1 (Software Development Kit bzw. Java Runtime Environment) </td>
- </tr>
- <tr>
- <td><a href="http://java.sun.com/j2se/1.4.2/" target="_blank">J2SE 1.4.2 SDK/JRE</a></td>
- <td>Java 2 Standard Edition in der Version 1.4.2 (Software Development Kit bzw. Java Runtime Environment) </td>
- </tr>
- <tr>
- <td><a href="http://java.sun.com/j2se/1.5.0/" target="_blank">J2SE 5.0 SDK/JRE</a> </td>
- <td>Java 2 Standard Edition in der Version 5.0 (Software Development Kit bzw. Java Runtime Environment) </td>
- </tr>
- <tr>
- <td><a href="http://jakarta.apache.org/log4j/" target="_blank">Jakarta Log4J </a></td>
- <td>Logging Framework des Apache Jakarta Projekts </td>
- </tr>
+
+<p>Ein Beispiel f&uuml;r die resultierende HTML-Darstellung
+befindet sich <a href="../operation/images/testapp.screen2.png">hier</a>.</p>
+
+<h2><a name="komponenten.hashinputservlet" id="komponenten"></a>3.4 Das Servlet <code>HashInputDataServlet</code></h2>
+
+<p>Das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>
+ist
+f&uuml;r die Verf&uuml;gbarkeit der von der gepr&uuml;ften
+XML-Signatur gesicherten Dokumente verantwortlich.&nbsp;</p>
+
+<p>In der HTML-Aufbereitung der SL-Response, die von der
+JSP-Seite <code>resultOverview.jsp </code>erzeugt wird,
+(vergleiche <a href="#komponenten.resultoverview">Abschnitt
+3.3</a>) befinden sich Links auf alle gesicherten Dokumente.
+Diese Links f&uuml;hren jeweils auf das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>.&nbsp;</p>
+
+<p>Das Servlet entnimmt aus der aufgerufenen URL die Parameter
+zum Auffinden des Session Scopes sowie die fortlaufende Nummer des
+gesicherten Dokuments. Im Session Scope ist als Attribut die in <a href="#komponenten.resultoverview">Abschnitt 3.3</a>
+erw&auml;hnte&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean">DataInfoBean</abbr></code>:
+gespeichert, die alle notwendigen Informationen enth&auml;lt, damit
+das Servlet das angefragte gesicherte Dokument aus dem Filesystem lesen
+und als Ergebnis an den Browser zur&uuml;ckliefern kann. Je nach
+dem, ob es sich beim gesicherten Dokument um ein SLXHTML-Dokument
+handelt oder nicht, wird der Content-Type Header der HTTP Response an
+den Browser passend gesetzt.</p>
+
+<h2><a name="komponenten.returnservlet" id="komponenten"></a>3.5
+Das Servlet <code>ReturnServlet</code></h2>
+
+<p>Das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>
+ist nach Quittierung der HTML-Darstellung zur gepr&uuml;ften
+XML-Signatur durch den Benutzer f&uuml;r die Weiterleitung der
+SL-Response an den DataURL-Server sowie f&uuml;r die Weiterleitung
+der daraus resultierenden Antwort des DataURL-Servers an den Benutzer
+verantwortlich.</p>
+
+<p>Damit verh&auml;lt sich MOA SL genau wie in der
+Spezifikation <a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html">Transportprotokolle
+Security-Layer</a> (Teil der&nbsp;<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/">Spezifikationen
+zur &ouml;sterreichischen B&uuml;rgerkarte</a> in der
+Version 1.2) in&nbsp;<a href="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/bindings/Bindings.html#http.ablauf.schritte">Abschnitt
+3.2.3</a> f&uuml;r den Fall 5e beschrieben ist: Wenn der
+Benutzer die HTML-Aufbereitung der Ergebnisse der gepr&uuml;ften
+XML-Signatur gesichtet hat und durch Verfolgung des darin enthaltenen
+Links quittiert, sendet das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>
+die SL-Response an den DataURL-Server. Die URL des DataURL-Servers
+wurde von der Anwendung im urspr&uuml;nglichen Request an das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>
+als Formular-Parameter angegeben. Der DataURL-Server antwortet auf das
+Eintreffen der SL-Response mit einem HTTP-Response an das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>,
+diese wird vom <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>
+als Antwort auf das Quittieren der HTML-Darstellung an den Browser
+weitergeleitet.&nbsp;</p>
+
+<p>Nachdem mit diesem Schritt die Bearbeitung der zur
+Pr&uuml;fung &uuml;bermittelten XML-Signatur durch MOA-SL
+abgeschlossen ist, wird am Ende des&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>
+die Session und damit alle gespeicherten Informationen zur
+gepr&uuml;ften XML-Signatur&nbsp;gel&ouml;scht.&nbsp;</p>
+
+<h2><a name="komponenten.urlrewriter" id="komponenten"></a>3.6
+Die Klasse <code>URLRewriter</code></h2>
+
+<p>Die Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.URLRewriter">URLRewriter</abbr></code>
+ist
+f&uuml;r das Umschreiben von URLs verantwortlich die in der
+HTML-Aufbereitung der SL-Response enthalten sind, die dem Benutzer in
+seinem Webbrowser angezeigt wird.</p>
+
+<p>MOA SL kann so konfiguriert werden, dass die in der
+HTML-Aufbereitung der SL-Response enthaltenen
+URLs&nbsp;nicht&nbsp;direkt
+auf
+Ressourcen von MOA SL (z.B. die von der Signatur gesicherten
+Dokumente), sondern auf einen Rewrite-Proxy
+verweisen. Die URL auf die eigentliche Ressource von MOA SL ist in dem
+umgeschriebenen Link als URL-Parameter kodiert. Der&nbsp;Rewrite-Proxy sorgt
+f&uuml;r die Umsetzung des aus dem umgeschriebenen Link
+resultierenden
+Requests an ihn selbst in einen Request an MOA SL.&nbsp;</p>
+
+<p>Sinnvoll ist diese Konfigurationsvariante dann, wenn MOA SL
+nicht direkt vom Internet aus erreichbar sein soll, sondern nur auf dem
+Umweg &uuml;ber einen dedizierten Webserver, dem Rewrite-Proxy.</p>
+
+<p>Die Methode <code>rewrite</code> der Klasse <code><abbr title="at.gv.egovernment.moa.spss.slinterface.URLRewriter">URLRewriter</abbr></code>
+wird bei der Erstellung der HTML-Aufbereitung der SL-Response durch die
+JSP-Seite <code>resultOverview.jsp</code> jedenfalls
+aufgerufen; die Entscheidung, ob die in die Methode &uuml;bergebene
+URL tats&auml;chlich umgeschrieben wird oder nicht, entscheidet die
+Methode auf Grund der Konfigurationseinstellungen von MOA SL.</p>
+
+<h2><a name="komponenten.webxml" id="komponenten"></a>3.7
+Der Deployment Descriptor <code>web.xml</code></h2>
+<p>
+Im Deployment Descriptor <code><abbr title="WEB-INF/web.xml">web.xml</abbr></code>des
+Web Archives (WAR-File) von MOA SL sind im Wesentlichen folgende
+Konfigurationen eingerichtet, die im Normalfall nicht ver&auml;ndert
+werden m&uuml;ssen:</p>
+<ul>
+ <li>Definition der URLs, unter denen die Servlets&nbsp;von MOA SL (<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code>, <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>, <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>) relativ zum Root der Web Application erreichbar sind (XML-Elemente <code>servlet</code> bzw. <code>servlet-mapping</code>).</li>
+ <li>Definition der Filter, die f&uuml;r das Servlet&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> zur Anwendung kommen sollen (XML Elemente <code>filter</code> bzw. <code>filter-mapping</code>). &nbsp;Die Konfiguration ist so&nbsp;eingerichtet, dass f&uuml;r das Servlet <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> genau ein Filter, n&auml;mlich <code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code>&nbsp;konfiguriert ist.&nbsp;&nbsp;</li>
+</ul>
+
+<h1><a name="zusammenspiel" id="zusammenspiel"></a>4
+Zusammenspiel der Komponenten</h1>
+
+<h1><a name="zusammenspiel.basis" id="zusammenspiel"></a>4.1 Basisablauf</h1>
+<p>Die nachfolgende Grafik stellt das Zusammenspiel der Komponenten aus Abschnitt 3 mit dem Anwender und dem DataURL-Server dar.</p>
+<p style="text-align: center;"><img style="width: 760px; height: 463px;" alt="Zusammenspiel der Komponenten - Basisablauf" src="images/Zusammenspiel.ohne.png" vspace="25"></p>
+<table style="text-align: left; width: 983px; height: 216px;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>1, 2</td>
+ <td>
+ <p>Pr&uuml;fung der Signatur: Anfrage wird eigentlich an&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> gerichtet, durch die Filter-Konfiguration &uuml;ber den Deployment-Descriptor web.xml wird jedoch vorher und nachher der&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> dazwischengeschalten. Die Aufbereitung der HTML-Darstellung der SL-Response wird vom&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> an die JSP-Seite <code>resultOverview.jsp</code> delegiert.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>3,4</td>
+ <td>
+ <p>&Uuml;ber die HTML-Ansicht der SL-Response kann der Anwender
+die einzelnen, von der XML-Signatur gesicherten&nbsp;Dokumente abrufen.
+Die Links f&uuml;r die Dokumente verweisen auf das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>, die Zuordnung im Servlet passiert &uuml;ber URL-Parameter (Session-ID, fortlaufende Nummer des Dokuments).</p>
+ </td>
+ </tr>
+ <tr>
+ <td>5, 6, 7, 8</td>
+ <td>
+ <p>In Schritt 5 quittiert der Anwender die HTML-Darstellung der
+SL-Response. Das Quittieren funktioniert &uuml;ber einen Link in der
+HTML-Darstellung, der auf das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> verweist. Das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>
+sendet die SL-Response an den DataURL-Server. Der DataURL-Server
+antwortet entsprechend auf die &uuml;bermittelte SL-Response; diese
+Antwort wird vom&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> unver&auml;ndert an den Antwender weitergeleitet.</p>
+ </td>
+ </tr>
+ </tbody>
</table>
+<h1><a name="zusammenspiel.rewrite" id="zusammenspiel"></a>4.2 Ablauf mit Rewrite-Proxy</h1>
+Die nachfolgende Grafik stellt das Zusammenspiel der Komponenten aus
+Abschnitt 3 mit dem Anwender und dem DataURL-Server dar, wobei die
+Anfragen vom Anwender nicht direkt an MOA SL, sondern indirekt
+&uuml;ber einen Rewrite-Proxy gestellt werden.<br>
+<div style="text-align: center;"><img style="width: 1021px; height: 463px;" alt="Zusemmenspiel der Komponenten - mit Rewrite-Proxy" src="images/Zusammenspiel.mit.png" vspace="25"><br>
+<div style="text-align: left;">
+<table style="text-align: left; width: 983px; height: 216px;" border="1" cellpadding="2" cellspacing="2">
+ <tbody>
+ <tr>
+ <td>1, 2</td>
+ <td>
+ <p>Pr&uuml;fung der Signatur: Anfrage wird eigentlich an&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> gerichtet, durch die Filter-Konfiguration &uuml;ber den Deployment-Descriptor web.xml wird jedoch vorher und nachher der&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> dazwischengeschalten. Die Aufbereitung der HTML-Darstellung der SL-Response wird vom&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.filters.SL2MOAFilter">SL2MOAFilter</abbr></code> an die JSP-Seite <code>resultOverview.jsp</code> delegiert. Die Anfrage des Anwenders wird nicht direkt an das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.MOAServlet">MOAServlet</abbr></code> gerichtet, sondern &uuml;ber den Rewrite-Proxy, der die Anfrage-URL passend umschreibt.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>3,4</td>
+ <td>
+ <p>&Uuml;ber
+die HTML-Ansicht der SL-Response kann der Anwender die einzelnen, von
+der XML-Signatur gesicherten&nbsp;Dokumente abrufen. Die Links f&uuml;r die
+Dokumente verweisen nicht direkt auf das <code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code>, sondern zun&auml;chst auf den Rewrite-Proxy, der die Links passend auf das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.HashInputServlet">HashInputServlet</abbr></code> umsetzt. Die Zuordnung im Servlet passiert &uuml;ber URL-Parameter (Session-ID, fortlaufende Nummer des Dokuments).</p>
+ </td>
+ </tr>
+ <tr>
+ <td>5, 6, 7, 8</td>
+ <td>
+ <p>In
+Schritt 5 quittiert der Anwender die HTML-Darstellung der SL-Response.
+Das Quittieren funktioniert &uuml;ber einen Link in der HTML-Darstellung,
+der&nbsp;nicht direkt auf das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> verweist, sondern zun&auml;chst auf den Rewrite-Proxy, der die Links passend auf das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> &nbsp;umsetzt. Das&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code>
+sendet die SL-Response an den DataURL-Server. Der DataURL-Server
+antwortet entsprechend auf die &uuml;bermittelte SL-Response; diese Antwort
+wird vom&nbsp;<code><abbr title="at.gv.egovernment.moa.spss.slinterface.servlets.ReturnServlet">ReturnServlet</abbr></code> unver&auml;ndert an den Antwender weitergeleitet.</p>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+</div>
</body>
</html>