Voici la ligne de commande attribué à la commande d'openssl de OpenSSL :
Syntaxe
openssl command [ command_options ] [ command_arguments ] |
Paramètres
Nom | Description |
---|---|
-help | Ce paramètre permet de fournir de l'aide sur une commande. |
-out outfile | Ce paramètre permet d'indiquer le fichier de sortie. |
-outform PEM|DER | Ce paramètre permet d'indiquer le format de sortie (DER ou PEM). |
-pass val | Ce paramètre permet d'indiquer le source de phrase secrète du fichier de sortie. |
-paramfile infile | Ce paramètre permet d'indiquer un fichier de paramètres. |
-algorithm val | Ce paramètre permet d'indiquer l'algorithme de clef publique. |
-pkeyopt val | Ce paramètre permet de définir l'option d'algorithme de clef publique comme opt:value. |
-genparam | Ce paramètre permet de générer des paramètres, pas des clefs. |
-text | Ce paramètre permet d'afficher le texte. |
-* | Ce paramètre permet d'indiquer le chiffre à utiliser pour chiffrer la clef. |
-engine val | Ce paramètre permet d'indiquer un moteur, éventuellement un périphérique matériel. |
... | ... |
Liste des commandes
Nom | Description |
---|---|
openssl asn1parse | Cette commande permet d'effectuer un diagnostic pouvant analyser les structures ASN.1. |
openssl ca | Cette commande permet d'émuler une application CA. |
openssl ciphers | Cette commande permet de convertir les listes de chiffrement OpenSSL textuelles en listes de préférences de chiffrement SSL ordonnées. |
openssl cmp | Cette commande permet de mettre en oeuvre un client pour le protocole de gestion de certificat (CMP) tel que défini dans RFC4210. |
openssl cms | Cette commande permet de gérer le courrier S/MIME v3.1. Elle peut crypter, décrypter, signer et vérifier, compresser et décompresser les messages S/MIME. |
openssl crl | Cette commande permet de traiter les fichiers CRL au format DER ou PEM. |
openssl crl2pkcs7 | Cette commande permet de prendre une CRL facultative et un ou plusieurs certificats et de les convertir en une structure dégénérée «certificats uniquement» PKCS #7. |
openssl dgst | Cette commande permet de générer le résumé de message d'un ou plusieurs fichiers fournis au format hexadécimal, et de générer et de vérifier également les signatures numériques à l'aide de résumés de message. |
openssl dhparam | Cette commande permet de manipuler les fichiers de paramètres DH. |
openssl dsa | Cette commande permet de traiter les clefs DSA. Elles peuvent être convertis entre différents formulaires et leurs composantes affichés. |
openssl dsaparam | Cette commande permet de manipuler ou de générer des fichiers de paramètres DSA. |
openssl ec | Cette commande permet de traiter les clefs EC. Ils peuvent être convertis entre différents formulaires et leurs composantes affichés. |
openssl ecparam | Cette commande permet de manipuler ou générer des fichiers de paramètres EC. |
openssl enc | Cette commande permet d'effectuer le chiffrement symétriques permettent aux données d'être chiffrées ou déchiffrées à l'aide de divers chiffrements en bloc et en flux de données en utilisant des clefs basées sur des mots de passe ou fournies explicitement. Le codage ou le décodage en base64 peut également être effectué soit seul, soit en plus du cryptage ou du décryptage. |
openssl engine | Cette commande permet d'utiliser un fournisseur à la place des moteurs. Cette commande est obsolète. |
openssl errstr | Cette commande permet d'afficher la signification du code hexadécimal du texte des messages d'erreur. |
openssl fipsinstall | Cette commande permet de générer un fichier de configuration du module FIPS. Ce fichier de configuration peut être utilisé chaque fois qu'un module FIPS est chargé afin de transmettre des données aux autotests du module FIPS. Le module FIPS vérifie toujours son MAC, mais n'a besoin d'exécuter les KAT qu'une seule fois, lors de l'installation. |
openssl format-options | Cette commande permet d'indiquer une variété de formats. Plusieurs commandes OpenSSL peuvent prendre des entrées ou générer des sorties dans une variété de formats. Étant donné que les clefs OpenSSL 3.0, les certificats uniques et les CRL peuvent être lus à partir de fichiers dans n'importe quel format DER, PEM ou P12, tout en spécifiant leur format d'entrée n'est plus nécessaire. |
openssl gendsa | Cette commande permet de générer une clef privée DSA à partir d'un fichier de paramètres DSA. |
openssl genpkey | Cette commande permet de générer une clef privée. |
openssl genrsa | Cette commande permet de générer une clef privée RSA. |
openssl info | Cette commande permet d'afficher des informations sur OpenSSL. Les informations sont écrites exactement telles quelles, sans texte supplémentaire, ce qui est utile pour les scripts. |
openssl kdf | Cette commande permet d'utiliser les fonctions de dérivation de clef génèrent une clef dérivée à partir d'un secret ou d'un mot de passe. |
openssl list | Cette commande permet de générer la liste des algorithmes ou des fonctionnalités désactivées. |
openssl mac | Cette commande permet d'utiliser les fonctions de code d'authentification de message sortent le MAC d'un fichier d'entrée fourni. |
openssl namedisplay-options | Cette commande permet de fournir un contrôle précis sur la façon dont le sujet et les DN de l'émetteur sont affichés. |
openssl nseq | Cette commande permet de prendre un fichier contenant une séquence de certificats Netscape et d'afficher les certificats qu'il contient ou prend un fichier de certificats et le convertit en une séquence de certificats Netscape. |
openssl ocsp | Cette commande permet d'effectuer de nombreuses tâches OCSP courantes. Il peut être utilisé pour afficher des requêtes et des réponses, créer des requêtes et envoyer des requêtes à un répondeur OCSP et se comporter comme un mini serveur OCSP lui-même. |
openssl passphrase-options | Cette commande permet d'accepter les paramètres de mot de passe, généralement en utilisant -passin et -passout pour les mots de passe d'entrée et de sortie respectivement. |
openssl passwd | Cette commande permet de calculer le hachage d'un mot de passe tapé au moment de l'exécution ou le hachage de chaque mot de passe dans une liste. |
openssl pkcs12 | Cette commande permet de créer et d'analyser des fichiers PKCS #12 (parfois appelés fichiers PFX). Les fichiers PKCS #12 sont utilisés par plusieurs programmes, notamment Netscape, MSIE et Outlook. |
openssl pkcs7 | Cette commande permet de traiter les fichiers PKCS #7. Notez qu'il ne comprend que PKCS #7 v1.5 comme spécifié dans IETF RFC 2315. Il ne peut actuellement pas analyser CMS comme décrit dans IETF RFC 2630. |
openssl pkcs8 | Cette commande permet de traiter les clefs privées au format PKCS #8. Il peut gérer à la fois le format PKCS #8 PrivateKeyInfo non chiffré et le format EncryptedPrivateKeyInfo avec une variété d'algorithmes PKCS #5 (v1.5 et v2.0) et PKCS #12. | openssl pkey | Cette commande permet de traiter les clefs publiques ou privées. Ils peuvent être convertis entre différentes formes et leurs composantes affichés. |
openssl pkeyparam | Cette commande permet de traiter les paramètres d'algorithme de clef publique. Leur exactitude peut être vérifiée et leurs composantes affichés. |
openssl pkeyutl | Cette commande permet d'effectuer des opérations de clef publique de bas niveau à l'aide de tout algorithme pris en charge. |
openssl prime | Cette commande permet de vérifier si les nombres spécifiés sont premiers. |
openssl rand | Cette commande permet de générer num octets aléatoires à l'aide d'un générateur de nombres pseudo aléatoires cryptographiquement sécurisé (CSPRNG). |
openssl rehash | Cette commande permet d'analyser les répertoires et de calculer une valeur de hachage de chaque fichier .pem, .crt, .cer ou .crl dans la liste de répertoires spécifiée et crée des liens symboliques pour chaque fichier, où le nom du lien est la valeur de hachage. |
openssl req | Cette commande permet de créer et de traiter principalement les demandes de certificat (CSR) au format PKCS #10. Il peut en outre créer des certificats auto-signés à utiliser en tant qu'autorité de certification racine par exemple. |
openssl rsa | Cette commande permet de traiter les clefs RSA. Ils peuvent être convertis entre différents formulaires et leurs composantes affichés. |
openssl rsautl | Cette commande permet de signer, vérifier, crypter et décrypter des données à l'aide de l'algorithme RSA. |
openssl sess_id | Cette commande permet de traiter la version codée de la structure de session SSL et d'afficher éventuellement les détails de la session SSL (par exemple la clef principale de session SSL) dans un format lisible par l'homme. |
openssl smime | Cette commande permet de gérer le courrier S/MIME. Elle peut crypter, décrypter, signer et vérifier les messages S/MIME. |
openssl speed | Cette commande permet de tester les performances des algorithmes cryptographiques. |
openssl spkac | Cette commande permet de traiter les fichiers de clef publique et de défi (SPKAC) signés Netscape. Elle peut afficher leur contenu, vérifier la signature et produire ses propres SPKAC à partir d'une clef privée fournie. |
openssl srp | Cette commande permet de maintenir un fichier SRP (mot de passe à distance sécurisé). |
openssl storeutl | Cette commande permet d'afficher le contenu (après déchiffrement selon le cas) extrait des URI donnés. |
openssl s_client | Cette commande permet de mettre en oeuvre un client SSL/TLS générique se connectant à un hôte à distance à l'aide de SSL/TLS. C'est un outil de diagnostic très utile pour les serveurs SSL. |
openssl s_server | Cette commande permet de mettre en oeuvre un serveur SSL/TLS générique écoutant les connexions sur un port donné en utilisant SSL/TLS. |
openssl s_time | Cette commande permet de mettre en oeuvre un client SSL/TLS générique se connectant à un hôte à distance à l'aide de SSL/TLS. Il peut demander une page au serveur et inclut le temps de transfert des données utiles dans ses mesures de synchronisation. Il mesure le nombre de connexions dans une période donnée, la quantité de données transférées (le cas échéant) et calcule le temps moyen passé pour une connexion. |
openssl ts | Cette commande permet de lancer une application client et serveur de base de l'Autorité d'horodatage (TSA) comme spécifié dans la RFC 3161 (Time-Stamp Protocol, TSP). |
openssl verification-options | Cette commande permet d'indiquer les options de vérification des certificats. |
openssl verify | Cette commande permet de vérifier les chaînes de certificats. |
openssl version | Cette commande permet d'afficher les informations de version d'OpenSSL. |
openssl x509 | Cette commande permet d'afficher des informations de certificat, convertir des certificats en diverses formes, signer des demandes de certificat comme une «mini CA» ou modifier les paramètres de confiance de certificat. |
Exemples
L'exemple suivant permet d'afficher toutes les informations de version vers la sortie sur la machine actuelle :
openssl version -a |
on obtiendra un résultat ressemblant à ceci :
OpenSSL 1.0.2r 26 Feb 2019 built on: reproducible build, date unspecified platform: linux-x86_64 options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) compiler: gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -fPIC -Wa,--noexecstack -m64 -DL_ENDIAN -O3 -Wall -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM OPENSSLDIR: "/bitnami/lamp56stack-linux-x64/output/common/openssl" |
L'exemple suivant permet de générer une CSR et une clef privée :
openssl req -new -newkey rsa:2048 -nodes -out servername.csr -keyout servername.key |
L'exemple suivant permet de décoder un CSR sur votre propre machine :
openssl req -in server.csr -noout -text |
L'exemple suivant permet de convertir un x509 en .PEM :
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem |
L'exemple suivant permet de convertir un .PEM en DER :
openssl x509 -outform der -in certificatename.pem -out certificatename.der |
L'exemple suivant permet de convertir un DER en .PEM :
openssl x509 -inform der -in certificatename.der -out certificatename.pem |
L'exemple suivant permet de convertir un .PEM en P7B (extension de fichier .p7b ou .p7c) :
openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer |
L'exemple suivant permet de convertir un PKCS7 en .PEM :
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem |
L'exemple suivant permet de convertir un PFX en .PEM :
openssl pkcs12 -in certificatename.pfx -out certificatename.pem |
L'exemple suivant permet de convertir un PFX en PKCS#8 en utilisant 2 commandes :
openssl pkcs12 -in certificatename.pfx -nocerts -nodes -out certificatename.pem openssl pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8 |
L'exemple suivant permet de convertir un P7B en PFX en utilisant 2 commandes :
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer |
Remarques
- Le format PKCS#7 ou P7B est entreposé au format Base64 en ASCII et possède une extension de fichier .p7b ou .p7c. Un fichier P7B ne contient que des certificats et des certificats de chaîne (AC intermédiaires), pas la clef privée. Les plates-formes les plus courantes prenant en charge les fichiers P7B sont Windows et Apache Tomcat pour Java.
- Le format PKCS#12 ou PFX est un format binaire pour entreposer le certificat de serveur, les certificats intermédiaires et la clef privée dans un fichier cryptable. Les fichiers PFX ont généralement des extensions telles que .pfx et .p12. Les fichiers PFX sont généralement utilisés sur les machines Windows pour importer et exporter des certificats et des clefs privées.
Voir également
Référence des formats de données - CSR