Ich bin für die Wartung von zwei Debian-Servern verantwortlich. Jedes Mal, wenn ich etwas mit Sicherheitszertifikaten zu tun habe, google ich nach Tutorials und schlage weg, bis es endlich funktioniert.
Doch in meinen Recherchen kam ich oft in verschiedenen Dateiformaten ( .key
, .csr
, .pem
) , aber ich habe nie in der Lage gewesen , eine gute Erklärung, was jedes Dateiformates Zweck ist zu finden.
Ich habe mich gefragt, ob die guten Leute hier bei ServerFault etwas Klarheit in dieser Angelegenheit bringen könnten.
certificate
pki
Noah Goodrich
quelle
quelle
Antworten:
SSL gibt es schon lange genug, man könnte meinen, es würden Containerformate vereinbart. Und da hast du recht. Es gibt zu viele Standards. Das ist es, was ich weiß und ich bin sicher, dass andere mitmachen werden.
/etc/ssl/certs
) oder eine gesamte Zertifikatkette, einschließlich öffentlichem Schlüssel, privatem Schlüssel und Stammzertifikate. Verwirrenderweise kann es auch eine CSR (z. B. wie hier verwendet ) codieren, da das PKCS10-Format in PEM übersetzt werden kann. Der Name stammt von Privacy Enhanced Mail (PEM) , einer fehlgeschlagenen Methode für sichere E-Mails, aber das verwendete Containerformat ist gültig und basiert auf einer Base64-Übersetzung der x509-ASN.1-Schlüssel./etc/ssl/private
. Die Rechte für diese Dateien sind sehr wichtig, und einige Programme lehnen es ab, diese Zertifikate zu laden, wenn sie falsch eingestellt sind.openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes
Einige andere Formate, die von Zeit zu Zeit angezeigt werden:
openssl x509 -inform der -in to-convert.der -out converted.pem
) konvertieren . Windows sieht diese als Zertifikatsdateien. Standardmäßig exportiert Windows Zertifikate als .DER-formatierte Dateien mit einer anderen Erweiterung. Mögen....keystore
stattdessen häufig als Erweiterung. Im Gegensatz zu .pem Stil Zertifikate, hat dieses Format eine definierte Art und Weise Zertifizierungspfad - Zertifikate enthalten.Zusammenfassend gibt es vier verschiedene Möglichkeiten, Zertifikate und deren Komponenten zu präsentieren:
Ich hoffe das hilft.
quelle
ssh-keygen
. Es wäre nützlich zu wissen, wie das mit dem Rest zusammenhängt.PEM allein ist kein Zertifikat, sondern nur eine Methode zum Codieren von Daten. X.509-Zertifikate sind ein Datentyp, der üblicherweise mit PEM codiert wird.
PEM ist ein X.509-Zertifikat (dessen Struktur mit ASN.1 definiert wird), das mit ASN.1 DER (Distinguished Encoding Rules) codiert wird, anschließend die Base64-Codierung durchläuft und zwischen Ankerzeilen im Klartext (BEGIN CERTIFICATE und END CERTIFICATE) eingefügt wird ).
Sie können dieselben Daten mithilfe der PKCS # 7- oder PKCS # 12-Darstellungen darstellen. Dazu können Sie das Befehlszeilendienstprogramm openssl verwenden.
Der offensichtliche Vorteil von PEM besteht darin, dass es sicher in den Text einer E-Mail-Nachricht eingefügt werden kann, da es Ankerlinien enthält und 7-Bit-Clean ist.
RFC1422 enthält weitere Details zum PEM-Standard in Bezug auf Schlüssel und Zertifikate.
quelle
openssl x509 -inform der -in cert.cer -out cert.pem
. Um eine PEM - Datei konvertieren DIE:openssl x509 -outform der -in cert.pem -out certi.der
. So konvertieren Sie einen privaten Schlüssel und Zertifikate PEM eine PKCS # 12 - Datei (PFX P12) enthält:openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
. So konvertieren Sie eine PEM-Zertifikatdatei und einen privaten Schlüssel in PKCS # 12 (.pfx .p12):openssl pkcs12 -export -out cert.pfx -inkey privateKey.key -in cert.crt -certfile CACert.crt
Von hierManchmal ist eine
.crt
Datei bereits eine.pem
. Siehe: https://stackoverflow.com/questions/991758/openssl-pem-keyquelle
.foobar
für alles, was zählt , aufgerufen werden ...