Mon premier certificat SSL valable et gratuit avec Let's Encrypt !

Rédigé par Ben'Oua - - 1 commentaire


Ça y est, je me suis lancé ! J'ai testé Let's Encrypt, dont j'ai beaucoup entendu parler.

J'en avait principalement besoin pour sécuriser mon OwnCloud (il faudrait que je fasse un article là dessus aussi...)

Alors pour la création du certificat de Let's Encrypt, il parait que c'est tout simple...
Bon j'ai un peu galéré, mais c'est normal quand on débute quelque chose.

J'ai suivi ce très court tuto. Mais j'obtenais l'erreur suivante : 

Failed authorization procedure. benoua.fr (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://benoua.fr/.well-known/acme-challenge/htAlmB5MUbVyq3n566t2G-4qwTjDfitdRAUbujecOx8 [154.41.66.1]: 404

En effet, le dossier .well-known et ses sous-dossiers/fichiers n'existaient pas.
Je précise que j'exécute Let's Encrypt sur une machine (sous Fedora 23) qui n'est pas mon serveur web, et où les ports 80 et 443 ne sont pas utilisés.
Voici donc ce que j'ai dû effectuer :

Installation des paquets et dépendances :

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt

Puis je lance la création du certificat avec cette commande :

./letsencrypt-auto certonly --authenticator manual -d MON_DOMAINE -d MON_SOUS_DOMAINE --rsa-key-size 4096

Explications :

  • le paramètre « certonly » permet de générer seulement le certificat et ses clés
  • le paramètre « --authenticator manual » active l'assistant manuel de Let's Encrypt, qui indiquera quels fichiers créer sur son site
  • le paramètre « -d » permet de préciser le domaine et sous-domaines pour lesquels le certificat sera valable
  • le paramètre « --rsa-key-size » permet de choisir la taille de la clé RSA. Sans préciser ce paramètre, elle sera de 2048 bits par défaut.

L'assistant est donc lancé et m'informe qu'en continuant, mon IP sera logguée. J'accepte.

Make sure your web server displays the following content at
http://benoua.fr/.well-known/acme-challenge/b7w4byMCzMJnHpY-SKoo0cqufvJfFy-xVA7CuIjZz3w before continuing:
b7w4byMCzMJnHpY-SKoo0cqufvJfFy-xVA7CuIjZz3w.X4HN4D4SZI6jGVFVP-_BUsLPJRiL2tQxn1baj807894

Je dois donc créer l'arborescence .well-known/acme-challenge à la racine de mon site, et créer le fichier b7w4byMCzMJnHpY-SKoo0cqufvJfFy-xVA7CuIjZz3w qui contiendra le texte b7w4byMCzMJnHpY-SKoo0cqufvJfFy-xVA7CuIjZz3w.X4HN4D4SZI6jGVFVP-_BUsLPJRiL2tQxn1baj807894
Je dois vérifier que le fichier est bien accessible à l'URL spécifiée. Si c'est le cas, j'appuie sur Entrée.

Let's Encrypt m'annonce que mon certificat est créé !

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/benoua.fr-0001/fullchain.pem. Your cert
will expire on 2016-03-15. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.  

Et hop ! Tout les fichiers nécessaires sont créés sous /etc/letsencrypt/live/MON_DOMAINE.EXT/
Enjoy ! :D
 

Bonus :
Si vous exécutez Let's Encrypt depuis la machine sur laquelle votre site est hébergé, ceci peut être utile :
Il faut dans un premier temps stopper le service qui tourne sur le port 80, et utiliser le plugin webroot pour spécifier le chemin vers la racine du site :
Dans la commande précédente, remplacer « --authenticator manual » par « --webroot --webroot-path /var/www/html », en adaptant bien sûr le chemin vers la racine du site.
Cependant, je n'ai pas testé personnellement cette méthode. N'hésitez pas à m'envoyer vos retours :)

1 commentaire

#1  - chris a dit :

Merci pour ce tuto qu'il faudra que je mette en application car tous mes sites sont encore en http.

Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la première lettre du mot iyyph ?