HttpSys:用戶端憑證重新協商預設為停用

重新協商連線並請求客戶端憑證的選項預設已被停用。 討論請參見 dotnet/aspnetcore#23181 議題。

推出的版本

ASP.NET 核心 5.0

舊行為

連線可重新協商以請求用戶端憑證。

新行為

用戶端憑證只能在初始連線握手時請求。 更多資訊請參閱 pull request dotnet/aspnetcore#23162。

變更的原因

重新談判導致多項效能與僵局問題。 HTTP/2 也不支援這功能。 關於 ASP.NET Core 3.1 引入此行為控制選項的更多背景,請參見 dotnet/aspnetcore#14806 議題。

需要客戶端憑證的應用程式應該用 netsh.exe 來設定 clientcertnegotiation 選項為 enabled。 欲了解更多資訊,請參閱 netsh http 指令。

如果你只想讓應用程式的部分啟用客戶端憑證,請參考「 可選客戶端憑證」的指引。

如果你需要舊的重新協商行為,請設 HttpSysOptions.ClientCertificateMethod 為舊值 ClientCertificateMethod.AllowRenegotiate。 基於上述及相關指引中所述的原因,不建議如此。

受影響的 API