J'essaie d'établir une authentification mutuelle TLS avec une API tierce. Le certificat client est configuré correctement et lorsque j'essaie d'accéder à l'URL du point de terminaison via Chrome, il fonctionne correctement (Chrome demande à confirmer le certificat dans une boîte de message et, lorsque je le fais, la page s'affiche avec son contenu).
Même chose lorsque j'essaie de faire avec IE, cela ne fonctionne pas et affiche ce message.
Cannot securely connect to this page
This might be because the site uses outdated or unsafe TLS security settings. If this keeps happening, try contacting the website’s owner.
Your TLS security settings aren’t set to the defaults, which could also be causing this error.
Alors je me suis connecté les détails à Wireshark, et voici à quoi ça ressemble Lorsque j'approfondis les détails, je constate que le certificat client n'a jamais été envoyé à l'étape 9 (Certificat 371 TLSv1.2, échange de clé client, spécification de chiffrement de modification, message de prise de contact crypté).
Et à l'étape 10, c'est l'erreur que je reçois
Quelle peut être la raison derrière ce comportement?
Mise à jour: lorsque j'essaie d'accéder au point final smae via le code et les journaux SChannel vérifiés, je peux voir un avertissement comme celui-ci.
The remote server has requested TLS client authentication, but no
suitable client certificate could be found. An anonymous connection
will be attempted. This TLS connection request may succeed or fail,
depending on the server's policy settings.
Voir comment ça marche en chrome mais pas IE Je pense que ce problème est sûr de dire que IE spécifique. Comme vous avez déjà ajouté le certificat, il semble que le certificat est sélectionné automatiquement mais pas envoyé. Vous recevez également un message indiquant "Les paramètres de sécurité TLS ne sont pas définis sur les valeurs par défaut" dans votre erreur. J'ai trouvé des informations pouvant s'appliquer à votre scénario ici . En gros, cela signifie que IE ne peut pas utiliser TLS 1.2 avec succès si SSL 2.0 est activé. Pouvez-vous vérifier ce paramètre?
Aller aux options Internet -> avancer. Cherchez "Utiliser SSL 2.0". Je ne vois pas cette option dans mon message depuis que j’utilise les versions ultérieures de Windows/IE où SSL 2.0 n’est pas une option, mais vous pouvez l’avoir, selon la ou les versions que vous utilisez. utilisez.
J'ai eu un problème similaire avec un certificat qui avait une liste de révocation de certificats cassée (crl).
J'ai pu localiser cela avec Fiddler , qui a envoyé une requête au CRL défaillant. Vous devriez voir la même chose avec WireShark. De plus, lors de l’utilisation de Fiddler pour déchiffrer le trafic SSL, il n’y avait aucun problème, puisque Fiddler utilise ensuite son propre certificat auto-signé pour communiquer avec le navigateur.
Je ne suis pas sûr que cela va faire une différence dans votre cas, car c'est le certificat client qui pourrait être le problème.
Pour une solution temporaire (non sécurisée!), Vous pouvez désactiver les vérifications de clé. Si cela résout le problème, alors le crl est vraiment le problème et vous aurez besoin d'une manière ou d'une autre de demander un certificat approprié sans un crl défectueux.