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:28]
jango
openssl [2025/12/19 11:16] (aktuell)
jango [Kodierungen]
Zeile 4: Zeile 4:
  
 =====Begriffe===== =====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==== ====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===
  
Zeile 36: Zeile 96:
 openssl x509 -in cert.pem -text -noout openssl x509 -in cert.pem -text -noout
 </code> </code>
 +
 +===RAW===
 +
  
 ====Container==== ====Container====
-P12, PKCS#12, PFXContainer die enthalten: Zertifikat, privKey, ggf Zertifikatskette+ 
 +===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===== =====Sonstiges=====
openssl.1766136510.txt.gz · Zuletzt geändert: 2025/12/19 10:28 von jango