Comment créer un certificat SSL auto-signé

Les certificats SSL sont utilisés pour faciliter l’authentification et le cryptage sur Internet. Normalement, ces certificats sont émis par des autorités de certification tierces de confiance telles que Let’s Encrypt. Un certificat auto-signé est un certificat obtenu sans passer par une autorité de certification tierce.

TLS/SSL est une combinaison d’un certificat public et d’une clé privée. La clé privée est stockée de manière sécurisée sur le serveur ou sur l’équilibreur de charge, tandis que le certificat est accessible au public.

Dans ce tutoriel, nous expliquons comment créer un certificat SSL auto-signé en utilisant le OpenSSL outil.

Conditions préalables

Une machine Linux et un utilisateur avec sudo privilèges.

Installer OpenSSL

OpenSSL est disponible par défaut sur toutes les principales distributions Linux. Exécutez la commande ci-dessous pour confirmer si OpenSSL est déjà installé sur votre machine Linux.

$ version openssl

Vérifiez si OpenSSL est installé

Si vous ne voyez pas de sortie affichant les détails de la version d’OpenSSL, exécutez la commande suivante pour installer OpenSSL.

Sur les distributions basées sur Ubuntu et Debian :

$ sudo apt installer openssl

Sur les distributions basées sur Red Hat :

$ sudo dnf installer openssl $ sudo miam installer openssl

le ouvressl la syntaxe de la commande est :

openssl command options arguments 

Créer un certificat SSL auto-signé avec OpenSSL

Après avoir confirmé que l’outil OpenSSL est installé sur votre machine Linux, vous pouvez procéder à la création de votre certificat auto-signé.

Les informations CSR sont nécessaires pour générer une clé privée. Comme nous générons un certificat auto-signé, il n’est pas vraiment nécessaire de générer un fichier CSR, car il n’est requis que si vous envoyez des informations CSR à une autorité de certification tierce.

Pour créer un certificat SSL auto-signé, saisissez :

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout my_key.key -out my_cert.crt

Cela crée un certificat auto-signé qui sera valide pendant 365 jours. Le certificat et le fichier de clé seront créés dans le répertoire courant à moins qu’un autre répertoire ne soit explicitement spécifié.

Voici ce que chaque option indique :

  • req – Faire une demande de signature de certificat
  • -nouvelle clé rsa: 4096 – Cela crée une clé RSA de 4096 bits de long. Si non spécifié, il créera une clé de 2048 bits par défaut
  • -keyout – Nom du fichier de clé privée où la clé sera stockée
  • -en dehors – Indique le nom du fichier pour stocker le nouveau certificat
  • nœuds – Ignorez l’étape de création du certificat avec une phrase secrète
  • -x509 – Créer un certificat au format X.509
  • -jours – Le nombre de jours de validité du certificat

Champs RSE :

C= – Nom du pays. (code à deux lettres).
ST= – Nom de l’état ou de la province.
L= – Nom de la localité.
O= – Le nom complet de votre organisation.
OU= – Nom de l’unité organisationnelle.
CN= – Le nom de domaine complet.

Créer un certificat auto-signé à l’aide d’une clé privée et d’un CSR existants

Dans certaines situations où vous disposez d’une clé privée et d’un csr existants, les étapes suivantes suffiront.

Créer une clé privée OpenSSL

Tout d’abord, exécutez la commande ci-dessous pour créer et enregistrer votre clé privée. Cette clé privée est requise pour signer votre certificat SSL. Vous pouvez changer ma clé dans la commande ci-dessous à votre propre valeur.

$ sudo openssl genrsa -out my_key.key

Voici ce que signifient les options.

  • genrsa Générer une clé privée RSA
  • -en dehors Fichier de sortie

Sauf si vous avez spécifié un autre emplacement, votre clé privée sera stockée dans le répertoire de travail actuel.

Créer une demande de signature de certificat

L’étape suivante consiste à créer une demande de signature de certificat (CSR). Le CSR est ce que vous enverriez normalement à une autorité de certification tierce pour signature. Mais dans ce cas, vous allez le signer vous-même.

Lors de la création d’un CSR, il vous sera demandé de fournir certaines informations. Certains champs peuvent être laissés vides en appuyant sur la touche Entrée.

Maintenant, exécutez la commande ci-dessous pour commencer à créer votre CSR.

$ sudo openssl req -new -key my_key.key -out my_csr.csr

Voici ce que chaque option indique.

  • req Faire une demande de signature de certificat
  • -Nouveau Nouvelle requête
  • -clé Le chemin où votre fichier de clé privée est stocké
  • -en dehors Fichier de sortie

L’image ci-dessous montre à quoi ressemble le processus de création de la RSE.

Créer une demande de signature de certificatCréer une demande de signature de certificat

Signez vous-même votre certificat

Lorsque vous exécutez la commande ci-dessous, un certificat auto-signé qui sera valide pendant 365 jours sera créé.

$ openssl x509 -req -days 365 -in my_csr.csr -signkey my_key.key -out my_cert.crt

Vous trouverez ci-dessous la signification des options.

  • x509 Norme internationale pour la création et la vérification des certificats de clé publique
  • -req Faire une demande de certificat
  • -jours Combien de jours le certificat doit être valide pour
  • -dans Le chemin où votre fichier csr est stocké
  • –signkey Le chemin où votre clé privée est stockée
  • -en dehors Fichier de sortie pour votre certificat auto-signé

Vérifier le certificat

Vous pouvez vérifier les détails du certificat au format texte avec la commande ci-dessous.

$ openssl x509 -text -noout -in my_cert.crt

Afficher les détails du certificat SSLAfficher les détails du certificat SSL

Conclusion

Dans ce tutoriel, nous avons décrit comment créer un certificat SSL auto-signé en utilisant le ouvressl outil. Étant donné que les principaux navigateurs ne font pas confiance aux certificats auto-signés, il est recommandé de ne les utiliser qu’en interne ou à des fins de test.