Sleutels & CSR
# private key
openssl genrsa -out key.pem 2048
openssl genpkey -algorithm RSA -out key.pem -pkeyopt rsa_keygen_bits:2048
# CSR (certificate signing request)
openssl req -new -key key.pem -out req.csr
# self-signed certificaat
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem \
-days 365 -nodes -subj "/CN=example.com"
Inspecteren
openssl x509 -in cert.pem -noout -text volledige details
openssl x509 -in cert.pem -noout -dates geldigheidsdatums
openssl x509 -in cert.pem -noout -subject -issuer
openssl req -in req.csr -noout -text CSR bekijken
openssl rsa -in key.pem -check sleutel valideren
Live server testen
openssl s_client -connect example.com:443
openssl s_client -connect example.com:443 -servername example.com
# alleen vervaldatum:
echo | openssl s_client -connect example.com:443 2>/dev/null \
| openssl x509 -noout -dates
Conversies & hashes
openssl x509 -in cert.pem -outform der -out cert.der PEM → DER
openssl pkcs12 -export -in cert.pem -inkey key.pem -out bundle.p12
openssl dgst -sha256 bestand
openssl rand -hex 32 willekeurige sleutel/secret
openssl base64 -in bestand base64-encoderen
Controleer dat een sleutel bij een certificaat hoort door de moduli te vergelijken:
openssl x509 -noout -modulus -in cert.pem | openssl md5en hetzelfde metrsa -modulus -in key.pem.