Beziehen Sie die CER-Datei aus der PEM-Datei

13

Ich habe einen privaten RSA-Schlüssel mit dem folgenden Befehl generiert:

openssl genrsa -out privkey.pem 2048

Und erstellte ein selbstsigniertes Zertifikat mit folgendem Befehl:

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 3650

Jetzt versuche ich, cacert .pem Akte in Bescheinigung .cer umzuwandeln

Irgendwelche Ideen?

Devarshi
quelle
1
Laut support.ssl.com/Knowledgebase/Article/View/19/0/… .pem handelt es sich um eine Kodierung und .cereine Erweiterung. Kurz: Eine .cerDatei kann sowohl eine PEMals auch eine DERKodierung enthalten. Was genau brauchst du? (Der Link sollte Ihnen helfen.)
Fabian
Ich habe den Befehl zum Erstellen eines selbstsignierten Zertifikats über diesen Link gefunden: openssl.org/docs/HOWTO/certificates.txt Hier ist der vollständige Text: Wenn Sie sich nicht mit einer anderen Zertifizierungsstelle befassen oder nur ein Testzertifikat erstellen möchten für sich selbst. Dies ähnelt dem Erstellen einer Zertifikatanforderung, erstellt jedoch ein Zertifikat anstelle einer Zertifikatanforderung.
Devarshi
Dies beantwortet nicht wirklich, was Sie brauchen: Was ist der Zweck des Zertifikats, das Sie generieren? Vielleicht ein HTTPS-Server? Oder persönliche Authentifizierung für eine Anwendung? Aber ich denke, Sie haben bereits genug gute Antworten für das, was Sie gefragt haben.
Fabian
Das Szenario ist: Wir erstellen ein öffentlich-privates Schlüsselpaar in der Android-App und müssen den öffentlichen Schlüssel für eine iOS-App freigeben. Ich habe nur festgestellt, dass die Freigabe über ein selbstsigniertes Zertifikat erfolgt. iOS apis extrahiert den öffentlichen Schlüssel aus dem Zertifikat mit dieser Erweiterung (ein Beispiel): some_certificate.cer. Im Moment versuche ich, some_certificate.cer über das Terminal zu generieren und zu überprüfen, ob es in der Lage ist, den öffentlichen Schlüssel daraus zu extrahieren und die Verschlüsselung damit durchzuführen.
Devarshi
Ich kann dir nicht mit iOS Sachen helfen. Nach meinem Verständnis wird die Erweiterung .cer jedoch nur von Microsoft verwendet. Wenn Ihnen die folgenden Antworten nicht weiterhelfen, sollten Sie sich an eine Stelle mit Bezug zur iOS-Programmierung wenden.
Fabian

Antworten:

37

Sie können den folgenden Befehl verwenden:

openssl x509 -inform PEM -in cacert.pem -outform DER -out certificate.cer
cioby23
quelle
2

.cer ist ein Dateityp für DER- oder Base64-Codierung, wenn ich mich richtig erinnere.

openssl x509 -in cacert.pem -out cacert.cer -inform pem -outform der für das DER-Format.

Kennzeichen
quelle
1

Die tatsächliche Erweiterung spielt für Zertifikate keine Rolle. Normalerweise haben .pem-Dateien ein x509-Zertifikat in Base64-codierter Form. .cer-Dateien können base64- oder DER-codiert sein (Windows erkennt dies auch). Abhängig von Ihrer Anwendung müssen Sie herausfinden, welches Zertifikatformat die Anwendung benötigt.

So konvertieren Sie zwischen Base64 (PEM) und DER-Codierung:

openssl x509 -in cert.pem -outform pem -outform der -out cert.cer
mtak
quelle