Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.
Bonjour à tous,
Après une discussion matinale avec @PunKeel, j’ai appris que Let’s Encrypt fournissait maintenant des certificats ECDSA. Je suis intéressé car, les certificats ECDSA contrairement aux certificats RSA standards demandent beaucoup moins de puissances de calcul pour le traitement au niveau client et serveur. Tout bénef pour vous et vos visiteurs.
- An english translation is available here.
Bon, je vous préviens c’est un poil compliqué parce que ça utilise le client officiel qui n’est ni documenté, ni vraiment fait pour fournir ce genre de certificats. Mais c’est le client officiel et il est maintenu.
Dans un premier temps, récupérez le client Let’s Encrypt et lancez-le :
cd /etc git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help
Maintenant, dans la suite de la procédure, remplacez abyssproject.net et www.abyssproject.net par le nom de votre domaine.
Créez les dossiers nécessaires :
mkdir /etc/letsencrypt/live-ecdsa/ mkdir /etc/letsencrypt/live-ecdsa/abyssproject.net cd /etc/letsencrypt/live-ecdsa/abyssproject.net mkdir letmp
Attention, j’utilise la courbe secp384r1 dans l’exemple, elle devrait convenir à tous les usages. Vous pouvez voir toutes les courbes disponibles sur votre openssl avec la commande suivante :
openssl ecparam -list_curves
Maintenant, créez la clé privée pour votre certificat en indiquant la courbe que vous souhaitez utiliser :
openssl ecparam -genkey -name secp384r1 > privkey-p384.pem
Maintenant, créez un CSR, indiquez votre domaine correctement :
openssl req -new -sha256 -key privkey-p384.pem -subj "/CN=abyssproject.net" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:abyssproject.net,DNS:www.abyssproject.net")) -outform der -out csr-p384.der
Rendez-vous dans le dossier temporaire « letmp » et créez votre certificat avec Let’s Encrypt :
cd letmp /etc/letsencrypt/letsencrypt-auto certonly -a webroot --email mail@abyssproject.net --webroot-path /www/abyssproject.net/ --csr /etc/letsencrypt/live-ecdsa/abyssproject.net/csr-p384.der --renew-by-default --agree-tos cat 0001* > /etc/letsencrypt/live-ecdsa/abyssproject.net/chain.pem
Si l’opération réussi, vous devrez juste configurer le certificat ECDSA dans votre vhost nginx 🙂
ssl_certificate /etc/letsencrypt/live-ecdsa/abyssproject.net/chain.pem; ssl_certificate_key /etc/letsencrypt/live-ecdsa/abyssproject.net/privkey-p384.pem;
Un petit coup de reload à la fin de la manipulation :
service nginx reload
Et voilà votre site qui utilise un certificat ECDSA (L’outil de test) 🙂
Bonjour, Je vous remercie pour vos tutos!! J’ai installer l’hyperviseur Proxmox en local chez moi. Mon but serait de rendre proxmox accessible sur internet pour que j’ai acces a mes VM à distance, via open VPN installé sur pfsense comme sur ce tuto: https://blog.zwindler.fr/2020/03/02/deploiement-de-proxmox-ve-6-pfsense-sur-un-serveur-dedie/ Ce tuto est concu pour pour l’installation du systeme sur serveur dédié. Mon install se fait en local, chez moi.( 1pc proxmox ; 1 pc dns et proxy revert) Sur une 2eme machine en local dans le meme reseau privé j’ai installé le service bind pour la resolution de noms. Le service est configuré et fonctionnel.… Voir plus »
Bonjour, il faut pointer vers le répertoire web du serveur proxmox et il faut aussi qu’il pointe sur les ports 80 et 443 pour la validation de certificats avec let’s encrypt https://www.arowan.be/2016/04/18/certificat-lets-encrypt-sur-votre-hyperviseur-proxmox-update/
Bonjour, J’essaie désespérément de mettre ça en place sur mon rpi dans le but final d’en faire mon reverse proxy. Seul problème, je suis carrément noob en ce qui concerne linux … Bref, voici le point où je bloque. Quand je lance : openssl ecparam -genkey -name secp384r1 > privkey-p384.pem Il me répond : bash: privkey-p384.pem: Permission non accordée J’ai tenté avec une autre curve pour voir … pas mieux … J’ai tenté en faisant un sudo … pas mieux Du coup, impossible d’aller plus loin. Et je n’ai rien trouvé sur le net à ce sujet … Auriez-vous une… Voir plus »
Bonjour,
Hormis que c’est un problème de droit je ne peux pas en dire beaucoup plus.
Quand on installe un système il faut faire un
pour passer en root et éviter ce genre de problèmes 🙂
Et bien merci 🙂 Il semble que c’était exactement le problème …
J’avais dit être un noob 🙂 ça me facilitera la vie pour la suite !
Bonjour, Dans la suite, je retombe sur un problème : /etc/letsencrypt/letsencrypt-auto certonly -a webroot –email mail@monURL.fr –webroot-path /www/monURL.fr/ –csr /etc/letsencrypt/live-ecdsa/monURL.fr/csr-p384.der –renew-by-default –agree-tos retourne : /www/monURL.fr/ does not exist or is not a directory Faut-il installer apache avant ? Faut-il préparer autre chose ? Faut-il seulement créer le dossier ? J’ai seulement compilé nginx via ton script de compilation (sauf que je n’arrive même pas à voir 127.0.0.1 à partir du rpi, mais chaque chose en son temps)… Je sais cependant qu’il fonctionne parce que j’ai pu arrêter et redémarrer le service via : service nginx stop service nginx start J’arrive… Voir plus »
Bonjour,
Il faut créer le dossier sinon Let’s Encrypt ne le créera pas tout seul.
Superbe article, je l’ai utilisé pour mon site, ça fonctionne bien !!!
Juste une coquille à la ligne « /etc/letsencrypt/letsencrypt-auto cert… », ce n’est pas « /etc/… » mais « /opt/letsencrypt ». L’exécutable « letsencrypt-auto n’est pas dans « etc » mais « opt » 😉
Corrigé, merci 😉
Salut !
Y’a moyen de faire ça avec letsencrypt-auto sans créer de CSR ?
Pas pour l\’instant si j\’en crois les derniers topics que j\’ai trouvé sur la communauté officielle :/