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/