ServicePointManager.SecurityProtocol プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
その ServicePointManager オブジェクトが管理する ServicePoint オブジェクトで使用されるセキュリティ プロトコルを取得または設定します。
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
プロパティ値
SecurityProtocolType 列挙値に定義されている値の 1 つ。
例外
プロパティを設定するために指定された値が有効な SecurityProtocolType 列挙値ではありません。
注釈
このプロパティは、新しい接続に使用する Secure Sockets Layer (SSL) またはトランスポート層セキュリティ (TLS) プロトコルのバージョンを選択します。既存の接続は変更されません。
.NET Framework 4.7 以降では、このプロパティの既定値は です SecurityProtocolType.SystemDefault。 これにより、 (FTP、HTTP、SMTP など) に SslStream 基づく .NET Framework ネットワーク API は、オペレーティング システムまたはシステム管理者によって実行されるカスタム構成から既定のセキュリティ プロトコルを継承できます。 Windows オペレーティング システムの各バージョンで既定で有効になっている SSL/TLS プロトコルの詳細については、「 TLS/SSL のプロトコル (Schannel SSP)」を参照してください。
.NET Framework 4.6.2 を介した .NET Framework のバージョンの場合、このプロパティの既定値は表示されません。 セキュリティランドスケープは絶えず変化し、既知の弱点を回避するために、既定のプロトコルと保護レベルが時間の経過と同時に変更されます。 既定値は、個々のマシン構成、インストールされているソフトウェア、適用されたパッチによって異なります。
コードは、特定の保護レベルの使用や、特定のセキュリティ レベルが既定で使用されることを前提に、暗黙的に依存してはなりません。 アプリが特定のセキュリティ レベルの使用に依存する場合は、明示的にそのレベルを指定したうえで、実際にそのレベルを使って接続が確立されたことを確認する必要があります。 さらに、コードは、プロトコルがサポートされる変更に直面しても堅牢になるように設計する必要があります。このような変更は、新たな脅威を軽減するために、事前にほとんど通知されずに行われることが多いためです。
.NET Framework 4.6 には、安全でない暗号およびハッシュ アルゴリズムの接続をブロックする、新しいセキュリティ機能が含まれています。 HttpClient、HttpWebRequest、FTPClient、SmtpClient、SslStream などの API を介して TLS/SSL を使用して、.NET Framework 4.6 を対象とするアプリケーションは、既定でセキュリティが強化された動作を取得します。
開発者は、既存の SSL3 サービスまたは TLS と RC4 サービスとの相互運用性を維持するために、この動作をオプトアウトすることができます。 この記事 では、新しい動作が無効になるようにコードを変更する方法について説明します。
適用対象
こちらもご覧ください
.NET