Jaki jest domyślny protokół bezpieczeństwa do komunikacji z serwerami, które obsługują do TLS 1.2? Będzie .NETdomyślnie wybierać najwyższej protokół zabezpieczeń obsługiwane po stronie serwera, czy muszę jawnie dodać poniższy wiersz kodu:
System.Net.ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
Czy istnieje sposób na zmianę tego ustawienia domyślnego oprócz zmiany kodu?
Wreszcie, obsługuje .NET 4.0tylko do TLS 1.0? tj. muszę zaktualizować projekty klienta do 4.5, aby je obsługiwać TLS 1.2.
Moją motywacją jest usunięcie obsługi SSLv3po stronie klienta, nawet jeśli serwer ją obsługuje (mam już skrypt PowerShell, aby wyłączyć to w rejestrze komputera) i obsługę najwyższego protokołu TLS obsługiwanego przez serwer.
Aktualizacja:
Patrząc na ServicePointManagerklasę .NET 4.0nie widzę wyliczonych wartości dla TLS 1.0i 1.1. W obu .NET 4.0/4.5przypadkach wartością domyślną jest SecurityProtocolType.Tls|SecurityProtocolType.Ssl3. Mamy nadzieję, że to ustawienie domyślne nie ulegnie awarii przez wyłączenie SSLv3w rejestrze.
Zdecydowałem jednak, że muszę zaktualizować wszystkie aplikacje .NET 4.5i i tak jawnie dodać je SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;do kodu ładowania wszystkich aplikacji.
Spowoduje to wysłanie żądań wychodzących do różnych aplikacji i usług, aby nie obniżać poziomu SSLv3i należy wybrać najwyższy poziom TLS.
Czy to podejście wydaje się rozsądne czy nadmierne? Mam wiele aplikacji do zaktualizowania i chcę je w przyszłości sprawdzić, ponieważ słyszę, że TLS 1.0niektórzy dostawcy mogą nawet w najbliższej przyszłości stracić ważność.
Czy jako klient wysyłający żądania wychodzące do interfejsów API wyłączenie protokołu SSL3 w rejestrze ma nawet wpływ na środowisko .NET? Domyślnie TLS 1.1 i 1.2 nie są włączone, czy musimy włączyć to przez rejestr? RE http://support.microsoft.com/kb/245030 .
Po krótkiej analizie uważam, że ustawienia rejestru nie będą miały wpływu, ponieważ dotyczą IIS (podklucz serwera) i przeglądarek (podklucz klienta).
Przepraszamy, ten post zamienił się w wiele pytań, a następnie w odpowiedzi „być może”.
