Aller au contenu

[TUTO]Création d'un Certificat "wilcard" Let'sEncrypt avec la méthode "acme.sh"


oracle7

Messages recommandés

Bonjour @oracle7,

il y a 4 minutes, oracle7 a dit :

Est-ce que tu utilises la 2FA pour ton utilisateur courant ? Car si tu utilises la 2FA, saches que acme a récemment modifié le script de déploiement synology_dsm.sh. Celui-ci impose l'usage de la clé secrète de la 2FA au travers d'une variable d'environnement SYNO_TOTP_SECRET. Sauf que le script python ne gère pas cette nouvelle variable. Du coup, le déploiement du certificat ne se fait plus automatiquement. Cela ne bloque pas la création du certificat mais juste le déploiement. Il faut alors installer sur le NAS un outil tiers oathtool selon la procédure décrite ici .

Voilà le problème alors.  J'utilise effectivement la 2FA.

Je vais alors recommencer avec un compte juste pour le certificat.

Merci pour ton aide.  Si tu veux mettre le tuto à jour en rajoutant la procédure pour Infomaniak, c'est possible.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...
Le 05/10/2022 à 06:53, .Shad. a dit :

Le token c'est l'accès à l'API que tu as dû créer au début du tutoriel.
Mais si ça fonctionne d'une façon ou l'autre, ce n'est pas la cause, sinon ça ne marcherait pas quelque soit la méthode utilisée.

A quoi ressemble ta tâche DSM ?

Salut @.Shad.

Voici la tâche en question sous DSM:

python3 /volume1/Scripts/acme_renew.py -f nomdedomaine.fr

Elle a déjà fonctionné dans le passé... Bizarre que maintenant ça ne fonctionne pas à tous les coups...

Le 09/10/2022 à 13:15, oracle7 a dit :

Peux-tu vérifier que :

  • la variable d'environnement DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory' est bien définie dans le fichier account.conf (/usr/local/share/acme.sh/account.conf).
  • il n'y a pas (plus) dans ta zone DNS chez OVH d'enregistrements TXT du type " _acme-challenge.ndd.tld ". Si Oui supprimes le(s). Ils sont normalement créés et supprimés par acme.sh mais restent en cas d'erreurs.

Salut @oracle7

Merci.

Je viens de rajouter la variable d'environnement "DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory'" au fichier "account.conf"

J'ai testé ensuite le renouvellement forcé depuis le planificateur de tâches DSM et cela a marché.

Mais dans ton tuto, tu n'avais pas noté qu'il fallait ajouter cette variable d'environnement au fichier "account.conf".

D'ailleurs, à l'époque, le renouvellement marchait pour moi, via le planificateur de tâches DSM, sans cette variable.

Une explication sur ce qui a bien pu se passer?

Lien vers le commentaire
Partager sur d’autres sites

@Stixen92

Bonjour,

Lors de la toute première utilisation de la commande de création du certificat on utilise les deux options "--set-default-ca --server letsencrypt" afin de forcer la création d'un certificat Let'sEncrypt sinon c'est ZeroSSL qui est utilisé par défaut.

Ensuite, acme.sh inscrit (garde en mémoire) le choix de passer par LE au lieu de ZeroSSL dans la variable d'environnement DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory' qu'il inscrit dans le fichier account.conf (/usr/local/share/acme.sh/account.conf). Je n'en ai pas parlé dans le TUTO car c'est une action normalement automatique et transparante.

Pour ceux qui ne l'avaient pas, le constat est que le simple fait de la rajouter est suffisant pour forcer un certificat LE.

Par la suite, si cette variable DEFAULT_ACME_SERVER est présente, acme.sh la relit directement automatiquement et c'est aussi pourquoi les deux options suscitées ne sont alors plus utiles dans la commande de création du certificat et il faut les retirer avant de relancer le processus. C'est sans impact sur la suite.

Citation

Quelques explications ici : https://github.com/acmesh-official/acme.sh/wiki/Change-default-CA-to-ZeroSSL

Où il est notamment précisé :

·         Starting from August-1st 2021, acme.sh will release v3.0, in which the default CA will use ZeroSSL instead.

·         This change will only affect the newly created(issued) certs after August-1st (with v3.0), any pre-existing certs will still be renewed automatically aginst the current CA.

Cordialement

oracle7😉

Modifié par oracle7
Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

(Juste en passant, je m'inscrirai et me présenterai un peu plus tard, je pense que je vais m'amuser par ici :p)

Après avoir galéré il y a quelques jours sur la génération des certificats avec ce tuto, j'ai retenté aujourd'hui.

Me retrouvant bloqué à la même étape:

root@DS920:/usr/local/share/acme.sh# ./acme.sh --issue --keylength 4096 -d "$CERT_DOMAIN" -d "$CERT_WDOMAIN" --dns "$CERT_DNS" --set-default-ca --server letsencrypt
[Sun Dec  4 16:45:48 CET 2022] Changed default CA to: https://acme-v02.api.letsencrypt.org/directory

Avec rien derrière, j'ai finalement, au feeling, tenté de virer le 

--set-default-ca

Et là ...

root@DS920:/usr/local/share/acme.sh# ./acme.sh --issue --keylength 4096 -d "$CERT_DOMAIN" -d "$CERT_WDOMAIN" --dns "$CERT_DNS" --server letsencrypt
[Sun Dec  4 16:47:29 CET 2022] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Sun Dec  4 16:47:29 CET 2022] Create account key ok.
[Sun Dec  4 16:47:30 CET 2022] Registering account: https://acme-v02.api.letsencrypt.org/directory
[Sun Dec  4 16:47:31 CET 2022] Registered
....
...
..
...
....
-----END CERTIFICATE----

 

Bon, je continue. Je pensais juste intéressant de poster au cas où quelqu'un se retrouverait bloqué comme moi 🙂

Lien vers le commentaire
Partager sur d’autres sites

Le 30/05/2020 à 10:35, oracle7 a dit :

 

Bonjour à tous ,

 

j'ai un problème pour le déploiement quelqu'un peut m'aider?

cela me marque la commande  a échoué avec le code de retour 1 et le message suivant :

[Fri Dec  9 12:31:39 CET 2022] The domain '' is not a cert name. You must use the cert name to specify the cert to install.
[Fri Dec  9 12:31:39 CET 2022] Can not find path:''

 

Merci par avance

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

D'abord merci pour ce super tuto ! Je permets de rebondir dessus suite à sa mis en application.

La commande qui permet de générer le certificat doit être divisée en deux. Si je la rentre telle quelle elle ne fait que changer le default CA (voir output ci-dessous).

./acme.sh --issue --keylength 4096 -d "$CERT_DOMAIN" -d "$CERT_WDOMAIN" --dns "$CERT_DNS" --set-default-ca --server letsencrypt
[Fri Dec 16 10:20:17 CET 2022] Changed default CA to: https://acme-v02.api.letsencrypt.org/directory

Si je la divise, cela fonctionne:

./acme.sh --set-default-ca --server letsencrypt
[Fri Dec 16 10:28:03 CET 2022] Changed default CA to: https://acme-v02.api.letsencrypt.org/directory
./acme.sh --issue --keylength 4096 -d "$CERT_DOMAIN" -d "$CERT_WDOMAIN" --dns "$CERT_DNS"
[Fri Dec 16 10:24:36 CET 2022] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Fri Dec 16 10:24:36 CET 2022] Create account key ok.
[Fri Dec 16 10:24:36 CET 2022] Registering account: https://acme-v02.api.letsencrypt.org/directory
[Fri Dec 16 10:24:38 CET 2022] Registered
[Fri Dec 16 10:24:38 CET 2022] ...

Je pense qu'un petit update de la procédure pourrait aider d'autres personnes.

Par contre j'ai une question, en quoi la double auth est problématique pour un script lancer en shell ? J'ai du mal à comprendre comment la génération/application du certificat se fait automatiquement s'il faut changer ce DID.

Merci de vos lumières

Crevettehj

 

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Bonjour,

depuis quelques jours, le renouvellement m’est impossible.

acme m’a viré ma consumer key du fichier account. J’ai tenté de la rentrer manuellement mais rien y fait il me l’a jette : invalid consumer key et la supprime du fichier.

j’ai refait le tuto du début mais j’ai toujours le même problème. 
je n’ais pas fait de c/c pour exporter la clé, je la rentre à la main mais rien

tout marchait très bien jusqu’à présent.

un idée ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'ai été victime de la même avarie lors du dernier renouvellement de certificat (autour du 18 janvier), mais par la procédure faite sous Docker: j'ai trouvé un log long comme un jour sans pain dans lequel j'ai compris qu'il n'y avait plus de Consumer Key et qu'il y avait eu tentative d'en créer une nouvelle (mais j'ai pas compris comment).

En vérifiant le fichier account.conf effectivement la Consumer Key originale avait disparu et une nouvelle Consumer Key avait été crée de toute pièce et placée à la fin du fichier account.conf. Bien sûr cette CS bidon ne fonctionnait pas.

J'ai supprimé cette fausse clé, rajouté la bonne CS dans le fichier et relancé acme.sh manuellement. Tout s'est bien passé et le renouvellement de certificat a été immédiat.

Cordialement

Audio

Lien vers le commentaire
Partager sur d’autres sites

Salut,

J’ai cru voir un de tes post effectivement sur le forum…

le problème c’est que dans mon fichier account je n’ai pas d’autre clef CK qui a été créée et que je pourrais retirer. Je me demande si l’api ovh ne fait pas des siennes? J’ai pris soin, avant de recreer des clefs de supprimer les anciennes sur la console ovh mais peut être que j’ai oublié de supprimer quelque chose autre part

La clef se trouve bien dans me/api/application ?

J’ai fait un « exécute » ,récupéré l’ID et un « delete » dans me/api/application/{applicationId}

J’ai bon?
 

Lien vers le commentaire
Partager sur d’autres sites

il y a 24 minutes, Bajoum a dit :

Salut,

J’ai cru voir un de tes post effectivement sur le forum…

le problème c’est que dans mon fichier account je n’ai pas d’autre clef CK qui a été créée et que je pourrais retirer. Je me demande si l’api ovh ne fait pas des siennes? J’ai pris soin, avant de recreer des clefs de supprimer les anciennes sur la console ovh mais peut être que j’ai oublié de supprimer quelque chose autre part

La clef se trouve bien dans me/api/application ?

J’ai fait un « exécute » ,récupéré l’ID et un « delete » dans me/api/application/{applicationId}

J’ai bon?
 

Désolé Bajoum mais je ne peux pas te répondre sur la question de la console OVH dont je ne me suis jamais servi pour supprimer les clefs API, j'utilise les mêmes depuis toujours.

As tu regardé dans tes entrées DNS chez OVH s'il n'y avait pas des scories de type texte laissées par les tentatives précédentes?

Lien vers le commentaire
Partager sur d’autres sites

il y a 32 minutes, oracle7 a dit :

Il semblerait qu'il faille mettre à jour acme.sh et le forcer à la dernière version v3.0.5

La dernière version est le 3.0.6, mise en ligne il y a 5 jours. Il est possible que ce soit elle qui cause problème.

Docker a mis à jour automatiquement vers cette nouvelle version chez moi. Je verrai si c'est OK lors du prochain renouvellement d'ici 10 jours.

Lien vers le commentaire
Partager sur d’autres sites

@Mic13710

Bonjour,

il y a 12 minutes, Mic13710 a dit :

Il est possible que ce soit elle qui cause problème.

Je te rejoins et cela ne m'étonnerait qu'à moitié 🤪

Moi aussi j'ai été automatiquement mis à jour en 3.0.6 mais je n'en verrai l'effet que le 22/02. Donc j'ai hâte de ton retour le 10/02.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Ok merci pour vos retours. Je ne suis pas sous docker, donc il faudra que je fasse ça à la main. Par contre je crois que j’ai bloqué l’install en la forçant plus de 5 fois en une heure. Savez-vous combien de temps il faut attendre pour pouvoir recommencer?

Lien vers le commentaire
Partager sur d’autres sites

@Bajoum

Bonjour,

Comme tu l'as dit il y a une limite de 5 échecs de validation par compte, par nom d’hôte, par heure. Donc dans l'heure qui suit, tu dois pouvoir recommencer. Logique, non ?🤪

https://letsencrypt.org/fr/docs/rate-limits/

Cordialement

oracle7😉

Modifié par oracle7
Lien vers le commentaire
Partager sur d’autres sites

il y a 10 minutes, Bajoum a dit :

Savez-vous combien de temps il faut attendre pour pouvoir recommencer?

Bonjour,

Je crois que c'est 5 essais sur 7 jours glissants

https://letsencrypt.org/fr/docs/rate-limits/

Edit : grillé par @oracle7 mais nous n'avons pas la même interprétation 😂

Modifié par Jeff777
Lien vers le commentaire
Partager sur d’autres sites

@Jeff777

Bonjour,

Oui pour un renouvellement (ils appellent cela "duplicata de certificat") tu as raison mais lors de la création du certificat, ils ont assoupli les choses et on a droit maintenant à 5 tentatives de création (ils appellent cela "validation") par heure.

Cordialement

oracle7😉

Modifié par oracle7
Lien vers le commentaire
Partager sur d’autres sites

@Jeff777 il faut réviser tes classiques et surtout re-lire le lien que tu donnes 😉

Extrait :

Il y a une limite de 5 échecs de validation par compte, par nom d’hôte, par heure. Cette limite est plus élevée sur notre environnement de pré-production, vous pouvez donc utiliser cet environnement pour déboguer les problèmes de connectivité. Le dépassement de la limite des validations échouées est signalé par le message d’erreur Trop d'autorisations échouées récemment.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 2 heures, oracle7 a dit :

@Bajoum, @Audio

Bonjour,

Il semblerait qu'il faille mettre à jour acme.sh et le forcer à la dernière version v3.0.5 pour solutionner ce problème de CK.

Sous SSH taper : acme.sh --upgrade

Cordialement

oracle7😉

Merci @oracle7

Comment savoir la version en cours de acme.sh sur sa machine ?

Cordialement Audio

Lien vers le commentaire
Partager sur d’autres sites

Salut,

je viens de regarder sous quelle version j’étais et je suis sur la 3.0.6.

bizarrement la CK ne fonctionne plus depuis lundi (le jour où je lance la tache planifiée).

ce qui correspondrait au changement de version.

y a t’il une possibilité de downgrader acme.sh ?

Lien vers le commentaire
Partager sur d’autres sites

Il y a 16 heures, oracle7 a dit :

@Audio

Bonjour,

Sous SSH tu tapes : acme.sh --version

Cordialement

oracle7😉

Bonjour,

Merci @oracle7. J'utilise acme sous docker et la commande que tu me suggère ne passe pas (acme.sh not found).

Je ne sais pas dans quel répertoire me placer.

Cordialement Audio🤔

Lien vers le commentaire
Partager sur d’autres sites

Il y a 4 heures, Bajoum a dit :

Salut,

je viens de regarder sous quelle version j’étais et je suis sur la 3.0.6.

bizarrement la CK ne fonctionne plus depuis lundi (le jour où je lance la tache planifiée).

ce qui correspondrait au changement de version.

y a t’il une possibilité de downgrader acme.sh ?

Bonjour Bajoum,

D'après mon log acme.sh.log je suis aussi en version 3.0.6. Je ne sais pas s'il est possible de revenir à une version antérieure.

Cordialement, Audio.

Lien vers le commentaire
Partager sur d’autres sites

@Bajoum, @Audio

Bonjour,

Vu que vous avez tous les deux posté dans le présent TUTO (acme méthode "traditionnelle"), je vous ai répondu en conséquence.

  • Maintenant si vous êtes sous Docker alors la procédédure de connexion est différente :

En SSH tu te connectes en root sur ton conteneur : docker exec -it acme /bin/sh

Puis tu fais : acme.sh --version

Ou en passant par portainer, tu ouvres la console du conteneur wlrZB3J.png

tu cliques sur le symbole >_, tu te connectes en root avec /bin/sh et tu tapes acme.sh --version

 

  • Pour revenir en arrière, perso je ne connais qu'une méthode :

Version "traditionnelle" : désinstaller acme.sh en tapant sous SSH en root (adapter au besoin le chemin vers .acme.sh) 

acme.sh --uninstall
rm -r  ~/.acme.sh

puis télécharger la version 3.0.5 ici : https://github.com/acmesh-official/acme.sh/releases/tag/3.0.5  réinstaller acme.sh. ENSUITE modifier le fichier account.conf et mettre AUTO_UPGRADE à 0

ou en SSH sous root taper : acme.sh --upgrade --auto-upgrade 0

Version Docker :  Supprimer l'image de la version 3.0.6 et installer l'image de la v3.0.5 :

Arrêter le conteneur acme docker-compose down. Taper docker rmi image acme. Puis modifier le fichier docker-compose en remplacant "latest" par "3.0.5" dans la ligne :

image: neilpang/acme.sh:latest

Relancer le conteur avec docker-compose up -d. Là on doit voir à l'affichage dans le terminal qu'il retélécharge l'image acme avant de démarrer le conteneur.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.