Freigeben über


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

Eigenschaftswert

Einer der in der SecurityProtocolType-Enumeration definierten Werte.

Ausnahmen

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

Hinweise

Mit dieser Eigenschaft wird die Version des SSL-Protokolls (Secure Sockets Layer) oder TLS (Transport Layer Security) ausgewählt, die für neue Verbindungen verwendet werden soll. Vorhandene Verbindungen werden nicht geändert.

Ab .NET Framework 4.7 ist 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 für jede Version des Windows-Betriebssystems standardmäßig aktiviert sind, finden Sie unter Protokolle in TLS/SSL (Schannel SSP).

Für Versionen von .NET Framework über .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 Konfiguration des einzelnen Computers, 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 er angesichts von Änderungen, an denen Protokolle unterstützt werden, robust ist, da solche Änderungen häufig mit wenig Vorankündigung vorgenommen werden, um neu auftretende Bedrohungen zu mindern.

.NET Framework 4.6 enthält ein neues Sicherheitsfeature, das unsichere Verschlüsselungs- und Hashingalgorithmen für Verbindungen blockiert. Anwendungen, die TLS/SSL über APIs wie HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream usw. und .NET Framework 4.6 verwenden, 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 wird.

Gilt für:

Weitere Informationen