Let’s Encrypt en pratique

Vers le principe de fonctionnement (en francais).

Source : https://letsencrypt.org/howitworks/

Le client

Le client (version preview pour tests, à ne pas utiliser en prod) est sur Github mais pour apache seulement, testé sur Ubuntu LTS seulement.

Utilise le protocole ACME (Automated Certificate Management Environment), qui peux changer, mais client.py sera alors modifié en conséquence.
ACME est une interface JSON-over-HTTPS. Requiert un Python virtuel et lxml pour xml2rfc (libxml2-dev libxslt1-dev).

Ce client utilise (cf letsencrypt/client/CONFIG.py) letsencrypt-demo.org, qui est un CA de démo basique. Il faut que le client ACME soit derrière un certificat approuvé par son serveur pour le domaine, on a 3 facons de le faire. Cf https://github.com/letsencrypt/letsencrypt/wiki

Il existerait d'autres clients compatibles, mais ils ne sont pas indiqué sur https://letsencrypt.org/howitworks.
Doc du client à https://letsencrypt.readthedocs.org/en/latest/

Vidéo (en anglais) démo de l'utilisation du client :

CSR et autentification

La demande et l'autentification se font via l'outil letsencrypt

Conf du serveur web, en automatique: letsencrypt run
Conf du serveur web, en manuel (place le certificat dans le répertoire courrant): letsencrypt -d example.com auth

renouvellement

letsencrypt surveille la date d'expiration du certificat et le renouvelle automatiquement, par défaut.

renouvellement en manuel avec letsencrypt renew --cert-path example-cert.pem

révocation

letsencrypt revoke affiche la liste des certificats gérés, pour choisir celui qu'on souhaite révoquer.

Pour révoquer un certificat donné : letsencrypt revoke --cert-path example-cert.pem
Pour révoquer les certificats via une clef : letsencrypt revoke --key-path example-key.pem

 

plus sur le web

Support à https://community.letsencrypt.org/
FAQ à https://community.letsencrypt.org/t/frequently-asked-questions-faq/26

Specs draft de ACME à https://github.com/letsencrypt/acme-spec

logo drush