Les commandes essentielles d’OpenSSL
Maîtrisez les commandes OpenSSL essentielles pour générer des clés, chiffrer, calculer des hachages et inspecter des certificats.
Les commandes essentielles d’OpenSSL est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.
Informations sur la version et la compilation d’OpenSSL
La commande «openssl version -a» affiche la version d’OpenSSL, la date de compilation, le compilateur et les options configurées. Il est important de vérifier la version, car les capacités et les valeurs par défaut cryptographiques diffèrent considérablement entre OpenSSL 1.0.x, 1.1.x et 3.x. De nombreux algorithmes anciens sont désactivés par défaut dans les versions plus récentes pour des raisons de sécurité.
Génération de clés RSA
La commande «openssl genrsa -out private.pem 4096» génère une clé privée RSA de 4096 bits au format PEM. En production, 2048 bits constitue le minimum, 3072 bits fournissent environ 128 bits de sécurité et 4096 bits offrent une marge supplémentaire. Les clés peuvent être chiffrées avec AES au repos en ajoutant «-aes256» à la commande, qui demande alors une phrase secrète.
Génération de clés EC
Les clés à courbe elliptique sont générées en deux étapes. Première étape : «openssl ecparam -name prime256v1 -genkey -noout -out ec_private.pem» génère une clé privée EC à l’aide de la courbe P-256. Autre méthode : «openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -out ec_private.pem», qui utilise l’interface genpkey plus récente, privilégiée pour le nouveau code.
Affichage des détails d’une clé
Le contenu des clés peut être inspecté avec «openssl rsa -text -noout -in private.pem» pour les clés RSA, ce qui affiche le module, l’exposant public et les facteurs premiers. Pour les clés EC, «openssl ec -text -noout -in ec_private.pem» affiche le nom de la courbe et la valeur de la clé. L’option «-noout» supprime la sortie encodée au format PEM.
Génération de données aléatoires
OpenSSL peut générer des octets aléatoires cryptographiquement sûrs : «openssl rand -hex 32» produit 32 octets aléatoires sous forme hexadécimale (64 caractères hexadécimaux), ce qui convient à la génération de clés symétriques ou de valeurs à usage unique. «openssl rand -base64 32» produit des octets aléatoires encodés en base64. Cette commande utilise la source d’entropie de l’OS (/dev/urandom sur les systèmes Unix).
Calcul des hachages
La commande "openssl dgst" calcule des condensés de message : "openssl dgst -sha256 file.txt" calcule le hachage SHA-256 d’un fichier. "openssl dgst -sha256 -hmac key file.txt" calcule un HMAC-SHA256. "openssl dgst -sha256 -sign private.pem -out sig.bin file.txt" crée une signature numérique du fichier.
Chiffrement des fichiers
Le chiffrement symétrique d’un fichier utilise "openssl enc -aes-256-cbc -pbkdf2 -in plaintext.txt -out encrypted.bin". L’option "-pbkdf2" utilise PBKDF2 pour dériver la clé à partir de la phrase secrète, en remplacement de EVP_BytesToKey, qui est obsolète. Déchiffrement : "openssl enc -d -aes-256-cbc -pbkdf2 -in encrypted.bin -out decrypted.txt". Les modes AEAD tels que AES-256-GCM sont privilégiés dans le nouveau code.
Conversion des formats PEM et DER
Les certificats et les clés existent sous deux formats d’encodage. PEM est encodé en base64 et comporte des lignes d’en-tête et de pied de page (-----BEGIN CERTIFICATE-----) ; il est utilisé par la plupart des outils Unix. DER est un encodage binaire utilisé par Java et Windows. Pour convertir PEM en DER : "openssl x509 -inform PEM -outform DER -in cert.pem -out cert.der". Pour convertir DER en PEM, inversez les options -inform/-outform.
Vérification des signatures
La vérification d’une signature numérique s’effectue avec : "openssl dgst -sha256 -verify public.pem -signature sig.bin file.txt". La clé publique doit d’abord être extraite : "openssl rsa -pubout -in private.pem -out public.pem". Pour une vérification fondée sur un certificat, "openssl verify -CAfile ca.pem cert.pem" vérifie le certificat par rapport à la chaîne CA spécifiée.
Vérification des détails du certificat
L’inspection d’un certificat est l’une des tâches OpenSSL les plus courantes : "openssl x509 -text -noout -in cert.pem" affiche tous les champs du certificat, notamment le sujet, l’émetteur, les dates de validité, les SAN et les extensions. "openssl x509 -enddate -noout -in cert.pem" affiche uniquement la date d’expiration, ce qui est utile dans les scripts de surveillance.
Connexion aux serveurs TLS
"openssl s_client -connect example.com:443 -servername example.com" établit une connexion TLS et affiche la chaîne de certificats du serveur, la version de TLS négociée et la suite de chiffrement. L’ajout de "-showcerts" affiche tous les certificats de la chaîne. Cette commande est très utile pour diagnostiquer les problèmes de chaîne de certificats, les problèmes de version TLS et l’agrafage OCSP.
Vérification de la commande genrsa d’OpenSSL
Que fait la commande "openssl genrsa -aes256 -out private.pem 2048" ?
Récapitulatif de la leçon : notions de base de la CLI OpenSSL
OpenSSL fournit des commandes pour la génération de clés (genrsa, genpkey), la conversion de formats (PEM/DER), la génération de données aléatoires (rand), le hachage et la signature (dgst), le chiffrement des fichiers (enc), l’inspection de certificats (x509 -text), la vérification de chaînes (verify) et le débogage de TLS (s_client). Elles couvrent la grande majorité des tâches quotidiennes liées aux certificats et à la cryptographie.
Questions Fréquemment Posées
La leçon « Les commandes essentielles d’OpenSSL » est-elle gratuite ?
Oui — le texte complet de « Les commandes essentielles d’OpenSSL » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Les commandes essentielles d’OpenSSL » ?
Maîtrisez les commandes OpenSSL essentielles pour générer des clés, chiffrer, calculer des hachages et inspecter des certificats. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cryptology Academy ?
Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Les commandes essentielles d’OpenSSL » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?
Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Les commandes essentielles d’OpenSSL
- Créer et gérer des chaînes de certificats
- Agrafage OCSP et transparence des certificats
- Let's Encrypt et automatisation du protocole ACME