2015-01-21 32 views
6

Ich habe die Anforderung, den öffentlichen Schlüssel (RSA) aus einer *.cer Datei zu extrahieren. Ich möchte den Schlüssel extrahieren und in einer .pem Datei speichern, damit ich seinen Wert verwenden kann, um Werte zu verschlüsseln, die jsencrypt verwenden.Wie extrahiert man den öffentlichen RSA Schlüssel aus einem .cer und speichert ihn in einem .pem mit OpenSSL?

Der folgende Befehl konvertiert eine .cer-.pem:

openssl x509 -inform der -in certificate.cer -out certificate.pem 

Doch es keine Datei mit dem öffentlichen Schlüssel generiert, sondern eine Datei mit dem Inhalt der Datei *.cer.

-----BEGIN CERTIFICATE----- 
MIICPDCCAamgAwIBAg............ 
*lots of extra contents* 
-----END CERTIFICATE----- 

Welchen Befehl soll ich den öffentlichen Schlüssel zu extrahieren und speichern sie in einer .pem-Datei?

+0

Stack-Überlauf eine Seite für die Programmierung und Entwicklungsfragen ist. Diese Frage scheint off-topic zu sein, weil es nicht um Programmierung oder Entwicklung geht. Siehe [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic) in der Hilfe. Vielleicht [Super User] (http://superuser.com/) oder [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) wäre ein besserer Ort, um zu fragen. Siehe auch [Wo stelle ich Fragen zu Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww

+1

Das Kämpfen mit diesen Dingen ist oft ein Problem für Entwickler. Es gibt viele Fragen zu SO bezüglich Zertifikatsverwaltung. Es ist nicht Super User oder Linux oder Dev Ops, die alle nicht spezifisch genug sind. Ich glaube, das ist in der Tat der richtige Ort. – Ghoti

Antwort

17

Mit diesem Befehl konnte ich die .pem mit dem Inhalt des öffentlichen Schlüssels generieren.

openssl x509 -inform der -in certificate.cer -pubkey -noout > certificate_publickey.pem 

Welche produziert:

-----BEGIN PUBLIC KEY----- 
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsM+whXrxmbCkPfkwY2EehYpIp 
*blah blah blah blah* 
-----END PUBLIC KEY----- 
+4

Danke. Nur eine Korrektur: Für eine .cer-Datei-Eingabe sollte der 'inform' -Parameter' der' sein. – Gobe

+2

Ich war mir ziemlich sicher, dass das, was ich in meiner Antwort geschrieben hatte, korrekt war und für mich arbeitete ... Ich benutzte '-inform pem '. Wenn '-inform der' auch funktioniert, ist das cool. –

+1

Für jeden, der das versucht, würde "-inform DER" für mich nicht funktionieren, aber "-inform PEM" funktioniert. –