Après 6 mois sans article, je vous fais ce (petit) billet à propos du renouvellement d’un certificat x509 (SSL/TLS). Dans un article précédent Générer un certificat SSL valide et gratuit j’expliquais comment faire une demande et obtenir un certificat valide aux yeux des navigateurs en utilisant les services de startssl.com
A 15 jours de l’expiration de mon certificat, je reçois un mail d’avertissement sur l’adresse postmaster de mon domaine afin de me prévenir. De même sur l’adresse email enregistrée pour l’administration puisque pour ceux qui ne savent pas, l’authentification se fait via certificat client associé à l’adresse email.
Une fois connecté au portail d’administration, il y a 2 choses à faire, renouveler le certificat client et le certificat serveur pour le domaine (qui est en fait une nouvelle génération à chaque fois).
Renouveler le certificat client :
Renseigner l’adresse email utilisée pour l’administration sur le site.
Un code de confirmation est envoyé par email, le saisir pour confirmer que vous avez accès à cet email.
Choisir l’adresse email dont on veut faire le certificat, concernant le hash, préférer du SHA2 sauf si votre OS est (très) ancien.
Le nouveau certificat s’installe dans votre navigateur, le magasin ou dans le trousseau d’accès pour les propriétaires d’appareil avec une pomme. Personnellement j’ai retiré mon ancien certificat, mais on peut conserver les 2 à priori.
Renouveler le certificat serveur :
J’ai généré un csr en local sur ma machine donc je passe à « Skip » directement. Pourquoi ? La clé privée reste chez moi, tout simplement. Pour la Keysize, je vous conseille d’opter tout de suite pour 4096 et non 2048 (Medium) comme sélectionné par défaut. Voici la commande OpenSSL que j’utilise, le CSR à copier/coller sera dans csr.txt, la clé privée dans mon.domaine.fr.key
openssl req -newkey rsa:4096 -sha512 -keyout mon.domaine.fr.key -nodes -subj /C=FR/O=domaine.fr/CN=mon.domaine.fr/ -out csr.txt
Ensuite il vous sera demandé d’indiquer à nouveau le domaine et un sous domaine (SAN). Si tout est OK, vous recevrez l’information par email (sur l’adresse postmaster) quand le certificat sera prêt.
Récupérer le certificat serveur :
Le retrait du certificat serveur est un peu moins commode que pour celui de la partie client.
Il faut faire un copier/coller de tout le bloc de texte dans un fichier, c’est ça le certificat associé à la clé privée.
Dernier point important, la chaine de certification, c’est grâce à cela que le certificat parait valide pour les navigateurs. Nous aurons besoin de ceci :
Il y a la possibilité de les télécharger et faire un copier/coller des 2 certificats de StartCom plus le notre (ssl.crt) en un seul fichier à la main ou de réutiliser quelques commandes de la dernière fois.
wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
cat ssl.crt sub.class1.server.ca.pem ca.pem > ssl-unified.crt
Il vous restera à placer les fichiers au bon endroit, vérifier la configuration du serveur ainsi que les permissions sur le fichier de la clé privée, il est conseillé de faire un chmod 600 et clown root:root dessus.
Conclusion
Pour conclure ce renouvellement, je vous invite à vérifier votre site et l’implémentation SSL directement sur le site https://www.ssllabs.com une référence en la matière. Avec ce nouveau certificat et l’optimisation de ma configuration, je passe de la note « A » à « A+ ».
Stay tuned !