PCIに従い、2016年6月30日からSSLとTLS(特定の実装では1.0と1.1)の使用を停止する必要があります http://blog.securitymetrics.com/2015/04/pci-3-1- ssl-and-tls.html
HttpWebRequestオブジェクトを使用してWebサービスに接続する.Net3.5上に構築されたクライアントアプリケーションがあります。
MSDNによるとSecurityProtocolType( https://msdn.Microsoft.com/en-us/library/system.net.securityprotocoltype(v = vs.110).aspx )はSsl3とTls(1.0 ).Net Framework4以下。 Tls11およびTls12は、.Net Framework 4.5 /4.6でのみサポートされます。
これは、カード会員データ環境内にあり、完全にpciに準拠していることを意味します。すべてのアプリケーションを、.Net 4.5/4.6にアップグレードし、Tls12 SecurityProtocolTypeのみがHttpWebRequestを使用して外部Webサービスに接続できるようにする必要がありますか?
現在SSL /初期TLSを使用している、またはネゴシエーションでそれらを受け入れる意思があり、セキュリティ制御としてカード会員データ環境の一部である通信チャネルは、TLS 1.1のみを使用するように変更する必要があります(承認された暗号スイートを使用) )以上。
.Net 4.5以降で再コンパイルするか(TLS 1.2はデフォルトで有効になっていないため、コードを変更する必要があります)、必要なプロトコルをサポートするサードパーティのライブラリを使用する必要があります。
システムがSSL /初期TLSを使用していることがわかっている場合は、リスク軽減計画/ドキュメントを作成する必要があることに注意してください。
実際には、4.5より前のフレームワークでTLS 1.2を使用できます(少なくとも、.NET Framework 4クライアントで管理しました)。プロトコルをTls12として設定するためにclassicコマンドを使用する代わりに、このプロトコルのIDを使用してそれをバイパスできます。
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
マイクロソフトは、このために考えられない公開されたパッチを実行しました
彼らが行っていないように思われることの1つは、TLS1.1または1.2をサポートするようにwsdl.exeを更新することです。これは、TLS1.0をサポートしていないWebサービスでwsdle.exeフォーム.Net4.7をポイントしようとするとどうなるかです。
Microsoft (R) Web Services Description Language Utility
[Microsoft (R) .NET Framework, Version 4.7.2558.0]
Copyright (C) Microsoft Corporation. All rights reserved.
Error: There was an error processing 'http://<some.domain>/_vti_bin/Authentication.asmx?wsdl'.
- There was an error downloading 'http://<some.domain>/_vti_bin/Authentication.asmx?wsdl'.
- The underlying connection was closed: An unexpected error occurred on a send.
- Authentication failed because the remote party has closed the transport stream.
これは私にいくつかの本当の問題を引き起こしています、そしてこのアプリがまだ更新されていないことにただ驚いています!