Logo BKA Open Source
für das E-Government
Logo MOA

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

Konfiguration


Inhalt

  1. Übersicht

    1. Zentrale Konfigurationsdatei
    2. Bekanntmachung der Konfigurationsdatei
      1. Aktualisierung der Konfiguration im laufenden Betrieb
    3. Konfiguration des Loggings
  2. Konfigurationsparameter
  3. Beispielkonfigurationen
  4. Typische Konfigurationsaufgaben

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 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.xsd entsprechen. Abschnitt 2 erläutert die Konfigurationsmöglichkeiten im Einzelnen.

1.2 Bekanntmachung der Konfigurationsdatei

Die zentrale Konfigurationsdatei von MOA SP/SS wird der Java Virtual Machine, in der MOA SP/SS läuft, durch ein VM Argument mitgeteilt. Der Name des VM Argument lautet moa.spss.server.configuration; als Wert des Parameters 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 MOA SP/SS erhalten Sie in Abschnitt TBD des Installationshandbuchs.

1.2.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 TBD des Installationshandbuchs.

1.3 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 ein VM Argument mitgeteilt wird. Der Name des VM Argument lautet log4j.configuration; als Wert des Parameters 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 TBD 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.

Präfixe für Namenräume von XML-Elementen werden wie folgt verwendet:

Präfix Namenraum
cfg http://reference.e-government.gv.at/namespace/moaconfig/20021122#
dsig http://www.w3.org/2000/09/xmldsig#
xs http://www.w3.org/2001/XMLSchema

2.1 Kanonisierungs-Algorithmus

Name cfg:CanonicalizationAlgorithm
Gebrauch optional
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.

2.2 Digest-Algorithmus

Name cfg:DigestAlgorithm
Gebrauch optional
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.3 Generic Configuration

Das Element cfg:GenericConfiguration ermöglicht die Bekanntgabe eines Name/Wert-Paares mittels seiner Attribute name und value. Das Element kann beliebig oft verwendet werden. Nachfolgend findet sich eine Erläuterung jener Namen (Attribut name), die MOA zu interpretieren weiß.

2.3.1 Parameter für die Zertifikatspfadbildung

2.3.1.1 Cachen von Zertifikaten

cfg:GenericConfiguration/@name autoAddCertificates
Gebrauch optional
Erläuterung

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 useAuthorityInfoAccess) aus dem Internet geladen werden, automatisch in den lokalen Zertifikatsspeicher hinzugefügt werden sollen (siehe auch Parameter DirectoryCertStoreParameters.RootDir).

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

Der Default-Wert lautet true.

2.3.1.2 Auswertung der Zertifikatserweiterung Authority Information Access

cfg:GenericConfiguration/@name useAuthorityInfoAccess
Gebrauch optional
Erläuterung

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

Der Default-Wert lautet true.

2.3.1.3 Lokalisierung des Zertifikatsspeichers

cfg:GenericConfiguration/@name DirectoryCertStoreParameters.RootDir
Gebrauch optional
Erläuterung

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, z.B.:

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

Der Default-Wert lautet:

certstore

2.3.2 Parameter für die Widerrufsprüfung

2.3.2.1 Aktivieren der Widerrufsprüfung

cfg:GenericConfiguration/@name checkRevocation
Gebrauch optional
Erläuterung

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.

Der Default-Wert lautet true.

2.3.2.2 Maximales Alter der Widerrufsinformation

cfg:GenericConfiguration/@name maxRevocationAge
Gebrauch optional
Erläuterung

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 checkRevocation).

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.

Der Default-Wert lautet 0.

2.3.2.3 Archivierung von Widerrufsinformationen

cfg:GenericConfiguration/@name archiveRevocationInfo
Gebrauch optional
Erläuterung

Gibt an, ob mittlerweile ungültig gewordene (i.e. historische) Widerrufsinformationen von MOA SP archiviert werden soll. Dieser Parameter wird nur dann ausgewertet, wenn gleichzeitig auch der Parameter DataBaseArchiveParameter.JDBCUrl (siehe unten) angegeben wird.

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

Der Default-Wert lautet true.

cfg:GenericConfiguration/@name DataBaseArchiveParameter.JDBCUrl
Gebrauch optional
Erläuterung

Gibt eine JDBC-URL zu jener Datenbank an, in der MOA historische Widerrufsinformationen archivieren soll. Wird dieser Paramter gesetzt, muss gleichzeitig auch der Parameter archiveRevocationInfo (siehe oben) auf den Wert true gesetzt werden.

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.

Für diesen Parameter existiert kein Default-Wert.

cfg:GenericConfiguration/@name DataBaseArchiveParameter.JDBCDriverClass
Gebrauch optional
Erläuterung

Dieser Parameter kann verwendet werden, um MOA SP den Klassennamen des JDBC-Datenbanktreibers bekannt zu geben, der zur Ansprache der für die CRL-Archivierung zu verwendenden Datenbank benützt werden soll. Der Parameter wird nur dann ausgewertet, wenn der generische Konfigurationsparameter archiveRevocationInfo auf den Wert true gesetzt ist.

Der Wert des Parameters muss den vollständig qualifizierten Java-Klassennamen des JDBC-Treibers enthalten.

Bitte beachten Sie: Wird im Parameter DataBaseArchiveParameter.JDBCUrl entweder eine postgreSQL- oder eine mySQL-Datenbank referenziert, braucht dieser Paramter nicht angegeben zu werden; in diesen Standardfällen erfolgt eine automatische Zuordnung zur passenden JDBC-Treiberklasse.

Bitte beachten Sie: Informationen zum Anlegen einer Datenbank in postgreSQL finden Sie hier.

Für diesen Parameter existiert kein Default-Wert.

2.4 Hardware-Schlüsselspeicher

Name cfg:HardwareKeyModule
Gebrauch optional
Erläuterung

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

Das Element weist bis zu vier Attribute auf:

  • Attribut id: Dieses obligatorische Attribut 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:KeyGroup auf dieses Konfigurationselement referenziert.
  • Attribut name: Dieses obligatorische Attribut 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.
  • Attribut slotID: Dieses optionale Attribut 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.
  • Attribut userPIN: Dieses obligatorische Attribut vom Typ xs:string enthält den PIN-Code zur Freischaltung der Schlüsselverwendung über die PKCS#11-Schnittstelle des Hardware-Schlüsselspeichers.

Das Element hat keinen Element-Inhalt.

2.5 Software-Schlüsselspeicher

Name cfg:SoftwareKeyModule
Gebrauch optional
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 Attribute auf:

  • Attribut id: Dieses Attribut 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:KeyGroup auf dieses Konfigurationselement referenziert.
  • Attribut filename: Dieses Attribut 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.
  • Attribut slotID: Dieses optionale Attribut 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.
  • Attribut password: Dieses Attribut vom Typ xs:string enthält das Passwort zum Entschlüsseln der Inhalte der PKCS#12-Datei.

Das Element hat keinen Element-Inhalt.

3 Beispielkonfigurationen