Bonjour,
J'imagine que certains d'entre vous l'ont remarqué, la nouvelle mise à jour de Chrome vient de rendre invalide tout certificat ne possédant pas d'extension subjectAlternateName dans un certificat SSL/TLS.
Autant le dire, ça vient de me retrancher quelques heures à ma vie pour régénérer les certificats de nos sites internes. Surtout qu'openssl ne rend pas franchement aisé l'ajout de cette extension si votre autorité de certification ne crée pas l'extension pour vous :
openssl req \ -newkey rsa:2048 \ -x509 \ -nodes \ -keyout server.pem \ -new \ -out server.pem \ -subj /CN=localhost \ -reqexts SAN \ -extensions SAN \ -config <(cat /System/Library/OpenSSL/openssl.cnf \ <(printf '[SAN]\nsubjectAltName=DNS:localhost')) \ -sha256 \ -days 3650
(exemple tiré d'un rapport de bug pour webpack sur les certificats autosignés : https://github.com/webpack/webpack-dev-server/issues/854)
Ce changement fait suite à la volonté de l'équipe de développement de se conformer au RFC 2818 (datant de 2000) qui indique que la vérification de l'identité du serveur via le CN est obsolète et qu'elle doit se faire sur dNSName de l'extension SAN. Personnellement, je trouve cette préconisation bien pourrie puisque dans le cas d'un nom unique, le CN suffit largement, mais bon...
Voilà, c'était juste histoire de partager ma mauvaise humeur.
Bon courage à ceux qui devront s'embêter suite à cette mise à jour.
Le 20 avril 2017 à 15:54, Yoan Agostini yoan.agostini@gmail.com a écrit :
Bonjour,
Salut,
Autant le dire, ça vient de me retrancher quelques heures à ma vie pour régénérer les certificats de nos sites internes. Surtout qu'openssl ne rend pas franchement aisé l'ajout de cette extension si votre autorité de certification ne crée pas l'extension pour vous : [...]
Il y a plus simple (AMHA), tout mettre dans un fichier .cnf : https://gist.github.com/jleroy/571c55fc9c9c6469da3c32496e9092b2
Ensuite il suffit de générer la clé : openssl genrsa -out www.example.com.key 2048 ...puis le certificat : openssl req -nodes -new -sha256 -key www.example.com.key -out www.example.com.csr -config openssl.cnf
Ce changement fait suite à la volonté de l'équipe de développement de se conformer au RFC 2818 (datant de 2000) qui indique que la vérification de l'identité du serveur via le CN est obsolète et qu'elle doit se faire sur dNSName de l'extension SAN. Personnellement, je trouve cette préconisation bien pourrie puisque dans le cas d'un nom unique, le CN suffit largement, mais bon...
Le problème c'est que comme les CA ne sont pas capables d'appliquer les bonnes pratiques tout seuls, les browsers sont obligés de leur forcer la main...
Sinon : il y a probablement < 100 personnes sur terre capables de gérer convenablement une CA. Franchement, si tu peux, il est vraiment conseillé de passer sur Let's Encrypt.