Let’s Encrypt : easy !

encrypt-2

 

Personne a dû passer à coté de la news du 3/12/15 ?
Enfin des certificats faciles à générer, sans devoir trouze mille euros et watt mille pièces justificatives !

Mais l’avez vous testé ?
c’est  « trop fa-ci-le » !

On commence par installer les paquets et les dépendances :

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

Premier défaut de Let’s Encrypt, il ne faut pas de serveur qui écoute sur le port 80, car il embarque lui même un serveur web pour tester la légitimité de votre demande de certificat :/
Donc, dans mon cas on commence par un :

systemctl stop nginx

Puis on lance la création du/des certificats :

./letsencrypt-auto certonly -d mondomaine.fr -d monsousdomaine1.mondomaine.fr -d monsousdomaine2.mondomaine.fr --rsa-key-size 4096

explications :

  • l’argument « certonly » permet de générer seulement le certificat et ses clés dans le répertoire /etc/letsencrypt/live/
  • « -d » permet de passer les domaines et sous domaines en argument (sinon ça sera en Ncurses).
  • « –rsa-key-size » par défaut la taille de la clé RSA est de 2048 bits, ce qui n’est pas recommandé par l’ANSII, on en profite donc pour la passée en 4096 bits.

Si tout ce passe bien, vous aurez une sortie du type :

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

 

On modifie le virtual host sous Nginx (/etc/nginx/sites-enabled/default-ssl) :

server {
    root /var/www/;
    listen       443;
    server_name www.mondomaine.fr;
    index index.php index.html;
    ssl_certificate /etc/letsencrypt/live/www.mondomaine.fr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.mondomaine.fr/privkey.pem;
}

Tant qu’à y être et à avoir un beau certificat ssl valide, autant avoir une redirection du 80 vers le 443 !
Il suffit de rajouter dans /etc/nginx/sites-enabled/default, la règle :

return 301 https://$server_name$request_uri;

Il suffit de redémarrer le serveur Nginx, et via un navigateur vérifier la validité de votre nouveau certificat, exemple pour moi :

Capture d’écran_2015-12-14_16-16-08

Autre défaut de Let’s Encrypt : la validité du certificat, mais via « letsencrypt-auto », il facile de scripter dans une tache cron, le renouvellement des certificats.

Enjoy 😉

Vus : 1243
Publié par Sheldon.fr : 17