🔐 OpenSSL
Certificats, clés, conversions PEM/PFX
Aide-mémoire
OpenSSL — Aide-mémoire
Inspecter un certificat
# Lire un certificat PEM
openssl x509 -in cert.pem -noout -text
Dates de validité seulement
openssl x509 -in cert.pem -noout -dates
Vérifier un certificat distant
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -text
Vérifier la date d'expiration d'un domaine
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -dates
Générer une clé privée RSA
# Clé RSA 4096 bits (recommandé)
openssl genrsa -out private.key 4096
Clé RSA avec passphrase
openssl genrsa -aes256 -out private.key 4096
Clé EC (plus légère, aussi sécurisée)
openssl ecparam -name prime256v1 -genkey -noout -out ec.key
CSR — Demande de signature de certificat
# Générer clé + CSR en une commande
openssl req -new -newkey rsa:4096 -nodes \
-keyout private.key \
-out demande.csr \
-subj "/C=FR/ST=IDF/L=Paris/O=MonEntreprise/CN=example.com"
CSR avec SAN (Subject Alternative Names)
openssl req -new -key private.key -out demande.csr \
-subj "/CN=example.com" \
-addext "subjectAltName=DNS:example.com,DNS:www.example.com,IP:192.168.1.1"
Vérifier le contenu d'un CSR
openssl req -in demande.csr -noout -text
Certificat auto-signé
# Certificat auto-signé 1 an
openssl req -x509 -newkey rsa:4096 -nodes \
-keyout private.key \
-out cert.pem \
-days 365 \
-subj "/C=FR/O=Test/CN=example.com"
Auto-signé avec SAN (requis par les navigateurs modernes)
openssl req -x509 -newkey rsa:4096 -nodes \
-keyout private.key \
-out cert.pem \
-days 365 \
-subj "/CN=example.com" \
-addext "subjectAltName=DNS:example.com,DNS:*.example.com"
Conversions de formats
PEM → PFX/P12 (Windows)
openssl pkcs12 -export \
-out certificat.pfx \
-inkey private.key \
-in cert.pem \
-certfile chain.pem \
-passout pass:MonMotDePasse
PFX/P12 → PEM + KEY (Linux)
# Extraire le certificat
openssl pkcs12 -in certificat.pfx -nokeys -out cert.pem \
-passin pass:MonMotDePasse
Extraire la clé privée (sans passphrase)
openssl pkcs12 -in certificat.pfx -nocerts -nodes -out private.key \
-passin pass:MonMotDePasse
Extraire la chaîne CA
openssl pkcs12 -in certificat.pfx -cacerts -nokeys -out chain.pem \
-passin pass:MonMotDePasse
DER ↔ PEM
# DER → PEM
openssl x509 -inform der -in cert.der -out cert.pem
PEM → DER
openssl x509 -outform der -in cert.pem -out cert.der
Concaténer une chaîne
# Chaîne complète (cert + intermédiaires)
cat cert.pem intermediate.pem root.pem > fullchain.pem
Vérifications
# Vérifier que clé et certificat correspondent (les MD5 doivent être identiques)
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in private.key | openssl md5
Vérifier un certificat par rapport à une CA
openssl verify -CAfile ca.pem cert.pem
Vérifier la chaîne complète
openssl verify -CAfile root.pem -untrusted intermediate.pem cert.pem
Chiffrement symétrique
# Chiffrer un fichier
openssl enc -aes-256-cbc -pbkdf2 -in fichier.txt -out fichier.enc
Déchiffrer
openssl enc -d -aes-256-cbc -pbkdf2 -in fichier.enc -out fichier.txt
Hash & Empreinte
# SHA256 d'un fichier
openssl dgst -sha256 fichier.txt
Empreinte d'un certificat
openssl x509 -in cert.pem -noout -fingerprint -sha256
🔧 Ouvrir tools.rdr-it.com — application complète →
Plus de 40 outils AdminSys gratuits · SSL · DNS · Docker · Nginx · SSH · Mermaid · et plus