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.

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.

API affectées