Sdílet prostřednictvím


HttpSys: Nové vyjednávání klientského certifikátu je ve výchozím nastavení zakázané

Možnost opětovného vyjednávání připojení a vyžádání klientského certifikátu je ve výchozím nastavení zakázaná. Diskuzi najdete v tématu problému dotnet/aspnetcore#23181.

Zavedená verze

ASP.NET Core 5.0

Staré chování

Připojení je možné znovu projednat a požádat o klientský certifikát.

Nové chování

Klientské certifikáty je možné vyžádat pouze během počáteční metody handshake připojení. Další informace najdete v tématu žádosti o přijetí změn dotnet/aspnetcore#23162.

Důvod změny

Nové vyjednávání způsobilo řadu problémů s výkonem a vzájemným zablokováním. Nepodporuje se ani v PROTOKOLU HTTP/2. Další kontext od uvedení možnosti řízení tohoto chování v ASP.NET Core 3.1 najdete v tématu problému dotnet/aspnetcore#14806.

Aplikace, které vyžadují klientské certifikáty, by měly používat netsh.exe k nastavení clientcertnegotiation možnosti .enabled Další informace naleznete v tématu netsh http příkazy.

Pokud chcete povolit klientské certifikáty jenom pro některé části aplikace, přečtěte si pokyny v části Volitelné klientské certifikáty.

Pokud potřebujete staré chování opětovného vyjednávání, nastavte HttpSysOptions.ClientCertificateMethod na starou hodnotu ClientCertificateMethod.AllowRenegotiate. To se nedoporučuje z důvodů uvedených výše a v propojených doprovodných materiálech.

Ovlivněná rozhraní API