From ffb2df7d075045936cdd4e02fbbdf43503f0f8c2 Mon Sep 17 00:00:00 2001 From: gregor Date: Thu, 6 Apr 2006 09:02:08 +0000 Subject: Initial commit. git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@701 d688527b-c9ab-4aba-bd8d-4036d912da1d --- spss.slinterface/handbook/common/LogoBKA.png | Bin 0 -> 8062 bytes spss.slinterface/handbook/common/LogoMoa4c.jpg | Bin 0 -> 45624 bytes spss.slinterface/handbook/common/LogoMoaBw.jpg | Bin 0 -> 41375 bytes spss.slinterface/handbook/common/MOA.css | 300 ++++++ .../handbook/conf/log4j/log4j.properties | 0 .../handbook/conf/moa-sl/moa-sl.properties | 0 spss.slinterface/handbook/conf/tomcat/server.xml | 0 spss.slinterface/handbook/index.html | 41 + spss.slinterface/handbook/operation/config.html | 1014 ++++++++++++++++++++ spss.slinterface/handbook/operation/operation.html | 449 +++++++++ spss.slinterface/handbook/system/system.html | 486 ++++++++++ 11 files changed, 2290 insertions(+) create mode 100644 spss.slinterface/handbook/common/LogoBKA.png create mode 100644 spss.slinterface/handbook/common/LogoMoa4c.jpg create mode 100644 spss.slinterface/handbook/common/LogoMoaBw.jpg create mode 100644 spss.slinterface/handbook/common/MOA.css create mode 100644 spss.slinterface/handbook/conf/log4j/log4j.properties create mode 100644 spss.slinterface/handbook/conf/moa-sl/moa-sl.properties create mode 100644 spss.slinterface/handbook/conf/tomcat/server.xml create mode 100644 spss.slinterface/handbook/index.html create mode 100644 spss.slinterface/handbook/operation/config.html create mode 100644 spss.slinterface/handbook/operation/operation.html create mode 100644 spss.slinterface/handbook/system/system.html (limited to 'spss.slinterface/handbook') diff --git a/spss.slinterface/handbook/common/LogoBKA.png b/spss.slinterface/handbook/common/LogoBKA.png new file mode 100644 index 000000000..6a92647fd Binary files /dev/null and b/spss.slinterface/handbook/common/LogoBKA.png differ diff --git a/spss.slinterface/handbook/common/LogoMoa4c.jpg b/spss.slinterface/handbook/common/LogoMoa4c.jpg new file mode 100644 index 000000000..a1102090b Binary files /dev/null and b/spss.slinterface/handbook/common/LogoMoa4c.jpg differ diff --git a/spss.slinterface/handbook/common/LogoMoaBw.jpg b/spss.slinterface/handbook/common/LogoMoaBw.jpg new file mode 100644 index 000000000..5a31e3e15 Binary files /dev/null and b/spss.slinterface/handbook/common/LogoMoaBw.jpg differ diff --git a/spss.slinterface/handbook/common/MOA.css b/spss.slinterface/handbook/common/MOA.css new file mode 100644 index 000000000..b8428d58d --- /dev/null +++ b/spss.slinterface/handbook/common/MOA.css @@ -0,0 +1,300 @@ +body +{ + font-family: "Times New Roman", Times, serif; + font-size: medium; + font-weight: normal; + margin-left: 2.5em; + margin-right: 2.5em; +} + +p +{ + margin-top: 0pt; + margin-bottom: 0.5em; + text-align: justify +} + +pre +{ + font-family: "Courier New", monospace; + font-size: 90%; + background-color: #cccccc; + color: #000000; + margin-left:1.5%; + margin-right:1.5%; + margin-top: 1em; + margin-bottom: 1em; + border: #008000 none; +} + +hr +{ + color: #000080; + background-color: #000080; + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +table.fixedWidth +{ + width: 97%; + margin-left:1.5%; + margin-right:1.5%; + margin-top: 1em; + margin-bottom: 1em; +} + + +table.varWidth +{ + margin-left:1.5%; + margin-top: 1em; + margin-bottom: 1em; +} + +th +{ + text-align: left; +} + +h1 +{ + color: #000080; + text-align: left; + font-size: 167%; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal +} + +h2 +{ + color: #000080; + font-size: 150%; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal +} + +h3 +{ + color: #000080; + font-size: 133%; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal +} + +h4 +{ + color: #000080; + font-size: 116%; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal +} + +h5 +{ + color: #000080; + font-size: 100%; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal +} + +h6 +{ + color: #000080; + font-size: 83%; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal +} + +code +{ + font-family: "Courier New", Courier, monospace; + font-size: 90%; + color: #000000 +} + +dd +{ + margin-top: 0.8em; + margin-bottom: 0.8em; + text-align: justify + +} + +dt +{ + margin-top: 0.8em; + font-family: Arial, Helvetica, sans-serif; + color: #000080 +} + +ol +{ + margin-top: 0.5em; + margin-bottom: 0.5em +} + +ol.alpha +{ + list-style-type: lower-alpha +} + +li +{ + margin-top: 0.25em; + margin-bottom: 0.25em; + text-align: justify +} + +a:hover +{ + color: #990000 +} + + +.title +{ + text-align: left; + font-size: 167%; + color: #000080; + font-family: Arial, Helvetica, sans-serif; + margin-top: 0.4em; + margin-bottom: 0.4em +} + +.subtitle +{ + text-align: left; + font-size: 133%; + color: #000080; + font-family: Arial, Helvetica, sans-serif; + margin-top: 0.4em; + margin-bottom: 0.4em +} + +.glossaryTerm +{ + font-style: italic; + color: #006699 +} + +.example +{ + font-family: "Courier New", monospace; + background-color: #CCFFFF; + color: #000000; + margin: 0pt 0pt; + border: #008000 none +} + +.schema +{ + font-family: "Courier New", monospace; + background-color: #FFFFCC; + color: #000000; + margin: 0pt 0pt; + border: #008000 none +} + +.documentinfo +{ + font-family: Arial, Helvetica, sans-serif; + font-size: 100%; +} + +.ol-contents +{ + font-size: 100%; + margin-top: 0.0em; + margin-bottom: 0.0em; +} + +.li-contents +{ + font-size: 100%; + margin-top: 0.0em; + margin-bottom: 0.0em; +} + +.logoTitle +{ + text-align: center; + font-size: 133%; + color: #000080; + font-family: Arial, Helvetica, sans-serif; +} + +.logoTable +{ + margin-bottom: 0px; + margin-left: 0px +} + +.superscript +{ + vertical-align: super; + font-size: 66%; +} + +.term +{ + font-style: italic; +} + +.comment +{ + color: #000000; + background: #ffff00; + font-style: italic +} + +.addedErrata12 +{ + color: #FF0000; + background-color: #FFEEEE; + text-decoration: underline +} + +.deletedErrata12 +{ + color: #999999; + background-color: #EEEEEE; + text-decoration: line-through +} + +.added12 +{ + color: #FF0000; + text-decoration: underline +; background-color: #F8F0FF +} + +.deleted12 +{ + color: #999999; + text-decoration: line-through +; background-color: #f8f0ff +} + +.rfc2119Keyword +{ + font-variant: small-caps; + font-style: normal; +} + +.remark { font-style: italic} + +li.faq +{ + margin-top: 1.5em; + margin-bottom: 1.5em; +} + +.faq-question +{ + color: #000080; + font-size: 100%; + font-family: Arial, Helvetica, sans-serif; + font-weight: normal; + margin-bottom: 0.4em; +} diff --git a/spss.slinterface/handbook/conf/log4j/log4j.properties b/spss.slinterface/handbook/conf/log4j/log4j.properties new file mode 100644 index 000000000..e69de29bb diff --git a/spss.slinterface/handbook/conf/moa-sl/moa-sl.properties b/spss.slinterface/handbook/conf/moa-sl/moa-sl.properties new file mode 100644 index 000000000..e69de29bb diff --git a/spss.slinterface/handbook/conf/tomcat/server.xml b/spss.slinterface/handbook/conf/tomcat/server.xml new file mode 100644 index 000000000..e69de29bb diff --git a/spss.slinterface/handbook/index.html b/spss.slinterface/handbook/index.html new file mode 100644 index 000000000..e8b496563 --- /dev/null +++ b/spss.slinterface/handbook/index.html @@ -0,0 +1,41 @@ + + + + + MOA SL - Übersicht + + + + + + + + + + + + + + + + +
Logo BKAOpen Source
+ für das E-Government
Logo MOA
+
+ +

MOA: Serverseitige Signaturprüfung (SL)

+ +

Übersicht zur Dokumentation der Version 1.0

+
+ +
+
Betriebshandbuch
+ +
Detaillierte Anleitung für die Installation sowie Erläuterung aller Konfigurationsoptionen.
+ +
Systemhandbuch
+ +
Beschreibung der einzelnen Komponenten von MOA SL und ihrem Zusammenspiel.
+
+ + diff --git a/spss.slinterface/handbook/operation/config.html b/spss.slinterface/handbook/operation/config.html new file mode 100644 index 000000000..f1097e55a --- /dev/null +++ b/spss.slinterface/handbook/operation/config.html @@ -0,0 +1,1014 @@ + + + + + MOA SS und SP - Konfiguration + + + + + + + + + +
Logo BKAOpen Source
+ für das E-Government
Logo MOA
+
+

MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.3

+

Konfiguration

+
+

Inhalt

+
    +
  1. +

    Übersicht

    +
      +
    1. Allgemeines +
        +
      1. Namenskonventionen
      2. +
      +
    2. +
    3. Zentrale Konfigurationsdatei +
        +
      1. Aktualisierung auf das Format von MOA SP/SS 1.3
      2. +
      +
    4. +
    5. Bekanntmachung der Konfigurationsdatei + +
        +
      1. Aktualisierung der Konfiguration im laufenden Betrieb
      2. +
      +
    6. +
    7. Konfiguration des Loggings
    8. +
    +
  2. +
  3. Konfigurationsparameter +
      +
    1. Allgemeines Parameter
        +
      1. Hardwarebasiertes Kryptographiemodul
      2. +
      +
    2. +
    3. Parameter für MOA SS
        +
      1. Schlüsselspeicher
          +
        1. Hardware-Schlüsselspeicher
        2. +
        3. Software-Schlüsselspeicher
        4. +
        +
      2. +
      3. Schlüsselgruppe
      4. +
      5. Zuordnung von Schlüsselgruppen zu einem + Kunden
      6. +
      7. Parameter für XML-Signaturen
      8. +
      9. Profil für Transformationen
      10. +
      11. Profil für Signaturumgebung
      12. +
      +
    4. +
    5. Parameter für MOA SP
        +
      1. Zertifikatsvalidierung
          +
        1. Konstruktion des Zertifikatspfads +
            +
          1. Cachen von Zertifikaten
          2. +
          3. Auswertung der Zertifikatserweiterung Authority Information Access
          4. +
          5. Lokalisierung des Zertifikatsspeichers
          6. +
          +
        2. +
        3. Valdierung des Zertifikatspfads +
            +
          1. Gültigkeitsmodell für die Zertifikatskettenprüfung
          2. +
          3. Vertrauensprofile
          4. +
          +
        4. +
        5. Widerrufsprüfung +
            +
          1. Aktivieren + der Widerrufsprüfung
          2. +
          3. Maximales Alter der Widerrufsinformation
          4. +
          5. Reihenfolge der Widerrufsdienste
          6. +
          7. Archivierung von Widerrufsinformationen
          8. +
          9. Manuelle + Konfiguration von Verteilungspunkten für Widerrufsinformationen
          10. +
          +
        6. +
        +
      2. +
      3. Profil für Transformationen
      4. +
      5. Profil für Ergänzungsobjekte
      6. +
      +
    6. +
    +
  4. +
  5. Beispielkonfigurationen +
      +
    1. Minimale Konfiguration für MOA SS
    2. +
    3. Minimale Konfiguration für MOA SP
    4. +
    5. Typische Konfiguration für MOA SP/SS
    6. +
    +
  6. +
+
+

1 Übersicht

+

Dieses Handbuch beschreibt detailliert die Konfigurationsmöglichkeiten für MOA SP/SS. Wenn nicht anders angegeben, beziehen sich die Erläuterungen sowohl auf die Konfiguration des Webservices als auch auf die Konfiguration von MOA SP/SS für den Einsatz als Klassenbibliothek.

+

1.1 Allgemeines

+

1.1.1 Namenskonventionen

+

Folgende Namenraum-Präfixe werden in diesem Handbuch zur Kennzeichnung der Namenräume + von XML-Elementen verwendet:

+ + + + + + + + + + + + + + + + + + + + + +
PräfixNamenraum
cfghttp://reference.e-government.gv.at/namespace/moaconfig/20021122#
dsighttp://www.w3.org/2000/09/xmldsig#
moahttp://reference.e-government.gv.at/namespace/moa/20020822#
xshttp://www.w3.org/2001/XMLSchema
+

1.2 Zentrale Konfigurationsdatei

+

Die Konfiguration von MOA SP/SS erfolgt zentral über eine einzige Konfigurationsdatei. Das Format der Konfigurationsdatei ist XML und muss dem Schema MOA-SPSS-config-1.3.xsd entsprechen. Abschnitt 2 erläutert die Konfigurationsmöglichkeiten im Einzelnen.

+

1.2.1 + Aktualisierung auf das Format von MOA SP/SS 1.3

+

Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues, übersichtlicheres Format für die + XML-Konfigurationsdatei.

+

Wenn Sie von einer älteren Version von MOA SP/SS auf die Version 1.3 wechseln und Ihre bestehende + Konfiguration beibehalten wollen, steht Ihnen ein einfaches Kommandozeilenwerkzeug zur Verfügung, mit dem + Sie Ihre Konfigurationsdatei vom bisherigen auf das neue Format migrieren können.

+

Dieses Werkzeug können Sie durch Ausführen des Scripts configtool aus dem Verzeichnis + tools im MOA-Installationsverzeichnis verwenden:

+
configtool c:\pfad\zur\konfiguration\config.alt.xml c:\pfad\zur\konfiguration\config.neu.xml
+

Der erste Parameter für das Script gibt also Pfad und Dateiname der bestehenden, alten Konfigurationsdatei + an, der zweite Parameter Pfad und Dateiname für die zu erzeugende Konfigurationsdatei im neuen Format (Hinweis: + Die Beispielpfade beziehen sich auf Windows-Betriebssysteme; für Unix-Betriebssysteme wählen Sie bitte sinngemäße + Pfade.).

+

1.3 Bekanntmachung der Konfigurationsdatei

+

Die zentrale Konfigurationsdatei von MOA SP/SS wird der Java Virtual Machine, in der MOA SP/SS läuft, durch eine System Property mitgeteilt (wird beim Starten der Java Virtual Machine in der Form -D<name>=<wert> gemacht). Der Name der System Property lautet moa.spss.server.configuration; als Wert der System Property ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.

+
moa.spss.server.configuration=C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/moa-spss.config.xml 
+
+

Weitere Informationen zum Bekanntmachen der zentralen Konfigurationsdatei für MOA SP/SS erhalten Sie in Abschnitt 2.1.2.3 des Installationshandbuchs.

+

1.3.1 + Aktualisierung der Konfiguration im laufenden Betrieb

+

Wird MOA SP/SS als Webservice eingesetzt, kann durch Aufrufen einer speziellen URL des Webservice ein erneutes Einlesen der Konfigurationsdatei erzwungen werden. Damit ist es möglich, Änderungen an der Konfigurationsdatei vorzunehmen, und diese Änderungen ohne Neustart des zu Grunde liegenden Servlet Containers in den Betrieb zu übernehmen.

+

Weitere Informationen zum erneuten Einlesen der Konfigurationsdatei im Webservice-Betrieb erhalten Sie in Abschnitt 2.1.2.5 des Installationshandbuchs.

+

1.4 Konfiguration des Loggings

+

MOA SP/SS verwendet als Framework für Logging-Information die Open Source Software log4j. Die Konfiguration der Logging-Information erfolgt nicht direkt durch MOA SP/SS, sondern über eine eigene Konfigurationsdatei, die der Java Virtual Machine durch eine System Property mitgeteilt wird. Der Name der System Property lautet log4j.configuration; als Wert der System Property ist eine URL anzugeben, die auf die log4j-Konfigurationsdatei verweist, z.B.

+

+

log4j.configuration=file:/C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/log4j.properties
+ Weitere Informationen zur Konfiguration des Loggings erhalten Sie in Abschnitt 2.1.3 des Installationshandbuchs. +

+

2 Konfigurationsparameter

+

Nachfolgend werden die verfügbaren Konfigurationsparameter der zentralen Konfigurationsdatei im Detail erläutert. Die Reihenfolge der Abhandlung entspricht der Reihenfolge des vorgeschriebenen Auftretens in der Konfigurationsdatei. Für beispielhafte Konfigurationsdateien siehe Abschnitt 3.

+

Muss der Wert eines Konfigurationsparameters eine URL oder eine Pfadangabe sein, und wird als konkreter Wert eine relative URL bzw. ein relativer Pfad angegeben, so wird diese Angabe relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist.

+

2.1 + Allgemeine Parameter

+

2.1.1 Hardwarebasiertes Kryptographiemodul

+ + + + + + + + + + + + + +
Namecfg:Common/cfg:HardwareCryptoModule
GebrauchNull mal bis unbeschränkt oft
Erläuterung

Mit diesem Element wird MOA SP bzw. SS die Verfügbarkeit eines Hardware-Kryptographiemoduls + mitgeteilt. Wird ein solches Hardware-Kryptographiemodul konfiguriert, versucht MOA SP/SS das + Hardware-Kryptographiemodul für die Verifikation des Signaturwerts (MOA SP) bzw. für die Berechnung + von Hashwerten (MOA SP und MOA SS) anstatt des standardmäßig konfigurierten Software-Kryptographiemoduls + zu verwenden.

+

Werden mehrere Hardware-Kryptographiemodule konfiguriert, prüft MOA SP/SS entsprechend + der Konfigurationsreihenfolge der Hardware-Kryptographiemodule, ob eines der Module die benötigte + Funktion (Hashwertberechnung, Siganturprüfung) zur Verfügung stellt. Verwendet wird das erste Hardware-Kryptographiemodul, + das ide benötigte Funktion zur Verfügung stellen kann.

+

Das Element weist bis zu drei Kindelemente auf:

+
    +
  • Element cfg:Name: Dieses obligatorische Element vom Typ xs:string enthält + den Dateinamen der DLL (Windows) oder der Shared-Library (Unix), welche die PKCS#11-Schnittstelle + zum Hardware-Kryptographiemodul implementiert; der Wert enthält entweder einen Dateinamen + mit absoluter Pfadangabe oder einen Dateinamen ohne Pfadangabe. Im letzteren Fall wird der Dateiname + relativ zum Suchpfad des Betriebssystems interpretiert.
  • +
  • Element cfg:SlotId: Dieses optionale Element vom Typ xs:string gibt + des Slot der PKCS#11-Schnittstelle an, über den das Hardware-Kryptographiemodul von MOA + SP/SS angesprochen werden soll. Fehlt dieses Attribut, wählt MOA SP/SS selbst einen Slot + aus der Liste der verfügbaren Slots aus.
  • +
  • Element cfg:UserPIN: Dieses obligatorische Element vom Typ xs:string enthält + den PIN-Code zur Freischaltung der Kryptographiefunktionen über die PKCS#11-Schnittstelle + des Hardware-Kryptographiemoduls.
  • +
+

2.2 Parameter für MOA SS

+

2.2.1 Schlüsselspeicher

+

2.2.1.1 Hardware-Schlüsselspeicher

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule
GebrauchNull mal bis unbeschränkt oft; zumindest ein Hardware- (cfg:HardwareKeyModule) oder + Software-Schlüsselspeicher (cfg:SoftwareKeyModule) muss + jedoch vorhanden sein
Erläuterung

Mit diesem Element wird MOA SS die Verfügbarkeit eines Hardware-Schlüsselspeichers mitgeteilt.

+

Das Element weist bis zu vier Kindelemente auf:

+
    +
  • Element cfg:Id: Dieses obligatorische Element vom Typ xs:token enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement cfg:SignatureCreation/cfg:KeyGroup auf + dieses Konfigurationselement referenziert.
  • +
  • Element cfg:Name: Dieses obligatorische Element vom Typ xs:string enthält + den Dateinamen der DLL (Windows) oder der Shared-Library (Unix), welche die PKCS#11-Schnittstelle + zum Hardware-Schlüsselspeicher implementiert; der Wert enthält entweder einen Dateinamen + mit absoluter Pfadangabe oder einen Dateinamen ohne Pfadangabe. Im letzteren Fall wird der Dateiname + relativ zum Suchpfad des Betriebssystems interpretiert.
  • +
  • Element cfg:SlotId: Dieses optionale Element vom Typ xs:string gibt des + Slot der PKCS#11-Schnittstelle an, über den der Hardware-Schlüsselspeicher von MOA SS + angesprochen werden soll. Fehlt dieses Attribut, wählt MOA SS selbst einen Slot aus der Liste + der verfügbaren Slots aus.
  • +
  • Element cfg:UserPIN: Dieses obligatorische Element vom Typ xs:string enthält + den PIN-Code zur Freischaltung der Schlüsselverwendung über die PKCS#11-Schnittstelle + des Hardware-Schlüsselspeichers.
  • +
+

2.2.1.2 + Software-Schlüsselspeicher

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule
GebrauchNull mal bis unbeschränkt oft; zumindest ein Hardware- (cfg:HardwareKeyModule) oder + Software-Schlüsselspeicher (cfg:SoftwareKeyModule) muss jedoch vorhanden sein
Erläuterung

Mit diesem Element wird MOA SS die Verfügbarkeit eines Software-Schlüsselspeichers in + Form einer PKCS#12-Datei mitgeteilt.

+

Das Element weist drei obligatorische Kindelemente auf:

+
    +
  • Element cfg:Id: Dieses Element vom Typ xs:token enthält einen + frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei + eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement cfg:SignatureCreation/cfg:KeyGroup auf + dieses Konfigurationselement referenziert.
  • +
  • Element cfg:Filename: Dieses Element vom Typ xs:string enthält + den Dateinamen der PKCS#12-Datei, die den Software-Schlüsselspeicher repräsentiert. Der + Wert enthält einen Dateinamen mit absoluter oder relativer Pfadangabe. Eine relative Pfadangabe + wird von MOA SS relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei + gespeichert ist.
  • +
  • Element cfg:Password: Dieses Element vom Typ xs:string enthält + das Passwort zum Entschlüsseln der Inhalte der PKCS#12-Datei.
  • +
+

2.2.2 Schlüsselgruppe

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:KeyGroup
Gebraucheinmal bis unbeschränkt oft
Erläuterung

Mit diesem Element wird in MOA SS eine Schlüsselgruppe definiert. Eine Schlüsselgruppe + ist eine Zusammenfassung von einem oder mehreren privaten Schlüsseln, die in Hardware- bzw. Softwareschlüsselspeichern + (vergleiche Abschnitte 2.2.1.1 bzw. 2.2.1.2) + verwaltet werden. Die Schlüsselgruppe wird vom Kunden von MOA SS über einen eindeutigen Bezeichner + im Request zur Signaturerstellung angesprochen.

+

Sinn der Zusammenfassung von mehreren privaten Schlüsseln zu einer Schlüsselgruppe ist + es, dass MOA SS selbst entscheidet, welcher konkrete Schlüssel aus der Schlüsselgruppe + zur Erstellung der Signatur verwendet wird. Durch die somit mögliche Parallelisierung (mehrere + private Schlüssel werden parallel für Anfragen, die auf die gleiche Schlüsselgruppe + referenzieren) lässt sich der Durchsatz der erstellten Signaturen verbessern.

+

Das Element cfg:SignatureCreation/cfg:KeyGroup hat folgenden Element-Inhalt:

+
    +
  • Element cfg:Id: Dieses obligatorische Element vom Typ xs:token enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Mit Hilfe dieses Identifikators wird im Konfigurationselement cfg:SignatureCreation/cfg:KeyGroupMapping auf + dieses Konfigurationselement referenziert. Weiters wird dieser Identifikator im Request zur Erstellung + der Signatur verwendet, um die zu verwendende Schlüsselgruppe anzugeben.
  • +
  • Element cfg:Key: Dieses Element muss zumindest einmal vorkommen. Jedes Element beschreibt + einen der privaten Schlüssel, aus denen sich die Schlüsselgruppe zusammensetzt. Das Element + hat folgenden Element-Inhalt: +
      +
    • Element cfg:KeyModuleId: Dieses Element kommt genau einmal vor. Mit ihm wird + auf einen der konfigurierten Hardware- oder Software-Schlüsselspeicher referenziert. + Sein Textinhalt vom Typ xs:token enthält den Identifikator des Hardware- + oder Software-Schlüsselspeichers, so wie er in cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule/cfg:Id bzw. cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule/cfg:Id festgelegt + wurde.
    • +
    • Element cfg:KeyCertIssuerSerial: Dieses Element kommt ebenfalls genau einmal + vor. Mit ihm wird ein privater Schlüssel innerhalb des mit cfg:KeyModuleId ausgewählten + Schlüsselspeichers ausgewählt (sowohl Hardware- als auch Softwareschlüsselspeicher + können ja prinzipiell mehr als nur einen einzigen privaten Schlüssel verwalten). + Das Element hat folgenden Element-Inhalt: +
        +
      • Element dsig:X509IssuerName: Dieses Element kommt genau einmal vor. + Sein Textinhalt vom Typ xs:string enthält den Namen des Ausstellers + des Zertifikats für den ausgewählten privaten Schlüssel.
      • +
      • Element dsig:X509SerialNumber: Dieses Element kommt genau einmal vor. + Sein Textinhalt vom Typ xs:integer enthält die Seriennummer des Zertifikats + für den ausgewählten privaten Schlüssel.
      • +
      +
    • +
    +
  • +
+

Um auf einfache Weise für alle in Ihren Schlüsselspeichern enthaltenen privaten Schlüssel + die jeweiligen Werte für dsig:X509IssuerName und dsig:X509SerialNumber zu + erhalten, gehen Sie am besten wie folgt vor:

+
    +
  1. Erfassen Sie in der zentralen Konfigurationsdatei alle Ihre Schlüsselspeicher mit Hilfe + der Konfigurationselemente cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule bzw. cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule.
  2. +
  3. Starten Sie nun - mit bewusst fehlenden cfg:SignatureCreation/cfg:KeyGroup Elementen - den MOA SP/SS Server. + Stellen Sie dabei sicher, dass das Log-Level für den Logger moa.spss.server zumindest + auf das Niveau info eingestellt ist (Informationen zur Konfiguration des Loggings + von MOA SP/SS finden Sie in Abschnitt + 2.1.3 des Installationshandbuchs). Im Log-File werden dann alle verfügbaren privaten Schlüssel + an Hand der Werte dsig:X509IssuerName und dsig:X509SerialNumber aufgelistet. + Vergleichen Sie den folgenden beispielhaften Auszug:
    +
    INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key 
    ID=SKM_Kunde1;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;7 +INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key + ID=SKM_allgemein;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;9
    INFO | 15 15:10:14,737 | moa.spss.server | TID=startup NID=node1 MSG=Key
    ID=SKM_Kunde2;CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT;8
    + Der Wert der Eigenschaft ID des Logging-Eintrags gliedert sich in drei Teile: +
      +
    1. Der erste Teil enthält den Identifikator des Hardware- bzw. Softwareschlüsselspeichers, + so wie er im entsprechenden Konfigurationselement cfg:SignatureCreation/cfg:KeyModules/cfg:HardwareKeyModule bzw. cfg:SignatureCreation/cfg:KeyModules/cfg:SoftwareKeyModule erfasst + wurde.
    2. +
    3. Der zweite Teil enthält nach dem ersten Semikolon den Namen des Ausstellers des Zertifikats + für den privaten Schlüssel, so wie er in dsig:X509IssuerName benötigt + wird.
    4. +
    5. Der dritte Teil enthält nach dem zweiten Semikolon die Seriennummer des Zertifikats für + den privaten Schlüssel, so wie er in dsig:X509SerialNumber benötigt wird.
    6. +
    +
  4. +
  5. Erfassen Sie nun mit Hilfe der neu gewonnenen Informationen die Schlüsselgruppen, die in + MOA SS zur Verfügung stehen sollen.
  6. +
+

Wenn Ihnen für einen privaten Schlüssel, den Sie in eine Schlüsselgruppe aufnehmen + wollen, das Zertifikat bekannt ist und es in Form einer DER-kodierten Datei vorliegt, können + Sie alternativ das Script certtool aus dem Verzeichnis tools im MOA-Installationsverzeichnis + verwenden, um zu den Werten für dsig:X509IssuerName und dsig:X509SerialNumber zu + kommen:

+
certtool -info <certfilename>

<certfilename> enthält den Namen der DER-kodierten Zertifikatsdatei, für + die die beiden Werte dsig:X509IssuerName und dsig:X509SerialNumber geliefert + werden sollen. Eine beispielhafte Ausgabe des Scripts sieht wie folgt aus:

+
SubjectDN (RFC2253): 
+  CN=Test: Signaturdienst aller Kunden: ECDSA (P192v1),OU=Technik und Standards,O=Stabsstelle IKT-Strategie des Bundes,C=AT
+IssuerDN (RFC2253) : 
+  CN=Test CA - Signaturdienste,OU=Technik und Standards,O=Stabstelle IKT-Strategie des Bundes,C=AT
Serial Number : + 9

Die Werte für IssuerDN (RFC2253) sowie Serial Number entsprechen + den Werten für dsig:X509IssuerName und dsig:X509SerialNumber.

+

2.2.3 + Zuordnung von Schlüsselgruppen zu Kunden

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:KeyGroupMapping
Gebraucheinmal bis unbeschränkt oft
Erläuterung

Das Element cfg:SignatureCreation/cfg:KeyGroupMapping ordnet einem Kunden von MOA SS die ihm zur Verfügung + stehenden Schlüsselgruppen zu, indem das den Kunden repräsentierende SSL-Clientzertifikat + mit einer oder mehreren Schlüsselgruppen assoziiert wird.

+

Das Element hat folgenden Element-Inhalt:

+
    +
  • Element cfg:CustomerId: Dieses Element bezeichnet auf eindeutige + Weise das den Kunden repräsentierende SSL-Clientzertifikat. Der Aufbau des Elements enspricht + dem Aufbau des Elements cfg:KeyCertIssuerSerial in Abschnitt 2.2.2. + Um zu den Werten für Ausstellername und Seriennummer des SSL-Clientzertifikats zu kommen, + können Sie auch hier das Script certtool (vergleiche Abschnitt 2.2.2) + verwenden.
  • +
  • Element cfg:KeyGroupId: Dieses Element vom Typ xs:token kommt so oft + vor, wie Schlüsselgruppen + einem bestimmten SSL-Clientzertifikat zugeordnet werden sollen, mindestens jedoch einmal. Sein + Wert repräsentiert dem Identifikator der Schlüsselgruppe, so wie er in cfg:SignatureCreation/cfg:KeyGroup/cfg:Id festgelegt + wurde.
  • +
+

Bitte beachten Sie: Für maximal ein Konfigurationselement cfg:SignatureCreation/cfg:KeyGroupMapping kann cfg:CustomerId auch + weggelassen werden. Die darin enthaltenen Schlüsselgruppen stehen dann allen Kunden von MOA + SS gleichermaßen zur Verfügung.

+

2.2.4 Parameter + für XML-Signaturen

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:XMLDSig/cfg:CanonicalizationAlgorithm
GebrauchNull mal oder einmal
Erläuterung

Als Inhalt des Elements kann der Kanonisierungs-Algorithmus, der für das Erstellen von XML-Signaturen verwendet werden soll und in der Signatur als Inhalt von dsig:Signature/dsig:SignedInfo/dsig:CanonicalizationMethod aufscheint, spezifiziert werden. Folgende Werte dürfen verwendet werden:

+

+

http://www.w3.org/TR/2001/REC-xml-c14n-20010315 
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
http://www.w3.org/2001/10/xml-exc-c14n#
http://www.w3.org/2001/10/xml-exc-c14n#WithComments
+

Wird das Element nicht angegeben, wird folgender Wert als Default-Wert verwendet:

+
http://www.w3.org/TR/2001/REC-xml-c14n-20010315  

Für die genaue Bedeutung der Werte siehe die Spezifikation für XML-Signaturen.

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:XMLDSig/cfg:DigestMethodAlgorithm
GebrauchNull mal oder einmal
Erläuterung

Als Inhalt des Elements kann der Digest-Algorithmus, der für das Erstellen von XML-Signaturen verwendet werden soll und in der Signatur als Inhalt von dsig:Signature/dsig:SignedInfo/dsig:Reference/dsig:DigestMethod aufscheint, spezifiziert werden. Folgende Werte dürfen verwendet werden:

+

+

http://www.w3.org/2000/09/xmldsig#sha1
+
+

+

Wird das Element nicht angegeben, wird folgender Wert als Default-Wert verwendet:

+
http://www.w3.org/2000/09/xmldsig#sha1

Für die genaue Bedeutung der Werte siehe die Spezifikation für XML-Signaturen.

+

2.2.5 Profil für Transformationen

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:CreateTransformsInfoProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SS erlaubt die Hinterlegung von vordefinierten Profilen für Transformationen, die im Rahmen + einer XML-Signaturerstellung zur Anwendung kommen sollen. Im Request zur XML-Signaturerstellung + reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die gesamten Transformationen explizit + anzugeben.

+

cfg:CreateTransformsInfoProfile enthält für ein bestimmtes Datenobjekt + für eine zu erstellende XML-Signatur die auf dieses Datenobjekt anzuwendenden Transformationen, + sowie allenfalls für die Durchführung der Transformationen notwendige Ergänzungsobjekte + (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).

+

cfg:CreateTransformsInfoProfile weist folgende obligatorische Kindelemene auf:

+
    +
  • Element Id: Dieses Element vom Typ xs:token enthält einen frei + wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei + eindeutig sein muss. Dieser Identifikator wird im Request zur Erstellung der XML-Signatur verwendet, + um das hinterlegte Profil zu referenzieren (vergleiche Element moa:CreateTransformsInfoProfileID).
  • +
  • Element Location: Dieses Element vom Typ xs:anyURI enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI + wird von MOA SS als File-URI relativ zum Lage jenes Verzeichnisses interpretiert, in dem die zentrale + Konfigurationsdatei gespeichert ist. Die XML-Datei muss als Wurzelelement das Element moa:CreateTransformsInfoProfile + enthalten.
  • +
+

2.2.6 Profil für Signaturumgebung

+ + + + + + + + + + + + + +
Namecfg:SignatureCreation/cfg:CreateSignatureEnvironmentProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SS erlaubt die Hinterlegung von vordefinierten Profilen für die Signaturumgebung, + die im Rahmen einer XML-Signaturerstellung zur Anwendung kommen soll. Im Request zur XML-Signaturerstellung + reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die Informationen zur Signaturumgebung + explizit anzugeben.

+

cfg:CreateSignatureEnvironmentProfile enthält für eine zu erstellende XML-Signatur, + die in ein bereits bestehendes XML-Dokument integriert werden soll, die Stelle, an der die XML-Signatur + eingefügt werden soll, sowie allenfalls für die Verarbeitung des bestehenden XML-Dokuments + notwendige Ergänzungsobjekte (z.B. ein XML-Schema für das validierende Parsen des bestehenden + XML-Dokuments).

+

cfg:CreateSignatureEnvironmentProfile weist folgende obligatorische Kindelemene + auf:

+
    +
  • Element Id: Dieses Element vom Typ xs:token enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Erstellung + der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element moa:CreateSignatureEnvironmentProfileID).
  • +
  • Element Location: Dieses Element vom Typ xs:anyURI enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI wird von MOA SS als File-URI relativ zum Lage jenes Verzeichnisses + interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als + Wurzelelement das Element moa:CreateSignatureEnvironmentProfile enthalten.
  • +
+

2.3 + Parameter für MOA SP

+

2.3.1 + Zertifikatsvalidierung

+

2.3.1.1 + Konstruktion des Zertifikatspfads

+
2.3.1.1.1 Cachen von Zertifikaten
+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:AutoAddCertificates
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob Zertifikate, die in einer + zu prüfenden + Signatur enthalten sind bzw. bei der Zertifikatspfaderstellung durch Auswertung der Zertifikatserweiterung Authority + Information Access (siehe + auch Parameter cfg:UseAuthorityInfoAccess) aus dem Internet geladen werden, automatisch + in den lokalen Zertifikatsspeicher (siehe Abschnitt x.y.z) hinzugefügt werden sollen.

+

Zulässige Werte für diesen Parameter sind true oder false.

+
+
2.3.1.1.2 Auswertung + der Zertifikatserweiterung Authority Information Access +
+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:UseAuthorityInfoAccess
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob die Zertifikatserweiterung Authority + Information Access für die Zertifikatspfaderstellung verwendet werden soll. Wird der + Wert auf true gesetzt, dann setzt MOA auch den Parameter cfg:AutoAddCertificate automatisch + auf true und ignoriert den gegebenenfalls in der Konfigurationsdatei dafür gesetzten + Wert.

+

Zulässige Werte für diesen Parameter sind true oder false.

+
2.3.1.1.3 Lokalisierung + des Zertifikatsspeichers
+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:PathConstruction/cfg:CertificateStore/cfg:DirectoryStore/cfg:Location
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:token gibt ein Verzeichnis im lokalen Dateisystem + an, das von MOA als lokaler Zertifikatsspeicher verwendet werden soll. +Zulässige Werte für diesen Parameter sind absolute oder relative Pfadangaben, wobei relative Pfadangaben +als relativ zum Pfad jenes Verzeichnisses interpretiert werden, in dem die zentrale + Konfigurationsdatei gespeichert ist. Beispiele für zulässige Werte lauten:

+
C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/certstore
+
certstore
+

2.3.1.2 + Valdierung des Zertifikatspfads

+
2.3.1.2.1 Gültigkeitsmodell + für die Zertifikatskettenprüfung
+ + + + + + + + + + + + + +
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation/cfg:ChainingMode
Gebrauchgenau einmal
Erläuterung

Dieses Element legt fest, ob MOA SP für die Prüfung der Gültigkeit + einer konstruierten Zertifikatskette das Kettenmodell aus ISIS-MTT oder das Schalenmodell aus dem PKIX + RFC 3280 verwenden soll. Es hat folgende Kindelemente:

+
    +
  • cfg:DefaultMode: Dieses obligatorische Element gibt das Default-Modell für die Prüfung + der Gültigkeit einer konstruierten Zertifikatskette an. Gültige Werte sind chaining (Kettenmodell) + oder pkix (Schalenmodell).
  • +
  • cfg:TrustAnchor: Dieses Element kann beliebig oft (auch gar nicht) verwendet + werden, um für bestimmte Vertrauensanker (vergleiche nächsten Parameter cfg:TrustProfile) + Ausnahmen vom Default-Modell vorzugeben. + Das Element weist folgende Kindelemente auf: +
      +
    • cfg:Identification: Dieses obligatorische Element identifiziert den Vertrauensanker, + für den ein bestimmtes Modell konfiguriert werden soll. Es entspricht vom Aufbau jenem + von cfg:KeyCertIssuerSerial in + Abschnitt 2.2.2. Um zu den Werten für + Ausstellername und Seriennummer des Vertrauensankers zu kommen, können Sie auch hier + das Script certtool (vergleiche Abschnitt 2.2.2) + verwenden.
    • +
    • cfg:Mode: Dieses obligatorische Element vom Typ xs:string gibt + jenes Modell an, das von MOA SP für die + Prüfung von konstruierten Zertifikatsketten zu verwenden ist, die im mittels cfg:Identification/dsig:X509IssuerName und cfg:Identification/dsig:X509SerialNumber angegebenen + Vertrauensanker münden. Gültige Werte sind chaining (Kettenmodell) + oder pkix (Schalenmodell).
    • +
    +
  • +
+
2.3.1.2.2 Vertrauensprofile
+ + + + + + + + + + + + + +
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:PathValidation/cfg:TrustProfile
Gebraucheinmal bis unbeschränkt oft (zumindest ein Vertrauensprofil muss vorhanden sein)
Erläuterung

Das Element cfg:TrustProfile wird dazu verwendet, um in MOA SP ein Vertrauensprofil + für die Signaturprüfung einzurichten. Ein Vertrauensprofil besteht aus einer Menge von Vertrauensankern + und einer optionalen Menge von explizit erlaubten Signatorzertifikaten.

+

Ein Vertrauensanker ist ein CA-Zertifikat, das explizit als vertrauenswürdig eingestuft wird. + MOA SP versucht bei der Konstruktion einer Zertifikatskette, einen Pfad vom Signatorzertifikat bis + hin zu einem der konfigurierten Vertrauensanker zu finden. Gelingt dies, wird auch das Signatorzertifikat + als vertrauenswürdig betrachtet, ansonsten nicht.

+

Wird neben der Menge von Vertrauensankern auch noch eine Menge von explizit erlaubten Signatorzertifikaten + angegeben, prüft MOA SP nicht nur, ob sich ein Pfad vom Signatorzertifikat zu einem konfigurierten + Vertrauensanker konstruieren lässt, sondern darüber hinaus auch noch, ob das Signatorzertifikat + aus der zu prüfenden Signatur in der Menge der explizit erlaubten Signatorzertifikate vorkommt. + Explizit erlaubte Signatorzertifikate sollten Sie dann konfigurieren, wenn nicht allen von einer + als Vertrauensanker konfigurierten CA ausgestellten Zertifikaten vertraut werden soll, sondern nur + ganz bestimmten Zertifikaten dieser CA.

+

In MOA SP können beliebig viele solcher Vertrauensprofile konfiguriert werden. Der Kunde von + MOA SP gibt im Request zur Signaturprüfung an, gegen welches Vertrauensprofil MOA SP die Zertifikatsprüfung + vornehmen soll.

+

Das Element cfg:TrustProfile weist folgende Kindelemente + auf:

+
    +
  • Id: Dieses obligatorische Element vom Typ xs:token enthält einen + frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der XML-Konfigurationsdatei + eindeutig sein muss. Dieser Identifikator wird im Request zur Signaturprüfung verwendet, um + das zu verwendende Vertrauensprofil auszuwählen.
  • +
  • Element TrustAnchorsLocation: Dieses obligatorische Element vom Typ xs:anyURI enthält + eine relative oder absolute URL, die ein Verzeichnis im lokalen Dateisystem referenziert. + Eine relative URL wird relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale + Konfigurationsdatei gespeichert ist. Eine absolute URL muss als Protokoll-Teil file verwenden. + Das referenzierte Verzeichnis muss eine oder mehrere DER-kodierte Zertifikatsdateien beinhalten. + Jede Zertifikatsdatei repräsentiert einen Vertrauensanker.
  • +
  • Element SignerCertsLocation: Dieses optionale Element vom Typ xs:anyURI enthält + eine relative oder absolute URL, die ein Verzeichnis im lokalen Dateisystem referenziert. Eine + relative URL wird relativ zum Pfad jenes Verzeichnisses interpretiert, in dem die zentrale Konfigurationsdatei + gespeichert ist. Eine absolute URL muss als Protokoll-Teil file verwenden. Das referenzierte + Verzeichnis muss eine oder mehrere DER-kodierte Zertifikatsdateien beinhalten. Jede Zertifikatsdatei + repräsentiert ein explizit erlaubtes Signatorzertifikat.
  • +
+

2.3.1.3 + Widerrufsprüfung

+
2.3.1.3.1 Aktivieren + der Widerrufsprüfung
+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:EnableChecking
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob bei der Zertifikatsüberprüfung im Zuge einer Signaturprüfung auch der + Zertifikatsstatus jedes einzelnen Zertifikats des gebildeten Zertifikatspfads überprüft werden + soll.

+

Bitte beachten Sie: Die Widerrufsprüfung ist ein sehr wichtiger Schritt der + Zertifikatsüberprüfung und somit der Signaturprüfung. Eine Deaktivierung sollte nur + in begründeten Ausnahmefällen in Erwägung gezogen werden, z.B. für Testsituationen.

+

Zulässige Werte für diesen Parameter sind true oder false.

+
2.3.1.3.2 + Maximales Alter der Widerrufsinformation
+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:MaxRevocationAge
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:integer gibt an, wie aktuell eine ggf. lokal + gespeicherte Widerrufsinformation sein muss, damit sie von MOA SP als gültig angesehen wird. Ist + die lokal gespeicherte Widerrufsinformation nicht aktuell genug, wird sie von MOA SP erneut aus dem + Internet geladen.

+

Dieser Parameter wird nur ausgewertet, wenn die Widerrufsprüfung aktiviert ist (siehe Parameter cfg:EnableChecking).

+

Zulässige Werte für diesen Parameter sind ganze Zahlen:

+
    +
  • Ein beliebiger negativer Wert bedeutet, dass eine Widerrufsinformation jedes Mal, wenn sie benötigt + wird, neu aus dem Internet geladen wird.
  • +
  • Der Wert 0 bedeutet, dass eine Widerrufsinformation dann neu geladen wird, wenn + das Datum im Feld nextUpdate der entsprechenden Widerrufsliste bereits überschritten + ist.
  • +
  • Ein positiver Wert gibt gibt die Zeitspanne in Millisekunden an, nach der eine ggf. vorhandene + lokale Widerrufsinformation spätestens durch erneutes Laden aus dem Internet aktualisiert + wird.
  • +
+
2.3.1.3.3 + Reihenfolge der Widerrufsdienste
+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:ServiceOrder
GebrauchNull mal oder einmal
Erläuterung

Dieses Element gibt an, in welcher Reihenfolge MOA SP die Widerrufsdienste für die Prüfung des + Widerrufs für ein Zertifikat kontaktieren soll, wenn für das Zertifikat mehrere unterschiedliche Widerrufsdienste + (CRL, OCSP) verfügbar sind. Das Element weist folgendes Kindelement auf:

+
    +
  • cfg:Service: Dieses Element vom Typ xs:token muss genau zwei mal vorkommen. Gütlige Werte für den + Textinhalt des Elements sind OCSP und CRL. Damit kann entweder die Reihenfolge (CRL, OCSP) oder (OCSP, + CRL) festgelegt werden.
  • +

Wird das Element nicht angegeben, so lautet die von MOA SP dann verwendete Default-Reihenfolge (CRL, + OCSP).

+
2.3.1.3.4 + Archivierung von Widerrufsinformationen
+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:EnableArchiving
Gebrauchgenau einmal
Erläuterung

Der Inhalt dieses Elements vom Typ xs:boolean gibt an, ob mittlerweile ungültig + gewordene (i.e. historische) CRL-Widerrufsinformationen von MOA SP archiviert werden soll.

+

Wird dieser + Parameter auf den Wert true gesetzt, muss auch der Parameter cfg:Archive (siehe + unten) angegeben werden. Zulässige Werte für diesen Parameter sind true oder false.

+ + + + + + + + + + + + + + +
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:ArchiveDuration
GebrauchNull mal oder einmal
Erläuterung

Dieses Element vom Typ xs:nonNegativeInteger gibt (in Tagen) an, wie lange Widerrufsinformationen + von MOA SP archiviert werden müssen. Das Element wird von MOA SP nur dann ausgewertet, wenn der + Konfigurationsparameter cfg:EnableArchiving auf + true gesetzt ist.

+

Wird das Element nicht angegeben, so verwendet MOA SP den Default-Wert von 365 Tagen.

+ + + + + + + + + + + + + +
Name cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving/cfg:Archive
GebrauchNull mal oder einmal
Erläuterung

Dieses Element gibt an, welches Archiv MOA SP zur Archivierung von mittlerweile ungültig + gewordene (i.e. historische) CRL-Widerrufsinformationen verwenden soll, falls der Konfigurationsparameter cfg:EnableArchiving auf + true gesetzt ist. Es muss angegeben werden, wenn der + Konfigurationsparameter cfg:EnableArchiving auf true gesetzt ist. Das Element weist folgendes + Kindelement auf:

+
    +
  • cfg:DatabaseArchive: Dieses obligatorische Element dient zur Angabe der notwendigen + Informationen für die Benutzung eines datenbankbasierten CRL-Archivs durch MOA SP. Das Datenbankarchiv + ist die einzige derzeit unterstützte Archivform. Das Element weist folgende Kindelemente auf: +
      +
    • cfg:JDBCURL: Dieses obligatorische Element vom Typ xs:anyURI gibt + die JDBC-URL zu jener Datenbank an, in der MOA historische Widerrufsinformationen archivieren + soll. Der genaue Aufbau der JDBC-URL ist abhängig von der verwendeten Datenbank. Im Fall von + PostgreSQL kann folgende URL verwendet werden: +
      jdbc:postgresql://<host>/<moadb>?user=<moauser>&amp;password=<moapassword>
      +

      Die Platzhalter <host>, <moadb>, <moauser> und <moapassword> müssen + dabei an die tatsächlich verwendete Datenbank angepasst werden.

      +

      Bitte beachten Sie: Die Kodierung des Zeichens "&" als "&amp;" ist + erforderlich, da es andernfalls zu einem Validierungsfehler beim Parsen der XML-Konfigurationsdatei + durch MOA kommen würde.

      +

      Bitte beachten Sie: MOA SP legt eigenständig eine passende Tabelle in der angegebenen + Datenbank an und befüllt diese dann in weiterer Folge. Der in der JDBC-URL angegebene Benutzer + muss mit den dazu passenden Rechten ausgestattet sein.

      +
    • +
    • cfg:JDBCDriverClassName: Dieses obligatorische Element vom Typ xs:token gibt den + vollständig + qualifizierten Java-Klassennamen des JDBC-Treibers an, der von MOA SP zur Ansprache der für + die CRL-Archivierung zu verwendenden Datenbank benützt werden soll.

      +

      Bitte beachten Sie: Informationen zum Anlegen einer Datenbank in postgreSQL finden Sie in Abschnitt + 2.2.2.1 des Installationshandbuchs.

      +
    • +
    +
  • +
+
2.3.1.3.5 + Manuelle Konfiguration von Verteilungspunkten für Widerrufsinformationen
+ + + + + + + + + + + + + +
Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:DistributionPoint
GebrauchNull mal bis unbeschränkt oft
Erläuterung

Das Element cfg:CRLDistributionPoint kann dazu verwendet werden, manuelle + Verteilungspunkte für Widerrufsinformationen einer bestimmten CA zu konfigurieren.

+

Dies macht für veraltete Zertifikate Sinn, die nicht den aktuellen Vorgaben aus dem PKIX RFC 3280 entsprechen und im Zertifikat selbst keine Zertifikatserweiterung mit einem solchen Verteilungspunkt enthalten.

+

Weiters kann diese manuelle Konfiguration verwendet werden, wenn die in einem Zertifikat enthaltenen Verteilungspunkte für eine bestimmte CA durch einen manuellen Eintrag überschrieben werden soll (etwa weil die im Zertifikat enthaltenen Verteilungspunkte in Form von ldap-URLs angegeben sind, MOA SP aber der Zugriff auf ldap-URLs per Firewall-Einstellungen untersagt ist; dann könnte man stattdessen manuell eine (lokale) http-URL als Verteilungspunkt angeben, die von MOA SP dann aufgelöst werden kann).

+

Das Element weist folgende Kind-Elemente auf:

+
    +
  • Element cfg:CAIssuerDN: Dieses Element enthält als Textinhalt vom Typ xs:string den + Namen jener CA, die das Zertifikat ausgestellt hat, dessen Widerruf mit Hilfe des zu konfigurierenden + Verteilungspunktes geprüft werden soll. Um zu diesem Wert zu kommen, können Sie auch + hier das Script certtool (vergleiche Abschnitt 2.2.2) + verwenden, in dem Sie es für das Zertifikat anwenden, dessen Widerruf mit Hilfe des zu konfigurierenden + Verteilungspunktes geprüft werden soll.
  • +
  • Element cfg:CRLDP: Dieses Element verweist auf einen Verteilungspunkt, an dem eine + Widerrufsliste abgeholt werden kann. Es weist folgende Kind-Elemente auf: +
      +
    • Element cfg:Location: Der Wert dieses obligatorischen Elements vom Typ xs:anyURI enthält + die URL für den zu konfigurierenden Verteilungspunkt. Es werden die Protokolle HTTP, HTTPS + und LDAP unterstützt.
    • +
    • Element cfg:ReasonCode: Dieses Element vom Typ xs:token kann + null mal bis unbeschränkt + oft vorkommen und enthält + jeweils einen laut PKIX RFC 3280 möglichen Grund eines Widerrufs, + für + welche die über den zu konfigurierenden Verteilungspunkt zu beziehende Widerrufsliste + ausgestellt ist. Gültige Gründe sind unused, keyCompromise, cACompromise, affiliationChanged, superseded, cessationOfOperation, certificateHold, privilegeWithdrawn und aACompromise. + Wird eine Widerrufsliste für mehrere Gründe ausgestellt, muss also das Element cfg:ReasonCode mehrmals + angegeben werden. Wird das Element null mal angegeben, gilt der Verteilungspunkt für alle möglichen + Widerrufsgründe.
    • +
    +
  • +
  • Element cfg:OCSPDP: Dieses Element verweist auf einen Verteilungspunkt, an dem die + Widerrufsinformation von einem OCSP-Responder bezogen werden kann. Es weist folgendes Kind-Element + auf: +
      +
    • +
    + Element cfg:Location: Der Wert dieses obligatorischen Elements vom Typ xs:anyURI enthält + die URL für den zu konfigurierenden Verteilungspunkt. Es werden die Protokolle HTTP, HTTPS und + LDAP unterstützt.
  • +
+

Hinweis: Die Elemente cfg:CRLDP bzw. cfg:OSCPDP können beliebig oft als Kinder von cfg:CRLDistributionPoint angegeben + werden. Die Reihenfolge spielt dabei keine Rolle. Jedenfalls muss aber eines dieser beiden Elemente + angegeben werden.

+ +

2.3.2 Profil für Transformationen

+ + + + + + + + + + + + + +
Namecfg:SignatureVerification/cfg:VerifyTransformsInfoProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SP erlaubt die Hinterlegung eines vordefinierten Profils für eine erlaubte Transformationsfolge, + deren Einhaltung im Rahmen einer XML-Signaturprüfung kontrolliert wird. Im Request + zur XML-Signaturprüfung reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die + gesamten Transformationen explizit anzugeben.

+

cfg:VerifyTransformsInfoProfile enthält für ein bestimmtes Datenobjekt für + eine zu prüfende XML-Signatur eine + für dieses Datenobjekt erlaubte Transformationsfolge, bestehend aus den anzuwendenden Transformationen, + sowie allenfalls für die Durchführung der Transformationen erlaubte implizite Transformationsparameter + (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).

+

cfg:VerifyTransformsInfoProfile weist folgende obligatorische Kindelemene + auf:

+
    +
  • Element Id: Dieses Element vom Typ xs:token enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Prüfung + der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element moa:VerifyTransformsInfoProfileID).
  • +
  • Element Location: Dieses Element vom Typ xs:anyURI enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI wird von MOA SP als File-URI relativ zum Lage jenes Verzeichnisses + interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als + Wurzelelement das Element moa:VerifyTransformsInfoProfile enthalten.
  • +
+

2.3.3 Profil für Ergänzungsobjekte

+ + + + + + + + + + + + + +
Namecfg:SignatureVerification/cfg:SupplementProfile
GebrauchNull mal bis unbeschränkt oft
Erläuterung

MOA SS erlaubt die Hinterlegung eines vordefinierten Profils für ein Ergänzungsobjekt, + das im Rahmen einer XML-Signaturprüfung verwendet werden soll. Im Request zur XML-Signaturprüfung reicht es dann aus, auf dieses Profil zu referenzieren, anstatt die Informationen zur Signaturumgebung + explizit anzugeben.

+

cfg:SupplementProfile enthält für ein Datenobjekt in der zu prüfenden + XML-Signatur ein allenfalls für die Durchführung der vorgegebenen Transformationen notwendiges + Ergänzungsobjekt (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).

+

cfg:SupplementProfile weist folgende obligatorische Kindelemene auf:

+
    +
  • Element Id: Dieses Element vom Typ xs:token enthält + einen frei wählbaren Identifikator für dieses Konfigurationselement, der innerhalb der + XML-Konfigurationsdatei eindeutig sein muss. Dieser Identifikator wird im Request zur Prüfung + der XML-Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche Element moa:SupplementProfileID).
  • +
  • Element Location: Dieses Element vom Typ xs:anyURI enthält + den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. Der Wert enthält eine relative + oder absolute URI. Eine relative URI wird von MOA SP als File-URI relativ zum Lage jenes Verzeichnisses + interpretiert, in dem die zentrale Konfigurationsdatei gespeichert ist. Die XML-Datei muss als + Wurzelelement das Element moa:SupplementProfile enthalten.
  • +
+

3 Beispielkonfigurationen

+

3.1 Minimale Konfiguration für MOA SS

+

Nachfolgend finden Sie eine zentrale Konfigurationsdatei mit den minimal notwendigen Einträgen für + den alleinigen Betrieb von MOA SS. Darin sind als Kinder des Wurzelelements cfg:MOAConfiguration folgende + Konfigurationselemente enthalten:

+ +

Minimale Konfiguration für MOA SS

+

3.2 Minimale Konfiguration für MOA SP

+

Nachfolgend finden Sie eine zentrale Konfigurationsdatei mit den minimal notwendigen Einträgen für + den alleinigen Betrieb von MOA SP. Darin sind als Kinder des Wurzelelements cfg:MOAConfiguration folgende + Konfigurationselemente enthalten:

+ +

Minimale Konfiguration für MOA SP

+

3.3 Typische Konfiguration für MOA SP/SS

+

Nachfolgend finden Sie eine typische zentrale Konfigurationsdatei mit Einträgen für den kombinierten Betrieb von MOA SP und SS. Diese Datei wird auch als Konfiguration von MOA SP und SS verwendet, die für das Ausführen der Beispiele des Anwenderhandbuchs notwendig ist.

+

Typische Konfiguration für MOA SP/SS

+

 

+ + diff --git a/spss.slinterface/handbook/operation/operation.html b/spss.slinterface/handbook/operation/operation.html new file mode 100644 index 000000000..fbdda0b9e --- /dev/null +++ b/spss.slinterface/handbook/operation/operation.html @@ -0,0 +1,449 @@ + + + + + MOA SL - Betriebshandbuch + + + + + + + + + +
Logo BKAOpen Source
+ für das E-Government
Logo MOA
+
+

MOA: Serverseitige Signaturprüfung (SL), V 1.0

+

Betriebshandbuch

+
+

Inhalt

+
    +
  1. +

    Übersicht

    +
  2. +
  3. Installation +
      +
    1. Einführung
    2. +
    +
  4. +
  5. Konfiguration
  6. +
  7. +

    Webservice

    +
      +
    1. Basisinstallation +
        +
      1. Einführung
      2. +
      3. Installation +
          +
        1. Vorbereitung
        2. +
        3. Konfiguration von Apache Tomcat +
            +
          1. Konfiguration des HTTP Connectors
          2. +
          3. Konfiguration des HTTPS Connectors
          4. +
          5. Einrichten des MOA SP/SS Administrators
          6. +
          +
        4. +
        5. Einsatz des MOA SP/SS Webservices in Tomcat
        6. +
        7. Starten und Stoppen von Tomcat +
            +
          1. Unter Windows
          2. +
          3. Unter Unix
          4. +
          5. Prüfen des erfolgreichen Starts
          6. +
          +
        8. +
        9. Änderung der Konfiguration im laufenden Betrieb
        10. +
        +
      4. +
      5. Logging +
          +
        1. Format der Log-Meldungen
        2. +
        3. Wichtige Log-Meldungen
        4. +
        +
      6. +
      +
    2. +
    3. Erweiterungsmöglichkeiten
        +
      1. Vorgeschalteter Webserver
          +
        1. Microsoft Internet Information Server (MS IIS)
            +
          1. Konfiguration von Jakarta mod_jk im MS IIS
          2. +
          3. Konfiguration von Tomcat
          4. +
          5. Konfiguration von SSL
          6. +
          +
        2. +
        3. Apache
            +
          1. Konfiguration von Jakarta mod_jk im Apache
          2. +
          3. Konfiguration von Tomcat
          4. +
          5. Konfiguration von SSL mit mod_SSL
          6. +
          +
        4. +
        +
      2. +
      3. Datenbank
          +
        1. PostgreSQL
            +
          1. Anlegen eines Benutzers und einer Datenbank für MOA SP/SS
          2. +
          3. Archivierung von CRLs
          4. +
          5. Logging
          6. +
          +
        2. +
        3. Andere Datenbanken
        4. +
        +
      4. +
      +
    4. +
    +
  8. Klassenbibliothek +
      +
    1. Basisinstallation +
        +
      1. Einführung
      2. +
      3. Vorbereitung
      4. +
      5. Verwendung
      6. +
      7. Logging
      8. +
      +
    2. +
    3. Erweiterungsmöglichkeiten
    4. +
    +
  9. +
+
    +
  1. Referenzierte Software
  2. +
+
+

1 Übersicht

+

Das Modul Serverseitige Signaturprüfung (SL) ist als plattformunabhängiges Modul ausgelegt, das als Webservice über HTTP bzw. HTTPS angesprochen werden kann.

+

Dieses Handbuch beschreibt einerseits die Installation des Moduls, andererseits werden die Konfigurationsmöglichkeiten dargestellt. Für eine funktionale Beschreibung des Moduls siehe Systemhandbuch.

+

2 Installation

+

2.1 Einführung

+

Das MOA SL Webservice wurde plattformunabhänig konzipiert und in Java entwickelt. Es benötigt als Ablaufumgebung eine Java 2 Standard Edition (J2SE SDK, Version 1.4.2 oder 5.0) sowie einen Java Servlet Container, der die Java Servlet Specification in der Version x.y erfüllt.

+

In diesem Betriebshandbuch wird davon ausgegangen, dass MOA SL Apache Tomcat (Version 4.1 oder höher) als Servlet Container verwendet. Die Verwendung eines anderen Servlet Containers ist grundsätzlich möglich, wurde aber nicht getestet und ist auch nicht Gegenstand dieses Betriebshandbuchs.

+

Weiters wird davon ausgegangen, dass Apache Tomcat gleichzeitig als HTTP- bzw. HTTPS-Endpunkt fü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ätzlich möglich. So werden etwa als Teil des Apache Tomcat Projekts Module zur Verbindung mit einem vorgeschalteten Microsoft Internet Information Server oder mit einem vorgeschalteten Apache Webserver angeboten. Die Beschreibung der möglichen Vorschaltungen ist jedoch nicht Teil dieses Betriebshandbuchs.

+

Das MOA SL Webservice nimmt Signaturprüfungsrequests für XML-Signaturen entsprechend der Spezifikation des Security-Layers zur österreichischen Bürgerkarte in den Versionen 1.1 und 1.2 entgegen. Für die Durchführung der Signaturprüfung bedient sich MOA SL des Moduls MOA Signaturprüfung (SP). Für den Betrieb von MOA SL ist daher die Verfügbarkeit einer Webservice-Installation von MOA SP in der Version 1.2 oder höher Voraussetzung.

+

Als Logging Toolkit verwendet das MOA SL Webservice Apache Log4j.

+

2.2 Vorbereitung

+

Die folgenden Schritte dienen der Vorbereitung der Installation.

+
+
Installation von J2SE SDK
+
Installieren Sie J2SE 1.4.2 SDK oder J2SE 5.0 SDK in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet.
+
Installation von Apache Tomcat
+
Installieren Sie Apache Tomcat 4.1.31 oder höher in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Verwenden Sie bitte die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als $CATALINA_HOME bezeichnet.
+
Installation von MOA SP
+
Installieren Sie das Kombinationsmodul MOA SPSS Version 1.2 oder höher entsprechend seiner Installationsanleitung. Sie benötigen die Webservice-Schnittstelle von MOA SP. Es ist ausreichend, mittels entsprechender Konfigurationseinstellungen ausschließlich MOA SP zu aktivieren; MOA SS kann deaktiviert bleiben. Wenn Sie sowohl für MOA SPSS als auch für MOA SL Apache Tomcat als Servlet Container verwenden möchten, empfehlen wir, MOA SPSS und MOA SL in jeweils eigenständigen Instanzen von Apache Tomcat zu betreiben.
+
Entpacken der MOA SL Distribution
+
Entpacken Sie die Datei moa-sl-1.0.x.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SL_INST bezeichnet.
+
+

2.3 Konfiguration von Apache Tomcat

+

Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grundsätzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enthält und viele Ports offen lässt.

+

2.3.1 Konfiguration des HTTP Connectors

+

Die Datei $MOA_SL_INST/conf/tomcat/server.xml enthält eine minimale Tomcat-Konfiguration, die ausschließlich den Connector für HTTP auf Port 8080 freischaltet. Durch kopieren dieser Datei nach $CATALINA_HOME/conf/server.xml kann Tomcat mit dieser Konfiguration gestartet werden. Wir empfehlen diese Konfiguration nur für Fälle, in denen das MOA SL Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird.

+

2.3.2 Konfiguration des HTTPS Connectors

+

Wird das MOA SL Webservice in einer nicht abgeschlossenen Umgebung (z.B. Erreichbarkeit über das Internet) betrieben, ist es für den Benutzer von MOA SL essentiell, die Identität des Webservice eindeutig feststellen zu können, denn er vertraut dem Webservice ja die Prüfung einer elektronischen Signatur an. Diese Identitätsprüfung kann mit hoher Qualität vorgenommen werden, wenn die Erreichbarkeit des Webservice auf HTTPS mit Serverauthentisierung eingeschränkt wird.

+

Für die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zunächst ist der HTTP Connector abzuschalten (auszukommentieren). Anschließend ist der HTTPS Connector zu konfigurieren. Das Dokument Tomcat SSL Configuration HOW-TO gibt einen guten Überblick dazu. Grob zusammengefasst sind folgende Schritte durchzuführen:

+ +

Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden übernimmt (siehe Abschnitt 2.1).

+

2.4 Einsatz des MOA SL Webservices in Tomcat

+

Um das MOA SL Webservice in Tomcat für den Einsatz vorzubereiten, sind folgende Schritte notwendig:

+ +

2.5 Starten und Stoppen von Tomcat

+

2.5.1 Unter Windows

+

Das Verzeichnis $MOA_SL_INST/conf/tomcat/win32 enthält Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts müssen in den ersten Zeilen die Umgebungsvariablen JAVA_HOME (Basisverzeichnis des eingesetzten J2SE SDK) und CATALINA_HOME (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. müssen Sie auch noch die in den Script-Dateien gesetzten, in Abschnitt 2.4 besprochenen System Properties anpassen.

+

2.5.2 Unter Unix

+

Zunächst müssen die in Abschnitt 2.4 besprochenen System Properties mit Hilfe der Umgebungsvariablen CATALINA_OPTS gesetzt wrden. Die Datei $MOA_SL_INST/tomcat/unix/moa-env.sh enthält ein Beispiel dafür. Weiters müssen noch die Umgebungsvariablen JAVA_HOME (Basisverzeichnis des eingesetzten J2SE SDK) und CATALINA_HOME (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.

+

Nun kann Tomcat aus seinem Basisverzeichnis mit

+
bin/catalina.sh start
+gestartet werden. Das Stoppen von Tomcat erfolgt analog mit +
bin/catalina.sh stop
+

2.5.3 Prüfen des erfolgreichen Starts

+ +

Ein erfolgreicher Start des MOA SL Webservices ist an folgender Log-Meldung ersichtlich:

+ +
INFO | 18 10:09:45,155 | main | TID=startup NID=<null> MSG=MOA Konfiguration erfolgreich geladen
+
+

Bei leichten Fehlern in der Konfiguration geben WARN Log-Meldungen unmittelbar davor Aufschluss über fehlerhafte Konfigurations-Einträge. + Nach dem Starten von Tomcat steht das MOA SP/SS Webservice für die Server-Signatur und Signatur-Prüfung unter den Endpunkten

+
http://<host>:<port>/moa-spss/services/SignatureCreation
+
+

bzw. +

+
http://<host>:<port>/moa-spss/services/SignatureVerification
+
+

zur Verfügung. Die Verfügbarkeit des Services können Sie einfach überprüfen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite führen.

+

Konnte das MOA SP/SS Webservice nicht ordnungsgemäß gestartet werden, führt das zu folgender Log-Meldung:

+
FATAL | 18 10:17:03,475 | main | TID=startup NID=<null> 
MSG=Fehler beim Lesen der MOA Konfiguration: das Service steht nicht zur Verfügung +
+In diesem Fall geben die WARN bzw. ERROR Log-Meldungen unmittelbar davor Aufschluss über den genaueren Grund. +

2.1.3 Logging

+

Das MOA SL Webservice verwendet Apache Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im Apache Log4j Handbuch beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen: +

+

Das MOA SL Webservice verwendet folgende Log-Hierarchien:

+ +

Eine für MOA SP/SS passende Konfigurationsdatei für Log4j finden Sie hier. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei moa-spss.log geschrieben.

+

2.1.3.1 Format der Log-Meldungen

+

Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erläutert:

+
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1 
+  MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
+
+

Der Wert INFO besagt, dass die Log-Meldung im Log-Level INFO entstanden ist. Folgende Log-Levels existieren:

+ +

Der nächste Wert 01 21:25:26,540 gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit).

+

Der Wert Thread-3 bezeichnet den Thread, von dem die Anfrage bearbeitet wird.

+

Der Wert von TID gibt die fü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.

+

Der Wert von NID gibt den Rechner-Knoten an, auf dem das MOA SP/SS Webservice läuft (bei NID=<null> ist dieser Wert nicht konfiguriert, vergleiche Abschnitt 2.1.2.3).

+

Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist häufig ein Java Stack-Trace angefügt, der eine genauere Ursachen-Forschung ermöglicht.

+

2.1.3.2 Wichtige Log-Meldungen

+

Neben den im Abschnitt 2.1.2.4.3 beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgemäß gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss über die Abarbeitung von Anfragen.

+

Die Entgegennahme einer Anfrage wird angezeigt durch: + +

+
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
+INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Aufruf von Adresse=127.0.0.1
+INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Client-Zertifikat nicht verfügbar
+

Die dritte Log-Meldung besagt, dass für die Abarbeitung dieser Anfrage kein Client-Zertifikat verfügbar ist (entweder, weil die Anfrage über HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen über das Client-Zertifikat aus: +

INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=<null> 
+  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
+

Eine erfolgreich abgearbeitete Anfrage wird angezeigt durch: +

+
INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=<null> 
+  MSG=Anfrage erfolgreich abgearbeitet
+

Ein Fehler beim Abarbeiten der Anfrage wird angezeigt durch:

+
INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Fehler beim Abarbeiten der Anfrage
+
+

In diesem Fall gibt der mitgeloggte Stacktrace Auskunft über die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zurück.

+

Die Tatsächlich übertragenen Anfragen bzw. Antworten werden aus Effizienzgründen nur im Log-Level DEBUG angezeigt.

+
+

2.2 Erweiterungsmöglichkeiten

+

Ausgehend von der Basisinstallation können die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabhängig und in beliebiger Kombination aufgesetzt werden.

+

2.2.1 Vorgeschalteter Webserver

+

2.2.1.1 Microsoft Internet Information Server (MS IIS)

+

Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall ü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 Jakarta mod_jk durchgeführt. Die angeführten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.

+
2.2.1.1.1 Konfiguration von Jakarta mod_jk im MS IIS
+

Für die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das ISAPI-Modul von Jakarta mod_jk im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das mod_jk IIS HowTo. Beispiele für workers.properties und uriworkermap.properties Dateien liegen im Verzeichnis $MOA_SL_INST/tomcat bei.

+
2.2.1.1.2 Konfiguration von Tomcat
+

Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels Jakarta mod_jk weiterleitet werden, muss in $CATALINA_HOME/conf/server.xml der AJP 1.3 Connector aktiviert werden. Im Gegenzug können die Konnektoren für HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden Connector Konfigurations-Elemente in dieser Datei. Die Datei $MOA_SL_INST/tomcat/server.mod_jk.xml enthält eine Konfiguration, die ausschließlich den Port für den AJP 1.3 Connector offen lässt.

+
2.2.1.1.3 Konfiguration von SSL
+

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ügung.

+

2.2.1.2 Apache

+

Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird Jakarta mod_jk für die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angeführten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus und sind ident für die Versionen 1.3.x und 2.0.x.

+
2.2.1.2.1 Konfiguration von Jakarta mod_jk im Apache
+

Um das MOA-SPSS Webservice hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls mod_jk erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das mod_jk Apache HowTo. Ein Beispiel für eine workers.properties Datei liegt im Verzeichnis $MOA_SL_INST/tomcat bei.

+

Um das MOA SP/SS Webservice dem Apache Webserver bekannt zu machen, sind zumindest folgende Einträge im globalen Kontext der Apache-Konfigurationsdatei notwendig:

+
LoadModule jk_module /usr/lib/apache/mod_jk.so
AddModule jk_module
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkWorkersFile conf/workers.properties
JkMount /moa-spss/* moaworker
+

Die Pfad- und Dateinamen können je nach existierender Apache Installation geringfügig variieren.

+
2.2.1.2.2 Konfiguration von Tomcat
+

Die Konfiguration von Tomcat ist analog zu Abschnitt 2.2.1.1.2 durchzuführen.

+
2.2.1.2.2 Konfiguration von SSL mit mod_SSL
+

Apache kann in Verbindung mit mod_SSL als SSL-Endpunkt für das MOA SP/SS Webservice fungieren. In diesem Fall entfällt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via mod_jk austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enthält die Online-Dokumentation von mod_SSL.

+

Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass mod_ssl die HTTP-Header mit den Informationen über das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht:

+
SSLOptions +ExportCertData +StdEnvVars
+

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.

+

2.2.2 Datenbank

+

Die MOA SP/SS Module können eine Datenbank zum Archivieren von Certificate Revocation Lists (CRLs), sowie zum Abspeichern von Log-Meldungen verwenden. In beiden Fällen wird eine installierte und konfigurierte Datenbank vorausgesetzt.

+

2.2.2.1 PostgreSQL

+

Eine detaillierte Übersicht über die Installation und Konfiguration von PostgreSQL gibt die Online-Dokumentation.

+

Bitte beachten Sie: Eine Möglichkeit, PostgreSQL unter MS Windows zu installieren, besteht darin, Cygwin mit dem PostgreSQL-Package zu installieren. Alternative Installationsvarianten werden auf dieser Seite angeführt.

+
2.2.2.1.1 Anlegen eines Benutzers und einer Datenbank für MOA SP/SS
+

Damit die MOA SP/SS Module eine Verbindung zu PostgreSQL aufbauen kann, müssen der Name eines PostgreSQL-Benutzers und einer PostgreSQL-Datenbank bekannt sein. Sollten diese nicht vorhanden sein, kann mit folgenden Kommandos ein Benutzer namens moa und eine Datenbank namens moadb angelegt werden:

+
createuser -U postgres -d -A -P moa
createdb -U moa moadb
+

Da die MOA SP/SS Module über JDBC mit der Datenbank kommunizieren, ist in der Folge die Angabe einer JDBC-URL notwendig, welche die Verbindungsparameter enthält. Wurden der Benutzer und die Datenbank wie im obigen Beispiel angelegt, ist folgende JDBC-URL anzugeben (Annahme: als Passwort für den Benutzer moa wurde moapass gewählt):

+
 jdbc:postgresql://host/moadb?user=moa&password=moapass
+

Die Zeichen jdbc:postgresql:// sind unveränderliche Bestandteile einer PostgreSQL JDBC-URL. host gibt den Rechner an, auf dem PostgreSQL läuft. moadb identifiziert den Namen der Datenbank. Über die Parameter user= und pass= werden Benutzername und Passwort für den DB-User bekanntgegeben.

+
2.2.2.1.2 Archivierung von CRLs
+

Zum Archivieren von CRLs müssen in der MOA SP/SS Konfigurationsdatei die Kinder des Elements cfg:MOAConfiguration/cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving entsprechend + konfiguriert werden:

+ +

Vergleiche auch Abschnitt 2.3.1.3.4 im + Konfigurationshandbuch.

+
2.2.2.1.3 Logging
+

Für das Logging in eine PostgreSQL Datenbank mittels Jakarta Log4j muss zunächst eine Tabelle für die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:

+
 create table spss_log (log_time timestamp, log_level varchar(5), log_msg text);
+

Damit Log4j die Log-Meldungen in diese Datenbanktabelle schreibt, muss die Log4j-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte Log4j-Konfiguration enthält bereits die notwendigen Einträge für das Logging in eine PostgreSQL Datenbank, die jedoch standardmäßig ausgeschaltet sind.

+

Wie beim Caching von CRLs ist auch hier die Angabe einer JDBC-URL notwendig, damit die MOA SP/SS Module eine Verbindung zur Datenbank aufnehmen können.

+

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.

+

2.2.2.2 Andere Datenbanken

+

Über die generische Anbindung JDBC können auch andere Datenbanken für die Archivierung von CRLs bzw. für die Speicherung der Log-Meldungen eingesetzt werden. Hinweise zu bestimmten Datenbanken finden Sie in den FAQ.

+

Die in Abschnitt 2.2.2.1 gemachten Angaben zu Archivierung von CRLs bzw. zur Speicherung von Log-Meldungen gelten sinngemäß.

+

2.2.3 Hardware Security Module (HSM)

+

MOA SS kann für die Erstellung von Signaturen auf die Dienste eines HSM zurückgreifen. Voraussetzung dafür ist, dass für das HSM eine Implementierung der Schnittstelle PCKS#11 (PKCS#11-Bibliothek) angeboten wird.

+

Für die Einbindung des HSM in MOA SS müssen zunächst die Bibliotheken aus $MOA_SL_INST/pkcs11 in ein beliebiges Verzeichnis kopiert werden, welches dann in den Libray-Pfad des jeweiligen Betriebssystems aufgenommen werden muss (Windows: Umgebungsvariable PATH; Linux: Umgebungsvariable LD_LIBRARY_PATH).

+

Der Name der für das HSM spezifischen PKCS#11-Bibliothek muss in der Konfigurationsdatei eingetragen werden (vergleiche Abschnitt 2.2.1.1 des Konfigurationshandbuchs).

+

3 Klassenbibliothek

+

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öglichkeiten auf.

+

3.1 Basisinstallation

+

3.1.1 Einführung

+

Die Basisinstallation der Klassenbibliothek stellt einerseits die minimalen Anforderungen für den Einsatz von MOA SP/SS als Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt für optionale Erweiterungsmöglichkeiten.

+

Folgende Software ist Voraussetzung für die Basisinstallation der Klassenbibliothek:

+ +

3.1.2 Vorbereitung

+

Die folgenden Schritte dienen der Vorbereitung der Installation.

+
+
Installation von J2SE SDK
+
Installieren Sie J2SE 1.3.1 SDK oder J2SE 1.4.2 SDK oder J2SE 5.0 SDK in ein beliebiges Verzeichnis. Wir empfehlen die Installation von J2SE 5.0 SDK. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet.
+
Entpacken der MOA SP/SS Klassenbibliotheks-Distribution
+
Entpacken Sie die Datei moa-spss-1.2.x-lib.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SL_INST bezeichnet.
+
Installation der Krypographiebibliotheken von SIC/IAIK
+
+

Die Installation der Kryptographiebibliotheken von SIC/IAIK ist abhängig vom eingesetzten J2SE SDK:

+
+
J2SE 1.3.1 SDK
+
Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SL_INST/ext13 in das Verzeichnis $JAVA_HOME/jre/lib/ext.
+
J2SE 1.4.2 SDK oder JSE 5.0 SDK
+
Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SL_INST/ext14 in das Verzeichnis $JAVA_HOME/jre/lib/ext. Zusätzlich müssen Sie die Rechtedateien Ihres J2SE 1.4.2 SDK bzw. J2SE 5.0 SDK austauschen. Laden Sie dazu die Unlimited Strength Jurisdiction Policy Files von der J2SE 1.4.2 SDK Downloadseite bzw. J2SE 5.0 SDK Downloadseite und folgen Sie der darin enthaltenen Installationsanweisung.
+
+
+
+

3.1.3 Verwendung

+

Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu können, müssen die mit MOA SP/SS ausgelieferten Bibliotheken in den Java Klassenpfad der Applikation eingebunden werden.

+

Die nachfolgende Tabelle listet diese Klassenbibliotheken auf; die Einträge in der Spalte Dateien sind relativ zum Verzeichnis $MOA_SL_INST zu interpretieren.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KlassenbibliothekVersionDateien
MOA SP/SS1.2.x  moa-spss.jar, moa-common.jar
MOA IAIK1.0.7 

lib/iaik_moa_full.jar, lib/iaik_Pkcs11Wrapper.jar, + lib/iaik_cms.jar, lib/iaik_ixsil.jar

+
JAXP1.2_01  lib/jaxp-api.jar, lib/sax.jar, lib/dom.jar
Xerces-J2.4.0  lib/xercesImpl.jar, lib/xmlParserAPIs.jar
Xalan-J2.5.1 

lib/xalan.jar

+

Bitte beachten Sie: Wenn Sie J2SE 1.4.2 JRE oder J2SE 5.0 JRE verwenden, müssen Sie diese Bibliothek der Java VM als endorsed bekanntgeben. Sie können dies tun, indem Sie entweder

+
    +
  • die Bibliothek in das (ggf. vorher anzulegende) Verzeichnis $JAVA_HOME/jre/lib/endorsed/ kopieren; oder
  • +
  • die System Property java.endorsed.dirs verwenden, und als Wert den Pfad zu jenem Verzeichnis angeben, in dem Sie die Bibliothek vorhalten (also z.B. java.endorsed.dirs=c:/mylibdir).
  • +
Jaxen1.0  lib/jaxen-core.jar, lib/jaxen-dom.jar, lib/saxpath.jar
Commons-Logging1.0.4  lib/commons-logging-api.jar, lib/commons-logging.jar
Log4j1.2.7  lib/log4j-1.2.7.jar
Commons-Discovery0.2  lib/commons-discovery.jar
JSSE1.0.3_01 

Diese Bibliotheken benötigen Sie nur, wenn Sie J2SE 1.3.1 verwenden:

+

lib/ext13/jsse.jar, lib/ext13/jcert.jar, lib/ext13/jnet.jar

+

Bitte beachten Sie: Diese Bibliotheken benötigen Sie nur, wenn Sie J2SE 1.3.1 verwenden.

Postgres JDBC27.3 

lib/pg73jdbc2.jar

+

Bitte beachten Sie: Wenn Sie keine Datenbank für MOA SP/SS verwenden (vergleiche 2.2.2), benötigen Sie diese Bibliothek nicht.

+ +

3.1.4 Logging

+

Die MOA SP/SS Klassenbibliothek verwendet Jakarta Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Die im Abschnitt 2.1.3 gemachten Aussagen lassen sich großteils auf den Einsatz der MOA SP/SS Klassenbibliothek übertragen.

+

3.2 Erweiterungsmöglichkeiten

+

Die im Abschnitt 2.2 angeführten Erweiterungsmöglichkeiten für die MOA SP/SS Webservices gelten in analoger Weise auch für die Klassenbibliothek.

+

A Referenzierte Software

+

Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:

+ + + + + + + + + + + + + + + + + + + + + +
NameBeschreibung
Apache Tomcat 4.1.x Servlet-Container des Apache Jakarta Projekts in der Version 4.1.x
J2SE 1.4.2 SDK/JREJava 2 Standard Edition in der Version 1.4.2 (Software Development Kit bzw. Java Runtime Environment)
J2SE 5.0 SDK/JRE Java 2 Standard Edition in der Version 5.0 (Software Development Kit bzw. Java Runtime Environment)
Apache Log4J Logging Framework des Apache Projekts
+ + diff --git a/spss.slinterface/handbook/system/system.html b/spss.slinterface/handbook/system/system.html new file mode 100644 index 000000000..eb287ee8a --- /dev/null +++ b/spss.slinterface/handbook/system/system.html @@ -0,0 +1,486 @@ + + + + + MOA SS und SP - Installation + + + + + + + + + +
Logo BKAOpen Source
+ für das E-Government
Logo MOA
+
+

MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.3

+

Installation

+
+

Inhalt

+
    +
  1. +

    Übersicht

    +
  2. +
  3. +

    Webservice

    +
      +
    1. Basisinstallation +
        +
      1. Einführung
      2. +
      3. Installation +
          +
        1. Vorbereitung
        2. +
        3. Konfiguration von Apache Tomcat +
            +
          1. Konfiguration des HTTP Connectors
          2. +
          3. Konfiguration des HTTPS Connectors
          4. +
          5. Einrichten des MOA SP/SS Administrators
          6. +
          +
        4. +
        5. Einsatz des MOA SP/SS Webservices in Tomcat
        6. +
        7. Starten und Stoppen von Tomcat +
            +
          1. Unter Windows
          2. +
          3. Unter Unix
          4. +
          5. Prüfen des erfolgreichen Starts
          6. +
          +
        8. +
        9. Änderung der Konfiguration im laufenden Betrieb
        10. +
        +
      4. +
      5. Logging +
          +
        1. Format der Log-Meldungen
        2. +
        3. Wichtige Log-Meldungen
        4. +
        +
      6. +
      +
    2. +
    3. Erweiterungsmöglichkeiten
        +
      1. Vorgeschalteter Webserver
          +
        1. Microsoft Internet Information Server (MS IIS)
            +
          1. Konfiguration von Jakarta mod_jk im MS IIS
          2. +
          3. Konfiguration von Tomcat
          4. +
          5. Konfiguration von SSL
          6. +
          +
        2. +
        3. Apache
            +
          1. Konfiguration von Jakarta mod_jk im Apache
          2. +
          3. Konfiguration von Tomcat
          4. +
          5. Konfiguration von SSL mit mod_SSL
          6. +
          +
        4. +
        +
      2. +
      3. Datenbank
          +
        1. PostgreSQL
            +
          1. Anlegen eines Benutzers und einer Datenbank für MOA SP/SS
          2. +
          3. Archivierung von CRLs
          4. +
          5. Logging
          6. +
          +
        2. +
        3. Andere Datenbanken
        4. +
        +
      4. +
      +
    4. +
    +
  4. Klassenbibliothek +
      +
    1. Basisinstallation +
        +
      1. Einführung
      2. +
      3. Vorbereitung
      4. +
      5. Verwendung
      6. +
      7. Logging
      8. +
      +
    2. +
    3. Erweiterungsmöglichkeiten
    4. +
    +
  5. +
+
    +
  1. Referenzierte Software
  2. +
+
+

1 Übersicht

+

Die Module Signaturprüfung (SP) und Serversignatur (SS) sind als plattformunabhängige Module ausgelegt, die entweder als Webservice über HTTP bzw. HTTPS oder als Klassenbibliothek über ein API angesprochen werden können. Dieses Handbuch beschreibt die Installation der beiden Module als Webservice oder als Klassenbibliothek, sowie die Einrichtung der Systemumgebung.

+

2 Webservice

+

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öglichkeiten auf.

+

2.1 Basisinstallation

+

2.1.1 Einführung

+

Die Basisinstallation des Webservices stellt einerseits die minimalen Anforderungen für den Betrieb von MOA SP/SS als Webservices dar, andererseits dient sie als Ausgangspunkt für optionale Erweiterungsmöglichkeiten.

+

Folgende Software ist Voraussetzung für die Basisinstallation des Webservices:

+ +

In diesem Betriebs-Szenario wird das MOA SP/SS Webservice in Tomcat zum Einsatz gebracht. Tomcat fungiert gleichzeitig als HTTP- und HTTPS-Endpunkt für das MOA SP/SS Webservice. Beide Protokolle werden direkt in Tomcat konfiguriert. Das MOA SP/SS Webservice verwendet Log4j als Logging Toolkit.

+

2.1.2 Installation

+

2.1.2.1 Vorbereitung

+

Die folgenden Schritte dienen der Vorbereitung der Installation.

+
+
Installation von J2SE SDK
+
Installieren Sie J2SE 1.3.1 SDK oder J2SE 1.4.2 SDK oder J2SE 5.0 SDK in ein beliebiges Verzeichnis. Wir empfehlen die Installation von J2SE 5.0 SDK. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet.
+
Installation von Apache Tomcat 4.1
+
Installieren Sie Apache Tomcat 4.1.18 oder höher in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Wir empfehlen die Installation von Apache Tomcat 4.1.31. Verwenden Sie bitte die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als $CATALINA_HOME bezeichnet.
+
Entpacken der MOA SP/SS Webservice Distribution
+
Entpacken Sie die Datei moa-spss-1.2.x.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
+
Installation der Krypographiebibliotheken von SIC/IAIK
+
+

Die Installation der Kryptographiebibliotheken von SIC/IAIK ist abhängig vom eingesetzten J2SE SDK:

+
+
J2SE 1.3.1 SDK
+
Kopieren Sie alle Dateien aus dem Verzeichnis + + + $MOA_SPSS_INST/ext13 in das Verzeichnis $JAVA_HOME/jre/lib/ext.
+
J2SE 1.4.2 SDK oder JSE 5.0 SDK
+
Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext14 in das Verzeichnis $JAVA_HOME/jre/lib/ext. Zusätzlich müssen Sie die Rechtedateien Ihres J2SE 1.4.2 SDK bzw. J2SE 5.0 SDK austauschen. Laden Sie dazu die Unlimited Strength + + + Jurisdiction Policy Files von der J2SE 1.4.2 SDK Downloadseite bzw. J2SE 5.0 SDK Downloadseite und folgen Sie der darin enthaltenen Installationsanweisung.
+
+
+
+

2.1.2.2 Konfiguration von Apache Tomcat

+

Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grundsätzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enthält und viele Ports offen lässt.

+
2.1.2.2.1 Konfiguration des HTTP Connectors
+

Die Datei $MOA_SPSS_INST/tomcat/server.xml enthält eine minimale Tomcat-Konfiguration, die ausschließlich den Connector für HTTP auf Port 8080 freischaltet. Durch kopieren dieser Datei nach $CATALINA_HOME/conf/server.xml kann Tomcat mit dieser Konfiguration gestartet werden. Wir empfehlen diese Konfiguration nur für Fälle, in denen das MOA SP/SS Webservice in einer abgeschlossenen Netzwerkumgebung betrieben wird.

+
2.1.2.2.2 Konfiguration des HTTPS Connectors
+

Wird das MOA SP/SS Webservice in einer nicht abgeschlossenen Umgebung (z.B. Erreichbarkeit über das Internet) betrieben, ist die gegenseitige Identitätsfeststellung von Kunde und Webservice essentiell:

+ +

Beide Identitätsprüfungen können mit hoher Qualität vorgenommen werden, wenn die Erreichbarkeit des Webservice auf SSL mit Server- (für MOA SP) bzw. Client- und Serverauthentisierung (für MOA SS) eingeschränkt wird.

+

Für die dazu notwendige Konfiguration kann die im vorigen Abschnitt besprochene minimale Tomcat-Konfiguration als Ausgangspunkt verwendet werden: Zunächst ist der HTTP Connector abzuschalten (auszukommentieren). Anschließend ist der HTTPS Connector zu konfigurieren. Das Dokument Tomcat SSL Configuration HOW-TO gibt einen guten Überblick dazu. Grob zusammengefasst sind folgende Schritte durchzuführen:

+ +

Die Konfiguration des HTTPS Connectors kann entfallen, wenn Tomcat ein Webserver vorgeschaltet ist, und dieser die SSL-Kommunikation mit dem Kunden übernimmt (siehe Abschnitt 2.2.1).

+
2.1.2.2.3 Einrichten des MOA SP/SS Administrators
+

Das MOA SP/SS Webservice kann remote durch den Aufruf einer speziellen URL des Webservices dazu veranlasst werden, seine Konfiguration neu einzulesen (vergleiche Abschnitt 2.1.2.5). Der Zugriff auf diese URL ist durch eine Passwort-Abfrage geschützt, und kann nur von Tomcat-Benutzern aufgerufen werden, denen die Tomcat-Benutzer-Rolle moa-admin zugeordnet wurde.

+

Um diese Benutzer-Rolle und einen oder mehrere Benutzer einzurichten, müssen in der Datei $CATALINA_HOME/conf/tomcat-users.xml unter dem Element <tomcat-users> sinngemäß folgende Einträge hinzugefügt werden:

+

+

<role rolename="moa-admin"/> 
+<user username="moa-chief" password="openSesam" roles="moa-admin"/> 
+

Soll der Aufruf dieser URL niemandem ermöglicht werden, sind die oben beschriebenen Einträge einfach nicht vorzunehmen.

+ +

2.1.2.3 Einsatz des MOA SP/SS Webservices in Tomcat

+

Um das MOA SP/SS Webservice in Tomcat für den Einsatz vorzubereiten, sind folgende Schritte notwendig:

+ +

2.1.2.4 Starten und Stoppen von Tomcat

+
2.1.2.4.1 Unter Windows
+
+

Das Verzeichnis $MOA_SPSS_INST/tomcat/win32 enthält Script-Dateien zum Starten und Stoppen von Tomcat. Vor der erstmaligen Verwendung der Scripts müssen in den ersten Zeilen die Umgebungsvariablen JAVA_HOME (Basisverzeichnis des eingesetzten J2SE SDK) und CATALINA_HOME (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden. Evtl. müssen Sie auch noch die in den Script-Dateien gesetzten, in Abschnitt 2.1.2.3 besprochenen System Properties anpassen.

+
+
2.1.2.4.2 Unter Unix
+

Zunächst müssen die in Abschnitt 2.1.2.3 besprochenen System Properties mit Hilfe der Umgebungsvariablen CATALINA_OPTS gesetzt sein. Die Datei $MOA_SPSS_INST/tomcat/unix/moa-env.sh enthält ein Beispiel dafür. Weiters müssen noch die Umgebungsvariablen JAVA_HOME (Basisverzeichnis des eingesetzten J2SE SDK) und CATALINA_HOME (Basisverzeichnis der eingesetzten Tomcat-Installation) angepasst werden.

+

Nun kann Tomcat aus seinem Basisverzeichnis mit

+
bin/catalina.sh start
+gestartet werden. Das Stoppen von Tomcat erfolgt analog mit +
bin/catalina.sh stop
+
2.1.2.4.3 Prüfen des erfolgreichen Starts
+
+

Ein erfolgreicher Start des MOA SP/SS Webservices ist an folgender Log-Meldung ersichtlich:
+

+
+
INFO | 18 10:09:45,155 | main | TID=startup NID=<null> MSG=MOA Konfiguration erfolgreich geladen
+
+

Bei leichten Fehlern in der Konfiguration geben WARN Log-Meldungen unmittelbar davor Aufschluss über fehlerhafte Konfigurations-Einträge. + Nach dem Starten von Tomcat steht das MOA SP/SS Webservice für die Server-Signatur und Signatur-Prüfung unter den Endpunkten

+
http://<host>:<port>/moa-spss/services/SignatureCreation
+
+

bzw. +

+
http://<host>:<port>/moa-spss/services/SignatureVerification
+
+

zur Verfügung. Die Verfügbarkeit des Services können Sie einfach überprüfen, indem Sie die Endpunkte mit einem Web-Browser aufgerufen; dies sollte nach erfolgreichem Start zur Anzeige einer Informationsseite führen.

+

Konnte das MOA SP/SS Webservice nicht ordnungsgemäß gestartet werden, führt das zu folgender Log-Meldung:

+
FATAL | 18 10:17:03,475 | main | TID=startup NID=<null> 
MSG=Fehler beim Lesen der MOA Konfiguration: das Service steht nicht zur Verfügung +
+In diesem Fall geben die WARN bzw. ERROR Log-Meldungen unmittelbar davor Aufschluss über den genaueren Grund. +

2.1.2.5 Änderung der Konfiguration im laufenden Betrieb

+

Sie können die Konfiguration für MOA SP/SS im laufenden Betrieb aktualisieren, in dem Sie mittels eines Web-Browsers folgende URL aufrufen:

+
 http://<host>:<port>/moa-spss/ConfigurationUpdate 
+

Damit dies funktioniert, muss in der Konfiguration von Tomcat ein spezieller Benutzer sowie eine spezielle Benutzerrolle eingerichtet werden (vergleiche Abschnitt 2.1.2.2.3).

+

2.1.3 Logging

+

Das MOA SP/SS Webservice verwendet Jakarta Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Log4j bietet zahlreiche Konfigurationsmöglichkeiten, die ausführlich im Jakarta Log4j Handbuch beschrieben sind. Unter anderem gibt es die Möglichkeit, folgende Einstellungen vorzunehmen: +

+

Das MOA SP/SS Webservice verwendet folgende Log-Hierarchien:

+ +

Eine für MOA SP/SS passende Konfigurationsdatei für Log4j finden Sie hier. Wird diese Datei als Logging-Konfiguration verwendet, so werden alle Log-Meldungen sowohl in die Konsole, als auch in die Datei moa-spss.log geschrieben.

+

2.1.3.1 Format der Log-Meldungen

+

Anhand einer konkreten Log-Meldung wird das Format der MOA SP/SS Log-Meldungen erläutert:

+
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=node1 
+  MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
+
+

Der Wert INFO besagt, dass die Log-Meldung im Log-Level INFO entstanden ist. Folgende Log-Levels existieren:

+ +

Der nächste Wert 01 21:25:26,540 gibt den Zeitpunkt an, zu dem die Log-Meldung generiert wurde (in diesem Fall den 1. Tag im aktuellen Monat, sowie die genaue Uhrzeit).

+

Der Wert Thread-3 bezeichnet den Thread, von dem die Anfrage bearbeitet wird.

+

Der Wert von TID gibt die fü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.

+

Der Wert von NID gibt den Rechner-Knoten an, auf dem das MOA SP/SS Webservice läuft (bei NID=<null> ist dieser Wert nicht konfiguriert, vergleiche Abschnitt 2.1.2.3).

+

Der Rest der Zeile einer Log-Meldung ist der eigentliche Text, mit dem das System bestimmte Informationen anzeigt. Im Fehlerfall ist häufig ein Java Stack-Trace angefügt, der eine genauere Ursachen-Forschung ermöglicht.

+

2.1.3.2 Wichtige Log-Meldungen

+

Neben den im Abschnitt 2.1.2.4.3 beschriebenen Log-Meldungen, die anzeigen, ob das Service ordnungsgemäß gestartet wurde, geben nachfolgenden Log-Meldungen Aufschluss über die Abarbeitung von Anfragen.

+

Die Entgegennahme einer Anfrage wird angezeigt durch: + +

+
INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Starte neue Transaktion: TID=1049225059594-100, Service=SignatureVerification
+INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Aufruf von Adresse=127.0.0.1
+INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Client-Zertifikat nicht verfügbar
+

Die dritte Log-Meldung besagt, dass für die Abarbeitung dieser Anfrage kein Client-Zertifikat verfügbar ist (entweder, weil die Anfrage über HTTP eingelangt ist, oder weil die SSL Client-Authentisierung nicht eingeschaltet ist). Bei erfolgreicher SSL Client-Authentisierung, gibt beispielsweise folgende Log-Meldung Informationen über das Client-Zertifikat aus: +

INFO | 12 13:58:08,772 | Thread-10 | TID=1045054687159-2 NID=<null> 
+  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
+

Eine erfolgreich abgearbeitete Anfrage wird angezeigt durch: +

+
INFO | 01 21:25:53,168 | Thread-3 | TID=1049225059594-106 NID=<null> 
+  MSG=Anfrage erfolgreich abgearbeitet
+

Ein Fehler beim Abarbeiten der Anfrage wird angezeigt durch:

+
INFO | 01 21:25:27,642 | Thread-3 | TID=1049225059594-100 NID=<null> 
+  MSG=Fehler beim Abarbeiten der Anfrage
+
+

In diesem Fall gibt der mitgeloggte Stacktrace Auskunft über die Art des Fehlers. Der Aufrufer des MOA SP/SS Webservices bekommt einen Fehlercode sowie eine kurze Beschreibung des Fehlers als Antwort zurück.

+

Die Tatsächlich übertragenen Anfragen bzw. Antworten werden aus Effizienzgründen nur im Log-Level DEBUG angezeigt.

+
+

2.2 Erweiterungsmöglichkeiten

+

Ausgehend von der Basisinstallation können die optionalen Erweiterungen, die in den nachfolgenden Abschnitten beschrieben werden, unabhängig und in beliebiger Kombination aufgesetzt werden.

+

2.2.1 Vorgeschalteter Webserver

+

2.2.1.1 Microsoft Internet Information Server (MS IIS)

+

Den MOA SP/SS Webservices kann optional ein MS IIS vorgeschaltet sein. In diesem Fall ü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 Jakarta mod_jk durchgeführt. Die angeführten Konfigurationsschritte gehen von einer MS IIS Standard-Installation aus.

+
2.2.1.1.1 Konfiguration von Jakarta mod_jk im MS IIS
+

Für die Kommunikation des MS IIS mit dem im Tomcat eingerichteten MOA SP/SS Webservice wird das ISAPI-Modul von Jakarta mod_jk im MS IIS installiert und konfiguriert. Eine detaillierte Installations- und Konfigurationsanleitung gibt das mod_jk IIS HowTo. Beispiele für workers.properties und uriworkermap.properties Dateien liegen im Verzeichnis $MOA_SPSS_INST/tomcat bei.

+
2.2.1.1.2 Konfiguration von Tomcat
+

Damit Tomcat die Aufrufe entgegennehmen kann, die von MS IIS mittels Jakarta mod_jk weiterleitet werden, muss in $CATALINA_HOME/conf/server.xml der AJP 1.3 Connector aktiviert werden. Im Gegenzug können die Konnektoren für HTTP und HTTPS deaktiviert werden. Das geschieht am einfachsten durch Ein- bzw. Auskommentieren der entsprechenden Connector Konfigurations-Elemente in dieser Datei. Die Datei $MOA_SPSS_INST/tomcat/server.mod_jk.xml enthält eine Konfiguration, die ausschließlich den Port für den AJP 1.3 Connector offen lässt.

+
2.2.1.1.3 Konfiguration von SSL
+

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ügung.

+

2.2.1.2 Apache

+

Den MOA SP/SS Webservices kann ein Apache Webserver vorgeschaltet sein. Das Prinzip funktioniert wie bei MS IIS, auch hier wird Jakarta mod_jk für die Kommunikation zwischen Webserver und Tomcat eingesetzt. Die angeführten Konfigurationsschritte gehen von einer Standard-Installation des Apache Webservers aus und sind ident für die Versionen 1.3.x und 2.0.x.

+
2.2.1.2.1 Konfiguration von Jakarta mod_jk im Apache
+

Um das MOA-SPSS Webservice hinter einem Apache Webserver zu betreiben, ist die Konfiguration des Apache-Moduls mod_jk erforderlich. Eine detaillierte Installations- und Konfigurationsanleitung gibt das mod_jk Apache HowTo. Ein Beispiel für eine workers.properties Datei liegt im Verzeichnis $MOA_SPSS_INST/tomcat bei.

+

Um das MOA SP/SS Webservice dem Apache Webserver bekannt zu machen, sind zumindest folgende Einträge im globalen Kontext der Apache-Konfigurationsdatei notwendig:

+
LoadModule jk_module /usr/lib/apache/mod_jk.so
AddModule jk_module
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkWorkersFile conf/workers.properties
JkMount /moa-spss/* moaworker
+

Die Pfad- und Dateinamen können je nach existierender Apache Installation geringfügig variieren.

+
2.2.1.2.2 Konfiguration von Tomcat
+

Die Konfiguration von Tomcat ist analog zu Abschnitt 2.2.1.1.2 durchzuführen.

+
2.2.1.2.2 Konfiguration von SSL mit mod_SSL
+

Apache kann in Verbindung mit mod_SSL als SSL-Endpunkt für das MOA SP/SS Webservice fungieren. In diesem Fall entfällt die SSL-Konfiguration in Tomcat, da Apache und Tomcat auch im Fall von SSL Daten via mod_jk austauschen. Eine detaillierte Installations- und Konfigurationsanleitung enthält die Online-Dokumentation von mod_SSL.

+

Bei der Verwendung von Client-Authentisierung muss darauf geachtet werden, dass mod_ssl die HTTP-Header mit den Informationen über das Client-Zertifikat exportiert. Dies wird durch Angabe der folgenden Option in der Apache-Konfiguration erreicht:

+
SSLOptions +ExportCertData +StdEnvVars
+

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.

+

2.2.2 Datenbank

+

Die MOA SP/SS Module können eine Datenbank zum Archivieren von Certificate Revocation Lists (CRLs), sowie zum Abspeichern von Log-Meldungen verwenden. In beiden Fällen wird eine installierte und konfigurierte Datenbank vorausgesetzt.

+

2.2.2.1 PostgreSQL

+

Eine detaillierte Übersicht über die Installation und Konfiguration von PostgreSQL gibt die Online-Dokumentation.

+

Bitte beachten Sie: Eine Möglichkeit, PostgreSQL unter MS Windows zu installieren, besteht darin, Cygwin mit dem PostgreSQL-Package zu installieren. Alternative Installationsvarianten werden auf dieser Seite angeführt.

+
2.2.2.1.1 Anlegen eines Benutzers und einer Datenbank für MOA SP/SS
+

Damit die MOA SP/SS Module eine Verbindung zu PostgreSQL aufbauen kann, müssen der Name eines PostgreSQL-Benutzers und einer PostgreSQL-Datenbank bekannt sein. Sollten diese nicht vorhanden sein, kann mit folgenden Kommandos ein Benutzer namens moa und eine Datenbank namens moadb angelegt werden:

+
createuser -U postgres -d -A -P moa
createdb -U moa moadb
+

Da die MOA SP/SS Module über JDBC mit der Datenbank kommunizieren, ist in der Folge die Angabe einer JDBC-URL notwendig, welche die Verbindungsparameter enthält. Wurden der Benutzer und die Datenbank wie im obigen Beispiel angelegt, ist folgende JDBC-URL anzugeben (Annahme: als Passwort für den Benutzer moa wurde moapass gewählt):

+
 jdbc:postgresql://host/moadb?user=moa&password=moapass
+

Die Zeichen jdbc:postgresql:// sind unveränderliche Bestandteile einer PostgreSQL JDBC-URL. host gibt den Rechner an, auf dem PostgreSQL läuft. moadb identifiziert den Namen der Datenbank. Über die Parameter user= und pass= werden Benutzername und Passwort für den DB-User bekanntgegeben.

+
2.2.2.1.2 Archivierung von CRLs
+

Zum Archivieren von CRLs müssen in der MOA SP/SS Konfigurationsdatei die Kinder des Elements cfg:MOAConfiguration/cfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:Archiving entsprechend + konfiguriert werden:

+ +

Vergleiche auch Abschnitt 2.3.1.3.4 im + Konfigurationshandbuch.

+
2.2.2.1.3 Logging
+

Für das Logging in eine PostgreSQL Datenbank mittels Jakarta Log4j muss zunächst eine Tabelle für die Log-Meldungen angelegt werden. Dies kann mit folgendem SQL-Statement erreicht werden:

+
 create table spss_log (log_time timestamp, log_level varchar(5), log_msg text);
+

Damit Log4j die Log-Meldungen in diese Datenbanktabelle schreibt, muss die Log4j-Konfiguration adaptiert werden. Die mit MOA SP/SS mitgelieferte, beispielhafte Log4j-Konfiguration enthält bereits die notwendigen Einträge für das Logging in eine PostgreSQL Datenbank, die jedoch standardmäßig ausgeschaltet sind.

+

Wie beim Caching von CRLs ist auch hier die Angabe einer JDBC-URL notwendig, damit die MOA SP/SS Module eine Verbindung zur Datenbank aufnehmen können.

+

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.

+

2.2.2.2 Andere Datenbanken

+

Über die generische Anbindung JDBC können auch andere Datenbanken für die Archivierung von CRLs bzw. für die Speicherung der Log-Meldungen eingesetzt werden. Hinweise zu bestimmten Datenbanken finden Sie in den FAQ.

+

Die in Abschnitt 2.2.2.1 gemachten Angaben zu Archivierung von CRLs bzw. zur Speicherung von Log-Meldungen gelten sinngemäß.

+

2.2.3 Hardware Security Module (HSM)

+

MOA SS kann für die Erstellung von Signaturen auf die Dienste eines HSM zurückgreifen. Voraussetzung dafür ist, dass für das HSM eine Implementierung der Schnittstelle PCKS#11 (PKCS#11-Bibliothek) angeboten wird.

+

Für die Einbindung des HSM in MOA SS müssen zunächst die Bibliotheken aus $MOA_SPSS_INST/pkcs11 in ein beliebiges Verzeichnis kopiert werden, welches dann in den Libray-Pfad des jeweiligen Betriebssystems aufgenommen werden muss (Windows: Umgebungsvariable PATH; Linux: Umgebungsvariable LD_LIBRARY_PATH).

+

Der Name der für das HSM spezifischen PKCS#11-Bibliothek muss in der Konfigurationsdatei eingetragen werden (vergleiche Abschnitt 2.2.1.1 des Konfigurationshandbuchs).

+

3 Klassenbibliothek

+

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öglichkeiten auf.

+

3.1 Basisinstallation

+

3.1.1 Einführung

+

Die Basisinstallation der Klassenbibliothek stellt einerseits die minimalen Anforderungen für den Einsatz von MOA SP/SS als Klassenbibliothek dar, andererseits dient sie als Ausgangspunkt für optionale Erweiterungsmöglichkeiten.

+

Folgende Software ist Voraussetzung für die Basisinstallation der Klassenbibliothek:

+ +

3.1.2 Vorbereitung

+

Die folgenden Schritte dienen der Vorbereitung der Installation.

+
+
Installation von J2SE SDK
+
Installieren Sie J2SE 1.3.1 SDK oder J2SE 1.4.2 SDK oder J2SE 5.0 SDK in ein beliebiges Verzeichnis. Wir empfehlen die Installation von J2SE 5.0 SDK. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet.
+
Entpacken der MOA SP/SS Klassenbibliotheks-Distribution
+
Entpacken Sie die Datei moa-spss-1.2.x-lib.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
+
Installation der Krypographiebibliotheken von SIC/IAIK
+
+

Die Installation der Kryptographiebibliotheken von SIC/IAIK ist abhängig vom eingesetzten J2SE SDK:

+
+
J2SE 1.3.1 SDK
+
Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext13 in das Verzeichnis $JAVA_HOME/jre/lib/ext.
+
J2SE 1.4.2 SDK oder JSE 5.0 SDK
+
Kopieren Sie alle Dateien aus dem Verzeichnis $MOA_SPSS_INST/ext14 in das Verzeichnis $JAVA_HOME/jre/lib/ext. Zusätzlich müssen Sie die Rechtedateien Ihres J2SE 1.4.2 SDK bzw. J2SE 5.0 SDK austauschen. Laden Sie dazu die Unlimited Strength Jurisdiction Policy Files von der J2SE 1.4.2 SDK Downloadseite bzw. J2SE 5.0 SDK Downloadseite und folgen Sie der darin enthaltenen Installationsanweisung.
+
+
+
+

3.1.3 Verwendung

+

Um die MOA SP/SS Klassenbibliothek in einer Applikation verwenden zu können, müssen die mit MOA SP/SS ausgelieferten Bibliotheken in den Java Klassenpfad der Applikation eingebunden werden.

+

Die nachfolgende Tabelle listet diese Klassenbibliotheken auf; die Einträge in der Spalte Dateien sind relativ zum Verzeichnis $MOA_SPSS_INST zu interpretieren.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KlassenbibliothekVersionDateien
MOA SP/SS1.2.x  moa-spss.jar, moa-common.jar
MOA IAIK1.0.7 

lib/iaik_moa_full.jar, lib/iaik_Pkcs11Wrapper.jar, + lib/iaik_cms.jar, lib/iaik_ixsil.jar

+
JAXP1.2_01  lib/jaxp-api.jar, lib/sax.jar, lib/dom.jar
Xerces-J2.4.0  lib/xercesImpl.jar, lib/xmlParserAPIs.jar
Xalan-J2.5.1 

lib/xalan.jar

+

Bitte beachten Sie: Wenn Sie J2SE 1.4.2 JRE oder J2SE 5.0 JRE verwenden, müssen Sie diese Bibliothek der Java VM als endorsed bekanntgeben. Sie können dies tun, indem Sie entweder

+
    +
  • die Bibliothek in das (ggf. vorher anzulegende) Verzeichnis $JAVA_HOME/jre/lib/endorsed/ kopieren; oder
  • +
  • die System Property java.endorsed.dirs verwenden, und als Wert den Pfad zu jenem Verzeichnis angeben, in dem Sie die Bibliothek vorhalten (also z.B. java.endorsed.dirs=c:/mylibdir).
  • +
Jaxen1.0  lib/jaxen-core.jar, lib/jaxen-dom.jar, lib/saxpath.jar
Commons-Logging1.0.4  lib/commons-logging-api.jar, lib/commons-logging.jar
Log4j1.2.7  lib/log4j-1.2.7.jar
Commons-Discovery0.2  lib/commons-discovery.jar
JSSE1.0.3_01 

Diese Bibliotheken benötigen Sie nur, wenn Sie J2SE 1.3.1 verwenden:

+

lib/ext13/jsse.jar, lib/ext13/jcert.jar, lib/ext13/jnet.jar

+

Bitte beachten Sie: Diese Bibliotheken benötigen Sie nur, wenn Sie J2SE 1.3.1 verwenden.

Postgres JDBC27.3 

lib/pg73jdbc2.jar

+

Bitte beachten Sie: Wenn Sie keine Datenbank für MOA SP/SS verwenden (vergleiche 2.2.2), benötigen Sie diese Bibliothek nicht.

+ +

3.1.4 Logging

+

Die MOA SP/SS Klassenbibliothek verwendet Jakarta Log4j für die Ausgabe von Log-Meldungen am Bildschirm bzw. in Log-Dateien. Die im Abschnitt 2.1.3 gemachten Aussagen lassen sich großteils auf den Einsatz der MOA SP/SS Klassenbibliothek übertragen.

+

3.2 Erweiterungsmöglichkeiten

+

Die im Abschnitt 2.2 angeführten Erweiterungsmöglichkeiten für die MOA SP/SS Webservices gelten in analoger Weise auch für die Klassenbibliothek.

+

A Referenzierte Software

+

Auf folgende Software-Pakete wird in diesem Handbuch verwiesen:

+ + + + + + + + + + + + + + + + + + + + + + + + + +
NameBeschreibung
Apache Tomcat 4.1.x Servlet-Container des Apache Jakarta Projekts in der Version 4.1.x
J2SE 1.3.1 SDK/JRE Java 2 Standard Edition in der Version 1.3.1 (Software Development Kit bzw. Java Runtime Environment)
J2SE 1.4.2 SDK/JREJava 2 Standard Edition in der Version 1.4.2 (Software Development Kit bzw. Java Runtime Environment)
J2SE 5.0 SDK/JRE Java 2 Standard Edition in der Version 5.0 (Software Development Kit bzw. Java Runtime Environment)
Jakarta Log4J Logging Framework des Apache Jakarta Projekts
+ + -- cgit v1.2.3