Vendredi 23 novembre 2018 (Modifié le Vendredi 23 novembre 2018)

Certificats SSL

acme/Certificats SSL letsencrypt
Installation client acme.sh

cd ~
sudo -s  # en mode super utilisateur
apt install netcat -y # prérequis
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install # --nocron 
# OK, Close and reopen your terminal to start using acme.sh
cd .. && rm -rf acme.sh/

le client est installé dans /root/.acme.sh/

Création des certificats avec API OVH

How to use OVH domain api

  1. Create application key and secret

https://eu.api.ovh.com/createApp/ (un jeu de clés peut être utilisé pour plusieurs domaines)
API OVH :
Création de clé , OVH : Création de clé API application
Application Name : DNS-Api
Application Description : certificats
Application Key : MyBRE3Oq2FZrLC2N
Application Secret : U8rSfBLK0OYNRoeaCZvatqxUcf5aE8bj

  1. Valider le jeu de clés (Key Secret) pour un domaine.
sudo -s
# application key
export OVH_AK="MyBRE3Oq2FZrLC2N"
# application secret
export OVH_AS="U8rSfBLK0OYNRoeaCZvatqxUcf5aE8bj"

/root/.acme.sh/acme.sh --dns dns_ovh --issue --keylength 4096 -d xinyiczen.xyz -d gitlab.xinyiczen.xyz -d nextcloud.xinyiczen.xyz -d map.xinyiczen.xyz -d api.xinyiczen.xyz -d login.xinyiczen.xyz -d static.xinyiczen.xyz
Le premier passage sort en erreur car i faut une authentification OVH par le lien donné dans le message
Please open this link to do authentication: https://eu.api.ovh.com/auth/?credentialToken=nQ8atrKjW5S0NgeObISCSsUfNSO...
Connexion avec les coordonnées OVH ,choix “unlimited” et clic sur “login” pour validation
Relancer la commande précédente pour obtenir les certificats avec l’option –force si problème
/root/.acme.sh/acme.sh --dns dns_ovh --issue --keylength 4096 -d xinyiczen.xyz -d gitlab.xinyiczen.xyz -d nextcloud.xinyiczen.xyz -d map.xinyiczen.xyz -d api.xinyiczen.xyz -d login.xinyiczen.xyz -d static.xinyiczen.xyz

...
[mardi 12 septembre 2017, 18:50:27 (UTC+0200)] Your cert is in  /root/.acme.sh/xinyiczen.xyz/xinyiczen.xyz.cer 
[mardi 12 septembre 2017, 18:50:27 (UTC+0200)] Your cert key is in  /root/.acme.sh/xinyiczen.xyz/xinyiczen.xyz.key 
[mardi 12 septembre 2017, 18:50:27 (UTC+0200)] The intermediate CA cert is in  /root/.acme.sh/xinyiczen.xyz/ca.cer 
[mardi 12 septembre 2017, 18:50:27 (UTC+0200)] And the full chain certs is there:  /root/.acme.sh/xinyiczen.xyz/fullchain.cer 

Les liens symboliques vers les certificats :

ln -s /root/.acme.sh/xinyiczen.xyz/fullchain.cer /etc/ssl/private/xinyiczen.xyz-fullchain.pem
ln -s /root/.acme.sh/xinyiczen.xyz/xinyiczen.xyz.key  /etc/ssl/private/xinyiczen.xyz-key.pem
ln -s /root/.acme.sh/xinyiczen.xyz/xinyiczen.xyz.cer  /etc/ssl/private/xinyiczen.xyz-cert.pem
ln -s /root/.acme.sh/xinyiczen.xyz/ca.cer  /etc/ssl/private/ca-cert.pem

Activer la mise à jour automatique des certificats si l’installation acme s’est faite avec le paramètre –nocron
crontab -e
28 0 * * * “/root/.acme.sh”/acme.sh –cron –home “/root/.acme.sh” > /dev/null
Vérification tous les jours à 00h028
Test manuel
"/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh"

[mardi 12 septembre 2017, 20:32:42 (UTC+0200)] ===Starting cron===
[mardi 12 septembre 2017, 20:32:42 (UTC+0200)] Renew: 'xinyiczen.xyz'
[mardi 12 septembre 2017, 20:32:42 (UTC+0200)] Skip, Next renewal time is: samedi 11 novembre 2017, 16:50:27 (UTC+0000)
[mardi 12 septembre 2017, 20:32:42 (UTC+0200)] Add '--force' to force to renew.
[mardi 12 septembre 2017, 20:32:42 (UTC+0200)] Skipped xinyiczen.xyz
[mardi 12 septembre 2017, 20:32:42 (UTC+0200)] ===End cron===

On relance le service
systemctl restart nginx
On sort du mode su
exit