OpenSSL-Befehle

Public Key aus Private Key berechnen (funktioniert für RSA und ECC):

openssl pkey -in <privatekeyfile> -pubout

Public Key aus Zertifikat extrahieren:

openssl x509 -in <certificatefile> -noout -pubkey

Wenn beide Public Keys übereinstimmen, passt der Private Key zum Zertifikat (und umgekehrt)

openssl verify -CAfile <(cat <INTERMEDIATE_CA> <CA_CERT>) <CERT_TO_CHECK>
openssl x509 -in <CERT> -text -noout

PKCS#12 ⇒ PEM

openssl pkcs12 -in <input.p12> -out <output.pem> -clcerts

PEM ⇒ DER

openssl x509 -outform der -in <input.pem> -out <output.der>
openssl pkcs12 -in <pkcs12_file> -info
openssl pkcs12 -in <pkcs12_file> -clcerts -nokeys -out <certificate_file>
openssl pkcs12 -in <pkcs12_file> -nocerts -out <private_key_file>

Erzeugt einen neuen PKCS#12-Container, der einen privaten Schlüssel und das zugehörige Zertifikat beinhaltet

openssl pkcs12 -in <certificate> -inkey <private_key> -export -out <out_file>

Liste der unterstützten Kurvenparameter

openssl ecparam -list_curves

Erstellung eines ECC-Private-Key (hier prime256v1 als Kurvenparameter)

openssl ecparam -name prime256v1 -genkey -noout -out privkey.pem

Public-Key generieren

openssl ec -in privkey.pem -pubout -out pubkey.pem

ECDSA-SHA256-Signatur erstellen

openssl dgst -sha256 -sign privkey.pem input.dat > signature.der

… und überprüfen

openssl dgst -sha256 -verify pubkey.pem -signature signature.der input.dat
openssl s_client -connect <HOST>:<PORT> -CAfile <CA_FILE> -key <KEY_FILE> -cert <CERT_FILE> -state

Die Parameter -CAfile, -key und -cert sind optional.

openssl s_server -accept <PORT> -cert <CERT_FILE> -key <KEY_FILE> -CAfile <CA_FILE> -Verify <CERT_CHAIN_DEPTH>

Der Parameter -Verify ist optional, er erzwingt Client-Authentication.

  • Zuletzt geändert: 2019-09-29 08:24