Comprendre la résolution du nom du serveur de certificats SSL
La résolution du nom du serveur de certificats SSL joue un rôle crucial pour garantir une communication sécurisée dans les connexions HTTPS. Voici une description détaillée de son fonctionnement et de la façon d'adresser des noms alternatifs à l'aide de keytool :
Comment les noms de serveur de certificats SSL sont résolus
Lorsqu'un client établit une connexion HTTPS, il envoie une extension SNI (Server Name Indication) au serveur, spécifiant le nom d'hôte auquel il a l'intention de se connecter. Le serveur présente ensuite un certificat SSL qui correspond au nom d'hôte fourni, soit via le champ Common Name (CN) ou l'extension Subject Alternative Name (SAN).
Comportement du navigateur et mécanisme de vérification de Java
Les navigateurs utilisent généralement le champ CN du certificat pour la vérification du nom d'hôte. Cependant, le mécanisme de vérification de Java prend principalement en compte l'extension SAN et peut rejeter les certificats sans SAN valides. Cette divergence résulte des RFC susmentionnées qui définissent les normes de vérification des noms d'hôtes.
Ajout de noms alternatifs à l'aide de Keytool
keytool, dans Java 7 et versions ultérieures, vous permet d'ajouter des SAN à Certificats SSL utilisant l'option -ext. La syntaxe des SAN est -ext san=dns:www.example.com ou -ext san=ip:10.0.0.1.
OpenSSL comme alternative
OpenSSL peut également être utilisé pour demander des SAN. Dans le fichier de configuration openssl.cnf, ajoutez les options suivantes :
[req] req_extensions = v3_req [ v3_req ] subjectAltName=IP:10.0.0.1 # or subjectAltName=DNS:www.example.com
Vous pouvez également définir des variables d'environnement pour spécifier les SAN au moment de l'exécution. Reportez-vous à l'article CRSR.net 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!