Open Source für das E-Government |
MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.3
FAQ
Dieses Dokument enthält eine Reihe von häufig gestellten Fragen zu Installation, Konfiguration und Verwendung von MOA Serversignatur (SS) und Signaturprüfung (SP).
java.lang.ClassCastException: iaik.asn1.structures.Name
. Was kann der Fehler sein? [Zur Antwort]java.lang.ClassCastException: iaik.asn1.structures.Name
. Was kann der Fehler sein?Auf Grund einer mangelhaften Implementierung in einigen Versionen des JDK 1.3.1 kann es beim Betrieb von MOA zu folgendem Problem kommen: Sun macht in der Implementierung von PKCS7.getCertificate()
einen Downcast vom Interface java.security.Principal
auf die eigene Implementierung, was zu einer ClassCastException führt, wenn der JCE-Provider von Sun nicht an erster Stelle in der List der Security-Provider installiert ist. MOA geht nun aber so vor, dass der JCE-Provider des IAIK an die erste Stelle installiert wird, wenn er zum Zeitpunkt der Konfiguration noch nicht installiert war. Wird dann von irgendeinem ClassLoader der jar-Verifier benützt, wird PKCS7.getCertificate()
verwendet, und es kommt zu einer ClassCastException.
Wird MOA über die API-Schnittstelle verwendet, ist ein Workaround die manuelle Installation des IAIK-JCE-Providers nach dem Sun JCE-Provider (etwa an die letzte Stelle), bevor die MOA-Konfiguration aufgerufen wird. Bei Verwendung der Webservices ist die Möglichkeit der statischen Konfiguration der JCE-Provider mittels Angabe in der Datei $JAVA_HOME/jre/lib/security/java.security
der einzige bekannte Workaround. Hierzu müssen die Einträge
security.provider.1=sun.security.provider.Sun security.provider.2=com.sun.rsajca.Provider
durch folgenden Eintrag ergänzt werden:
security.provider.3=iaik.security.provider.IAIK
Ja, zumindest für Zugriffe über HTTP. Sie müssen dazu die nachfolgenden JAVA System-Properties setzen:
http.proxyHost=<proxyhost> http.proxyPort=<proxyport> http.nonProxyHosts="<exceptionhosts>"
<proxyhost>
gibt den Namen oder die IP-Adresse des Proxies an.
<proxyport>
gibt den Port des Proxies an.
<exceptionhosts>
enthält eine Liste von Rechnernamen, die nicht über den Proxy laufen sollen. Jedenfalls müssen sie hier localhost
angeben. Einzelne Namen sind durch eine Pipe (|
) zu trennen. Bitte beachten Sie, dass IP-Addressen nicht angegeben werden dürfen, sowie die verpflichtend zu verwendenen Anführungszeichen.
Ja, das ist möglich. Wenn Sie eine mySQL-Datenbank verwenden möchten, sind folgende Maßnahmen zu treffen:
mysql-connector-java-3.x.x-stable-bin.jar
zum Klassenpfad für MOA SPSS hinzu.DataBaseArchiveParameter.JDBCUrl
eine gültige JDBC-URL zu Ihrer mySQL-Datenbank angeben. Hinweise zum Format dieser URL für mySQL finden Sie hier. Wenn Sie eine andere Datenbank verwenden möchten, beispielsweise Oracle, gehen Sie sinngemäß wie oben vor und setzen zusätzlich noch folgenden Schritt:
DataBaseArchiveParameter.JDBCDriverClass
den vollständig qualifizierten Klassennamen des JDBC-Treibers an, der die Verbindung zu Ihrer Datenbank herstellt. Sie können für diesen Zweck ein mit MOA SP/SS mitgeliefertes Kommandozeilen-Tool verwenden, das Sie im Verzeichnis $MOA_SPSS_INST/tools
finden. Wechseln Sie zu diesem Verzeichnis und rufen Sie die Script-Datei certtools.bat
bzw. certtools.sh
(je nach Betriebssystem) auf. Achten Sie darauf, dass die Umgebungsvariable $JAVA_HOME
korrekt gesetzt ist. Die Syntax für dieses Tool lautet:
certtool -add <cert> <store>
<cert>
bezeichnet dabei Pfad und Dateiname des zu importierenden X509-Zertifikats. Das Zertifikat muss DER-kodiert vorliegen.
<store>
bezeichnet den Pfad des internen Zertifikatsspeichers von MOA SP. Wenn Sie nach der Installationsanleitung vorgegangen sind, lautet dieser Pfad $CATALINA_HOME/conf/moa-spss/certstore
.
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.
Informationen zur Verwendung des Werkzeugs finden Sie in Abschnitt 1.2.1 des Konfigurationshandbuchs.
Dieser Fehlercode bedeutet: Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden. Das kann grundsätzlich eine der beiden folgenden Ursachen haben:
Prüfen Sie also zunächst, ob sie im anzuwendenden TrustProfile ein passendes vertrauenswürdiges Zertifikat konfiguriert haben. Das kann beispielsweise das Zertifikat jener CA sein, die das Signatorzertifikat ausgestellt hat, oder aber auch das Zertifikat einer CA weiter oben in der Hierarchie des Zertifizierungsdiensteanbieters, beispielsweise das selbstsignierte Wurzelzertifikat.
Wenn diese Prüfung das Problem nicht behebt, gelingt des MOA SP vermutlich nicht, ein für die Bildung der Zertifikatskette notwendiges Zertifikat zu lokalisieren. Mögliche Gründe sowie Lösungsmöglichkeiten dafür sind: