GNU/Linux >> Tutoriels Linux >  >> Linux

Création d'un certificat SSL auto-signé

Cet article explique comment créer un certificat SSL auto-signé à l'aide de openssl outil.

Qu'est-ce qu'un certificat SSL auto-signé ? #

Un certificat SSL auto-signé est un certificat signé par la personne qui l'a créé plutôt que par une autorité de certification de confiance. Les certificats auto-signés peuvent avoir le même niveau de cryptage que le certificat SSL signé par une autorité de certification approuvée.

Les navigateurs Web ne reconnaissent pas les certificats auto-signés comme valides. Lors de l'utilisation d'un certificat auto-signé, le navigateur Web affiche un avertissement au visiteur indiquant que le certificat du site Web ne peut pas être vérifié.

Généralement, les certificats auto-signés sont utilisés à des fins de test ou à usage interne. Vous ne devez pas utiliser de certificat auto-signé dans les systèmes de production exposés à Internet.

Prérequis #

La boîte à outils OpenSSL est requise pour générer un certificat auto-signé.

Pour vérifier si le openssl package est installé sur votre système Linux, ouvrez votre terminal, tapez openssl version , et appuyez sur Entrée. Si le package est installé, le système imprimera la version OpenSSL, sinon vous verrez quelque chose comme openssl command not found .

Si le package openssl n'est pas installé sur votre système, vous pouvez l'installer avec le gestionnaire de packages de votre distribution :

  • Ubuntu et Debian

    sudo apt install openssl
  • Centos et Fedora

    sudo yum install openssl

Création d'un certificat SSL auto-signé #

Pour créer un nouveau certificat SSL auto-signé, utilisez le openssl req commande :

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key

Décomposons la commande et comprenons ce que signifie chaque option :

  • -newkey rsa:4096 - Crée une nouvelle demande de certificat et une clé RSA 4096 bits. La valeur par défaut est de 2 048 bits.
  • -x509 - Crée un certificat X.509.
  • -sha256 - Utilisez SHA 265 bits (algorithme de hachage sécurisé).
  • -days 3650 - Le nombre de jours pour certifier le certificat. 3650 c'est dix ans. Vous pouvez utiliser n'importe quel entier positif.
  • -nodes - Crée une clé sans phrase de passe.
  • -out example.crt - Spécifie le nom de fichier dans lequel écrire le certificat nouvellement créé. Vous pouvez spécifier n'importe quel nom de fichier.
  • -keyout example.key - Spécifie le nom de fichier dans lequel écrire la clé privée nouvellement créée. Vous pouvez spécifier n'importe quel nom de fichier.

Pour plus d'informations sur la openssl req options de commande, visitez la page de documentation OpenSSL req.

Une fois que vous avez appuyé sur Entrée, la commande générera la clé privée et vous posera une série de questions. Les informations que vous avez fournies sont utilisées pour générer le certificat.

Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

Entrez les informations demandées et appuyez sur Enter .

Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Alabama
Locality Name (eg, city) []:Montgomery
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize
Organizational Unit Name (eg, section) []:Marketing
Common Name (e.g. server FQDN or YOUR name) []:linuxize.com
Email Address []:[email protected]

Le certificat et la clé privée seront créés à l'emplacement spécifié. Utilisez la commande ls pour vérifier que les fichiers ont été créés :

ls
example.crt example.key

C'est ça! Vous avez généré un nouveau certificat SSL auto-signé.

C'est toujours une bonne idée de sauvegarder votre nouveau certificat et votre clé sur un stockage externe.

Création d'un certificat SSL auto-signé sans invite #

Si vous souhaitez générer un certificat SSL auto-signé sans être invité à répondre à une question, utilisez le -subj option et spécifiez toutes les informations sur le sujet :

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key \
            -subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----

Les champs, spécifiés dans -subj ligne sont répertoriés ci-dessous :

  • C= - Nom du pays. L'abréviation ISO à deux lettres.
  • ST= - Nom de l'état ou de la province.
  • L= - Nom de la localité. Le nom de la ville où vous vous trouvez.
  • O= - Le nom complet de votre organisation.
  • OU= - Unité organisationnelle.
  • CN= - Le nom de domaine complet.

Conclusion #

Dans ce guide, nous vous avons montré comment générer un certificat SSL auto-signé à l'aide de l'outil openssl. Maintenant que vous avez le certificat, vous pouvez configurer votre application pour l'utiliser.

N'hésitez pas à laisser un commentaire si vous avez des questions.


Linux
  1. Installer un certificat SSL

  2. Plesk :installation SSL

  3. Acheter ou renouveler un certificat SSL

  4. Erreur de navigateur de certificat SSL

  5. ‘Types de certificats SSL’

Comment créer un certificat SSL auto-signé pour Nginx sur Ubuntu 18.04

Comment générer des certificats SSL auto-signés à l'aide d'OpenSSL

Outil de vérification SSL

Comment créer un certificat SSL auto-signé local sur CentOS 8

Comment vérifier la date d'expiration SSL sur Plesk

Comment réinitialiser/renouveler le certificat auto-signé cPanel/WHM ?