5. Ergänzende Programme

  5.1 pfx-0.1.2 von Steve Henson

Das Programm ermöglicht es, vom Netscape Communicator/Navigator (NSC) und MS-Internet-Explorer (MSIE) (jeweils ab Vers. 4.0x) exportierte Zertifikate für OpenSSL lesbar zu machen, bzw. mit OpenSSL erzeugte Zertifikate in den NSC und den MSIE zu importieren. Außerdem ist es möglich, Benutzerzertifikate mit Schlüssellängen bis zu 2048 Bit als .p12-Datei in den NSC zu laden. Für NSC ab Vers. 4.04 und MSIE ab MSIE ab Vers. 4.0x sollte statt pfx das pkcs12-Programm (siehe PKCS12) verwendet werden.

  5.1.1 Übersetzung und Installation

Folgende Änderungen sind im Makefile vorzunehmen:

($(SSLDIR)=Installationsverzeichnis, $(SSLSRC)=Quellverzeichnis)

Schließlich ist das Programm mit

make 'CC=gcc'

zu übersetzen.

Als Installationsverzeichnis bietet sich $(SSLDIR)/bin an:

  5.1.2 Anwendung von pfx

Export aus einen Browser

Um ein mittels der Netscape Export-Funktion aus dem Browser exportiertes Benutzer-Zertifikat cert.p12 für OpenSSL zugänglich zu machen, ist folgender Befehl notwendig:

pfx -in cert.p12 -out cert.pem [-des3 | -des | -idea]

Es wird nach einem Import-Passwort gefragt; es ist das Passwort, das beim Zertifikat-Export mit Netscape angegeben werden mußte und mit dem cert.p12 verschlüsselt wurde. Die Optionen -des3, -des, bzw. -idea geben an, ob und wie das exportierte Zertifikat verschlüsselt werden soll.

Import in einen Browser

Um ein mit OpenSSL erstelltes Zertifikat in den NSC zu importieren:

pfx -export -name Listbox-Name -out cert.p12 -in cert.pem

Listbox-Name ist die Bezeichnung, unter der das Zertifikat nach dem Import im Browser in einer Security-Rubrik geführt wird.

Nach dem Schlüssel-Passwort wird ein weiteres Passwort, erfragt; es ist das Passwort um die cert.p12-Datei zu verschlüsseln. Das so vorbereitete Zertifikat kann über NSC Import-Funktion importiert werden. Der Browser erwartet als zweites Passwort (das erste diente zum Freigeben der NSC Zertifikat-Datenbank) das Passwort, mit dem die .p12-Datei verschlüsselt wurde. Die Zertifikate werden nur in den NSC-Bereich "Security/Yours", also als "eigene E-Mail-Zertifikate", gebracht.

Mit folgendem Befehl kann indirekt auch ein CA-Zertifikat in den Netscape-Browser gelsden werden:

pfx -export -name Listbox-Name -in usercert.pem -inkey userkey.pem -out mycert.p12 -certfile CAcert.pem

  Das CA-Zertifikat wird an ein vorher erzeugtes Benutzer-Zertifikat usercert.pem gebunden. Anschließend kann das Benutzer-Zertifikat importiert werden und damit gleichzeitig das "angehängte" CA-Zertifikat. Das Benutzer-Zertifikat kommt in die Rubrik "Security/Yours" und das CA-Zertifikat nach "Security/Signers". Für das CA-Zertifikat muß dann mittels des "Edit"-Buttons im NSC noch mitgeteilt werden, wofür das CA-Zertifikat gültig sein soll. Erst dann verläuft eine Überprüfung des Benutzer-Zertifikats erfolgreich. Auf diese Weise können aber nur Zertifikate mit gesetzten "CA-Bit" importiert werden, also wenn nsCertType auf sslCA, emailCA, objCA bzw. deren Kombinationen gesetzt ist.

Weiter ist es möglich, Zertifikat-Ketten in den Browser zu importieren. Voraussetzung ist, daß alle n-1 Zertifikate das "CA-Bit" gesetzt haben. Mit folgenden Befehl werden an ein Zertifikat alle in der Zertifikat-Hierarchie darüber liegenden Zertifikate, einschließlich dem Root-CA-Zertifikat, an das Zertifikat gebunden:

pfx -export -name Listbox-Name -in usercert.pem -inkey userkey.pem -out usercert.p12 -chain

Das Kommando funktioniert nur erfolgreich, wenn die CA-Zertifikate nach $(SSLDIR)/certs kopiert und deren Hash-Werte gebildet worden sind (s. die Anmerkung am Ende des Abschnitts über die Hash-Werte). Die mit einem Zertifikat verbundenen CA-Zertifikate werden alle in den Browser gebracht und sind über die Browser-Rubrik "Signers" zugänglich. Eine erfolgreiche Überprüfung der Zertifikate setzt voraus, daß zumindest für das Root-CA-Zertifikat der "CA-Typ" (Server-CA, Client-CA usw.) mit Hilfe des Browsers eingestellt wird (s.o., Edit-Button).

Eine Liste aller Optionen findet sich im Anhang PFX.

  5.2 pkcs12-054 von Steve Henson

Das Programm arbeitet nur mit NSC ab Vers. 4.04 und MSIE ab Vers. 4.0 zusammen. Die Anwendung erfolgt analog der oben für pfx geschilderten Arbeitsweise. Mit dieser Applikation ist es - wie mit pfx für die "älteren" Browser - möglich, aus einem Browser exportierte Zertifikate für OpenSSL zugänglich zu machen, sowie mit OpenSSL erzeugte Zertifikate in den Browser zu bringen. Das schließt den Import von CA-Zertifikaten über Zertifikatketten mit ein.

  5.2.1 Übersetzung und Installation

Zur Übersetzung muß nach dem Auspacken der Programm-Quellen in das Verzeichnis src gewechselt werden. Folgende Änderungen sind dort im Makefile vorzunehmen:

($(SSLDIR)=Installationsverzeichnis, $(SSLSRC)=Quellverzeichnis)

Schließlich ist das Programm mit

make clean ; make errors ; make 'CC=gcc'
zu übersetzen. Die Übersetzung erfolgt ohne Warnungen.

Als Installationsverzeichnis bietet sich $(SSLDIR) mit den entsprechenden Unterverzeichnissen an:

  5.2.2 Anwendung von pkcs12

Die Benutzung erfolgt ähnlich dem beim Programm pfx geschilderten Verfahren (siehe PFX).

Export aus dem Browser

Um beispielsweise ein mittels der Netscape Export-Funktion aus dem Browser exportiertes Zertifikat cert.p12 für OpenSSL zugänglich zu machen, ist folgender Befehl notwendig:

pkcs12 -in cert.p12 -out cert.pem [-des3 | -des | -idea]

Es wird nach einem Import-Passwort gefragt; es ist das Passwort, das beim Zertifikat-Export mit Netscape angegeben werden mußte und mit dem cert.p12 verschlüsselt wurde. Die Optionen -des3, -des, bzw. -idea geben an, ob und wie das Zertifikat und der Schlüssel, welche sich nach Ausführung des obigen Kommandos in cert.p12 befinden, verschlüsselt werden sollen.

Import in den Browser

Um ein Zertifikat in ein vom Browser importierbares Format zu wandeln:

pkcs12 -export -name Listbox-Name -in cert.pem -inkey key.pem -out file.p12

Listbox-Name ist der Bezeichner, unter dem das importierte Zertifikat später in einer der Security-Rubriken des Browsers geführt werden soll.

Um eine Zertifikat-Kette in ein vom Browser importierbares Format zu wandeln:

pkcs12 -chain -export -name Listbox-Name -in cert.pem -inkey key.pem -out file.p12

Eine Übersicht über alle Optionen findet sich in Anhang PKCS12.

  5.3 ca-fix-0.3 von Steve Henson

Die von dem Programm CA-Fix bereitgestellte Funktionalität ist in OpenSSL-0.9.2b vollständig integriert. Somit wird CA-Fix nicht mehr benötigt.


Copyright © 1996 - 2000 by DFN-PCA / certify@pca.dfn.de