Idéalement, SSL les certificats sont émis par des autorités de certification publiquement reconnues (par exemple, Let's Encrypt , Comodo , Verisign ) pour assurer l'authentification et le cryptage sur Internet. Cependant, vous pouvez obtenir un certificat SSL sans passer par une autorité de certification tierce — c'est ce qu'on appelle un certificat auto-signé.
Ce tutoriel décrit comment générer un certificat SSL auto-signé en utilisant OpenSSL sous Linux. OpenSSL est une bibliothèque logicielle open source utilisée pour mettre en œuvre des communications sécurisées sur Internet.
Comment installer OpenSSL sous Linux
OpenSSL arrive préinstallé sur les principales distributions Linux et vous pouvez confirmer que OpenSSL est installé sur votre machine Linux à l'aide de la commande suivante.
$ openssl version
Vous devriez voir une sortie avec OpenSSL informations de version similaires à ce qui est montré dans la figure ci-dessous. J'utilise Ubuntu Linux 20.04 .
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042813562870.png)
Si OpenSSL n'est pas installé, vous pouvez exécuter la commande suivante pour installer OpenSSL sous Linux.
$ sudo apt install openssl [On Debian/Ubuntu/Mint] $ sudo yum install openssl [On RHEL/CentOS/Fedora]
Générer des certificats SSL auto-signés à l'aide d'OpenSSL
Une fois que vous avez confirmé que le openssl est installé, vous êtes maintenant prêt à générer votre certificat auto-signé comme suit.
Générer la clé privée OpenSSL
Tout d'abord, exécutez la commande ci-dessous pour générer et enregistrer votre clé privée qui sera utilisée pour signer le certificat SSL. Vous pouvez utiliser n'importe quoi à la place de ubuntu_server .
$ openssl genrsa -out ubuntu_server.key
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042813562941.png)
Votre clé privée sera enregistrée dans le répertoire de travail actuel.
Générer une demande de signature de certificat
Ensuite, générez une demande de signature de certificat (RSE ) avec la commande suivante. Notez que vous devrez spécifier le nom correct de la clé privée que vous avez générée précédemment.
$ openssl req -new -key ubuntu_server.key -out ubuntu_server.csr
Pendant le processus de génération d'un CSR , vous serez invité à fournir des informations qui seront associées à votre demande de signature de certificat. La RSE sera enregistré dans le répertoire de travail courant.
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042813562902.png)
Remarque :Vous pouvez laisser certains champs vides. Par exemple, les champs sous "extra Les attributs peuvent être laissés vides en appuyant sur Entrée sur le clavier.
Une fois le CSR terminé avec succès, vous êtes prêt à signer votre certificat par vous-même.
Auto-signer votre certificat
Exécutez la commande ci-dessous pour demander un certificat auto-signé qui sera valide pour 365 jours. Le x509 l'option fait référence au X.509 norme internationale de création et de vérification des certificats de clé publique. N'oubliez pas de remplacer ubuntu_server le cas échéant.
$ openssl x509 -req -days 365 -in ubuntu_server.csr -signkey ubuntu_server.key -out ubuntu_server.crt
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042813562913.png)
Votre certificat auto-signé sera enregistré dans le répertoire de travail actuel et vous pourrez confirmer en exécutant la commande ls.
$ ls
![](https://m.unixlinux.online/article/uploadfiles/202204/2022042813562928.png)
Vous pouvez également consulter les détails du certificat avec la commande suivante.
$ openssl x509 -text -noout -in ubuntu_server.crt
À ce stade, votre certificat auto-signé est prêt à être déployé sur vos applications ou sites Web.
Conclusion
Dans ce guide, nous avons décrit comment générer des certificats SSL auto-signés avec l'outil openssl sous Linux. Notez que les certificats auto-signés sont considérés comme non sécurisés par tous les principaux navigateurs Web. Par conséquent, vous ne devriez probablement utiliser ces certificats qu'en interne ou à des fins de test et de développement.