La connexion Go TLS échoue avec l'erreur "x509 : le certificat repose sur le champ de nom commun hérité"
Lors de la tentative d'établissement d'une connexion TLS à MongoDB en utilisant Go, une erreur « Échec de la connexion : x509 : le certificat repose sur le champ de nom commun hérité » peut survenir. Ce problème provient des contrôles de validation des certificats qui ont été mis à jour pour donner la priorité aux noms alternatifs du sujet (SAN) par rapport aux champs de nom commun (CN) pour l'identité du certificat.
Cause première :
Le certificat utilisé pour l'authentification TLS repose sur un champ de nom commun hérité au lieu des SAN, qui sont considérés comme plus sécurisés pour l'identification des hôtes. Les versions actuelles de Go ont des contrôles de validation de certificat plus stricts qui imposent l'utilisation de SAN.
Solution :
Pour résoudre ce problème, vous devez rectifier le certificat lui-même en vous assurant qu'il inclut des SAN. Cela implique de générer un nouveau certificat avec les champs SAN appropriés ou de reconfigurer le certificat existant pour les inclure.
Corriger la source :
Inspection du nouveau certificat :
Confirmez que les champs SAN sont présents dans le certificat nouvellement généré en l'inspectant à l'aide de la commande suivante :
openssl x509 -in server.crt -noout -text
Remarque :
Une fois que vous avez généré un certificat avec les SAN, vous pouvez l'utiliser avec votre code Go pour établir une connexion TLS sans rencontrer l'erreur « x509 : le certificat repose sur le champ de nom commun hérité ». Il peut être nécessaire de mettre à jour les fichiers de certificat dans votre code Go et de redémarrer le processus de connexion pour garantir que le nouveau certificat est utilisé.
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!