|
Publié le par Gaulthier LALLEMAND

Let's Encrypt

Où sont situés les certificats Let's Encrypt (Debian) ?

Prérequis : avoir créé un certificat Let's Encrypt avec Certbot.

En exécutant la commande suivante, je peux lister tous mes certificats et obtenir leurs caractéristiques :

sudo certbot certificates

Ce qui affiche :

Found the following certs:
  Certificate Name: www.mondomaine.com
    Domains: www.mondomaine.com xmpp.mondomaine.com ftp.mondomaine.com
    Expiry Date: 2017-11-25 20:50:28+00:00 (VALID: 4 days)
    Certificate Path: /etc/letsencrypt/live/www.mondomaine.com/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/www.mondomaine.com/privkey.pem
  Certificate Name: abc
    Domains: abc.mondomaine.com mondomaine.com
    Expiry Date: 2017-11-25 20:23:24+00:00 (VALID: 4 days)
    Certificate Path: /etc/letsencrypt/live/abc/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/abc/privkey.pem

Le premier certificat s'appelle www.mondomaine.com car je n'ai pas utilisé l'option --cert-name lors de sa création. Ce certificat a donc pris pour nom le premier domaine cité dans la ligne de commande.

Le deuxième certificat s'appelle abc.

Pour chacun des certificats, il existe un répertoire contenant tous les fichiers le concernant, dont le chemin est de la forme :

/etc/letsencrypt/live/NOM_DU_CERTIFICAT/

Pour mes certificats cela donne :

/etc/letsencrypt/live/abc/
/etc/letsencrypt/live/www.mondomaine.com/

Conseil : Certbot recommande de faire pointer les fichiers de configuration des services utilisateurs (apache, nginx, ftp ...) vers les fichiers contenus dans ces répertoires. En effet, si les certificats sont déplacés, ils ne pourront pas être renouvelés par Certbot.

Chacun de ces répertoires contient les liens symboliques suivants :

  • cert.pem : contient le certificat serveur seul.
  • chain.pem : contient le(s) certificat(s) intermédiaire(s) nécessaire(s) à la validation du certificat serveur.
  • fullchain.pem : contient tous les certificats de la chaîne de certification, y compris le certificat serveur.
  • privkey.pem : contient la clef privée du certificat serveur.

Ces liens symboliques sont mis à jour à chaque renouvellement du certificat, et renvoient vers des fichiers situés dans ce répertoire :

/etc/letsencrypt/archive/NOM_DU_CERTIFICAT/

Ce répertoire conserve tous les certificats (dont les anciens). Les noms de fichiers se finissent tous par un nombre. Pour obtenir les fichiers les plus récents, je dois sélectionner les fichiers dont le nom comporte le nombre le plus élevé. Ce nombre est incrémenté d'une unité à chaque renouvellement du certificat.

On notera que les certificats générés par Certbot sont tous au format PEM.

En résumé

Si je prends l'exemple du certificat nommé www.mondomaine.com, voici les points importants :

  • je dois faire pointer mes fichiers de configuration (apache, nginx, ftp, ...) vers les fichiers du répertoire /etc/letsencrypt/live/www.mondomaine.com/ ;
  • si je veux vraiment manipuler les certificats moi-même, je peux les trouver dans le répertoire /etc/letsencrypt/archive/www.mondomaine.com/. Ce sont les fichiers dont le nom se finit par le nombre le plus élevé.