ServicePointManager.SecurityProtocol Egenskap

Definition

Hämtar eller anger säkerhetsprotokollet som används av objekten ServicePoint som hanteras av ServicePointManager objektet.

public:
 static property System::Net::SecurityProtocolType SecurityProtocol { System::Net::SecurityProtocolType get(); void set(System::Net::SecurityProtocolType value); };
public static System.Net.SecurityProtocolType SecurityProtocol { get; set; }
static member SecurityProtocol : System.Net.SecurityProtocolType with get, set
Public Shared Property SecurityProtocol As SecurityProtocolType

Egenskapsvärde

Ett av de värden som definierats i SecurityProtocolType uppräkningen.

Undantag

Värdet som anges för att ange egenskapen är inte ett giltigt SecurityProtocolType uppräkningsvärde.

Kommentarer

Den här egenskapen väljer vilken version av protokollet Secure Sockets Layer (SSL) eller TLS (Transport Layer Security) som ska användas för nya anslutningar. befintliga anslutningar ändras inte.

Från och med .NET Framework 4.7 är standardvärdet för den här egenskapen SecurityProtocolType.SystemDefault. På så sätt kan .NET Framework-nätverks-API:er baserat på SslStream (till exempel FTP, HTTP och SMTP) ärva standardsäkerhetsprotokollen från operativsystemet eller från anpassade konfigurationer som utförs av en systemadministratör. Information om vilka SSL/TLS-protokoll som är aktiverade som standard för varje version av Windows operativsystem finns i Protocols i TLS/SSL (Schannel SSP).

För versioner av .NET Framework via .NET Framework 4.6.2 visas inget standardvärde för den här egenskapen. Säkerhetslandskapet ändras ständigt och standardprotokoll och skyddsnivåer ändras över tid för att undvika kända svagheter. Standardinställningarna varierar beroende på individuell datorkonfiguration, installerad programvara och tillämpade korrigeringar.

Din kod bör aldrig implicit vara beroende av att använda en viss skyddsnivå, eller på antagandet att en viss säkerhetsnivå används som standard. Om din app är beroende av användningen av en viss säkerhetsnivå måste du uttryckligen ange den nivån och sedan kontrollera att den faktiskt används på den etablerade anslutningen. Dessutom bör koden vara utformad för att vara robust när det gäller ändringar som protokoll stöds för, eftersom sådana ändringar ofta görs med liten förvarning för att minimera nya hot.

.NET Framework 4.6 innehåller en säkerhetsfunktion som blockerar osäkra chiffer- och hashalgoritmer för anslutningar. Program som använder TLS/SSL via API:er som HttpClient, HttpWebRequest, FTPClient, SmtpClient och SslStream och som mål .NET Framework 4.6 får som standard det säkrare beteendet.

Utvecklare kanske vill välja bort det här beteendet för att upprätthålla samverkan med sina befintliga SSL3-tjänster ELLER TLS med RC4-tjänster. I den här artikeln beskrivs hur du ändrar koden så att det nya beteendet inaktiveras.

Note

Sedan .NET 9 mappar den här egenskapen till EnabledSslProtocolsSocketsHttpHandler.SslOptions.

Gäller för

Se även