Créer un certificat ECDSA avec Let’s Encrypt

//Créer un certificat ECDSA avec Let’s Encrypt
1/52/53/54/55/5 (2 votes, moyenne: 5,00 sur 5)
Loading...

Créer un certificat ECDSA avec Let’s Encrypt

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.

 

 

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) 🙂

certificate-ecdsa

By |2016-07-22T14:33:54+00:0012 février 2016|GNU/Linux|10 Comments

About the Author:

Diplômé d'un BTS SIO SISR et travaillant actuellement en Suisse, je suis passionné par tout ce qui touche à l'informatique et la musique hard rock et métal depuis ma plus tendre enfance. Je suis le créateur et l'unique rédacteur d'Abyss Project, ce blog qui me sert de bloc-notes public en quelque sorte.

10
Poster un Commentaire

avatar
3 Comment threads
6 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
4 Comment authors
MichaelJulien HOMMET - CZSNicolas SimondAngristan Recent comment authors

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Plus récents Plus anciens Populaires
Michael
Invité
Michael

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 idée ?

Michael
Invité
Michael

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 !

Michael
Invité
Michael

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 »

Julien HOMMET - CZS
Invité

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 » 😉

Angristan
Invité

Salut !
Y’a moyen de faire ça avec letsencrypt-auto sans créer de CSR ?