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.GetClientCertificateAsync
pomocí 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();
}
Doporučená akce
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
- Microsoft.AspNetCore.Server.HttpSys.HttpSysOptions.ClientCertificateMethod
- Microsoft.AspNetCore.Http.ConnectionInfo.ClientCertificate
- Microsoft.AspNetCore.Http.ConnectionInfo.GetClientCertificateAsync(CancellationToken)
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro