HttpSys: Omförhandling av klientcertifikat har inaktiverats som standard
Alternativet att omförhandla en anslutning och begära ett klientcertifikat har inaktiverats som standard. Mer information finns i problem med dotnet/aspnetcore#23181.
Version introducerad
ASP.NET Core 5.0
Gammalt beteende
Anslutningen kan omförhandlas för att begära ett klientcertifikat.
Nytt beteende
Klientcertifikat kan bara begäras under den första handskakningen för anslutningen. Mer information finns i pull-begärande dotnet/aspnetcore#23162.
Orsak till ändringen
Omförhandlingen orsakade ett antal prestanda- och dödlägesproblem. Det stöds inte heller i HTTP/2. Ytterligare kontext från när alternativet för att styra det här beteendet introducerades i ASP.NET Core 3.1 finns i problem med dotnet/aspnetcore#14806.
Rekommenderad åtgärd
Appar som kräver klientcertifikat bör använda netsh.exe för att ange clientcertnegotiation
alternativet till enabled
. Mer information finns i netsh http-kommandon.
Om du bara vill att klientcertifikat ska aktiveras för vissa delar av appen kan du läsa vägledningen på Valfria klientcertifikat.
Om du behöver det gamla omförhandlingsbeteendet anger du HttpSysOptions.ClientCertificateMethod
det gamla värdet ClientCertificateMethod.AllowRenegotiate
. Detta rekommenderas inte av de skäl som beskrivs ovan och i den länkade vägledningen.