Open Source für das E-Government |
MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.2
Konfiguration
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.
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.
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.
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.
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.propertiesWeitere Informationen zur Konfiguration des Loggings erhalten Sie in Abschnitt TBD des Installationshandbuchs.
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# |
moa | http://reference.e-government.gv.at/namespace/moa/20020822# |
xs |
http://www.w3.org/2001/XMLSchema |
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
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 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. |
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
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. |
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ß.
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 Zulässige Werte für diesen Parameter sind Der Default-Wert lautet |
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 Zulässige Werte für diesen Parameter sind Der Default-Wert lautet |
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 |
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 Der Default-Wert lautet |
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 Zulässige Werte für diesen Parameter sind ganze Zahlen:
Der Default-Wert lautet |
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
Zulässige Werte für diesen Parameter sind Der Default-Wert lautet |
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 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>&password=<moapassword> Die Platzhalter Bitte beachten Sie: Die Kodierung des Zeichens "&" als "&" 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 Der Wert des Parameters muss den vollständig qualifizierten Java-Klassennamen des JDBC-Treibers enthalten. Bitte beachten Sie: Wird im Parameter Bitte beachten Sie: Informationen zum Anlegen einer Datenbank in postgreSQL finden Sie hier. Für diesen Parameter existiert kein Default-Wert. |
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:
Das Element hat keinen Element-Inhalt. |
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:
Das Element hat keinen Element-Inhalt. |
Name | cfg:KeyGroup |
Gebrauch | optional |
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.4 bzw. 2.5) 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
Das Element
Um auf einfache Weise für alle in Ihren Schlüsselspeichern enthaltenen privaten Schlüssel die jeweiligen Werte für
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 -info <certfilename>
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 Die Werte für |
Name | cfg:KeyGroupMapping |
Gebrauch | optional |
Erläuterung | Das Element Das Element weist keine Attribute auf und hat folgenden Element-Inhalt:
Bitte beachten Sie: Für maximal ein Konfigurationselement |
Name | cfg:ChainingModes |
Gebrauch | optional |
Erläuterung | Das Element Das Element
Das Element
Bitte beachten Sie: Für maximal ein Konfigurationselement |
Name | cfg:CRLArchive |
Gebrauch | optional |
Erläuterung | Das Element Das Element weist ein obligatorisches Attribut auf:
Das Element hat keinen Element-Inhalt |
Name | cfg:CRLDistributionPoint |
Gebrauch | optional |
Erläuterung | Das Element 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 keine Attribute auf und hat folgenden Element-Inhalt:
|
MOA SP/SS erlaubt die Hinterlegung von vordefinierten Profilen für folgende Bereiche, um die Angabe von ständig wiederkehrenden Informationen in Requests zur Erstellung bzw. Prüfung von Signaturen zu vermeiden:
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: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:VerifyTransformsInfoProfile
: Enthält für ein bestimmtes Datenobjekt für eine zu prüfende XML-Signatur einen für dieses Datenobjekt erlaubten Transformationsweg, bestehend aus den anzuwendenden Transformationen, sowie allenfalls für die Durchführung der Transformationen erlaubten Ergänzungsobjekte (z.B. einen zu importierenden Stylesheet für eine XSL-Transformation).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).Jedes dieser Elemente kann dabei beliebig oft vorkommen. Alle Elemente teilen den gleichen Aufbau; sie weisen zwei obligatorische Attribute auf und haben keinen Element-Inhalt:
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. Dieser Identifikator wird im Request zur Erstellung bzw. zur Überprüfung der Signatur verwendet, um das hinterlegte Profil zu referenzieren (vergleiche die Elemente moa:CreateSignatureEnvironmentProfileID
, moa:CreateTransformsInfoProfileID
, moa:VerifyTransformsInfoProfileID
, moa:SupplementProfileID
). filename
: Dieses Attribut vom Typ xs:string
enthält den Namen der XML-Datei, die das hinterlegte Profil beinhaltet. 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. Die XML-Datei muss als Wurzelelement eines der Elemente moa:CreateSignatureEnvironmentProfile
, moa:CreateTransformsInfoProfile
, moa:VerifyTransformsInfoProfile
oder moa:SupplementProfile
enthalten.