openssl
est un outil en ligne de commande qui fait partie de la bibliothèque OpenSSL. Il est utilisé pour gérer les certificats SSL/TLS, chiffrer et déchiffrer des données, générer des clés, et effectuer diverses opérations cryptographiques. OpenSSL est largement utilisé pour sécuriser les communications sur Internet.
Installation
openssl
est généralement installé par défaut sur la plupart des distributions Linux. Si ce n'est pas le cas, vous pouvez l'installer en utilisant le gestionnaire de paquets de votre distribution :
Debian/Ubuntu :
sudo apt-get install openssl
CentOS/RHEL :
sudo yum install openssl
Fedora :
sudo dnf install openssl
Utilisation de Base
Pour afficher les commandes disponibles avec openssl
, utilisez la commande suivante :
openssl
Génération de Clés et de Certificats
Générer une clé privée RSA :
openssl genpkey -algorithm RSA -out private.key -aes256
Générer une demande de signature de certificat (CSR) :
openssl req -new -key private.key -out request.csr
Générer un certificat auto-signé :
openssl req -new -x509 -key private.key -out certificate.crt -days 365
Chiffrement et Déchiffrement
Chiffrer un fichier :
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt -k mypassword
Déchiffrer un fichier :
openssl enc -d -aes-256-cbc -in encrypted.txt -out plaintext.txt -k mypassword
Vérification de Certificats
Vérifier un certificat :
openssl verify -CAfile ca_cert.crt certificate.crt
Afficher les informations d'un certificat :
openssl x509 -in certificate.crt -text -noout
Génération de Hachages
Générer un hachage SHA-256 d'un fichier :
openssl dgst -sha256 -out hash.txt file.txt
Exemples de Commandes Avancées
Générer une clé privée RSA avec une phrase de passe :
openssl genpkey -algorithm RSA -out private.key -aes256
Générer une demande de signature de certificat (CSR) avec des informations spécifiques :
openssl req -new -key private.key -out request.csr -subj "/C=FR/ST=Paris/L=Paris/O=MyCompany/CN=www.example.com"
Générer un certificat auto-signé avec une durée de validité spécifique :
openssl req -new -x509 -key private.key -out certificate.crt -days 365 -subj "/C=FR/ST=Paris/L=Paris/O=MyCompany/CN=www.example.com"
Chiffrer un fichier avec un algorithme spécifique :
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt -k mypassword
Déchiffrer un fichier avec un algorithme spécifique :
openssl enc -d -aes-256-cbc -in encrypted.txt -out plaintext.txt -k mypassword
Vérifier un certificat avec une chaîne de certificats :
openssl verify -CAfile ca_cert.crt -untrusted intermediate_cert.crt certificate.crt
Afficher les informations détaillées d'un certificat :
openssl x509 -in certificate.crt -text -noout
Générer un hachage SHA-256 d'un fichier et l'afficher en base64 :
openssl dgst -sha256 -binary file.txt | openssl base64 -e