Maison >Java >javaDidacticiel >Comment fonctionne la résolution de noms de serveur de certificats SSL ?
Décodage de la résolution du nom du serveur de certificats SSL
Comprendre la résolution des certificats SSL est crucial pour établir une communication sécurisée. Explorons vos questions et fournissons des réponses complètes.
Résolution du nom de serveur pour les certificats SSL
RFC 2818 et RFC 6125 définissent la vérification du nom d'hôte pour les certificats SSL. En l'absence d'un nom alternatif de sujet (SAN) "dNSName", le champ Nom commun (CN) est utilisé. Cependant, l'utilisation du CN est obsolète et les SAN sont préférés.
Comportement du navigateur par rapport au mécanisme de Java
Les navigateurs gèrent souvent différemment les noms de serveurs basés sur le CN, autorisant les connexions même lorsque le CN ne correspond pas au domaine. Java, en revanche, adhère strictement à la RFC, n'acceptant que les SAN ou les CN correspondants.
Ajout de noms alternatifs à l'aide de Keytool
Le keytool de Java inclut désormais le "- ext" pour ajouter des SAN aux certificats. Utilisez "-ext san=dns:www.example.com" ou "-ext san=ip:10.0.0.1" pour inclure les noms alternatifs souhaités.
OpenSSL comme alternative
Si vous préférez ne pas utiliser keytool, OpenSSL peut être utilisé à cet effet. En modifiant openssl.cnf ou en définissant la variable d'environnement "OPENSSL_CONF", vous pouvez configurer OpenSSL pour demander un SAN dans les certificats.
Exemple de configuration pour OpenSSL
Dans openssl. cnf, ajoutez ce qui suit sous "[req]" et "[v3_req]" sections :
[req] req_extensions = v3_req [ v3_req ] subjectAltName=IP:10.0.0.1 # or subjectAltName=DNS:www.example.com
Astuce de variable d'environnement alternative
Vous pouvez également définir une variable d'environnement pour spécifier le SAN. Reportez-vous à http://www.crsr.net/Notes/SSL.html pour plus de détails.
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!