iocalhost.nl // no place like ::1
references Network & Web openssl

openssl

Sleutels, CSR's, certificaten inspecteren en verbindingen testen.

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 md5 en hetzelfde met rsa -modulus -in key.pem.