AdSense Placeholder
Slot: header_reference_page
OpenSSL est une boîte à outils en ligne de commande pour les empreintes, le chiffrement, les clés et les certificats. Toutes les commandes ci-dessous ont été exécutées avec OpenSSL 3.5. Pour examiner un certificat sans terminal, utilisez le décodeur de certificats ou le vérificateur de certificats SSL ; pour calculer des empreintes dans le navigateur, le générateur de hachage.
Empreintes, données aléatoires et chiffrement
| Tâche |
Commande |
| Afficher la version |
openssl version |
| SHA-256 d'un fichier |
openssl dgst -sha256 fichier.txt |
| Empreinte SHA-384 en Base64 (pour SRI) |
openssl dgst -sha384 -binary fichier.js | openssl base64 -A |
| 32 octets aléatoires en hexadécimal |
openssl rand -hex 32 |
| 24 octets aléatoires en Base64 |
openssl rand -base64 24 |
| Chiffrer un fichier avec une phrase secrète |
openssl enc -aes-256-cbc -pbkdf2 -salt -in f.txt -out f.enc |
| Le déchiffrer |
openssl enc -d -aes-256-cbc -pbkdf2 -in f.enc -out f.txt |
Hacher un mot de passe pour /etc/shadow (crypt SHA-512) |
openssl passwd -6 -salt abcdefgh secret |
Clés et demandes de certificat
| Tâche |
Commande |
| Clé privée RSA de 2048 bits |
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out key.pem |
| Clé à courbe elliptique (P-256) |
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out ec.pem |
| Extraire la clé publique |
openssl pkey -in key.pem -pubout -out pub.pem |
| Décrire une clé |
openssl pkey -in ec.pem -noout -text |
| Lister les courbes disponibles |
openssl ecparam -list_curves |
| Demande de signature de certificat (CSR) |
openssl req -new -key key.pem -subj "/CN=example.com" -out req.csr |
| Lire une CSR |
openssl req -in req.csr -noout -subject |
| Certificat autosigné pour 365 jours, avec SAN |
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365 -subj "/CN=example.com" -addext "subjectAltName=DNS:example.com,DNS:www.example.com" |
Lire et convertir des certificats
| Tâche |
Commande |
| Sujet, émetteur et dates de validité |
openssl x509 -in cert.pem -noout -subject -issuer -dates |
| Empreinte SHA-256 |
openssl x509 -in cert.pem -noout -fingerprint -sha256 |
| Noms alternatifs du sujet (SAN) |
openssl x509 -in cert.pem -noout -ext subjectAltName |
| Tout, décodé |
openssl x509 -in cert.pem -noout -text |
| PEM vers DER |
openssl x509 -in cert.pem -outform der -out cert.der |
| DER vers PEM |
openssl x509 -inform der -in cert.der -out cert.pem |
| Vérifier un certificat avec un fichier d'AC |
openssl verify -CAfile ca.pem cert.pem |
| La clé correspond-elle au certificat ? (comparez les deux empreintes) |
openssl x509 -in cert.pem -noout -pubkey | openssl sha256 et openssl pkey -in key.pem -pubout | openssl sha256 |
| Regrouper clé et certificat en PKCS#12 |
openssl pkcs12 -export -in cert.pem -inkey key.pem -out bundle.p12 |
| Inspecter un paquet PKCS#12 |
openssl pkcs12 -info -in bundle.p12 -noout |
| Récupérer et lire le certificat présenté par un serveur |
openssl s_client -connect example.com:443 -servername example.com </dev/null | openssl x509 -noout -subject -dates |
| Tester une version précise de TLS |
openssl s_client -connect example.com:443 -tls1_3 |
À savoir
-pbkdf2 fait dériver la clé par PBKDF2 plutôt que par l'ancienne méthode faible ; incluez-le toujours.
-nodes (« no DES ») laisse la clé privée non chiffrée sur le disque. Réservez-le aux clés jetables ou de test.
- Passer une phrase secrète sur la ligne de commande (
-pass pass:...) l'expose dans la liste des processus. Préférez -pass stdin ou un fichier.
- L'option
-servername fixe le SNI. Sans elle, un serveur qui héberge plusieurs sites peut présenter le mauvais certificat.
- Une empreinte passée par
openssl base64 -A est ce que produit un générateur de hachage SRI pour l'attribut integrity.