Share via


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

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

Ab dem .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 allen benutzerdefinierten Konfigurationen erben, die von einem Systemadministrator ausgeführt werden. Informationen dazu, welche SSL/TLS-Protokolle standardmäßig für jede Version des Windows-Betriebssystems aktiviert sind, finden Sie unter Protokolle in TLS/SSL (Schannel SSP).

Für Versionen der .NET Framework über die .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 Schwächen zu vermeiden. Die Standardwerte hängen von der konfiguration des einzelnen Computers, der installierten Software und den angewendeten Patches ab.

Ihr Code sollte niemals implizit von der Verwendung einer bestimmten Schutzebene oder 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, für die Protokolle unterstützt werden, robust ist, da solche Änderungen häufig mit wenig Vorankündigung vorgenommen werden, um aufkommende Bedrohungen zu mindern.

Die .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. verwenden und auf .NET Framework 4.6 abzielen, 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 mit 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