Résolution du nom du serveur de certificats SSL
Dans les certificats SSL, les noms de serveur sont résolus principalement en fonction du champ Nom alternatif du sujet (SAN). Dans la plupart des cas, les navigateurs utilisent les SAN pour vérifier l'identité du site Web auquel ils se connectent. Cependant, les applications basées sur Java semblent avoir un comportement différent, s'appuyant exclusivement sur les SAN pour la validation du nom du serveur.
Pourquoi cette distinction ?
La RFC 2818 a défini que les navigateurs pouvaient utilisez les champs Nom commun (CN) ou SAN pour la vérification du nom du serveur. La RFC 6125 a ensuite déconseillé l'utilisation du CN et recommandé l'utilisation exclusive des SAN. Les applications Java adhèrent généralement à la RFC 6125, tandis que certains navigateurs peuvent toujours accepter les CN pour des raisons de compatibilité.
Ajout de noms alternatifs à l'aide de Keytool
Keytool permet l'ajout de SAN à SSL certificats en utilisant l'option "-ext". Les commandes suivantes peuvent être utilisées pour ajouter des noms alternatifs :
-ext san=dns:www.example.com -ext san=ip:10.0.0.1
Puis-je utiliser OpenSSL à la place ?
Oui, OpenSSL peut également être utilisé pour créer des certificats SSL avec SAN. Pour ce faire, modifiez le fichier de configuration "openssl.cnf" comme suit :
[req] req_extensions = v3_req [ v3_req ] subjectAltName=IP:10.0.0.1 # or subjectAltName=DNS:www.example.com
Vous pouvez également définir la variable d'environnement OPENSSL_CONF à l'emplacement du fichier "openssl.cnf" modifié.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!