Let's Encrypt est une autorité de certification (CA) qui fournit gratuitement des certificats SSL/TLS en utilisant un processus entièrement automatisé qui élimine la création, la validation, l'installation et le renouvellement manuels des certificats…

Une fois générés, vous pourrez installer ces certificats sur vos serveurs web pour servir le trafic HTTPS à vos utilisateurs et à votre public…

Pour obtenir vos certificats gratuits de wildcard à installer sur votre serveur web, suivez les étapes ci-dessous.

Installer Certbot

Avant de générer vos certificats de wildcard gratuits, vous devez d'abord vous assurer que certbot est installé et fonctionne…

Pour l'installer, exécutez les commandes ci-dessous :

# apt update
# apt-get install letsencrypt

Les commandes ci-dessus installeront l'outil certbot et toutes les dépendances qui seront autorisées pour faire fonctionner l'outil.

Générer un Wildcard avec Let’s Encrypt

Maintenant que l'outil est installé, vous pouvez procéder à la génération des certificats…

Let's Encrypt propose de nombreux moyens de valider que vous êtes le propriétaire du domaine pour lequel vous souhaitez fournir des certificats SSL… Vous ne pourrez pas générer de certificats si vous ne pouvez pas prouver que vous êtes propriétaire du domaine pour lequel vous souhaitez obtenir des certificats…

Pour les certificats wildcard, la seule méthode de challenge acceptée par Let's Encrypt est le challenge DNS, que nous pouvons invoquer via le drapeau preferred-challenges=dns

Donc, pour générer un certificat wildcard pour le domaine *.exemple.com, vous exécutez les commandes ci-dessous.

Vous devez également inclure le domaine nu lors de l'enregistrement.

# certbot certonly --manual --preferred-challenges=dns --email admin@example.com --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d example.com -d *.example.com

Les options de commande :

  • certonly : Obtenir ou renouveler un certificat, mais ne pas installer.
  • –manual : Obtenir des certificats de manière interactive.
  • –preferred-challenges=dns : Utiliser les dns pour authentifier la propriété d'un domaine.
  • –server : Spécifier le point final à utiliser pour générer.
  • –agree-tos : Accepter les conditions d'abonnement au serveur ACME.
  • -d : Nom de domaine pour fournir des certificats.

Après avoir exécuté la commande ci-dessus, Let's Encrypt fournira une chaîne de caractère pour ajouter un enregistrement de type text dans votre DNS.

Exemple :

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
 
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: y
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for example.com
 
-------------------------------------------------------------------------------
NOTE: The IP of this machine will be publicly logged as having requested this
certificate. If you're running certbot in manual mode on a machine that is not
your server, please ensure you're okay with that.
 
Are you OK with your IP being logged?
-------------------------------------------------------------------------------
(Y)es/(N)o: y
 
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:
 
x4MrZ6y-JqFJQRmq_lGi9ReRQHPa1aTC9J2O7wDKzq8
 
Before continuing, verify the record is deployed.

Allez sur le portail de votre fournisseur DNS et ajoutez un enregistrement de text pour la chaîne fournie ci-dessus et sauvegardez…

Après les changements efféctués et si Let's encrypt est en mesure de valider que vous possédez le domaine, vous devriez voir un message réussi comme ci-dessous :

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2020-01-09. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:
 
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Le certificat wildcard est maintenant généré et prêt à être utilisé…

Pour vérifier que le certificat est prêt, exécutez les commandes ci-dessous :

# certbot certificates

Il devrait afficher un écran similaire à celui ci-dessous :

Found the following certs:
  Certificate Name: example.com
    Domains: *.example.com
    Expiry Date: 2020-01-05 07:48:04+00:00 (VALID: 85 days)
    Certificate Path: /etc/letsencrypt/live/example.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/example.com/privkey.pem

Renouvellement

Les certificats de Let's Encrypt sont valables 90 jours… Vous voudrez configurer une cron pour automatiser le processus de renouvellement.

Pour ce faire, ouvrez crontab et ajoutez l'entrée ci-dessous :

#crontab -e

Ensuite, ajoutez la ligne ci-dessous et enregistrez.

0 1 * * * /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log

Annexe

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus