Comme vu dans une note précédente, l’implémentation de Let’s Encrypt par Synology permet d’utiliser les certificats « wildcard » moyennant un challenge basé sur le DNS. En gros, afin de valider la création du certificat, Let’s Encrypt demande d’ajouter une entrée TXT aléatoire dans le domaine concerné.

Le script « acme.sh » présenté dans la dernière note est automatisable via des API de fournisseurs de services, et il se trouve qu’OVH est inclus. J’ai donc utilisé cette implémentation, qui consiste à récupérer des identifiants chez OVH, à savoir une application key et une application secret :

On commence par se connecter en tant que root :

  • sudo -i

On indique alors au script :

  • export OVH_AK="JiEDi7S6u0hgnCOk"
  • export OVH_AS="ZMMqYNN4j5FI8gS2hgRuDkhW9hqsxDaG"

Une fois que c’est fait, il suffit alors de lancer le script en tenant compte de l’API et de ces identifiants :

  • ./acme.sh --issue --keylength 2048 -d celeri.net -d '*.celeri.net' --dns dns_ovh

On obtient alors les fichiers habituels :

Your cert is in  /usr/local/share/acme.sh/celeri.net/celeri.net.cer
Your cert key is in  /usr/local/share/acme.sh/celeri.net/celeri.net.key
The intermediate CA cert is in  /usr/local/share/acme.sh/celeri.net/ca.cer
And the full chain certs is there:  /usr/local/share/acme.sh/celeri.net/fullchain.cer

Une dernière commande pour récupérer les fichiers nécessaires dans une archive zip :

  • rm /volume1/homes/admin/certs/celeri.net/*
  • cp /usr/local/share/acme.sh/celeri.net/celeri.net.cer /usr/local/share/acme.sh/celeri.net/celeri.net.key /usr/local/share/acme.sh/celeri.net/ca.cer /volume1/homes/admin/certs/celeri.net/

Attention : le DSM de Synology ne supporte pas les certificats ECC, donc l’option « –keylength ecXXX » ne doit pas être utilisée !

Pour la suite, on reprend l’article précédent à l’étape 10 !

Source :
https://mondedie.fr/d/10315-tuto-certificat-wildcard-lets-encrypt-sur-un-domaine-heberge-par-ovh

Synology : certificat wildcard (suite)