Outils pour utilisateurs

Outils du site


acme.sh

Ceci est une ancienne révision du document !


Acme.sh

Cas pratique pour un certificat avec un wildcard et donc par la méthode DNS.

On installe acme.sh :

$ sudo apt install socat
 
$ curl https://get.acme.sh | sh

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   705    0   705    0     0   2439      0 --:--:-- --:--:-- --:--:--  2447
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  186k  100  186k    0     0  1513k      0 --:--:-- --:--:-- --:--:-- 1500k
[jeudi 12 septembre 2019, 19:39:53 (UTC+0000)] Installing from online archive.
[jeudi 12 septembre 2019, 19:39:53 (UTC+0000)] Downloading https://github.com/Neilpang/acme.sh/archive/master.tar.gz
[jeudi 12 septembre 2019, 19:39:54 (UTC+0000)] Extracting master.tar.gz
[jeudi 12 septembre 2019, 19:39:54 (UTC+0000)] Installing to /home/simon/.acme.sh
[jeudi 12 septembre 2019, 19:39:54 (UTC+0000)] Installed to /home/simon/.acme.sh/acme.sh
[jeudi 12 septembre 2019, 19:39:55 (UTC+0000)] Installing alias to '/home/simon/.bashrc'
[jeudi 12 septembre 2019, 19:39:55 (UTC+0000)] OK, Close and reopen your terminal to start using acme.sh
[jeudi 12 septembre 2019, 19:39:55 (UTC+0000)] Installing cron job
no crontab for simon
no crontab for simon
[jeudi 12 septembre 2019, 19:39:55 (UTC+0000)] Good, bash is found, so change the shebang to use bash as preferred.
[jeudi 12 septembre 2019, 19:39:57 (UTC+0000)] OK
[jeudi 12 septembre 2019, 19:39:57 (UTC+0000)] Install success!
simon@Quercus:~$ source ~/.bashrc

On se rend chez OVH pour créer une application : https://eu.api.ovh.com/createApp/ On récupère la “clé” et le “secret”, qu'on met dans des variables d'environnement. On lance ensuite la commande pour générer le certificat :

$ export OVH_AK="bgl2XXXXXXXXXX"
 
$ export OVH_AS="4xNTBXXXXXXXXXXXXXXX"
 
$ acme.sh --issue -d artanux.be -d '*.artanux.be' --dns dns_ovh --keylength ec-384

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

[jeudi 12 septembre 2019, 19:43:13 (UTC+0000)] Multi domain='DNS:artanux.be,DNS:*.artanux.be'
[jeudi 12 septembre 2019, 19:43:13 (UTC+0000)] Getting domain auth token for each domain
[jeudi 12 septembre 2019, 19:43:16 (UTC+0000)] Getting webroot for domain='artanux.be'
[jeudi 12 septembre 2019, 19:43:16 (UTC+0000)] Getting webroot for domain='*.artanux.be'
[jeudi 12 septembre 2019, 19:43:16 (UTC+0000)] Adding txt value: Nj7HF3ggJ1XXXXXXXXXXXXXXXXXXXXXXXXXXXXX for domain:  _acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:43:16 (UTC+0000)] Using OVH endpoint: ovh-eu
[jeudi 12 septembre 2019, 19:43:16 (UTC+0000)] OVH consumer key is empty, Let's get one:
[jeudi 12 septembre 2019, 19:43:16 (UTC+0000)] Please open this link to do authentication: https://eu.api.ovh.com/auth/?credentialToken=3IYjH0eGcoevXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[jeudi 12 septembre 2019, 19:43:16 (UTC+0000)] Here is a guide for you: https://github.com/Neilpang/acme.sh/wiki/How-to-use-OVH-domain-api
[jeudi 12 septembre 2019, 19:43:17 (UTC+0000)] Please retry after the authentication is done.
[jeudi 12 septembre 2019, 19:43:17 (UTC+0000)] Error add txt for domain:_acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:43:17 (UTC+0000)] Please add '--debug' or '--log' to check more details.
[jeudi 12 septembre 2019, 19:43:17 (UTC+0000)] See: https://github.com/Neilpang/acme.sh/wiki/How-to-debug-acme.sh

On se rend sur le lien donné par la commande pour valider la demande : https://eu.api.ovh.com/auth/?credentialToken=3IYjH0eGcoevXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

$ acme.sh --issue -d artanux.be -d '*.artanux.be' --dns dns_ovh --keylength ec-384

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

[jeudi 12 septembre 2019, 19:44:08 (UTC+0000)] Multi domain='DNS:artanux.be,DNS:*.artanux.be'
[jeudi 12 septembre 2019, 19:44:08 (UTC+0000)] Getting domain auth token for each domain
[jeudi 12 septembre 2019, 19:44:10 (UTC+0000)] Getting webroot for domain='artanux.be'
[jeudi 12 septembre 2019, 19:44:10 (UTC+0000)] Getting webroot for domain='*.artanux.be'
[jeudi 12 septembre 2019, 19:44:11 (UTC+0000)] Adding txt value: Yt-kUDCrhXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX for domain:  _acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:44:11 (UTC+0000)] Using OVH endpoint: ovh-eu
[jeudi 12 septembre 2019, 19:44:11 (UTC+0000)] Checking authentication
[jeudi 12 septembre 2019, 19:44:11 (UTC+0000)] Consumer key is ok.
[jeudi 12 septembre 2019, 19:44:12 (UTC+0000)] Adding record
[jeudi 12 septembre 2019, 19:44:13 (UTC+0000)] Added, sleep 10 seconds.
[jeudi 12 septembre 2019, 19:44:25 (UTC+0000)] The txt record is added: Success.
[jeudi 12 septembre 2019, 19:44:25 (UTC+0000)] Adding txt value: EXnn3CW2CXXXXXXXXXXXXXXXXXXXXXXX for domain:  _acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:44:25 (UTC+0000)] Using OVH endpoint: ovh-eu
[jeudi 12 septembre 2019, 19:44:25 (UTC+0000)] Checking authentication
[jeudi 12 septembre 2019, 19:44:25 (UTC+0000)] Consumer key is ok.
[jeudi 12 septembre 2019, 19:44:26 (UTC+0000)] Adding record
[jeudi 12 septembre 2019, 19:44:28 (UTC+0000)] Added, sleep 10 seconds.
[jeudi 12 septembre 2019, 19:44:39 (UTC+0000)] The txt record is added: Success.
[jeudi 12 septembre 2019, 19:44:39 (UTC+0000)] Let's check each dns records now. Sleep 20 seconds first.
[jeudi 12 septembre 2019, 19:45:01 (UTC+0000)] Checking artanux.be for _acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:45:01 (UTC+0000)] Domain artanux.be '_acme-challenge.artanux.be' success.
[jeudi 12 septembre 2019, 19:45:01 (UTC+0000)] Checking artanux.be for _acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:45:01 (UTC+0000)] Domain artanux.be '_acme-challenge.artanux.be' success.
[jeudi 12 septembre 2019, 19:45:01 (UTC+0000)] All success, let's return
[jeudi 12 septembre 2019, 19:45:01 (UTC+0000)] Verifying: artanux.be
[jeudi 12 septembre 2019, 19:45:05 (UTC+0000)] Success
[jeudi 12 septembre 2019, 19:45:05 (UTC+0000)] Verifying: *.artanux.be
[jeudi 12 septembre 2019, 19:45:08 (UTC+0000)] Success
[jeudi 12 septembre 2019, 19:45:08 (UTC+0000)] Removing DNS records.
[jeudi 12 septembre 2019, 19:45:08 (UTC+0000)] Removing txt: Yt-kUDCrhXXXXXXXXXXXXXXXXXXXXXXXXX for domain: _acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:45:09 (UTC+0000)] Using OVH endpoint: ovh-eu
[jeudi 12 septembre 2019, 19:45:09 (UTC+0000)] Checking authentication
[jeudi 12 septembre 2019, 19:45:10 (UTC+0000)] Consumer key is ok.
[jeudi 12 septembre 2019, 19:45:12 (UTC+0000)] Removed: Success
[jeudi 12 septembre 2019, 19:45:12 (UTC+0000)] Removing txt: EXnn3CWXXXXXXXXXXXXXXXXXXXXXXXXXX for domain: _acme-challenge.artanux.be
[jeudi 12 septembre 2019, 19:45:13 (UTC+0000)] Using OVH endpoint: ovh-eu
[jeudi 12 septembre 2019, 19:45:13 (UTC+0000)] Checking authentication
[jeudi 12 septembre 2019, 19:45:13 (UTC+0000)] Consumer key is ok.
[jeudi 12 septembre 2019, 19:45:16 (UTC+0000)] Removed: Success
[jeudi 12 septembre 2019, 19:45:16 (UTC+0000)] Verify finished, start to sign.
[jeudi 12 septembre 2019, 19:45:16 (UTC+0000)] Lets finalize the order, Le_OrderFinalize: https://acme-v02.api.letsencrypt.org/acme/finalize/6583XXXXXXXXXXXXXXXX
[jeudi 12 septembre 2019, 19:45:18 (UTC+0000)] Download cert, Le_LinkCert: https://acme-v02.api.letsencrypt.org/acme/cert/034XXXXXXXXXXXX
[jeudi 12 septembre 2019, 19:45:19 (UTC+0000)] Cert success.
-----BEGIN CERTIFICATE-----
MIIErTC...
-----END CERTIFICATE-----
[jeudi 12 septembre 2019, 19:45:19 (UTC+0000)] Your cert is in  /home/simon/.acme.sh/artanux.be_ecc/artanux.be.cer 
[jeudi 12 septembre 2019, 19:45:19 (UTC+0000)] Your cert key is in  /home/simon/.acme.sh/artanux.be_ecc/artanux.be.key 
[jeudi 12 septembre 2019, 19:45:19 (UTC+0000)] The intermediate CA cert is in  /home/simon/.acme.sh/artanux.be_ecc/ca.cer 
[jeudi 12 septembre 2019, 19:45:19 (UTC+0000)] And the full chain certs is there:  /home/simon/.acme.sh/artanux.be_ecc/fullchain.cer 

Et on “installe” les certificats :

$ acme.sh --install-cert -d artanux.be_ecc --key-file /home/simon/.acme.sh/artanux.be_ecc/artanux.be.key --fullchain-file /home/simon/.acme.sh/artanux.be_ecc/fullchain.cer --reloadcmd "systemctl reload nginx"

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

[jeudi 12 septembre 2019, 20:02:03 (UTC+0000)] Installing key to:/home/simon/.acme.sh/artanux.be_ecc/artanux.be.key

Ça rempli le fichier de configuration lié au domaine :

$ cat .acme.sh/artanux.be_ecc/artanux.be_ecc.conf
Le_RealCertPath=''
Le_RealCACertPath=''
Le_RealKeyPath='/home/simon/.acme.sh/artanux.be_ecc/artanux.be.key'
Le_ReloadCmd='__ACME_BASE64__START_c3lzdGVtY3RsIHJlbG9hZCBuZ2lueA==__ACME_BASE64__END_'
Le_RealFullChainPath='/home/simon/.acme.sh/artanux.be_ecc/fullchain.cer'

Sources

acme.sh.1570479299.txt.gz · Dernière modification : 2020/08/09 12:59 (modification externe)