2010-03-20 18 views
12

Ich habe öffentliche und private Schlüssel in separaten .pem-Dateien, die ich irgendwie in einen JKS-Keystore bekommen müsste.Import .pem öffentliche und private Schlüssel zu JKS Keystore

Versucht mit dem Befehl -import in KeyTool für diese, die ein "kein X.509-Zertifikat" -Fehler gibt.

Ich vermute, die Lösung hat mit OpenSSL zu tun, aber ich bin mir nicht ganz sicher, was ich damit anfangen soll.

Würde wirklich jede Hilfe mit diesem zu schätzen wissen, da ich mit allem Krypto-bezogene völlig ahnungslos bin.

Vielen Dank im Voraus, --Rolf

Antwort

3

KeyTool die Objekte im DER-Format erwartet. PEM ist Base64-kodierte DER mit einer Kopfzeile und einer Fußzeile. KeyTool kann PEM nicht analysieren.

OpenSSL kann jedoch PEM-Objekte in DER umwandeln. Zum Beispiel weist das Befehlszeilenflag -outform DER für ein X.509-Zertifikat an, dass OpenSSL das DER als Ausgabeformat verwendet.

This page enthält offenbar einige detailliertere Erklärungen.

+0

Hallo, vielen Dank für die Antwort! Ich habe es geschafft, den privaten Schlüssel zu DER mit OpenSSL, aber nicht den öffentlichen Schlüssel zu konvertieren. openssl x509 -in pubkey.pem -Informiere PEM -out pubkey.der -outform DER ergibt folgende Fehler: Zertifikat nicht in der Lage zu laden 5280: Fehler: 0906D06C: PEM-Routinen: PEM_read_bio: keine Startlinie :. \ crypto \ pem \ pem_lib .c: 642: Erwartet: VERTRAUENSWÜRDIGES ZERTIFIKAT Ich vermute, dass es erwartet, dass die öffentliche Schlüsseldatei mit einem Header "BEGIN TRUSTED CERTIFICATE" beginnt, aber was es tatsächlich enthält, ist "BEGIN PUBLIC KEY " – Rolf

+4

Sie haben einen" einzigen öffentlichen Schlüssel ". Sie benötigen ein Zertifikat. KeyTool folgt dem KeyStore-Format, das private Schlüssel nur akzeptiert, wenn sie mit Zertifikaten geliefert werden. Ein Zertifikat enthält den öffentlichen Schlüssel zusammen mit anderen Informationen wie einer Identität (der "Schlüsselbesitzername") und einer Signatur durch eine "Zertifizierungsstelle". Sie könnten den privaten Schlüssel verwenden, um ein "selbstsigniertes Zertifikat" zu erstellen (ein Zertifikat, bei dem die Signatur relativ zum Schlüssel selbst berechnet wird). versuche das: 'openssl req -new -x509 -schlüssel privkey.pem -out cert.pem' –

+0

Okay, das hat mich auf die richtige Spur gebracht, danke! – Rolf

Verwandte Themen