menu menu
  • language
back icon Back
Choisissez votre langue
Type de contenu

Base de Connaissances

Guide de référence rapide OpenSSL

Solution ID : INFO184
Last Modified : 08/05/2026

Apprenez à utiliser les commandes OpenSSL les plus courantes.

OpenSSL est un outil en ligne de commande open source couramment utilisé pour générer des clés privées, créer des CSR (demandes de signature de certificat), installer votre certificat SSL/TLS et identifier les informations du certificat. Ce guide de référence rapide a été conçu pour vous aider à comprendre les commandes OpenSSL les plus courantes et leur utilisation.

Ce guide n'est pas exhaustif. Pour une présentation plus approfondie et complète d'OpenSSL, nous vous recommandons de consulter l' ouvrage « OpenSSL Cookbook » d'Ivan Ristić.

Remarque: Ce guide a été rédigé sous Ubuntu 16.04.3 LTS.
Certains exemples de commandes utilisent une barre oblique inverse (« \ ») pour insérer un saut de ligne et faciliter leur compréhension.

Vérification de votre version d'OpenSSL

Identifier la version d'OpenSSL que vous utilisez est une première étape essentielle avant de générer une clé privée ou une CSR (Certificate Signing Request). Votre version d'OpenSSL détermine les algorithmes cryptographiques utilisables pour la génération des clés, ainsi que les protocoles pris en charge. Par exemple, OpenSSL version 1.0.1 a été la première à prendre en charge TLS 1.1 et TLS 1.2. Connaître votre version d'OpenSSL est également important pour obtenir de l'aide en cas de problème.

Utilisez la commande suivante pour identifier la version d'OpenSSL que vous utilisez:

version openssl -a


Dans cette commande, l'  option -a  affiche les informations complètes de version, notamment:

  • Le numéro de version et la date de sortie de la version (OpenSSL 1.0.2g 1er mars 2016).
  • Les options qui ont été construites avec la bibliothèque (options).
  • Le répertoire où sont stockés les certificats et les clés privées (OPENSSLDIR).


La commande openssl version -a a généré la sortie suivante:

OpenSSL 1.0.2g 1 mars 2016
construit sur: compilation reproductible, date non spécifiée
plateforme: debian-amd64
options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compilateur: cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -
D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-
strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-
Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -
DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -
DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -
DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/usr/lib/ssl"


Création d'OpenSSL et de CSR

La première étape pour obtenir un certificat SSL consiste à utiliser OpenSSL afin de créer une demande de signature de certificat (CSR) à envoyer à une autorité de certification (CA) (par exemple, DigiCert). La CSR contient le ou les noms communs que vous souhaitez sécuriser avec votre certificat, des informations sur votre entreprise et votre clé publique. Pour créer une CSR, il faut une clé privée à partir de laquelle la clé publique est extraite. Vous pouvez utiliser une clé privée existante ou en générer une nouvelle.

Note de sécurité: En raison des problèmes de sécurité liés à l’utilisation d’une clé privée existante, et parce qu’il est très facile et entièrement gratuit de créer une clé privée, nous vous recommandons de générer une toute nouvelle clé privée chaque fois que vous créez une CSR.
 

Choisir les options de génération de clés

Lors de la génération d'une clé, vous devez décider de trois choses: l'algorithme de clé, la taille de la clé et l'utilisation ou non d'une phrase de passe.

Algorithme clé

Concernant l'algorithme de chiffrement, il est essentiel de tenir compte de sa compatibilité. C'est pourquoi nous recommandons l'utilisation de RSA. Toutefois, si vous avez un besoin spécifique d'utiliser un autre algorithme (tel que ECDSA), c'est possible, mais soyez attentif aux problèmes de compatibilité potentiels.

Remarque: ce guide ne traite que de la génération de clés à l'aide de l'algorithme RSA.

Taille de la clé

Concernant la taille de la clé, vous devez sélectionner une longueur minimale de 2048 bits pour RSA et de 256 bits pour ECDSA; il s’agit des tailles de clé minimales autorisées pour les certificats SSL. Sauf nécessité absolue, nous recommandons d’utiliser une clé de 2048 bits pour RSA et de 256 bits pour ECDSA.

Remarque: Dans les anciennes versions d’OpenSSL, si aucune taille de clé n’est spécifiée, la taille par défaut de 512 bits est utilisée. Toute taille de clé inférieure à 2048 bits est considérée comme non sécurisée et ne doit jamais être utilisée.

phrase de passe

Concernant la phrase secrète, vous devez choisir si vous souhaitez en utiliser une. Si vous en utilisez une, la clé privée sera chiffrée selon la méthode de chiffrement spécifiée et il sera impossible de l'utiliser sans elle. Chaque option présentant des avantages et des inconvénients, il est important d'en comprendre les conséquences. Dans ce guide, nous n'utiliserons pas de phrase secrète dans nos exemples.
 

Générer votre clé privée

Après avoir choisi un algorithme de chiffrement, la taille de la clé et décidé si vous souhaitez utiliser une phrase secrète, vous êtes prêt à générer votre clé privée.


Utilisez la commande suivante pour générer votre clé privée à l'aide de l'algorithme RSA:

openssl genrsa -out votredomaine.key 2048


Cette commande génère une clé privée dans votre répertoire courant, nommée  votredomaine.key  (-out votredomaine.key), en utilisant l'algorithme RSA (genrsa) avec une longueur de clé de 2048 bits (2048). La clé générée est créée au format PEM d'OpenSSL.


Utilisez la commande suivante pour afficher le contenu brut et encodé (format PEM) de la clé privée:

cat votredomaine.clé


Même si le contenu du fichier peut ressembler à un simple amas de texte aléatoire, il contient en réalité des informations importantes concernant la clé.


Utilisez la commande suivante pour décoder la clé privée et afficher son contenu:

openssl rsa -texte -in votredomaine.clé -noout


L'  option -noout omet l'affichage de la version encodée de la clé privée.

Extraction de votre clé publique

Le fichier de clé privée contient à la fois la clé privée et la clé publique. Vous pouvez extraire votre clé publique du fichier de clé privée si nécessaire.

Utilisez la commande suivante pour extraire votre clé publique:

openssl rsa -in votre_domaine.key -pubout -out votre_domaine_public.key

 

Créer votre CSR

Une fois votre clé privée générée, vous pouvez créer votre CSR. La CSR est créée au format PEM et contient la partie publique de votre clé privée ainsi que des informations vous concernant (ou concernant votre entreprise).

Utilisez la commande suivante pour créer une CSR à l'aide de votre clé privée nouvellement générée:

openssl req -new -key votredomaine.key -out votredomaine.csr


Après avoir saisi la commande, vous devrez répondre à une série de questions. Vos réponses seront intégrées au CSR.

Répondez aux questions comme indiqué ci-dessous:

Nom du pays (code à 2 lettres) Le code pays à deux lettres où votre entreprise est légalement située.
Nom de l'État ou de la province (nom complet) L'État/la province où votre entreprise est légalement située.
Nom de la localité (ex.: ville)
La ville où votre entreprise est légalement située.
Nom de l'organisation (ex.: ville) Le nom légal de votre entreprise (par exemple, VotreEntreprise, Inc.).
Nom de l'unité organisationnelle (ex.: section)
Le nom de votre service au sein de l'organisation. (Vous pouvez laisser ce champ vide; appuyez simplement sur Entrée).
Nom commun (par exemple, nom de domaine complet du serveur) Le nom de domaine pleinement qualifié (FQDN) (par exemple, www.example.com).
Adresse email
Votre adresse courriel. (Vous pouvez laisser ce champ vide; appuyez simplement sur Entrée).
Un mot de passe de défi Laissez cette option vide (appuyez simplement sur Entrée).  
Nom de société facultatif
Laissez cette option vide (appuyez simplement sur Entrée).


Certaines questions CSR ci-dessus possèdent des valeurs par défaut qui seront utilisées si vous laissez la réponse vide et appuyez sur Entrée. Ces valeurs par défaut proviennent du fichier de configuration OpenSSL situé dans le répertoire OPENSSLDIR (voir Vérification de votre version d'OpenSSL). Si vous souhaitez laisser une question vide sans utiliser la valeur par défaut, saisissez un point (« . ») et appuyez sur Entrée.

 

Utilisation du commutateur -subj

Une autre option lors de la création d'une CSR consiste à fournir toutes les informations nécessaires directement dans la commande en utilisant l'option -subj.

Utilisez la commande suivante pour désactiver les invites de questions lors de la génération d'une CSR:

openssl req -new -key yourdomain.key -out yourdomain.csr \
-subj "/C=US/ST=Utah/L=Lehi/O=Your Company, Inc./OU=IT/CN=yourdomain.com"


Cette commande utilise votre fichier de clé privée (-key votredomaine.key) pour créer une nouvelle CSR (-out votredomaine.csr) et désactive les invites de questions en fournissant les informations de la CSR (-subj).


Créer votre CSR en une seule commande

Au lieu de générer une clé privée puis de créer une CSR en deux étapes distinctes, vous pouvez en fait effectuer les deux tâches simultanément.


Utilisez la commande suivante pour créer à la fois la clé privée et la CSR:

openssl req -new \
-newkey rsa:2048 -nodes -keyout yourdomain.key \
-out yourdomain.csr \
-subj "/C=US/ST=Utah/L=Lehi/O=Your Company, Inc./OU=IT/CN=yourdomain.com"


Cette commande génère une nouvelle clé privée (-newkey) en utilisant l'algorithme RSA avec une longueur de clé de 2048 bits (rsa:2048) sans utiliser de phrase secrète (-nodes) puis crée le fichier de clé avec le nom yourdomain.key (-keyout yourdomain.key).

La commande génère ensuite le CSR avec un nom de fichier yourdomain.csr (-out yourdomain.csr) et les informations pour le CSR sont fournies (-subj).

Remarque: Bien qu’il soit possible d’ajouter un nom alternatif de sujet (SAN) à une CSR avec OpenSSL, la procédure est relativement complexe. Si vous devez ajouter un SAN à votre certificat, vous pouvez facilement le faire en l’indiquant dans le formulaire de commande lors de l’achat de votre certificat DigiCert.
 

Vérification des informations CSR

Après avoir créé votre CSR à l'aide de votre clé privée, nous vous recommandons de vérifier que les informations contenues dans le CSR sont correctes et que le fichier n'a pas été modifié ou corrompu.

Utilisez la commande suivante pour afficher les informations contenues dans votre CSR avant de la soumettre à une autorité de certification (par exemple, DigiCert):

openssl req -text -in votredomaine.csr -noout -verify


L' option `-noout` omet l'affichage de la version encodée du CSR. L' option `-verify` vérifie la signature du fichier pour s'assurer qu'il n'a pas été modifié.

L'exécution de cette commande vous donne le résultat suivant:

Vérification OK
Demande de certificat:
Données:
Version: 0 (0x0)
Sujet: C=US, ST=Utah, L=Lehi, O=Your Company, Inc., OU=IT, CN=yourdomain.com
Informations sur la clé publique du sujet:
Algorithme de clé publique: rsaEncryption
Clé publique: (2048 bits)
Module:
00:bb:31:71:40:81:2c:8e:fb:89:25:7c:0e:cb:76:
[...17 lignes supprimées]
Exposant: 65537 (0x10001)
Attributs:
a0:00
Algorithme de signature: sha256WithRSAEncryption
0b:9b:23:b5:1f:8d:c9:cd:59:bf:b7:e5:11:ab:f0:e8:b9:f6:
[...14 lignes supprimées]


Sur la première ligne du résultat ci-dessus, vous pouvez constater que la CSR a été vérifiée (vérification réussie). Sur la quatrième ligne, le  champ « Sujet » contient les informations que vous avez fournies lors de la création de la CSR. Assurez-vous que ces informations sont correctes.

Si l'une des informations est erronée, vous devrez créer une nouvelle CSR pour corriger les erreurs. En effet, les fichiers CSR sont signés numériquement; par conséquent, si un seul caractère est modifié, le fichier sera rejeté par l'autorité de certification.


Envoi du CSR à l'AC

Lorsque vous êtes prêt à envoyer la CSR à l'autorité de certification (par exemple, DigiCert), vous devez le faire en utilisant le format PEM — le texte brut encodé de la CSR que vous voyez lorsque vous l'ouvrez dans un éditeur de texte.

Utilisez la commande suivante pour afficher le résultat brut de la CSR:

cat votredomaine.csr


Vous devez copier l'intégralité du contenu du résultat (y compris les lignes -----BEGIN CERTIFICATE REQUEST----- et -----END CERTIFICATE REQUEST-----) et le coller dans votre formulaire de commande DigiCert.

 

Informations sur le certificat de consultation

Après avoir reçu votre certificat de l'autorité de certification (par exemple, DigiCert), nous vous recommandons de vérifier que les informations qu'il contient sont correctes et correspondent à votre clé privée. Pour ce faire, utilisez la commande x509.

Utilisez la commande suivante pour afficher le contenu de votre certificat:

openssl x509 -texte -dans votredomaine.crt -noout

 

Vérification de la correspondance de vos clés

Pour vérifier que les clés publique et privée correspondent, extrayez la clé publique de chaque fichier et générez son hachage. Les trois fichiers doivent partager la même clé publique et la même valeur de hachage.

Utilisez les commandes suivantes pour générer un hachage de la clé publique de chaque fichier:

openssl pkey -pubout -in .\private.key | openssl sha256
openssl req -pubkey -in .\request.csr -noout | openssl sha256
openssl x509 -pubkey -in .\certificate.crt -noout | openssl sha256

 

Remarque: Les commandes ci-dessus doivent être saisies une par une pour générer trois résultats distincts.

Chaque commande affichera (stdin)= suivi d'une chaîne de caractères. Si les résultats de chaque commande correspondent, les clés de chaque fichier sont identiques. En cas de différence, les clés sont différentes et le certificat ne peut être installé.

Les erreurs de non-concordance de clé sont généralement dues à l'installation d'un certificat sur une machine différente de celle utilisée pour générer la CSR.

Si vous rencontrez une erreur de clé non concordante, vous devez effectuer l'une des actions suivantes:

  • Transférez la clé privée de la machine utilisée pour générer la CSR vers celle sur laquelle vous essayez d'installer le certificat.
  • Installez le certificat sur la machine contenant la clé privée.
  • Générez une clé entièrement nouvelle et créez une nouvelle CSR sur la machine qui utilisera le certificat.
     

Conversion des formats de certificats

Par défaut, OpenSSL génère les clés et les CSR au format PEM. Toutefois, il peut arriver que vous ayez besoin de convertir votre clé ou votre certificat dans un autre format pour l'exporter vers un autre système.

PEM vers PKCS#12

Le format PKCS#12 est un fichier d'archivage qui stocke à la fois le certificat et la clé privée. Ce format est utile pour migrer les certificats et les clés d'un système à un autre, car il contient tous les fichiers nécessaires. Les fichiers PKCS#12 utilisent l' extension .pfx ou .p12.

Utilisez la commande suivante pour convertir votre clé et votre certificat PEM au format PKCS#12 (c'est-à-dire un seul fichier .pfx):

openssl pkcs12 -export -name "votre-certificat-digicert-(date d'expiration)" \
-out votre-domaine.pfx -inkey votre-domaine.key -in votre-domaine.crt

Remarque: Après avoir saisi la commande, vous devrez fournir un mot de passe pour chiffrer le fichier. Le format PKCS#12 étant fréquemment utilisé pour la migration de systèmes, nous vous recommandons d’utiliser un mot de passe très robuste.

Cette commande combine votre clé privée (-inkey votredomaine.key) et votre certificat (-in votredomaine.crt) en un seul fichier .pfx  (-out votredomaine.pfx) avec un nom convivial (-name "votredomaine-digicert-(date d'expiration)"), où la date d'expiration est la date à laquelle le certificat expire.


PKCS#12 vers PEM

Étant donné que le format PKCS#12 contient à la fois le certificat et la clé privée, vous devez utiliser deux commandes distinctes pour reconvertir un fichier .pfx au format PEM.

Utilisez la commande suivante pour extraire la clé privée d'un fichier PKCS#12 (.pfx) et la convertir en une clé privée encodée au format PEM:

openssl pkcs12 -in votredomaine.pfx -nocerts -out votredomaine.key -nodes


Utilisez la commande suivante pour extraire le certificat d'un fichier PKCS#12 (.pfx) et le convertir en un certificat encodé au format PEM:

openssl pkcs12 -in votredomaine.pfx -nokeys -clcerts -out votredomaine.crt


Remarque: Vous devrez fournir le mot de passe utilisé pour chiffrer le fichier .pfx afin de convertir la clé et le certificat au format PEM.

PEM à DER

Le format DER utilise l'encodage ASN.1 pour stocker les informations de certificat ou de clé. À l'instar du format PEM, DER stocke les informations de clé et de certificat dans deux fichiers distincts et utilise généralement les mêmes extensions (.key, .crt et .csr). L'extension .der  a été utilisée dans les exemples ci-dessous par souci de clarté.

Utilisez la commande suivante pour convertir un certificat encodé au format PEM en un certificat encodé au format DER:

openssl x509 -inform PEM -in votredomaine.crt -outform DER -out votredomaine.der


Utilisez la commande suivante pour convertir une clé privée encodée au format PEM en une clé privée encodée au format DER:

openssl rsa -inform PEM -in votre_domaine.key -outform DER -out votre_domaine_key.der



DER à PEM

Utilisez la commande suivante pour convertir un certificat encodé DER en un certificat encodé PEM:

openssl x509 -inform DER -in votredomaine.der -outform PEM -out votredomaine.crt


Utilisez la commande suivante pour convertir une clé privée encodée au format DER en une clé privée encodée au format PEM:

openssl rsa -inform DER -in votre_clé_de_domaine.der -outform PEM -out votre_clé_de_domaine.

Did you find this page helpful?

Thank you for your feedback!