HttpSys : La renégociation du certificat client a est désactivée par défaut
L’option permettant de renégocier une connexion et de demander un certificat client a été désactivée par défaut. Pour plus d’informations, consultez le problème dotnet/aspnetcore#23181.
Version introduite
ASP.NET Core 5.0
Ancien comportement
La connexion peut être renégociée pour demander un certificat client.
Nouveau comportement
Les certificats clients ne peuvent être demandés que lors de l’établissement d’une liaison de connexion initiale. Pour plus d’informations, consultez la demande de tirage (pull request) dotnet/aspnetcore#23162.
Raison du changement
La renégociation a provoqué un certain nombre de problèmes de niveau de performance et d’interblocage. Elle n’est pas non plus prise en charge dans HTTP/2. Pour obtenir un contexte supplémentaire à partir du moment où l’option de contrôle de ce comportement a été introduite dans ASP.NET Core 3.1, consultez le problème dotnet/aspnetcore#14806.
Action recommandée
Les applications qui nécessitent des certificats clients doivent utiliser netsh.exe pour définir l’option clientcertnegotiation
sur enabled
. Pour plus d’informations, consultez Commandes http netsh.
Si vous souhaitez que les certificats clients soient activés uniquement pour certaines parties de votre application, consultez l’aide sur Certificats clients facultatifs.
Si vous avez besoin de l’ancien comportement de renégociation, définissez HttpSysOptions.ClientCertificateMethod
sur l’ancienne valeur ClientCertificateMethod.AllowRenegotiate
. Cela n’est pas recommandé pour les raisons décrites ci-dessus et dans l’aide liée.