Benutzer-Werkzeuge

Webseiten-Werkzeuge


openssl

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
openssl [2025/12/19 10:22]
jango
openssl [2025/12/19 11:16] (aktuell)
jango [Kodierungen]
Zeile 3: Zeile 3:
 {{openssl.zip|OpenSSL}} {{openssl.zip|OpenSSL}}
  
 +=====Begriffe=====
 +
 +====Objektformate====
 +
 +PEM erkennst man sofort am 
 +<code>
 +-----BEGIN …-----
 +</code>
 +
 +Binär/DER vs. P12/P7B erkennt man gut mit OpenSSL-Kommandos:
 +
 +<code>
 +# Zertifikat (PEM oder DER)
 +openssl x509 -in file -text -noout
 +openssl x509 -in file -inform DER -text -noout
 +
 +# Privater Schlüssel (viele Typen)
 +openssl pkey -in keyfile -text -noout
 +
 +# PKCS#12
 +openssl pkcs12 -in file.p12 -info -noout
 +
 +# PKCS#7 / CMS
 +openssl pkcs7 -in file.p7b -print_certs -noout
 +# oder
 +openssl cms -in file.p7b -print -noout
 +</code>
 +
 +===Zertifikat X509===
 +
 +  * als DER oder PEM
 +  * Endungen: .crt, .cer, .pem, .der (alles möglich)
 +
 +===Privater Schlüssel===
 +
 +Die häufigsten Varianten (alle oft als DER oder PEM gespeichert):
 +
 +  * PKCS#1 (RSA-spezifisch): -----BEGIN RSA PRIVATE KEY-----
 +  * SEC1 (EC-spezifisch, “traditional”): -----BEGIN EC PRIVATE KEY-----
 +  * PKCS#8 (algorithmus-neutral, heute Standard):
 +  * unverschlüsselt: -----BEGIN PRIVATE KEY-----
 +  * verschlüsselt: -----BEGIN ENCRYPTED PRIVATE KEY-----
 +
 +===Öffentlicher Schlüssel===
 +
 +  * PKCS#8/SubjectPublicKeyInfo: -----BEGIN PUBLIC KEY-----
 +
 +===CSR (Certificate Signing Request)===
 +
 +  * -----BEGIN CERTIFICATE REQUEST----- (oder NEW CERTIFICATE REQUEST)
 +
 +===CRL (Certificate Revocation List)===
 +
 +  * -----BEGIN X509 CRL-----
 +
 +====Kodierungen====
 +
 +ASN.1 binär: BER / DER / CER
 +
 +Fast alle klassischen X.509/TLS-Strukturen sind ASN.1-Objekte.
 +
 +  * BER (Basic Encoding Rules): flexibel, nicht eindeutig (mehrere Darstellungen möglich)
 +  * DER (Distinguished…): eindeutig und daher sehr verbreitet (Zertifikate, Signaturen)
 +  * CER (Canonical…): eher selten; v. a. wenn große Felder “chunked” codiert werden
 +===DER===
 +
 +DER = Distinguished Encoding Rules
 +
 +  * Binäres Format für ASN.1-Strukturen (z. B. X.509-Zertifikate, Schlüssel).
 +  * Dateien heißen oft: .der, .cer, .crt (Endungen sind nicht eindeutig!)
 +  * Vorteil: kompakt, eindeutig. Nachteil: nicht lesbar im Editor.
 +
 +<code>
 +openssl x509 -in cert.der -inform DER -text -noout
 +</code>
 +
 +===PEM=== 
 +
 +PEM ist im Prinzip DER, aber Base64-kodiert und mit Text-Headern.
 +
 +Erkennbar an Zeilen wie:
 +<code>
 +-----BEGIN CERTIFICATE-----
 +-----BEGIN PRIVATE KEY-----
 +-----BEGIN RSA PRIVATE KEY-----
 +</code>
 +
 +  * Dateien oft: .pem, .crt, .cer, .key (auch hier: Endungen sind nicht eindeutig!)
 +  * Vorteil: leicht zu kopieren/verschicken, gut für Config-Files.
 +
 +<code>
 +openssl x509 -in cert.pem -text -noout
 +</code>
 +
 +===RAW===
 +
 +
 +====Container====
 +
 +===P12, PKCS#12, PFX===
 +
 +Container die enthalten: 
 +  * Zertifikat, 
 +  * privKey, 
 +  * ggf Zertifikatskette
 +
 +<code>
 +# Inhalt ansehen
 +openssl pkcs12 -in bundle.p12 -info -noout
 +
 +# Zertifikat(e) extrahieren
 +openssl pkcs12 -in bundle.p12 -clcerts -nokeys -out cert.pem
 +
 +# Privaten Schlüssel extrahieren
 +openssl pkcs12 -in bundle.p12 -nocerts -out key.pem
 +
 +# Kette / CA Zertifikate anzeigen
 +openssl pkcs12 -in bundle.p12 -cacerts -nokeys -out chain.pem
 +</code>
 +
 +===JKS, JCEKS, PKCS12===
 +
 +JAVA Key Store
 +
 +  * Container für Zertifikate und/oder Signaturen
 +  * normalerweise KEINE privaten Schlüssel
 +  * häufig bei Windows-Zertifikatsketten, "Zertifikatbundle"
 +
 +(OpenSSL nutzt dafür oft openssl pkcs7 oder moderner openssl cms.)
 +
 +
 +=====Sonstiges=====
 <code bash> <code bash>
 # Key-Typ bestimmen # Key-Typ bestimmen
openssl.1766136145.txt.gz · Zuletzt geändert: 2025/12/19 10:22 von jango