ServicePointManager.SecurityProtocol Eigenschaft

Definition

Ruft das Sicherheitsprotokoll ab, das von den vom ServicePointManager-Objekt verwalteten ServicePoint-Objekten verwendet wird, oder legt dieses fest.

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; }
member this.SecurityProtocol : System.Net.SecurityProtocolType with get, set
Public Shared Property SecurityProtocol As SecurityProtocolType

Eigenschaftswert

SecurityProtocolType

Einer der in der SecurityProtocolType-Enumeration definierten Werte.

Ausnahmen

Der zum Festlegen der Eigenschaft angegebene Wert ist kein gültiger SecurityProtocolType-Enumerationswert.

Hinweise

Diese Eigenschaft wählt die Version des SSL-Protokolls (Secure Sockets Layer) oder transport Layer Security (TLS) aus, das für neue Verbindungen verwendet werden soll; Vorhandene Verbindungen werden nicht geändert.

Ab dem .NET Framework 4.7 lautet SecurityProtocolType.SystemDefaultder Standardwert dieser Eigenschaft . Dadurch können .NET Framework Netzwerk-APIs basierend auf SslStream (z. B. FTP, HTTP und SMTP) die Standardsicherheitsprotokolle vom Betriebssystem oder von benutzerdefinierten Konfigurationen erben, die von einem Systemadministrator ausgeführt werden. Informationen dazu, welche SSL/TLS-Protokolle standardmäßig in jeder Version des Windows Betriebssystems aktiviert sind, finden Sie unter Protokolle in TLS/SSL (Schannel SSP).

Für Versionen der .NET Framework bis .NET Framework 4.6.2 wird für diese Eigenschaft kein Standardwert aufgeführt. Die Sicherheitslandschaft ändert sich ständig, und Standardprotokolle und Schutzebenen werden im Laufe der Zeit geändert, um bekannte Schwachstellen zu vermeiden. Die Standardwerte variieren je nach einzelner Computerkonfiguration, installierter Software und angewendeten Patches.

Ihr Code sollte niemals implizit von der Verwendung einer bestimmten Schutzebene oder von der Annahme abhängen, dass standardmäßig eine bestimmte Sicherheitsstufe verwendet wird. Wenn Ihre App von der Verwendung einer bestimmten Sicherheitsstufe abhängt, müssen Sie die Stufe explizit angeben und dann durch eine Überprüfung sicherstellen, dass sie tatsächlich für die hergestellte Verbindung verwendet wird. Darüber hinaus sollte Ihr Code so konzipiert sein, dass es sich um robuste Änderungen handelt, bei denen Protokolle unterstützt werden, da solche Änderungen häufig mit wenig Vorabhinweis vorgenommen werden, um neue Bedrohungen zu mindern.

Das .NET Framework 4.6 enthält ein neues Sicherheitsfeature, das unsichere Verschlüsselungs- und Hashalgorithmen für Verbindungen blockiert. Anwendungen, die TLS/SSL über APIs wie HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream usw. verwenden und .NET Framework 4.6 ausrichten, erhalten standardmäßig das sicherere Verhalten.

Entwickler möchten dieses Verhalten möglicherweise deaktivieren, um die Interoperabilität mit ihren vorhandenen SSL3-Diensten ODER TLS w/RC4-Diensten aufrechtzuerhalten. In diesem Artikel wird erläutert, wie Sie Ihren Code so ändern, dass das neue Verhalten deaktiviert ist.

Gilt für

Siehe auch