Chez oim, forum libre

Débattre => Informatique, programmation, geek attitude... => Discussion démarrée par: alex le lundi 15 octobre 2018, 17:15

Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le lundi 15 octobre 2018, 17:15
(https://static.chez-oim.org/Logo/letsenrypt_logo.png)     



Tuto, Let's Encrypt : Obtenir un certificat de sécurité Wildcard sous Windows ou Linux avec acme.sh et CloudFlare ou ISPConfig




Mise à jour : 8 octobre 2021
- Mise à jour du tuto suite à la fin de vie du certificat racine DST Root CA X3 au profit de ISRG Root X1.
- Mise à jour également afin d'éviter l'utilisation de acme.sh avec ZeroSSL comme autorité de certification.
- Dernière mise à jour pour l'API ISPConfig de acme.sh et l'erreur "Client ID is not numeric".

Quelques captures écran ont également été mises à jour afin de coller à la réalité d'aujourd'hui.
Mise à jour du 17 juillet 2020
ATTENTION aux utilisateurs de Freenom !

Cloudflare n'autorise plus les domaines gratuits de Freenom ! (.cf, .ga, .gq, .ml et .tk)
Vous obtiendrez systématiquement une erreur même si vous avez un domaine Freenom géré par Cloudflare ajouté avant l'interdiction.
Mise à jour : 07 novembre 2018
Un exemple pour un système de gestion de serveur a été ajouté. Il s'agit de ISPConfig qui, théoriquement, n'a pas besoin de CloudFlare.






Introduction (#post_intro)
Utilisateurs Windows, installer Cygwin (#post_win1)
Utilisateurs Windows, installer les paquets requis par acme.sh (#post_win2)
Confier la gestion de notre domaine à CloudFlare (#post_cf_domain)
Obtenir la clé API de notre compte CloudFlare (#post_cf_key)
Installer acme.sh (#post_acme_install)
Préparons maintenant le fichier API de Cloudflare (#post_dns_cf)
Acme.sh et le CA ZeroSSL, changer pour LetsEncrypt (#post_zerossl)
Obtenir un certificat wildcard "classique" à base de clés RSA (#post_acme_rsa)
Obtenir un certificat wildcard à base de clés ECDSA (#post_acme_ecdsa)
Renouvellement du certificat (#post_renew)
Révoquer le certificat (#post_revoke)
Avantages et inconvénients des clés RSA et ECDSA (#post_compare)

Comment utiliser une autre API que celle de Cloudflare ? Exemple avec ISPConfig (#post_api)
ISPConfig et l'erreur "Client ID is not numeric" (#post_id_not_numeric)

Expiration de la racine DST Root CA X3 (seulement si vous avez des problèmes !) (#post_acme_install)



(Haut de Page) (#post_haut)
- Introduction


Avant toute chose, retenez bien cette adresse : https://www.ssllabs.com/ssltest/ (https://www.ssllabs.com/ssltest/)
Ce site vous permettra de tester votre configuration SSL. Je compte sur vous pour obtenir un A+ !

Dans ce nouveau tuto dédié aux certificats de sécurité, nous allons nous pencher sur l'obtention d'un certificat de sécurité wildcard à l'aide de l'utilitaire acme.sh et les serveurs DNS de Cloudflare.
Acme.sh est un utilitaire Bash permettant d'obtenir des certificats SSL qui a l'énorme avantage de proposer des dizaines d'API DNS prévues pour les principaux registrars (OVH, Gandhi, GoDaddy, etc.), gestionnaires serveurs et hébergeurs. Plus de 50 API sont au programme à l'heure où j'écris et d'autres sont en préparation, c'est donc le diable si vous ne trouvez pas la votre !
Dans l'éventualité où vous ne trouveriez pas l'API adéquate, nous utiliserons les serveurs DNS de Cloudflare, avec un compte gratuit, auxquels il faudra confier la gestion du domaine pour lequel nous souhaitons un certificat.
Pas de panique ! Il ne s'agit pas de transférer votre domaine vers CloudFlare, mais juste lui confier la gestion du domaine, ce qui est une manœuvre réversible.

Cette fois, c'est un certificat wildcard que nous allons créer. Un certificat wildcard est prévu pour un nombre illimité de sous domaines, même si ils n'existent pas à la création du certificat.
Un certificat wildcard utilise le caractère générique, ou wildcard en anglais, pour couvrir tous les sous domaines. Ce caractère générique ou wildcard est tout simplement l'astérisque ( * ).
Exemple :
Domaine : example.com
Sous domaines : *.example.com


Pour ce faire, nous utiliserons donc le petit utilitaire acme.sh qui est d'une utilisation très simple.
Les utilisateurs Windows devront installer Cygwin afin de pouvoir émuler une espèce de Linux sur leur ordinateur (un bash plus précisément). Ne prenez pas peur, ce tuto vous aidera à installer Cygwin.
Quant aux utilisateurs Linux, vous n'aurez quasiment rien à faire, si ce n'est installer acme.sh.

Cerise sur le gâteau, pour les curieux ou paranos de la sécurité, nous demanderons 2 types de certificat.
Nous demanderons d'abord un certificat "classique" à base de clés RSA.
Ensuite, nous demanderons un certificat à base de clés ECDSA s'appuyant sur les courbes elliptiques. Vous verrez que ce type de clé est très robuste malgré une très petite longueur de clé (comparé à RSA).




(Haut de Page) (#post_haut)
- Utilisateurs Windows, installer Cygwin


Sous Windows, nous n'avons pas le choix, il nous faut installer un émulateur bash. Un émulateur bash est tout simplement un programme qui imite le fonctionnement de la ligne de commande Linux. Vous aurez un écran noir qui attend vos ordres, comme dans une fenêtre de ligne de commande MS-DOS.
Pour info, la ligne de commande s'appelle console.
Pour imiter (émuler) la console Linux, nous allons donc installer Cygwin.

Commençons de suite, téléchargeons Cygwin ! (Vous placerez votre téléchargement sur le bureau, il ne va pas y rester longtemps)
Si vous avez un Windows 64bit, c'est ici : https://cygwin.com/setup-x86_64.exe (https://cygwin.com/setup-x86_64.exe)
Si vous avez un Windows 32bit, c'est ici : https://cygwin.com/setup-x86.exe (https://cygwin.com/setup-x86.exe)

C'est tout, vous avez tout ce qu'il faut !
Maintenant, nous allons créer le dossier de Cygwin afin qu'il soit utilisable sans souci.
Sur votre disque C:, créez un dossier C:\cygwin.
Ensuite, créez un dossier C:\cygwin\_install ou allez dans le dossier C:\cygwin. et créez le dossier \_install.
Dans ce dossier C:\cygwin\_install, placez le programme téléchargé précédemment.
Je vous conseille vivement de créer un raccourci sur votre bureau vers ce programe (clic droit + envoyer vers le bureau). Vous en aurez besoin très souvent !

Vous êtes prêt ? Les chemins sont créés et le programme d'installation Cygwin est placé où il faut ? Allons-y !
Double cliquez sur le raccourci que vous avez créé sur le bureau ou rendez-vous dans C:\cygwin\_install et ouvrez le programme présent. Ah je vous ai prévenu ! Il est préférable de placer un raccourci sur le bureau. C'est la première fois que vous utilisez le programme d'installation, mise à jour, suppression de Cygwin, mais ce n'est certainement pas la dernière !


Une fenêtre va s'afficher à vous, Cliquez sur suivant. :
(https://static.chez-oim.org/tuto_acme/cyg1.png)


Là, sélectionnez "Install from Internet" et cliquez sur suivant.
(https://static.chez-oim.org/tuto_acme/cyg2.png)


Maintenant, faites attention. choisissez le dossier de Cygwin, c'est à dire le dossier de votre Linux émulé. Ce dossier sera C:\cygwin que vous avez déjà créé. Cliquez sur suivant.
(https://static.chez-oim.org/tuto_acme/cyg3.png)


Ensuite, sélectionnez le dossier contenant le programme d'installation de Cygwin. Pour nous, ce dossier est C:\cygwin\_install et on clique sur suivant.
Ne vous inquiétez pas, vos choix seront mémorisés. La prochaine fois, les champs seront déjà pré-remplis.
(https://static.chez-oim.org/tuto_acme/cyg4.png)



La fenêtre qui suit peut être ignorée dans la plupart des cas sauf sous Windows 10 !. Si c'est votre cas, cochez la case "Direct Connection".
Cliquez sur suivant.
(https://static.chez-oim.org/tuto_acme/cyg5.png)




Le sérieux commence !
(Haut de Page) (#post_haut)
- Utilisateurs Windows, installer les paquets requis par acme.sh


Si vous commencez le tuto ici, lancez le programme d'installation de Cygwin. Vous avez normalement créé un raccourci sur le bureau. Avancez jusqu'à la fenêtre de sélection de proxy.
Pour les autres, ceux qui ont commencé à installer Cygwin, on continue.

Il va vous être demandé de choisir un serveur de téléchargement pour les paquets que vous voudrez installer et les mises à jour.
Choisissez le serveur FTP le plus proche de chez vous. A Marseille, le plus proche est l'Allemagne...
Votre choix sera mémorisé. Lors de votre prochaine visite du programme d'installation de Cygwin, les chemins et serveurs seront déjà affichés.
(https://static.chez-oim.org/tuto_acme/cyg6.png)



Enfin, nous arrivons sur la fenêtre d'installation des paquets Cygwin !
Sélectionnez la vue "Not installed" et commençons notre choix des paquets nécessaires à Cygwin.
Dans le champs "Search", entrez "Curl". Sur la liste qui s'affiche, choisissez la catégorie "Net" et sélectionnez la dernière version.
Cherchez ensuite le paquet "Wget" dans la catégorie "Web". Les deux paquets "Curl" et "Wget" sont nécessaires, il peut arriver que "Curl" marche mal, notamment si vous êtes sous Windows 10.
Recommencez en cherchant le paquet "Socat" dans la catégorie "Net, Utils".
Encore un dernier paquet. Cherchez "Cron" dans la catégorie "Admin", c'est le paquet "Cron: Vixie's cron" qui s'affichera.
Pour tous ces paquets, sélectionnez la dernière version en cliquant dans le menu des versions proposées.
Une fois terminé avec tous les paquets à installer, cliquez sur "suivant".
(https://static.chez-oim.org/tuto_acme/cyg7.png)



Cygwin va installer les paquets souhaités et il vous affichera une dernière fenêtre.
Créez au moins une icône sur le bureau. C'est cette icône qui vous permettra de lancer Cygwin.
(https://static.chez-oim.org/tuto_acme/cyg8.png)



Vous devriez donc avoir 2 icônes sur le bureau.
Une icône vous permettant de lancer le programme d'installation/mise à jour de Cygwin et une autre vous permettant de lancer Cygwin (vous pouvez essayer cette seconde icône, une fenêtre Linux s'ouvrira).
(https://static.chez-oim.org/tuto_acme/cyg_icon.png)



Dorénavant, lorsque vous cliquerez sur l'icône d'installation, des mises à jour vous seront proposées si elles existent. Installez toujours ces mises à jour.
(https://static.chez-oim.org/tuto_acme/cyg_update.png)




(Haut de Page) (#post_haut)
- Confier la gestion de notre domaine à CloudFlare


Maintenant, il va falloir que nous utilisions des DNS pour lesquels acme.sh propose une API. Nous allons donc utiliser les DNS de Cloudflare.
Encore une fois, ne vous inquiétez pas, il ne s'agira pas de transférer votre domaine à CloudFlare, vous en resterez propriétaire. Nous utiliserons simplement leurs serveurs DNS, c'est tout.
Rendez-vous sur la page d'accueil de Cloudflare, https://www.cloudflare.com/fr-fr/ (https://www.cloudflare.com/fr-fr/). Créez un compte si vous n'en possédez pas, sinon connectez vous.

Ensuite, cliquez simplement en haut à droite de la fenêtre sur Add site :
(https://static.chez-oim.org/tuto_acme/2-cloud-identif.png)



Dans la fenêtre qui se présente à vous, entrez votre domaine et validez :
(https://static.chez-oim.org/tuto_acme/3-cloud-add1.png)



Cloudflare devrait vous indiquer qu'il va récupérer les enregistrements DNS de votre domaine et vous pouvez passer à la suite :
(https://static.chez-oim.org/tuto_acme/3-cloud-add2.png)


Sur la fenêtre qui suit, sélectionnez le plan gratuit et confirmez.

La fenêtre suivante vous indiquera les enregistrements DNS que Cloudflare a réussi à récupérer.
Observez attentivement cette page et notez les enregistrements que vous devrez recréer.
Vous pouvez recréer immédiatement les enregistrements manquants en utilisant le champ en haut de page (2).
(https://static.chez-oim.org/tuto_acme/3-cloud-add3.png)


ATTENTION, SOYEZ VIGILANT !
Lorsque vous créez vos enregistrements, et sur ceux récupérés, un petit nuage et une flèche apparaissent à droite (1 & 3) : (https://static.chez-oim.org/tuto_acme/cd_nopass.png)
Cliquez sur ces nuages pour qu'ils s'affichent avec la flèche qui contourne le nuage : (https://static.chez-oim.org/tuto_acme/cd_pass.png)

Si ce n'est pas fait, toutes vos données transiteront par les serveurs de Cloudflare qui se comportera comme un proxy entre vous, vos visiteurs et votre site.
Ici, nous voulons simplement un service DNS, c'est tout, pas toute la panoplie d'outils d'espionnage fournis gracieusement par Cloudflare. Il aura déjà toutes les requêtes DNS à se mettre sous la dent, ça suffit largement !



C'est terminé ? Alors validez.
Maintenant, Cloudflare va vous demander de changer les serveurs DNS de votre domaine pour les remplacer par les siens.
(https://static.chez-oim.org/tuto_acme/3-cloud-add4.png)



Cette étape est propre à chaque registrar. Rendez-vous dans votre espace client chez votre registrar et modifier les DNS par ceux indiqués par Cloudflare. Si votre registrar n'a pas prévu la possibilité de désactiver/activer ou restaurer les DNS par défaut, notez les dans un coin où ils ne seront pas perdus.

Par exemple, chez Freenom avec un domaine gratuit, cela se présente tout bêtement.
(https://static.chez-oim.org/tuto_acme/4-change-NS.png)



Une fois que c'est fait, continuez.
C'est maintenant l'étape la plus longue. Cloudflare va s'assurer que les DNS ont correctement été changés.
Tant que la propagation DNS ne sera pas complète, ou en partie, vous ne pourrez pas aller plus loin.
Vous pouvez revérifier cette propagation aussi souvent que vous le souhaitez.
(https://static.chez-oim.org/tuto_acme/5-cloud-add1.png)



Ca y est, c'est bon ? Cloudflare à la main sur votre domaine ? Continuons !
Maintenant, cliquez sur Home, sélectionnez votre domaine (ou site), en haut de page puis cliquez sur le bouton Overview.
(https://static.chez-oim.org/tuto_acme/5-cloud-add5-2.png)



Sur la page affichée, vous verrez que Cloudflare active par défaut 2 services qui sont totalement inutiles.
(https://static.chez-oim.org/tuto_acme/5-cloud-add2.png)



Cliquez sur le Medium de Security level et sélectionnez Essentially off.
(https://static.chez-oim.org/tuto_acme/5-cloud-add3.png)


Puis, revenez au début en cliquant le bouton Overview ou re-sélectionnez votre domaine.
Maintenant, cliquez sur le Full de SSL et sélectionnez OFF.
(https://static.chez-oim.org/tuto_acme/5-cloud-add4.png)



Revenez au début en cliquant le bouton Overview.
Votre domaine se présente comme sur l'image ci-dessous ?
(https://static.chez-oim.org/tuto_acme/5-cloud-add5-1.png)



Tout est ok ? Ouf, le plus emmerdant est fait !
Il ne reste plus qu'à récupérer la clé API de votre domaine.




(Haut de Page) (#post_haut)
- Obtenir la clé API de notre compte CloudFlare


Le temps de récupérer notre clé API pour pouvoir utiliser acme.sh et nous en aurons terminé avec ce foutu Cloudflare.

Sélectionnez n'importe quel domaine en haut de la page Cloudflare et cliquez sur le bouton Overview.
(https://static.chez-oim.org/tuto_acme/5-cloud-add5-2.png)



Là, cliquez sur le lien Get your API key.
(https://static.chez-oim.org/tuto_acme/5-cloud-add5-1.png)



A présent, en bas de page, cliquez sur View de la ligne Global API key.
(https://static.chez-oim.org/tuto_acme/5-cloud-api1.png)



Votre mot de passe vous sera demandé et il vous faudra résoudre le captcha de Google. Enfin, validez.
(https://static.chez-oim.org/tuto_acme/5-cloud-api2.png)



Et enfin, la voilà ! Votre clé API s'affiche.
(https://static.chez-oim.org/tuto_acme/5-cloud-api3.png)


Copiez/collez cette clé dans un endroit sûr, nous allons la réutiliser avec acme.sh
ATTENTION ! Cette clé API est aussi secrète qu'un mot de passe. Elle permet un accès complet à votre ou vos domaines !




(Haut de Page) (#post_haut)
- Installer acme.sh


Vous installez acme.sh pour la première fois ? Passez directement au 2, la suite ne vous concerne pas.

1) La version 3.0.1 de acme.sh prend en compte l'expiration du certificat racine LetsEncrypt DST Root CA X3.
Si vous avez des problèmes avec un certificat qui veut utiliser cette racine, mettez à jour acme.sh afin de pouvoir utiliser le certificat racine ISRG Root X1.
Ensuite, renouvelez ou re-créez votre certificat afin qu'il utilise cette nouvelle racine en utilisant le paramètre supplémentaire --set-default-chain lors du renouvellement/re-fabrication de votre certificat.


2) Pour les utilisateurs Windows, lancez Cygwin. Attention ! Si vous possédez Windows 10, lancez Cygwin en mode administrateur (clic droit sur l'icône suivi de "Exécuter en tant qu'administrateur").
Les utilisateurs Linux ouvriront la console.

Installer acme.sh est relativement simple. Il est recommandé d'avoir les permissions root mais ce n'est pas nécessaire.
Si vous utilisez Cygwin, rassurez-vous, vous n'êtes pas concerné par les permissions de groupes.

Avec les permissions root, le dossier /root sera utilisé. Sinon, il s'agira de votre dossier utilisateur ~ ($HOME).
Entrez donc
Code
cd /root
ou
Code
cd ~
Selon les permissions que vous possédez.


Pour installer simplement acme.sh, les utilisateurs Cygwin et Linux entreront :
Code
curl https://get.acme.sh | sh
Vous pouvez également utiliser Wget si vous avez des soucis avec cURL :
Code
wget -O -  https://get.acme.sh | sh

Et voilà, acme.sh est installé ! Simple, non ?

Pour être certain que acme.sh est exécutable, entrez ce qui suit : (la plupart du temps, le fichier est déjà exécutable, mais il peut arriver qu'il ne le soit pas selon l'OS utilisé et les permissions accordées lors de l'installation)
Code
chmod +x .acme.sh

Et maintenant, essayez donc :
Code
acme.sh
Vous devriez obtenir l'aide de acme.sh à l'écran.


Votre installation de acme.sh a créé 3 choses :

Pour mettre à jour acme.sh, vous entrerez :
Code
acme.sh --upgrade
Ou pour que acme.sh se maintienne automatiquement à jour :
Code
acme.sh --upgrade --auto-upgrade


ATTENTION !
Le dossier de acme.sh est .acme.sh/ ! C'est donc un dossier caché !
Notez le bien, sinon vous risquez de tourner en rond à la recherche vos certificats.



(Haut de Page) (#post_haut)
- Préparons maintenant le fichier API de Cloudflare


Ouvrez en édition, le fichier ./.acme.sh/dnsapi/dns_cf.sh

Le début du fichier ressemble à ceci :
Code
#!/usr/bin/bash

#
#CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
#
#CF_Email="xxxx@sss.com"
Retirez les commentaires (#) devant les lignes CF_KEY et CF_Email.
Ensuite, remplacez le contenu entre guillemets par votre clé API et votre E-mail de compte Cloudflare.

Vous obtiendrez quelque chose de similaire à ceci :
Code
#!/usr/bin/bash

#
CF_Key="46dfqdf465qf456qsf4qsd87"
#
CF_Email="mon_email@example.com"
Lors de l'exécution de acme.sh avec l'API Cloudflare, ces paramètres seront exportés vers le fichier ./.acme.sh/account.conf
De cette façon, si une mise à jour venait à réinitialiser ce fichier, vos paramètres ne seront pas perdus pour acme.sh qui pourra les réutiliser pour les renouvellements ou un nouveau certificat utilisant cette même API.


(Haut de Page) (#post_haut)
- Acme.sh et le CA ZeroSSL, changer pour LetsEncrypt


A partir de la version 3.0.0, acme.sh a eu cette drôle d'idée de désigner comme autorité de certification par défaut, ZeroSSL.
Le but du jeu est d'obtenir un certificat LetsEncrypt, pas ZeroSSL !
Cela ne concerne que les personnes procédant à une première installation ou réinstallation de acme.sh. Les autres, ayant mis à jour, garderont leur configuration.

Avec les paramètres par défaut (et donc ZeroSSL) si vous demandez un certificat, ZeroSSL vous obligera à fournir un mail et il stoppera acme.sh.

(https://static.chez-oim.org/uploads/member_1/1633680793.png)


Que faire ? Bien entendu, si vous fournissez un mail, aucun abus ne sera commis avec. Vous ne recevrez des mails qu'en cas de souci avec votre certificat, rien d'autre.
Mais cette obligation est gênante quand même ! Fournir un mail, je veux bien et je le fais toujours. Etre obligé de fournir ce mail sinon je n'aurai pas mon certificat, là ça m'agace...
Il faut donc demander à acme.sh de changer de CA par défaut. Pour info, un CA est une autorité de certification (Certificate Authority).

Demandons donc à acme.sh d'utiliser LetsEncrypt comme CA par défaut et personne d'autre :

Code
acme.sh --set-default-ca --server letsencrypt

Et voilà qui est fait, acme.sh devrait vous afficher le message suivant :

(https://static.chez-oim.org/uploads/member_1/1633680832.png)


Vous avez reçu ce message ? Alors c'est tout bon, vous pouvez continuer vers l'obtention de votre certificat.
ATTENTION !
Cette manip n'est valable qu'à partir de la version 3.0.0 de acme.sh. Avant cette version, vous recevrez un message d'erreur.



(Haut de Page) (#post_haut)
- Obtenir un certificat wildcard "classique" à base de clés RSA


Obtenir un certificat wildcard à base de clés RSA est tout aussi simple que d'installer acme.sh

Pour obtenir un certificat wildcard pour le domaine example.com, nous entrerons :
Code
acme.sh --issue -d example.com -d *.example.com --dns dns_cf
Le paramètre --dns dns_cf demande une validation DNS en utilisant l'API de Cloudflare.

Vous verrez que acme.sh crée 2 enregistrements DNS TXT pour votre domaine et qu'il attend ensuite 2 minutes le temps de la propagation DNS.
Ensuite, Lets Encrypt lira ces enregistrements pour validation, acme.sh les supprimera et vous obtiendrez votre certificat !

Votre certificat, le certificat intermédiaire (le bunddle) et sa clé se trouveront dans le dossier ./.acme.sh/example.com/
Ne supprimez rien dans ce dossier ! acme.sh à besoin du contenu de ce dossier pour les renouvellements automatiques.




(Haut de Page) (#post_haut)
- Obtenir un certificat wildcard à base de clés ECDSA


Un autre type de certificat est disponible avec acme.sh et Lets Encrypt.
Il s'agit des certificats à base de clés ECDSA (https://fr.wikipedia.org/wiki/Elliptic_curve_digital_signature_algorithm) s'appuyant sur les courbes elliptiques. Malgré une faible longueur, ces clés sont très robustes.

Lets Encrypt reconnait les courbes elliptiques P-256 et P-384. Le P-521 n'est pas encore reconnu.

Nous procéderons de la sorte pour obtenir un certificat Wildcard utilisant ce type de clé :
Code
acme.sh --issue -d example.com -d *.example.com --keylength ec-384 --dns dns_cf
Le paramètre --dns dns_cf demande une validation DNS en utilisant l'API de Cloudflare.

Vous verrez que acme.sh crée 2 enregistrements DNS TXT pour votre domaine et qu'il attend ensuite 2 minutes le temps de la propagation DNS.
Ensuite, Lets Encrypt lira ces enregistrements pour validation, acme.sh les supprimera et vous obtiendrez votre certificat !

Votre certificat, le certificat intermédiaire (le bunddle) et sa clé se trouveront dans le dossier ./.acme.sh/example.com_ecc/
Ne supprimez rien dans ce dossier ! acme.sh à besoin du contenu de ce dossier pour les renouvellements automatiques.




(Haut de Page) (#post_haut)
- Renouvellement du certificat


Si vos renouvellements ne se font pas automatiquement, vous pouvez le faire manuellement, toujours très simplement.
Prenons l'exemple avec notre domaine example.com :
Code
acme.sh --renew -d example.com
Vous pouvez forcer le renouvellement si la validité restante du certificat est supérieure à 30 jours :
Code
acme.sh --renew -d example.com --force
Pour les certificats à clés ECDSA, le renouvellement sera sous cette forme :
Code
acme.sh --renew -d example.com --ecc
Ou en forçant le renouvellement :
Code
acme.sh --renew -d example.com --force --ecc
Vous aurez remarqué qu'il n'est pas utile d'indiquer tous les domaines et sous domaines. Seul le premier domaine indiqué à la création du certificat, le domaine que acme.sh utilise pour nommer les dossiers et fichiers, est nécessaire.



(Haut de Page) (#post_haut)
- Revoquer le certificat


Révoquer un certificat restera tout aussi simple, vous l'aurez compris :
Code
acme.sh --revoke -d example.com
Ou, si à base de clés ECDSA :
Code
acme.sh --revoke -d example.com --ecc




(Haut de Page) (#post_haut)
- Avantages et inconvénients des clés RSA et ECDSA


- Les clés RSA sont connues de quasiment tout le monde et simples à manipuler.
- Elles sont prises en charge par tous les softs utilisant la cryptographie.

- Malheureusement, le temps passant, il est nécessaire de générer des clés de plus en plus longues.
- La longueur des clés RSA n'est pas sans retentissement sur les performances d'un système.


- Les clés ECDSA sont très courtes (comparé à RSA) et sont pourtant très robustes, bien plus robustes que RSA.
Pour comparaison, une clé ECDSA 256 bit est équivalente à une clé RSA 3072 bit, et une clé ECDSA 384 bit est équivalente à une clé RSA 7680 bit !
- Tout comme RSA, la longueur des clés ECDSA évolue. Mais cette évolution est bien moins importante que RSA. Il semblerait donc que RSA n'ait pas un très grand avenir comparé à ECDSA qui pourrait être la solution.

- Le plus gros problème des clés ECDSA est qu'elles ne sont pas prises en charge par des softs anciens ayant court sur de nombreux systèmes comme Postfix et Dovecot, ce qui est un gros problème...




(Haut de Page) (#post_haut)
- Comment utiliser une autre API que celle de Cloudflare ? Exemple avec ISPConfig


C'est toujours très simple. Vous l'avez compris, acme.sh est très simple d'utilisation.

Imaginons que vous avez un serveur géré par ISPConfig.
Sur ce serveur, vous avez installé votre propre DNS et vous n'avez pas besoin de Cloudflare.

Tout d'abord, rendez vous sur votre compte ISPConfig et créez un compte distant pour que l'API puisse faire son boulot.
Ce compte possédera les autorisations minimums nécessaires à acme.sh
Dans Système, choisissez "Utilisateurs distants" et cliquez sur "Ajouter un utilisateur".

(https://static.chez-oim.org/uploads/member_1/stock1/1554877960.png)



Là, vous êtes seul maitre à bord. Choisissez un nom et un mot de passe solides.
A cet utilisateur distant, autorisez les permissions suivantes :

Cochez la case Remote Access (accès distant)
Sous cette case, vous pouvez restreindre l'accès à des IP ou noms de domaine.
Les anciennes version de ISPConfig ne permettent pas tout ça, mais ce n'est pas important pour faire fonctionner acme.sh. Souvenez-vous d'utiliser un identifiant et un mot de passe solides !

(https://static.chez-oim.org/uploads/member_1/stock1/1554877984.png)



Et voilà, l'API de acme.sh est prête à accéder à votre serveur.

Ouvrez le fichier API de ISPConfig afin de l'éditer.
Le fichier API se trouve dans ./.acme.sh/dnsapi/dns_ispconfig.sh

Le début du fichier ressemble à ceci :

Code
#!/usr/bin/bash

# ISPConfig 3.1 API
# User must provide login data and URL to the ISPConfig installation incl. port. The remote user in ISPConfig must have access to:
# - DNS txt Functions

# Report bugs to https://github.com/sjau/acme.sh

# Values to export:
# export ISPC_User="remoteUser"
# export ISPC_Password="remotePassword"
# export ISPC_Api="https://ispc.domain.tld:8080/remote/json.php"
# export ISPC_Api_Insecure=1     # Set 1 for insecure and 0 for secure -> difference is whether ssl cert is checked for validity (0) or whether it is just accepted (1)

Dé-commentez (retirez les #)  et remplacez les lignes suivantes par vos données de connexion ISPConfig :
Ce script est à sa place, il n'en n'existe pas d'autre. Gardez le chemin /remote/json.php !

Attention ! Il n'est pas envisageable d'utiliser une connexion non sécurisée. Ca ne marcherait pas.
Avec ISPConfig, la mise en place d'une connexion SSL à base de certificat auto signé est le minimum !




(Haut de Page) (#post_haut)
- ISPConfig et l'erreur "Client ID is not numeric"


Il semblerait que certains hébergeurs "bricolent" ISPConfig et l'API DNS de acme.sh afin que des ID exclusivement numériques soient utilisés. Une abberation en matière de sécurité mais simple à gérer !..

Certains utilisateurs de acme.sh pensent apporter une amélioration en copiant/collant le code de leur hébergeur sur le dépôt Github de acme.sh. Quelle erreur ! Le pire est que ce code ne semble pas être vérifié puisqu'il se retrouve à chaque fois dans un commit suivi d'une mise à jour de acme.sh...

Et après chaque mise à jour, vous vous retrouvez avec une erreur qui semble incompréhensible quand on ne connait pas le pourquoi du comment :
Client ID is not numeric !

La solution est aussi simple et rapide que radicale. Il faut remplacer l'API DNS de acme.sh pour ISPConfig.
Votre serviteur a pensé à vous et possède cette API "propre" sur son compte Github.
Téléchargez le fichier API dns_ispconfig.sh à cette adresse : https://github.com/alexetgus/acme.sh_api_ispconfig/releases/download/1.0/dns_ispconfig.sh (https://github.com/alexetgus/acme.sh_api_ispconfig/releases/download/1.0/dns_ispconfig.sh)

Lorsque vous avez ce fichier, placez-le dans le dossier ~/.acme.sh/dnsapi/ et écrasez le fichier existant lorsque la question vous est posée.
Inutile de réfléchir, le fichier API existant est une saleté qui ne marche pas. Remplacez-le par le nouveau fichier !

Une fois que c'est fait, vous pouvez ré-utiliser acme.sh comme au premier jour !
Le dépôt Github de ce fichier est ici si vous souhaitez le regarder avant de l'installer : https://github.com/alexetgus/acme.sh_api_ispconfig (https://github.com/alexetgus/acme.sh_api_ispconfig)





(https://static.chez-oim.org/Logo/logo_seul.png)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le mercredi 07 novembre 2018, 14:14
Une première mise à jour fait son apparition et concerne ISPConfig. :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 13:19
Bonjour,

Voilà testé sur Ubuntu avec Cloudfare via Gandi pour mon domaine de test forum-informatique.org.

Certficat Wilcard Ok.

Dis moi ce que tu as comme cypher pour moi voir en comparaison.

:)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 13:45
Tu as réussi, bien ! :)
C'est super simple, n'est-ce pas ? Tout est indiqué dans les fichiers API.

Tu veux les ciphers de où ?
Ceux de chez oim ou ceux de mon local ? :-\


Quand j'y pense, j'ai oublié de donner une adresse indispensable pour tester son installation SSL, je vais corriger ça.
C'est ici : https://www.ssllabs.com/ssltest/ (https://www.ssllabs.com/ssltest/)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 13:56
Là c'est pas du local tu sais voir ma config cypher avec le test ssl labs.

Attention une chose assez déroutante pour les non initiés c'est que le répertoire est caché avec tout ses fichiers y compris les fichiers qui servent pour les certificats SSL.

Donc peut-être mettre une commande directe via VIM ou autre trucs pour éditer et après ils doivent absolument récupérer les chemins indiqués par putty ou autre ligne de commande sinon ils ne les retrouveront plus.

La commande
Code
chmod +x .acme.sh 
ne la met pas en option car on doit rendre exécutable acme donc il vaut mieux la mettre dans le déroulement des opérations.

Sinon rien à dire pour Cloudfare et acme c'est enfantin avec ton tuto :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 14:05
Fais attention, tu ne devrais plus autoriser TLSv1, ce protocole n'est plus jugé comme sûr.
Enfin, c'est toi qui voit.
Pareil pour les ciphers, il faut désactiver les ciphers avec échange de clés s'appuyant sur RSA, c'est des ciphers qui ne sont plus sûrs non plus.
Par contre, le cipher 3DES est obsolète, il faut le bannir !


Ah oui, c'est vrai, le dossier est caché.
J'ai tellement l'habitude de l'utiliser que j'en ai oublié de dire qu'il est caché... :-[


Sinon, pour rendre exécutable le truc, je l'ai déjà dit.
Ca dépend des OS. Avec un OS il n'y a rien à faire, sinon avec un autre, il faut rendre exécutable.

Regarde, tu verras que ça y est : :)
Citation
Vous devriez obtenir l'aide de acme.sh à l'écran.
Sinon, si l'exécution du script refuse de se lancer, entrez ce qui suit et retentez :
Code
chmod +x .acme.sh


Je vais ajouter de suite cette histoire de dossier caché.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 14:10
Sinon, pour rendre exécutable le truc, je l'ai déjà dit.Ca dépend des OS. Avec un OS il n'y a rien à faire, sinon avec un autre, il faut rendre exécutable.
Mets le par défaut même si ils le font deux fois rien de grave au moins on sera certain que c'est correct.

Tu peux effacer les commentaires pour laisser ton tuto propre :) pas de soucis :)

Fais attention, tu ne devrais plus autoriser TLSv1, ce protocole n'est plus jugé comme sûr.Enfin, c'est toi qui voit.Pareil pour les ciphers, il faut désactiver les ciphers avec échange de clés s'appuyant sur RSA, c'est des ciphers qui ne sont plus sûrs non plus.Par contre, le cipher 3DES est obsolète, il faut le bannir !
Oui c'est pour cela que je demandais ta ligne de cyphers :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 14:13
Tu peux effacer les commentaires pour laisser ton tuto propre :) pas de soucis :)

Meuh non, c'est bon, ça concerne acme.sh ;)

Par contre, relis mon post juste au dessus, j'ai édité pour dire ce qui ne va pas avec ton site test.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 14:20
Par contre, relis mon post juste au dessus, j'ai édité pour dire ce qui ne va pas avec ton site test.
Ok je vais regarder cela tout a l'heure et mettre mes autres domaines en wilcard aussi.

Il faut 15 minutes pour que les dns soient pris en compte entre Cloudfare et Gandi cela va très vite enfin pour moi :)

Puis comme je dois remettre un wampServer sur un autre PC je testerai ta méthode pour Windows :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 14:28
Ca y est, tuto mis à jour. :)

15 minutes ? Tout ça ?!
La vache, moi je trouve ça long.
Lets Encrypt interroge directement le DNS du domaine, le DNS autoritaire, ça devrait donc être plus rapide.


Sinon, pour ta config SSL, je te conseille ceci :
Code
SSLEngine on
SSLProtocol All -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:CHACHA20-POLY1305-SHA256:!RSA:!RC4:!RC2:!CAMELLIA:!3DES:!DES:!IDEA:!SEED:!MD5:!aNULL:!eNULL:!EXP:!DHE
SSLHonorCipherOrder on
Après, tu fais ce que tu veux. Si tu veux utiliser TLSv1, libre à toi. ;)


Attention avec Windows, tu vas être obligé d'utiliser Cygwin. Mais tu verras, ça marche bien.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 14:34
15 minutes ? Tout ça ?!La vache, moi je trouve ça long.Lets Encrypt interroge directement le DNS du domaine, le DNS autoritaire, ça devrait donc être plus rapide.
Pour la propagation normale c'est rapide.

Pour la propagation des txt pour les clés 30 secondes mais je laisse les 2 minutes.

Merci pour les cyphers là je dois y aller je regarde cela ce soir.

Celui qui s'y perd dans le tuto il lui faudra une superbe paire de lunettes  ^-^

Enfin pour moi super et merci quel gain de temps :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 14:38
Pour la propagation normale c'est rapide.

Pour la propagation des txt pour les clés 30 secondes mais je laisse les 2 minutes.

Ah oui, d'accord ! Tu parles de la propag "normale".
Sinon oui, pour les enregistrements TXT c'est très rapide. C'est même immédiat.
Mois non plus je ne touche jamais aux 2 minutes, y a pas le feu. ;)


Merci pour les cyphers là je dois y aller je regarde cela ce soir.

Celui qui s'y perd dans le tuto il lui faudra une superbe paire de lunettes  ^-^

Enfin pour moi super et merci quel gain de temps :)

Merci, c'est gentil. :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 18:32
Voilà mes domaines sont faits pour le serveur vds :)

J'ai du faire quelques modifications sur les dns de Cloudfare pour un domaine car il n'a pas reconnu mes entrées type A donc j'ai du refaire manuellement mais rien de bien grave.

Bon une chose importante pour les novices il faut redémarrer apache après la mise en place des certificats.

J'ai modifié mes cyphers mais là il doit encore avoir moyen d'améliorer cela.

:)

Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 18:59
J'ai du faire quelques modifications sur les dns de Cloudfare pour un domaine car il n'a pas reconnu mes entrées type A donc j'ai du refaire manuellement mais rien de bien grave.

Fais très attention avec CloudFlare, il faut que tes enregistrements A ne passent pas par le proxy CloudFlare.
Si tu as ce nuage sur les enregistrements, c'est pas bon : (https://static.chez-oim.org/tuto_acme/cd_nopass.png)
Il faut que le nuage soit comme ça : (https://static.chez-oim.org/tuto_acme/cd_pass.png)



Sinon, oui, bien entendu, il faut recharger Apache quand on modifie sa configuration, donc quand on installe un certificat SSL.
De toute façon, je vais faire un tuto Apache pour avoir une config SSL solide. C'est pour bientôt.
Si j'ai 5 minutes, je ferai aussi le tuto pour Postfix et Dovecot.


Autrement, ta config va bien. Il n'y a pas de faiblesses ou vulnérabilités SSL.
Bon, moi, je suis beaucoup plus parano et donc beaucoup plus strict. Mais ta config est bonne.
Si j'étais toi, je créerais une clé Diffie-Hellman en prévision du tuto SSL Apache qui sera bientôt là. ;)

C'est simple avec openssl :
Code
openssl dhparam -out dh-4096.key 4096
Attention, c'est long, très long !
Même une machine puissante mettra un certain temps à générer une clé Diffie-Hellman.

Sinon tout va bien en attendant, ta config est bonne. :)
Tu as choisi de supporter les protocoles TLSv1 et TLSv1.1, mais bon, c'est toi qui voit...

Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 19:07
Fais très attention avec CloudFlare, il faut que tes enregistrements A ne passent pas par le proxy CloudFlare.
Oui cela je le sais pas de soucis mais si tes DNS sont mauvais cela ne fonctionnera pas.

Tu as choisi de supporter les protocoles TLSv1 et TLSv1.1, mais bon, c'est toi qui voit...

Pour le V1 il y a une vulnérabilité mais c'est assez mitigé quoique les vieux navigateurs je crois qu'il faut laisser tomber tant pis.

Il faudrait peut-être mettre le V3 en plus non ?

:)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 19:18
Pour le V1 il y a une vulnérabilité mais c'est assez mitigé quoique les vieux navigateurs je crois qu'il faut laisser tomber tant pis.

Non, ce n'est pas mitigé. TLSv1 est fragile et ça ne sera pas corrigé. TLSv1 est devenu fragile parce-que la technologie évolue, on n'y peut rien.
Le plus gros risque, c'est la NSA et d'autres services de renseignements. Faut pas s'inquiéter, c'est pas le voisin qui va s'incruster dans la connexion SSL. ^-^


Il faudrait peut-être mettre le V3 en plus non ?

Tu parles de SSLv3 ?! Surtout pas, jamais !
Le SSL est un protocole obsolète, il faut l'abandonner, le bannir !
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 19:24
Tu parles de SSLv3 ?! Surtout pas, jamais !Le SSL est un protocole obsolète, il faut l'abandonner, le bannir !
Non surtout pas je parle de TLS 1.3 :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 19:33
Ah d'accord !
TLSv1.3 serait apparemment en version finale.

Pour test, sur du local, pas de problème. On peut mettre TLSv1.3.
Par contre, sur un site en production, je conseille d'attendre un peu. Ce nouveau protocole n'a pas encore fait ses preuves. Il faut attendre un peu.

Si tu as peur parce-que ton site ne supporte que le TLSv1.2, tu t'inquiètes pour rien. Ici aussi, c'est pareil.
Tous les navigateurs modernes connaissent ce protocole et n'auront pas de mal à se connecter au site. Internet Explorer 6, c'est fini ! ^-^
De toute façon, c'est toujours Internet Explorer qui ne supporte pas les nouveaux protocoles. Microsoft fait exprès pour que les gens changent de Windows.
Sinon, avec TLSv1.2, il suffit d'installer Firefox ou Chrome sur son Windows XP et c'est compatible ! :)

Il n'y a que Microsoft qui ne fait pas d'efforts en matière de sécurité.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 29 novembre 2018, 19:48
Ok je vais finaliser tout cela et ce Week end je testerai sur Wamp.

C'est déjà une bonne chose de faite depuis le temps que je devais le faire je vais pouvoir gérer mes sous domaines comme je veux.

Ah oui je note ici je dois faire le Cron de renouvellement pour être tranquille :)

Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 29 novembre 2018, 20:05
Si tu as installé acme.sh sur ton serveur, il renouvellera le certificat tout seul.
Il faut juste vérifier avec une cron que le certificat est renouvelé et le copier dans le dossier que tu utilises pour le SSL.
Ca aussi, c'est le gros avantage de acme.sh, tu n'as rien à faire, il se charge de tout. ;)

Pour ce qui est du wildcard, c'est un énorme avantage. On n'est plus obligé de déclarer les sous domaines sur un certificat que tout le monde peut voir.
En plus, cerise sur le gâteau, tu peux créer un nouveau sous-domaine après le certificat. :)

Avant, les certificats wildcard étaient vendus une petite fortune !
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 12:10
Bonjour,

Bon là je passe en Windows et pas si simple car pleins d'erreurs.

Pour installer Cygwin il faut mettre direct donwnload et pas proxy sinon erreurs de download dans les paquets.

Installation de acme via curl impossible erreur 60 donc je dois faire des investigations :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 12:19
Évidemment, il faut cocher la case proxy seulement si tu passes par un proxy.
Le plus simple est de laisser comme c'est à l'installation.

Par contre, je ne connais pas l'erreur 60 de cURL.
Encore une facétie de Windows 10 ? Sur mon Win 7 c'est passé comme une lettre à la poste.

Sinon, installe Wget à la place.

Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 12:20
Sinon, installe Wget à la place.
Commande bash incorrecte comme retour d'erreurs :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 12:24
Oh !
Tu as bien installé le Wget de la rubrique Web ?
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 12:25
Je vais tout reprendre pour Cygwin complètement.

Je te tiens au courant :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 12:28
D'accord. :)

Si c'est pas toi qui a fait une connerie, je suis sûr que c'est ton Win 10 fout encore la merde.
Quelle saleté cet OS !
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 12:46
Voilà trouvé il faut exécuter le Terminal Cygwin en mode Administrateur :)

Maintenant tout est installé.

Je vais voir pour trouver un domaine bidon de test :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 12:54
Ah d'accord, c'était ça la surprise de Win 10 ? ::)

Je vais indiquer ça dans le tuto.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 12:55
C'était ou tes domaines bidons de test ?

:)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 13:03
Vas chez Freenom (https://www.freenom.com/fr/index.html?lang=fr), tu pourras avoir un domaine gratuit pour tes tests.

Attention !
C'est juste pour des tests ou en local ! Freenom ne doit pas être utilisé sur un site en production !
Ils récupèrent les domaines comme ils veulent sans aucune justification.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 13:05
Ok sinon je regarderai après un Ndd chez Gandi en promo c'est 2 euros pour un an :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 13:09
Pour faire des tests, Freenom va bien.
Sinon utilise un sous domaine d'un de tes domaines.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 13:19
Il faut que je remette une configuration Apache propre car c'est un vrai bordel. Je dois scinder tout les hosts etc.. car là je n'ai qu'un seul fichier qui gère le SSL et le 80 et je préfère une configuration comme j'ai sur mes dédiés.

Bon je te dirai ce qu'il en est pour la suite mais côté de ton tuto juste droits Admins et ne pas utiliser le mode proxy par défaut mais direct download à part cela là tout est parfait :)

Suite ce soir :)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 13:27
Bon, j'attends de tes nouvelles. :)

Ca y est, le tuto est à jour pour l'admin. C'est juste pour la console Cygwin, hein ? Pas pour le programme d'installation/mise à jour ?
Je vais ajouter l'histoire du proxy.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 18:12
C'est juste pour la console Cygwin, hein ?
Oui en admin juste pour le mode console et pour l'Install mode normal.

Sur les deux pc de tests on a installé les certificats avec WampServer et pas de soucis tout est nickel.

Une chose cependant complète ton tuto pour que Cygwin installe wget en mode web car sur les 2 PC l'install en mode Curl ne passe pas pour acme. On utilise le mode wget et c'est nickel.

Pour le reste WampServer doit être configuré en mode normal pour les utilisateurs "lambda" avec l'accès en externe donc attention au pare feu de le déclarer et après on appelle les certificats et on les installe comme pour linux et pas de soucis.

Moi ici sur un pc avec une configuration complexe en externe et intranet pas de soucis non plus.

:)


Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 18:25
Et ben voilà, c'est merveilleux ! :)

Bon, je vais ajouter Wget vu que cURL semble poser problème.
C'est bizarre, avec mon Win 7 je n'ai pas de problème. En plus, je préfère largement cURL, il est bien plus puissant. Ce truc est très efficace, je l'adore ! D'ailleurs, je l'ai installé sur mon Windows tellement il me plait.
Wget, c'est le truc juste bon pour piller les pages d'un site sans faire attention au nombre de requêtes.

Merci ton feedback Alain ! :)


P.S. :
J'ai remarqué que smf-fr.com avait un très joli certificat wildcard. ;)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 18:34
Pas de soucis maintenant ton tuto est au poil et approuvé :)

Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le vendredi 30 novembre 2018, 19:34
Voilà j'ai fini tous mes Domaines sans le moindre soucis tout est repassé en TLS 1.2 et en wilcard on verra la logique des connexions pour ceux qui ont encore des trottinettes :)

En ce qui concerne le TLS 1.3 je vois que cela avance pas mal et que cela va bientôt arriver dans la liste protocolaire approuvée.

:)


Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 30 novembre 2018, 19:46
Tu n'auras pas de problèmes avec un certificat Wildcard. Ca fait des années que ça existe, sauf que avant Lets Encrypt, ça coutait très cher !
Ici, on a du Wildcard depuis que ça existe chez Lets Encrypt et aucun problème. ;)

Pour le TLSv1.2 comme seul protocole accepté, les seuls emmerdements que ça peut causer, c'est chez les robots ! Ils sont nombreux à utiliser des vieux scripts tous pourris qui ne sont pas mis à jour.
Du coup, ça fait des robots en moins ! :)


TLSv1.3 est en version finale.
Il ne va donc pas tarder à sortir officiellement.

L'avantage de ce protocole, c'est qu'il n'existe pas encore de failles ou vulnérabilités, vu qu'il est tout neuf et pas encore étudié par les enfoirés du net.
Mais bon, ça viendra.

Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 03 janvier 2019, 16:27
Mise à jour du tuto suite à la mise à jour de Cygwin qui rend plus simple l'installation des paquets.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le mercredi 10 avril 2019, 08:35
Des captures écran ont été ajoutées pour ISPConfig.
Vous n'avez donc plus d'excuse si vous ne trouvez pas ! :ie:
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: maximus23 le jeudi 11 avril 2019, 00:21
Bonsoir,

Des captures pourquoi faire c'est vraiment très simple à faire et de plus une fois fait tout est automatique même plus besoins de regarder pour le renouvellement des certificats.

:)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 11 avril 2019, 01:07
Méfie toi, Alain.
Il existe des gens qui ne jurent que par des vidéos Youtube. Il ne comprennent rien, mais ils ont des images.
C'est la nouvelle mode ! ::)
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: Otomatic le jeudi 11 avril 2019, 09:35
Il existe des gens qui ne jurent que par des vidéos Youtube. Il ne comprennent rien, mais ils ont des images.
C'est la nouvelle mode
Nouvelle mode alacon, comme aurait dit mon regretté copain JCB.
Le pire que j'ai pu voir :
- Trois minutes et vingt-deux secondes de vidéo pour expliquer comment changer de version PHP sur Wampserver  :kl:
Une (petite) ligne de texte suffit.
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: JCFM le jeudi 11 avril 2019, 10:00
Méfie toi, Alain.
Il existe des gens qui ne jurent que par des vidéos Youtube. Il ne comprennent rien, mais ils ont des images.
C'est la nouvelle mode ! ::)

Je suis désolé majesté, mais une fois de plus je vais vous contredire ! :if:

Il y a quatre ans, quand je ne connaissais que dalle pour faire un site, j’ai bien entendu consulter les tutos sur la toile, je me suis même inscrit sur un site pour prendre des cours, mais j’ai aussi consulté certaines vidéos sur YouTube !
Certes, comme partout, certains se prennent pour des Cador et réalisent de vraies merdes incompréhensibles, bégaye, manque de précision utile, etc..
Par contre, comme pour les tutos, certaines vidéos m’ont bien aidé !

C’est pour cela, que je suis reconnaissant à tous ceux qui partagent en se mettant dans la peau d’un débutant ou qui renvoient sur des Tutos afin que leurs explications soient compréhensibles !

À ce sujet, j’ai créé un répertoire de favori, pour mettre en mémoire certaines vidéos, qui expliquent très très bien, comment faire fonctionner Wampserver en HTTPS.

Bien entendu, chère majesté, dans ce répertoire figure, votre tuto à ce sujet ainsi que celui d’Oto !

Comme tu peux le constater, Sa Majesté des Bouches-du-Rhône, je suis organisé. :jw:

Pour le moment, j’ai la tête dans un site « commercial », pour un ami (encore un, qu’est-ce que j’ai comme ami), bien obligé de reconnaître qu’avec Wordpress et toutes les extensions qui sont disponibles, bien utilisées, surtout pour la sécurité, c’est un jeu d’enfant, un simple jeu de construction où beaucoup se prennent pour des Cadors alors qu’il n’y a pas lieu.

Dans tous les cas, il est évident que Wampserver est vraiment un outil extraordinaire !
Quel que soit le site pondu avec, lors du transfert chez l’hébergeur, aucun souci et, pourtant le site que tu connais, très lourd, hyper sécurisé, avec une base de données hyper chargée, aucun problème, pas une virgule qui coince !

Un clic dans le paramétrage de l’hébergement et le site se retrouve en HTTPS, au bout de 10 minutes !

Ouf, j'ai fini
 :ha:




Messages du même membre fusionnés car compris dans le délai d'édition. (Vous avez 30 minutes pour éditer)

J'ai oublié de signaler, lors du transfert d'un site chez un hébergeur, j'utilise excellent log 
Search-Replace-DB-master/ ...pour la base de données
Là aussi, ras, la seule où je n'ai aucun souci !
 :ha:



Messages du même membre fusionnés car compris dans le délai d'édition. (Vous avez 30 minutes pour éditer)

Une explication au sujet de la base de données hyper chargée ! :if:

Pour la recherche de proximité, j'utilise "GEONAMES" !
Avec tous les patelins de France et de Navarre, pays d'Europe inclus et les codes postaux !
Pas le choix, Google Maps est devenu payant depuis juillet 2018.

Inscription illimitée, avec toutes les coordonnées, présentation, etc., photo et vidéo illimitée.

Une sauvegarde automatique s'effectue toutes les 24 heures sur le clou, et je garantis que celle-ci dure un certain moment.

Je n'ai rien inventé, j'utilise tout simplement les extensions
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: JCFM le jeudi 11 avril 2019, 10:41
Donc, comme je suis un vieux con, je vais me répéter ! :jr:
Il y a quatre années, je ne connaissais queue dalle en site .............. :kg:
Et c'est grâce à des personnes hypers sympas, aux conseils éclairés, que j'ai eu la possibilité de "pondre" mes chefs d'œuvres !  :jw:

 :ih: ;D :hc:
 :ha:
Titre: Re: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 11 avril 2019, 11:03
Bah dis donc, qu'est-ce que t'es bavard aujourd'hui. :o

Je partage l'avis de Oto.
Les vidéos, ça m'emmerde parce-que c'est très souvent bâclé. Nos jeunes ne savent plus écrire.
En plus, le plus emmerdant, c'est qu'on passe sont temps à faire pause, essayer, tester, re-pause, essayer, tester, etc, etc, etc...

Rien ne vaut un bon vieux tuto gratté à la main, au stylo (au clavier quoi).
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: Manu Tremblin le lundi 02 mars 2020, 11:10
Bonjour à tous,

Merci beaucoup pour ce super tuto!
J'utilise un windows server et pouvoir utiliser acme.sh avec Cygwin est un vrai bonheur!

J'ai pu créer tous mes certificats wildcard, j'ai seulement un peu appréhension quand viendra l'heure du renouvellement dans un mois.
Y'a t-il un moyen de vérifier que les renouvellements automatiques sont bien en place sur Cygwin?
Faut-il créer des taches CRON en plus de ce tuto?

Merci encore et bonne journée.
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le lundi 02 mars 2020, 12:57
Merci à toi d'apprécier ce tuto. :)


Si tu veux voir si une cron a été préparée, ouvre Cygwin et entre ceci : (normalement acme.sh crée une cron si tu as bien installé tous les paquets requis)
Code
crontab -l
Tu devrais voir tout à la fin l'heure d'exécution journalière de acme.sh

Le gros problème de Cygwin, c'est qu'il faut le laisser tourner en permanence pour que sa cron puisse s'exécuter.
Sinon, si il est fermé, la cron ne marchera pas.

Ou alors tu crées une cron Windows qui lancera Cygwin un peu avant que la cron de acme.sh ne se lance.
Il me semble que la cron Windows peut interrompre le programme qu'elle a lancé après un certain temps.
Tu pourrais donc lancer et stopper Cygwin à ta guise.
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: lagrace le dimanche 17 mai 2020, 17:04
bonjour

encore moi lol arrive a cette etape ca ne veut pas installer  les serveur ftp pour le dowload pour les mises a jours et autres  voir l image je suis sur windows 7 64 bits


(https://static.chez-oim.org/uploads/member_1/1589754062.png)


(image hébergée ici [Alex])
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le lundi 18 mai 2020, 00:28
Si il s'agit de Windows 10, il est possible que Cygwin soit bloqué par le firewall.
Dans cette situation, il faut aller dans le Firewall et autoriser C:\cygwin\_install\setup-x86_64.exe


Qu'est-ce qu'un .htaccess fout sur ton bureau ?! :-\
Tu n'autorises quand même pas l'accès à ton bureau, hein ? Surtout que je reconnais certains trucs sortis de mon dépôt Github... :kp:
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: lagrace le lundi 18 mai 2020, 11:13
bonjour

nonon alex sait quand je doit lui faire des modifs pour pas a chaque fois aller le chercher via mon ftp sur mon autre becane hihi


ps=  j ai indique dans mon message precedent je suis sur windows 7  j aime pas windows 10 lol

j ai ajoute C:\cygwin\_install\setup-x86_64.exe  au path   mais rien ne change
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: Otomatic le lundi 18 mai 2020, 12:27
Bonjour,
Peut-être tout simplement que Cygwin ne veut pas s'installer sur un système obsolète et plus mis à jour ou qu'il manque des “dépendances” comme des paquetages redistribuables C++ ou .net
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le lundi 18 mai 2020, 12:31
Non, c'est pas ça du tout, je suis sous Win7 aussi et ça marche très bien. :if:
Ca doit être une histoire de chemins, à vérifier !
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: lagrace le lundi 18 mai 2020, 16:25
voici le debut du fichier log pour l erreur
Code
/18 12:03:30 Starting cygwin install, version 2.904
2020/05/18 12:03:30 User has backup/restore rights
2020/05/18 12:03:30 io_stream_cygfile: fopen(/etc/setup/setup.rc) failed 2 No such file or directory
2020/05/18 12:03:30 Current Directory: C:\Cygwin\_install
2020/05/18 12:03:30 Could not open service McShield for query, start and stop. McAfee may not be installed, or we don't have access.
2020/05/18 12:03:33 source: network install
2020/05/18 12:03:35 root: C:\cygwin system
2020/05/18 12:03:36 Selected local directory: C:\Cygwin\_install
2020/05/18 12:03:37 net: Preconfig
2020/05/18 12:03:37 connection error: 12057 fetching https://cygwin.com/mirrors.lst
2020/05/18 12:03:37 mbox note: Could not download mirror sites list
2020/05/18 12:08:50 site: ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/sources.redhat.com/cygwin/
2020/05/18 12:08:53 connection error: 550 Failed to change directory.   fetching ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/sources.redhat.com/cygwin/x86_64/setup.zst.sig
2020/05/18 12:08:54 connection error: 550 Failed to change directory.   fetching ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/sources.redhat.com/cygwin/x86_64/setup.zst
2020/05/18 12:08:58 io_stream_cygfile: fopen(/etc/setup/timestamp) failed 2 No such file or directory
2020/05/18 12:08:58 io_stream_cygfile: fopen(/etc/setup/installed.db) failed 2 No such file or directory
2020/05/18 12:08:58 solving: 37 tasks, update: yes, use test packages: no
2020/05/18 12:19:41 solving: 76 tasks, update: no, use test packages: no
2020/05/18 12:19:41 Augmented Transaction List:
2020/05/18 12:19:41    0 install base-cygwin             3.8-1          
2020/05/18 12:19:41    1 install cygwin                  3.1.4-1        
2020/05/18 12:19:41    2 install libpipeline1            1.5.1-1        
2020/05/18 12:19:41    3 install libpopt-common          1.16-2         
2020/05/18 12:19:41    4 install terminfo                6.1-1.20190727 
2020/05/18 12:19:41    5 install tzdata                  2020a-1        
2020/05/18 12:19:41    6 install publicsuffix-list-dafsa 20200326-1     
2020/05/18 12:19:41    7 install libssh-common           0.8.7-1        
2020/05/18 12:19:41    8 install libcrypt2               4.4.4-1        
2020/05/18 12:19:41    9 install libnghttp2_14           1.37.0-1       
2020/05/18 12:19:41   10 install libbrotlicommon1        1.0.7-1        
2020/05/18 12:19:41   11 install libexpat1               2.2.6-1        
2020/05/18 12:19:41   12 install libwrap0                7.6-26         
2020/05/18 12:19:41   13 install libnettle6              3.4.1-1        
2020/05/18 12:19:41   14 install zlib0                   1.2.11-1       
2020/05/18 12:19:41   15 install which                   2.20-2         
2020/05/18 12:19:41   16 install run                     1.3.4-2        
2020/05/18 12:19:41   17 install mintty                  3.1.4-1        
2020/05/18 12:19:41   18 install login                   1.13-1         
2020/05/18 12:19:41   19 install libtasn1_6              4.14-1         
2020/05/18 12:19:41   20 install libsigsegv2             2.10-2         
2020/05/18 12:19:41   21 install libpcre1                8.44-1         
2020/05/18 12:19:41   22 install liblzma5                5.2.4-1        
2020/05/18 12:19:41   23 install libiconv2               1.14-3         
2020/05/18 12:19:41   24 install libgmp10                6.2.0-2        
2020/05/18 12:19:41   25 install libgcc1                 9.3.0-2        
2020/05/18 12:19:41   26 install libffi6                 3.2.1-2        
2020/05/18 12:19:41   27 install libbz2_1                1.0.8-1        
2020/05/18 12:19:41   28 install libargp                 20110921-3     
2020/05/18 12:19:41   29 install ipc-utils               1.0-2          
2020/05/18 12:19:41   30 install hostname                3.13-1         
2020/05/18 12:19:41   31 install editrights              1.03-1         
2020/05/18 12:19:41   32 install dash                    0.5.9.1-1      
2020/05/18 12:19:41   33 install terminfo-extra          6.1-1.20190727 
2020/05/18 12:19:41   34 install libbrotlidec1           1.0.7-1        
2020/05/18 12:19:41   35 install libmetalink3            0.1.2-1        
2020/05/18 12:19:41   36 install file                    5.32-1         
2020/05/18 12:19:41   37 install libintl8                0.19.8.1-2     
2020/05/18 12:19:41   38 install libhogweed4             3.4.1-1        
2020/05/18 12:19:41   39 install libcom_err2             1.44.5-1       
2020/05/18 12:19:41   40 install libunistring2           0.9.10-1       
2020/05/18 12:19:41   41 install libstdc++6              9.3.0-2        
2020/05/18 12:19:41   42 install libmpfr6                4.0.2-2p6      
2020/05/18 12:19:41   43 install getent                  2.18.90-4      
2020/05/18 12:19:41   44 install _autorebase             001007-1       
2020/05/18 12:19:41   45 install libncursesw10           6.1-1.20190727 
2020/05/18 12:19:41   46 install libkrb5support0         1.15.2-2       
2020/05/18 12:19:41   47 install sed                     4.4-1          
2020/05/18 12:19:41   48 install libuuid1                2.33.1-2       
2020/05/18 12:19:41   49 install libsmartcols1           2.33.1-2       
2020/05/18 12:19:41   50 install libpopt0                1.16-2         
2020/05/18 12:19:41   51 install libp11-kit0             0.23.20-1      
2020/05/18 12:19:41   52 install libiconv                1.14-3         
2020/05/18 12:19:41   53 install libgdbm4                1.13-1         
2020/05/18 12:19:41   54 install libattr1                2.4.48-2       
2020/05/18 12:19:41   55 install diffutils               3.5-2          
2020/05/18 12:19:41   56 install alternatives            1.3.30c-10     
2020/05/18 12:19:41   57 install libidn2_0               2.2.0-1        
2020/05/18 12:19:41   58 install libdb5.3                5.3.28-2       
2020/05/18 12:19:41   59 install vim-minimal             8.2.0486-1     
2020/05/18 12:19:41   60 install ncurses                 6.1-1.20190727 
2020/05/18 12:19:41   61 install libreadline7            7.0.3-3        
2020/05/18 12:19:41   62 install less                    551-1          
2020/05/18 12:19:41   63 install info                    6.7-1          
2020/05/18 12:19:41   64 install libk5crypto3            1.15.2-2       
2020/05/18 12:19:41   65 install libblkid1               2.33.1-2       
2020/05/18 12:19:41   66 install cygutils                1.4.16-2       
2020/05/18 12:19:41   67 install p11-kit-trust           0.23.20-1      
2020/05/18 12:19:41   68 install p11-kit                 0.23.20-1      
2020/05/18 12:19:41   69 install libpsl5                 0.21.0-1       
2020/05/18 12:19:41   70 install gawk                    5.1.0-1        
2020/05/18 12:19:41   71 install coreutils               8.26-2         
2020/05/18 12:19:41   72 install libkrb5_3               1.15.2-2       
2020/05/18 12:19:41   73 install libfdisk1               2.33.1-2       
2020/05/18 12:19:41   74 install bash                    4.4.12-3       
2020/05/18 12:19:41   75 install libgssapi_krb5_2        1.15.2-2       
2020/05/18 12:19:41   76 install util-linux              2.33.1-2       
2020/05/18 12:19:41   77 install tzcode                  2019c-1        
2020/05/18 12:19:41   78 install xz                      5.2.4-1        
2020/05/18 12:19:41   79 install gzip                    1.8-1          
2020/05/18 12:19:41   80 install groff                   1.22.4-1       
2020/05/18 12:19:41   81 install grep                    3.0-2          
2020/05/18 12:19:41   82 install findutils               4.6.0-1        
2020/05/18 12:19:41   83 install crypto-policies         20190218-1     
2020/05/18 12:19:41   84 install ca-certificates         2.40-1         
2020/05/18 12:19:41   85 install bzip2                   1.0.8-1        
2020/05/18 12:19:41   86 install man-db                  2.7.6.1-1      
2020/05/18 12:19:41   87 install rebase                  4.4.4-1        
2020/05/18 12:19:41   88 install cron                    4.1-65         
2020/05/18 12:19:41   89 install base-files              4.3-2          
2020/05/18 12:19:41   90 install libssl1.0               1.0.2t-1       
2020/05/18 12:19:41   91 install libgnutls30             3.6.9-1        
2020/05/18 12:19:41   92 install libssl1.1               1.1.1f-1       
2020/05/18 12:19:41   93 install tar                     1.29-1         
2020/05/18 12:19:41   94 install wget                    1.19.1-2       
2020/05/18 12:19:41   95 install libssh4                 0.8.7-1        
2020/05/18 12:19:41   96 install libopenldap2_4_2        2.4.50-1       
2020/05/18 12:19:41   97 install openssl                 1.1.1f-1       
2020/05/18 12:19:41   98 install libsasl2_3              2.1.27-1       
2020/05/18 12:19:41   99 install libcurl4                7.66.0-1       
2020/05/18 12:19:41  100 install curl                    7.66.0-1       
2020/05/18 12:19:41  101 install socat                   2.0.0-b9-1     

bon voila ou j en suis  j ai rentrer une url manuellement et ca passe

la liste se trouve ici   https://cygwin.com/mirrors.lst

pour oto si j avais pas tous les redidtribuables d installes j aurais du soucis avec wampserver


la je suis avec cloudfare qui veut pas me prendre  mon domaine gratuit  noip donc je me suis dit je vais essaye en achetant un domaine chez grandi sait la meme chose  et chez freedomm   il me dit que le domaine est libre et des que je click sur acheter un truc dans le genre ca me dit que tous les domaines gratuit sont indisponible lol  je crois que je suis ne avec la poisse moi pourtant le tuto de alex est bien ecrit et lisible lol rien de compliquer
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: lagrace le lundi 18 mai 2020, 22:15
ca avance bien  le domaine grandi est pris par clouflare fallait surement le temps que ca se mette en place ya une partie du tuto que je pige pas pour savoir ce qu il manque comme enregistrement la partie qui suit merci

Observez attentivement cette page et notez les enregistrements que vous devrez recréer.
Vous pouvez recréer immédiatement les enregistrements manquants en utilisant le champ en haut de page (2).

je n ai pas trouver le bouton modifier mon message desole
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: Otomatic le mardi 19 mai 2020, 07:27
Bonjour,

Could not open service McShield for query, start and stop. McAfee may not be installed, or we don't have access.

McAfee mal désinstallé ? Apparemment, il reste des scories.
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le mardi 19 mai 2020, 17:02
Oui, je ne vois vraiment pas ce que McAfee vient faire là. :-\
C'est souvent ce qui arrive quand on télécharge ses logiciels ailleurs que sur le site officiel...
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: lagrace le mardi 19 mai 2020, 17:08
moi non plus je sais pas ce que ca fait la  et  j arrive a avoir la liste quand je desactive le serveur dns unbund  va savoir pourquoi
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le mardi 19 mai 2020, 17:15
Quand c'est comme ça, tu vires tout et tu recommences depuis le début.
Si tu as installé des saloperies, il faut absolument tout virer et recommencer...

Pourtant, j'ai mis à jour mon Cygwin il y a quelques temps et il est propre, rien à signaler.
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: lagrace le jeudi 11 juin 2020, 20:33
bonsoir tout est ok

une question pour la mise en place des certificats je suppose que sais la meme marche a suivre que dans ton autre tuto merci
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 11 juin 2020, 20:38
Ah oui, tu stockes tes certificats là où tu veux (dans les tutos, c'est quasi toujours pareil) et tu pointes dessus avec ta config Apache.
Avec acme.sh le chemin change un peu, mais ce n'est pas un obstacle. ;)

Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 17 juillet 2020, 15:20
ATTENTION aux utilisateurs de Freenom !

Cloudflare n'autorise plus les certificats SSL pour les domaines gratuits de Freenom ! (.cf, .ga, .gq, .ml, .tk)
Vous obtiendrez systématiquement une erreur...
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le vendredi 08 octobre 2021, 12:41
Mise à jour du tuto suite à la fin de vie du certificat racine DST Root CA X3 au profit de ISRG Root X1.
Mise à jour également afin d'éviter l'utilisation de acme.sh avec ZeroSSL comme autorité de certification.
Et enfin, dernière mise à jour pour l'API ISPConfig de acme.sh et l'erreur "Client ID is not numeric".

Quelques captures écran ont également été mises à jour afin de coller à la réalité d'aujourd'hui.


Ouf ! Ca c'est fait. :jq:
Je vais pouvoir sortir et courir après les filles. :kq:
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: Goldenscarab le samedi 15 janvier 2022, 20:33
Bonjour, je suis sous cygwin je suis le protocole a la lettre
au moment de générer le certificat il me sort un beau
"Can not find account id url".

Je suis tristesse!
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le samedi 15 janvier 2022, 20:52
Salut,

Tu as bien vérifié que les dossiers de acme.sh ne sont pas protégés en écriture ?
Si c'est le cas, exécute Cygwin en mode admin, Clic droit sur l'icone Cygwin puis Exécuter en tant qu'administrateur.
Et règle ce problème d'écriture dans les dossiers acme.sh

Si les permissions d'écritures sont correctes, entre ceci et colle ici le résultat :
Code
acme.sh --debug 2 --issue -d example.com -d *.example.com --dns dns_cf
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: Goldenscarab le samedi 15 janvier 2022, 21:47
Toujours pas...
Temp pis, je continuerais d'entrée les données a la mano dans mon dns pour mon wildcard.
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le dimanche 16 janvier 2022, 19:47
Avec Cygwin, ça continuera à pas ne marcher, mais bon, c'est toi qui voit.
Vu que je n'ai pas le journal de debug demandé... :iz:
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: Otomatic le mercredi 26 janvier 2022, 11:05
Bonjour,

ApacheLounge à reçu le courriel suivant :

Citation
Hello,

Please immediately renew your TLS certificate(s) that were issued from
Let's Encrypt using the TLS-ALPN-01 validation method and the following
ACME registration (account) ID(s):

xxxxxxxxx

We've determined that an error made it possible for TLS-ALPN-01
challenges, completed before today, to not comply with certificate
issuance requirements. We have remediated this problem and will revoke
all unexpired certificates that used this validation method at 16:00 UTC
on 28 January 2022. Please renew your certificates now to ensure an
uninterrupted experience for your site visitors.

We apologize for any inconvenience this may cause. If you need support
in the renewal process, please comment on our forum post. Our staff and
community members are available to help:

https://community.letsencrypt.org/t/170449

Thank you,

The Let's Encrypt Team   

Réponse de ApacheLounge
All certificates issued in the last 90 days and validated with TLS-ALPN-01 challenge are affected. You need to (force) renew the certificate according to your ACME client’s directions.

At https://community.letsencrypt.org/t/170449 in the comments is also the way how to renew with mod_md.

!! It is advised by us to renew all your Let's Encrypt certificates.

Let's Encrypt will revoke all unexpired certificates that used this validation method at 16:00 UTC on 28 January 2022. Renew your certificates now to ensure an uninterrupted experience for your site visitors.
Citation de: Traduction
Tous les certificats émis au cours des 90 derniers jours et validés avec le défi TLS-ALPN-01 sont concernés. Vous devez (forcer) le renouvellement du certificat en suivant les instructions de votre client ACME.

Sur https://community.letsencrypt.org/t/170449 dans les commentaires, vous trouverez également la façon de renouveler avec mod_md.

! ! Nous vous conseillons de renouveler tous vos certificats Let's Encrypt.

Let's Encrypt révoquera tous les certificats non expirés qui ont utilisé cette méthode de validation à 16:00 UTC le 28 janvier 2022. Renouvelez vos certificats dès maintenant pour garantir une expérience ininterrompue aux visiteurs de votre site.
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 27 janvier 2022, 07:32
Oups ! Je vois seulement ça...

Mais qu'est-ce qui a bien pu se passer pour qu'ils révoquent si vite les certificats concernés ?!

Pour ce qui est de ce tuto, ça va, vu qu'il s'agit de certificats wildcard, la validation utilisée ne peut être que DNS-01.
Sinon, pour forcer le renouvellement d'un certificat, c'est très simple et ça se passe ici : https://chez-oim.org/index.php/topic,2171.0.html#post_renew (https://chez-oim.org/index.php/topic,2171.0.html#post_renew)


Pour le tuto MOD_MD de Apache, la validation par défaut est HTTP-01.
Sinon, pour forcer le renouvellement des certificats, ouvrez le fichier httpd.conf et recherchez la ligne MDRenewWindow pour la remplacer par la ligne suivante :
Code
MDRenewWindow 60d
Redémarrez Apache et attendez quelques minutes, ensuite remettez la ligne dans sont état d'origine et relancez Apache. Vous devriez avoir votre nouveau certificat.
Code
MDRenewWindow 30d

Et enfin, pour le tuto le.exe/le.pl la validation est HTTP-01.

Ca n'empêche que j'aimerais bien savoir ce qui s'est passé... :-\
Titre: Tuto Lets Encrypt: Obtenir un certificat SSL wildcard sous Windows ou Linux avec acme.sh et Cloudflare ou ISPConfig
Posté par: alex le jeudi 27 janvier 2022, 10:26
La parano a pris le dessus, j'ai quand même forcé le renouvellement des certificats chez-oim.org malgré l'absence de risques vu que la méthode de validation DNS-01 est utilisée. :je:

Code
acme.sh --renew -d chez-oim.org --ecc --dns dns_ispconfig --force

J'ai fait de même en local avec le module MOD_MD de Apache alors que je savais très bien que la validation HTTP-01 était utilisée... :-[

Code
MDRenewWindow 60d