Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Opcja ponownego negocjowania połączenia i żądania certyfikatu klienta została domyślnie wyłączona. Aby zapoznać się z dyskusją, zobacz problem dotnet/aspnetcore#23181.
Wersja wprowadzona
ASP.NET Core 5.0
Stare zachowanie
Połączenie można renegocjować, aby zażądać certyfikatu klienta.
Nowe zachowanie
Żądanie certyfikatu klienta można składać tylko podczas początkowego procesu uzgadniania połączenia (handshake). Aby uzyskać więcej informacji, zobacz prośbę o pobranie dotnet/aspnetcore#23162.
Przyczyna zmiany
Renegocjacja spowodowała szereg problemów z wydajnością i zakleszczaniem. Nie jest również obsługiwany w protokole HTTP/2. Aby uzyskać dodatkowy kontekst dotyczący momentu, w którym wprowadzono możliwość kontrolowania tego zachowania w ASP.NET Core 3.1, zobacz kwestię dotnet/aspnetcore#14806.
Zalecana akcja
Aplikacje wymagające certyfikatów klienta powinny używać netsh.exe , aby ustawić clientcertnegotiation opcję na enabled. Aby uzyskać więcej informacji, zobacz netsh http commands (Polecenia netsh http).
Jeśli chcesz, aby certyfikaty klienta są włączone tylko dla niektórych części aplikacji, zapoznaj się ze wskazówkami w temacie Opcjonalne certyfikaty klienta.
Jeśli potrzebujesz starego zachowania renegocjacji, ustaw wartość HttpSysOptions.ClientCertificateMethod na starą wartość ClientCertificateMethod.AllowRenegotiate. Nie jest to zalecane z powodów opisanych powyżej i w połączonych wskazówkach.