Extrahieren Sie den öffentlichen / privaten Schlüssel aus der PKCS12-Datei zur späteren Verwendung in der SSH-PK-Authentifizierung
Möchte ich extrahieren Sie die öffentlichen und privaten Schlüssel aus meiner PKCS#12-Datei für die spätere Verwendung in der SSH-Public-Key-Authentifizierung.
Gerade jetzt, ich bin Generierung von Schlüsseln per ssh-keygen das ich in .ssh/authorized_keyjeweiligen irgendwo auf der client-Seite.
In Zukunft will ich die Schlüssel aus einer PKCS#12-container, also ich habe zum extrahieren der public-key-ersten aus PKCS#12 und Sie dann in die .ssh/authorized_keys-Datei. Gibt es eine chance, dies funktioniert über openssl? Sind die Schlüssel im PKCS#12 kompatibel für ssh-public-key-Authentifizierung?
InformationsquelleAutor der Frage lazydaemon | 2012-02-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie folgende Befehle zum entpacken des öffentlichen/privaten Schlüssels aus einer PKCS#12-container:
PKCS#1 Private-key
Zertifikate:
InformationsquelleAutor der Antwort Nilesh
Dies ist möglich mit einer bit-format-Konvertierung.
Extrahieren des privaten Schlüssels in einem format von openssh verwenden können:
Konvertieren, den privaten Schlüssel zu einem öffentlichen Schlüssel:
Zum extrahieren des öffentlichen Schlüssels in einem format von openssh verwenden können:
InformationsquelleAutor der Antwort ryanc
OpenSSH verwenden können PKCS#12-Dateien aus der box. Wie andere vorgeschlagen haben, müssen Sie extrahieren Sie den privaten Schlüssel im PEM-format, die Sie bekommt vom land von OpenSSL, OpenSSH. Andere Lösungen, die hier erwähnt werden nicht für mich arbeiten. Ich verwende OS X 10.9 Mavericks (10.9.3 im moment) mit "vorgefertigten" utilities (OpenSSL 0.9.8 y, OpenSSH-6.2p2).
Erste, extrahieren Sie den privaten Schlüssel im PEM-format, die verwendet werden, direkt durch OpenSSH:
Empfehle ich dringend zur Verschlüsselung der privaten Schlüssel mit Passwort:
Offensichtlich, schreiben Sie eine nur-text-Kennwort auf der Kommandozeile ist nicht sicher, entweder, so löschen Sie den letzten Befehl aus der Geschichte oder einfach nur machen es nicht gibt. Verschiedene shells haben verschiedene Möglichkeiten. Können Sie Präfix Ihre Befehl mit Leerzeichen, um zu verhindern, dass es gespeichert wird Geschichte in der Bash und viele andere shells. Hier ist auch, wie Sie den Befehl löschen aus der Geschichte in der Bash:
Alternativ können Sie über verschiedene Wege passieren Sie eine private key-Passwort zu OpenSSL - consult OpenSSL-Dokumentation für pass-phrase Argumente.
Erstellen Sie dann einen OpenSSH-public-key, die Hinzugefügt werden können, um authorized_keys-Datei:
InformationsquelleAutor der Antwort frzng
Lösung 1:
P12 extrahieren von jks
Extrakt PEM von P12 und Bearbeiten von Datei-und pem-von crt-Datei
Extrahieren der Schlüssel von der jks
Lösung 2:
Extrakt PEM und encryptedPrivateKey zu txt-Datei``
PrivateKey entschlüsseln
InformationsquelleAutor der Antwort Ali Alimohammadi
Soweit ich weiß, PKCS#12 ist ein Zertifikat/public - /private key speichern. Wenn Sie extrahiert einen öffentlichen Schlüssel aus der PKCS#12-Datei, OpenSSH sollte in der Lage sein, es zu benutzen, so lange, wie es gewonnen wurde in PEM - format. Sie wahrscheinlich bereits wissen, dass Sie brauchen auch einen entsprechenden privaten Schlüssel (auch in PEM), um es zu verwenden für ssh-public-key-Authentifizierung.
InformationsquelleAutor der Antwort sirgeorge