ServicePointManager.SecurityProtocol Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u het beveiligingsprotocol op dat wordt gebruikt door de ServicePoint objecten die door het ServicePointManager object worden beheerd.
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
Waarde van eigenschap
Een van de waarden die zijn gedefinieerd in de SecurityProtocolType opsomming.
Uitzonderingen
De waarde die is opgegeven om de eigenschap in te stellen, is geen geldige SecurityProtocolType opsommingswaarde.
Opmerkingen
Met deze eigenschap selecteert u de versie van het SSL-protocol (Secure Sockets Layer) of TLS (Transport Layer Security) dat moet worden gebruikt voor nieuwe verbindingen; bestaande verbindingen worden niet gewijzigd.
Vanaf het .NET Framework 4.7 is de standaardwaarde van deze eigenschap SecurityProtocolType.SystemDefault. Hierdoor kunnen .NET Framework-netwerk-API's op basis van SslStream (zoals FTP, HTTP en SMTP) de standaardbeveiligingsprotocollen overnemen van het besturingssysteem of van aangepaste configuraties die door een systeembeheerder worden uitgevoerd. Zie Protocols in TLS/SSL (Schannel SSP) voor informatie over welke SSL/TLS-protocollen standaard zijn ingeschakeld voor elke versie van het Windows besturingssysteem.
Voor versies van het .NET Framework via het .NET Framework 4.6.2 wordt geen standaardwaarde voor deze eigenschap weergegeven. Het beveiligingslandschap verandert voortdurend en standaardprotocollen en beveiligingsniveaus worden in de loop van de tijd gewijzigd om bekende zwakke plekken te voorkomen. De standaardinstellingen variëren afhankelijk van de configuratie van afzonderlijke computers, geïnstalleerde software en toegepaste patches.
Uw code mag nooit impliciet afhankelijk zijn van het gebruik van een bepaald beveiligingsniveau of van de veronderstelling dat een bepaald beveiligingsniveau standaard wordt gebruikt. Als uw app afhankelijk is van het gebruik van een bepaald beveiligingsniveau, moet u dat niveau expliciet opgeven en vervolgens controleren of deze daadwerkelijk wordt gebruikt voor de tot stand gebrachte verbinding. Bovendien moet uw code zijn ontworpen om robuust te zijn ten aanzien van wijzigingen die worden ondersteund door protocollen, zoals dergelijke wijzigingen, vaak met weinig voorafgaande kennisgeving worden aangebracht om opkomende bedreigingen te beperken.
Het .NET Framework 4.6 bevat een beveiligingsfunctie waarmee onveilige coderings- en hashalgoritmen voor verbindingen worden geblokkeerd. Toepassingen die TLS/SSL gebruiken via API's zoals HttpClient, HttpWebRequest, FTPClient, SmtpClient en SslStream en gericht zijn op .NET Framework 4.6 krijgen standaard het veiligere gedrag.
Ontwikkelaars willen zich mogelijk afmelden voor dit gedrag om de interoperabiliteit met hun bestaande SSL3-services OF TLS met RC4-services te behouden. In dit artikel wordt uitgelegd hoe u uw code kunt wijzigen, zodat het nieuwe gedrag is uitgeschakeld.
Note
Sinds .NET 9 wordt deze eigenschap toegewezen aan EnabledSslProtocols op SocketsHttpHandler.SslOptions.