$ openssl x509 -in server-cert.der -inform DER -out server-cert.pem -outform PEM
Dateiendungen bei Zertifikaten sind nicht vorgegeben und spezifizieren nur die Kodierung. Ob es sich dabei um ein Zertifikat, eine Zertifikatsanfrage, oder ein Schlüssel handelt, muss man über den Dateinamen zu erkennen geben.
DER / CRT
Zertifikate:
RSA-Schlüssel:
$ openssl rsa -in server-key.der -inform DER -out server-key.pem -outform PEM
PEM
Zertifikate:
$ openssl x509 -in server-cert.der -inform PEM -out server-cert.pem -outform DER
RSA-Schlüssel:
$ openssl rsa -in server-key.der -inform PEM -out server-key.pem -outform DER
PKCS12
PKCS12 ist ein Containerformat welches Zertifikate und Schlüssel beinhalten kann. Zum Trennen in die Bestandteile:
Client-Zertifikat extrahieren:
$ openssl pkcs12 -clcerts -nokeys -in test-client1-ca-2019.p12 -out test-client1-ca-2019-cert.pem Enter Import Password:
$ head -n 8 tests/conf/test-client1-ca-2019-cert.pem Bag Attributes localKeyID: 55 84 55 EC 44 16 9E B8 05 AE 9B EB C7 BB 55 D5 B2 AC A6 C1 subject=C = DE, O = Testinstallation Eins CA, CN = PN: Teilnehmerservice Test RAID 60
issuer=C = DE, O = Test, CN = Test Client 1 Issuing CA
-----BEGIN CERTIFICATE----- MIIFJjCCBA6gAwIBAgIMIX3zIme/leh2t+pTMA0GCSqGSIb3DQEBCwUAMD8xCzAJ
Zertifikatskette extrahieren:
$ openssl pkcs12 -cacerts -nokeys -in test-client1-ca-2019.p12 -out test-client1-ca-2019-chain.pem Enter Import Password:
$ grep "subject" tests/conf/test-client1-ca-2019-chain.pem subject=C = DE, O = Test, CN = Test Client 1 Issuing CA subject=C = DE, O = Test, CN = Test Intermediate CA subject=C = DE, O = Test, CN = Test Root CA
Der Schlüssel ist mit einem Kennwort geschützt, welches in einem zusätzlichen Schritt entfernt werden kann:
$ openssl pkcs12 -nocerts -in test-client1-ca-2019.p12 -out test-client1-ca-2019-key.pem Enter Import Password: Enter PEM pass phrase: Verifying - Enter PEM pass phrase:
$ head -n 5 test-client1-ca-2019-key.peme
Bag Attributes
localKeyID: 55 84 55 EC 44 16 9E B8 05 AE 9B EB C7 BB 55 D5 B2 AC A6 C1
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFHDBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIFa7SsLOW2rMCAggA
RSA
Schlüssel-Kennwortschutz entfernen:
$ openssl rsa -in test-client1-ca-2019-key.peme -out test-client1-ca-2019-key.pem Enter pass phrase for test-client1-ca-2019-key.peme: writing RSA key
$ head -n 2 tests/conf/test-client1-ca-2019-key.pem -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAzchh+cIkhmx9cQHg+CcqKPo6/8OYi7wmL+japhJQ6CKtZCcO
X.509
Zertifikatsinformationen anzeigen:
$ openssl x509 -in server-cert.pem -inform PEM -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
23:3e:03:59:e4:c7:55:e7:28:59:42:2b
Signature Algorithm: sha256WithRSAEncryption
Issuer: C = DE, O = Verein zur Foerderung eines Deutschen Forschungsnetzes e. V., OU = DFN-PKI, CN =
DFN-Verein Global Issuing CA
Validity
Not Before: Jul 27 07:44:11 2020 GMT
Not After : Oct 29 07:44:11 2022 GMT
Subject: C = DE, ST = Niedersachsen, L = Hannover, O = Leibniz Universitaet Hannover, OU = Leibniz
Universitaet Hannover IT Services, CN = www.luis.uni-hannover.de
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public-Key: (2048 bit)
Modulus:
00:ce:e3:a1:c4:f1:e5:71:02:6a:3e:15:5b:2b:c3:
...
24:23
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Certificate Policies:
Policy: 2.23.140.1.2.2
Policy: 1.3.6.1.4.1.22177.300.30
Policy: 1.3.6.1.4.1.22177.300.1.1.4
Policy: 1.3.6.1.4.1.22177.300.1.1.4.7
Policy: 1.3.6.1.4.1.22177.300.2.1.4.7
X509v3 Basic Constraints:
CA:FALSE
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Subject Key Identifier:
AF:7E:23:0B:1B:8F:BC:95:B9:15:50:7F:23:78:9F:F0:00:6C:9B:7F
X509v3 Authority Key Identifier:
keyid:6B:3A:98:8B:F9:F2:53:89:DA:E0:AD:B2:32:1E:09:1F:E8:AA:3B:74 X509v3 Subject Alternative Name:
DNS:www.luis.uni-hannover.de, DNS:luis.uni-hannover.de, DNS:www.rrzn.uni-hannover.de,
DNS:rrzn.uni-hannover.de, DNS:www.rrzn-handbuecher.de, DNS:rrzn-handbuecher.de
X509v3 CRL Distribution Points: Full Name:
URI:http://cdp1.pca.dfn.de/dfn-ca-global-g2/pub/crl/cacrl.crl Full Name:
URI:http://cdp2.pca.dfn.de/dfn-ca-global-g2/pub/crl/cacrl.crl Authority Information Access:
OCSP - URI:http://ocsp.pca.dfn.de/OCSP-Server/OCSP
CA Issuers - URI:http://cdp1.pca.dfn.de/dfn-ca-global-g2/pub/cacert/cacert.crt
CA Issuers - URI:http://cdp2.pca.dfn.de/dfn-ca-global-g2/pub/cacert/cacert.crt
CT Precertificate SCTs:
Signed Certificate Timestamp:
Version : v1 (0x0)
Log ID : 46:A5:55:EB:75:FA:91:20:30:B5:A2:89:69:F4:F3:7D:
11:2C:41:74:BE:FD:49:B8:85:AB:F2:FC:70:FE:6D:47
Timestamp : Jul 27 07:44:14.364 2020 GMT
Extensions : none
Signature : ecdsa-with-SHA256
30:46:02:21:00:8E:8B:B7:1B:06:72:82:92:5E:6E:8C:
98:18:3E:F2:28:6D:9F:84:68:95:2E:AF:BD:EB:AE:1E:
A1:07:28:20:C1:02:21:00:AB:88:B3:F4:3A:84:F5:45:
AA:23:A4:20:D4:9A:3C:13:BE:13:A7:AC:39:13:46:E5:
65:BA:E0:31:88:03:6C:E4
...
Signature Algorithm: sha256WithRSAEncryption
74:f5:68:24:28:a6:67:86:b6:52:b1:4d:f4:15:ca:8f:33:e7:
...
24:ab:8a:ab
-----BEGIN CERTIFICATE-----