Résolution des noms de serveurs de certificats SSL
Les certificats SSL jouent un rôle crucial dans l'établissement de connexions sécurisées, mais il est essentiel de comprendre comment les noms de serveurs sont résolus.
Comment les noms de serveurs de certificats SSL sont résolus
Selon RFC 6125, le processus de vérification des noms d'hôte pour les certificats SSL implique de vérifier les champs suivants :
-
Nom alternatif du sujet (SAN) : s'il est présent, le champ SAN est prioritaire et contient les noms de serveur valides.
-
Nom commun (CN) : Si aucun champ SAN n'est disponible, le champ CN est utilisé. Cependant, cette pratique est obsolète.
Vérification du nom d'hôte de Java
En Java, la vérification du nom d'hôte pour les certificats SSL suit généralement les directives décrites dans la RFC 2818. Cela signifie que :
- Si le certificat inclut un champ SAN, Java vérifiera le nom d'hôte par rapport au spécifié valeurs.
- Si aucun champ SAN n'est présent, Java vérifiera dans le champ CN un nom d'hôte valide.
Utilisation de Keytool pour ajouter des noms alternatifs
- Dans Java 7 ou version ultérieure, keytool offre la possibilité de spécifier des noms alternatifs de sujet (SAN) lors de la génération de certificats SSL. En utilisant le paramètre -ext avec san=dns: ou san=ip: inclura les noms alternatifs souhaités dans le certificat.
OpenSSL comme alternative
- Si keytool ne répond pas à vos besoins, OpenSSL peut être utilisé pour générer des certificats auto-signés avec les SAN. En modifiant le fichier de configuration openssl.cnf ou en définissant des variables d'environnement, vous pouvez spécifier les noms alternatifs à inclure dans le certificat.
Dépannage des erreurs de vérification du nom d'hôte
Si Java ne fait pas confiance aux certificats SSL, malgré leur ajout au magasin de confiance, les étapes suivantes peuvent help :
- Assurez-vous que le champ SAN ou le champ CN du certificat correspond au nom d'hôte du serveur auquel vous essayez de vous connecter.
- Vérifiez que l'autorité de certification (CA) qui émis, le certificat est approuvé par Java.
- Envisagez d'utiliser un HostnameVerifier personnalisé pour remplacer la vérification du nom d'hôte par défaut de Java. comportement.
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!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn