Aide-mémoire Sécurité

Aide-mémoire des commandes OpenSSL

Les commandes OpenSSL réellement utilisées : empreintes et octets aléatoires, clés, demandes de certificat, lecture de certificats, conversion de formats et test d'un serveur. Chacune a été exécutée avec OpenSSL 3.5.

Dernière vérification :

AdSense Placeholder
Slot: header_reference_page
Sur cette 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.

Essayez ces outils

Voir aussi

  • Aide-mémoire Aide-mémoire des algorithmes de hachage et de chiffrement
    Tailles d'empreinte de MD5, SHA-1, SHA-2, SHA-3 et BLAKE2, clés et blocs d'AES, ChaCha20 et 3DES, hachage de mots de passe et signatures.
  • Guide Comment fonctionnent HTTPS et TLS
    Comment la poignée de main TLS 1.3, l'échange de clés et les certificats rendent une connexion privée, ce que le cadenas ne prouve pas.
  • Guide Comment fonctionne le hachage
    Ce que fait une fonction de hachage, l'effet avalanche avec une vraie sortie SHA-256, quels algorithmes restent sûrs.
  • Glossaire Certificat numérique
    Un certificat numérique est un fichier signé qui lie une clé publique à une identité, comme un nom de domaine.
  • Glossaire TLS
    Le TLS (Transport Layer Security) est le protocole cryptographique qui chiffre et authentifie les connexions, notamment HTTPS.
AdSense Placeholder
Slot: footer_leaderboard