Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
openssl [2025/12/19 11:03] jango [Kodierungen] |
openssl [2025/12/19 11:16] (aktuell) jango [Kodierungen] |
||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| =====Begriffe===== | =====Begriffe===== | ||
| + | |||
| + | ====Objektformate==== | ||
| + | |||
| + | PEM erkennst man sofort am | ||
| + | < | ||
| + | -----BEGIN …----- | ||
| + | </ | ||
| + | |||
| + | Binär/DER vs. P12/P7B erkennt man gut mit OpenSSL-Kommandos: | ||
| + | |||
| + | < | ||
| + | # 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 | ||
| + | </ | ||
| + | |||
| + | ===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): | ||
| + | * SEC1 (EC-spezifisch, | ||
| + | * PKCS#8 (algorithmus-neutral, | ||
| + | * unverschlüsselt: | ||
| + | * verschlüsselt: | ||
| + | |||
| + | ===Öffentlicher Schlüssel=== | ||
| + | |||
| + | * PKCS# | ||
| + | |||
| + | ===CSR (Certificate Signing Request)=== | ||
| + | |||
| + | * -----BEGIN CERTIFICATE REQUEST----- (oder NEW CERTIFICATE REQUEST) | ||
| + | |||
| + | ===CRL (Certificate Revocation List)=== | ||
| + | |||
| + | * -----BEGIN X509 CRL----- | ||
| ====Kodierungen==== | ====Kodierungen==== | ||
| Zeile 11: | Zeile 64: | ||
| Fast alle klassischen X.509/ | Fast alle klassischen X.509/ | ||
| - | BER (Basic Encoding Rules): flexibel, nicht eindeutig (mehrere Darstellungen möglich) | + | * BER (Basic Encoding Rules): flexibel, nicht eindeutig (mehrere Darstellungen möglich) |
| - | + | | |
| - | DER (Distinguished…): | + | |
| - | + | ||
| - | CER (Canonical…): | + | |
| ===DER=== | ===DER=== | ||
| Zeile 45: | Zeile 96: | ||
| openssl x509 -in cert.pem -text -noout | openssl x509 -in cert.pem -text -noout | ||
| </ | </ | ||
| + | |||
| + | ===RAW=== | ||
| + | |||
| ====Container==== | ====Container==== | ||
| Zeile 68: | Zeile 122: | ||
| openssl pkcs12 -in bundle.p12 -cacerts -nokeys -out chain.pem | openssl pkcs12 -in bundle.p12 -cacerts -nokeys -out chain.pem | ||
| </ | </ | ||
| + | |||
| + | ===JKS, JCEKS, PKCS12=== | ||
| + | |||
| + | JAVA Key Store | ||
| + | |||
| + | * Container für Zertifikate und/oder Signaturen | ||
| + | * normalerweise KEINE privaten Schlüssel | ||
| + | * häufig bei Windows-Zertifikatsketten, | ||
| + | |||
| + | (OpenSSL nutzt dafür oft openssl pkcs7 oder moderner openssl cms.) | ||
| + | |||
| + | |||
| =====Sonstiges===== | =====Sonstiges===== | ||
| <code bash> | <code bash> | ||