Table des matières

Let's Encrypt

Installer et utiliser les certificats Let's Encrypt sous Alpine Linux.

Installation de l'outil

On utilisera acme.sh (https://github.com/Neilpang/acme.sh), étant donné que le Certbot disponible dans les repos Alpine déconne encore avec les certificats wildcards.
On installe donc :

curl https://get.acme.sh | sh

Création du certificat

J'utilise un domaine chez OVH, je passerai donc par l'API dédiée : https://github.com/Neilpang/acme.sh/wiki/How-to-use-OVH-domain-api
Ce qui donne à la gérération du certificat :

export OVH_AK="your app key"
export OVH_AS="your app secret"
acme.sh --issue -d libox.fr -d '*.libox.fr'  --dns dns_ovh

A la première utilisation de l'API avec ces informations, il vous demandera d'ouvrir manuellement un lien (peu importe de quel navigateur/poste) pour valider l'accès API.

Il faudra donc, une fois validée, relancer la commande de récupération du certificat.

Installation du certificat

On a maintenant nos fichiers, mais pas compatibles encore avec un serveur web (Nginx ici) ou presque.
On va donc les installer avec :

acme.sh --install-cert -d *.libox.fr --key-file /etc/nginx/ssl/libox.key.pem --fullchain-file /etc/nginx/ssl/libox.cert.pem --reloadcmd "service nginx restart"

Mise à jour de acme.sh et renouvellement

Mise à jour :

acme.sh --upgrade --auto-upgrade

Renouvellement manuel de certificat :

acme.sh --renew -d libox.fr -d '*.libox.fr' --force

Enregistrement DNS CAA

Enregistrement DNS établissant la liste des autorités de certification autorisées à publier des certificats pour votre domaine.
Pour générer les entrées DNS, voir : https://sslmate.com/caa/

Sous Debian

Voir https://blog.blaisot.org/letsencrypt-wildcard-part1.html et sa suite https://blog.blaisot.org/letsencrypt-wildcard-part2.html