Sdílet prostřednictvím


Vlastnost ClientCertificate už neaktivuje nové vyjednávání pro HttpSys.

Tato HttpContext.Connection.ClientCertificate vlastnost už neaktivuje nové vyjednávání protokolu TLS pro HttpSys.

Zavedená verze

ASP.NET Core 6.0

Staré chování

Nastavení HttpSysOptions.ClientCertificateMethod = ClientCertificateMethod.AllowRenegotiation povoleného opětovného vyjednávání, které se aktivuje oběma HttpContext.Connection.ClientCertificate a HttpContext.Connection.GetClientCertificateAsync.

Nové chování

Nastavení HttpSysOptions.ClientCertificateMethod = ClientCertificateMethod.AllowRenegotiation umožňuje opětovné vyjednávání pouze HttpContext.Connection.GetClientCertificateAsyncpomocí funkce . HttpContext.Connection.ClientCertificate vrátí aktuální certifikát, pokud je k dispozici, ale nevyjedná s klientem, aby o certifikát požádal.

Důvod změny

Při implementaci stejnýchfunkcích Kestrel V případě problémů, jako je text požadavku, který je v konfliktu s opětovným vyjednáváním, umožňuje kontrola stavu vyřešit problém následujícím způsobem použití:

if (connection.ClientCertificate == null)
{
  await BufferRequestBodyAsync();
  await connection.GetClientCertificateAsync();
}

Aplikace, které používají zpožděné vyjednávání klientských certifikátů, by měly volat GetClientCertificateAsync(CancellationToken) , aby se aktivovalo opětovné vyjednávání.

Ovlivněná rozhraní API

Viz také