質問: securityprotocoltype.tls | securityprotocoltype.tls11 | securityprotocoltype.tls12; コードを変更する以外に、このデフォルトを変更する方法はありますか?最後に、.net 4.0はtls 1.0までしかサポートしていませんか? tls 1.2をサポートするには、クライアントプロジェクトを4.5にアップグレードする必要があります。私の動機は、サーバーがサポートしていてもクライアント側でsslv3のサポートを削除すること(私は既にこれをマシンレジストリで無効にするpowershellスクリプトを持っています)とサーバーがサポートする最も高いtlsプロトコルをサポートすることです。 更新: .net 4.0のservicepointmanagerクラスを見るtls 1.0と1.1の列挙値がありません。どちらの.net 4.0/4.5でも、デフォルトはsecurityprotocoltype.tls|securityprotocoltype.ssl3です。うまくいけば、このデフォルトはレジストリでsslv3を無効にしても壊れないでしょう。しかし、私はすべてのアプリケーションを.net 4.5にアップグレードし、すべてのアプリケーションのすべてのブートストラップコードに明示的にsecurityprotocoltype.tls | securityprotocoltype.tls11 | securityprotocoltype.tls12;を明示的に追加する必要があることに決めました。これは、さまざまなapiおよびサービスへのアウトバウンド要求を行い、sslv3にダウングレードしないようにし、最高レベルのtlsを選択する必要があります。このアプローチは理にかなっているか、やり過ぎですか。私はアップデートするアプリケーションをたくさん持っています、そしてtls 1.0さえ近い将来にはいくつかのプロバイダーによって廃止されるかもしれないと聞いているので私は将来それらを証明したいです。クライアントがapiに対してアウトバウンドリクエストを行う場合、レジストリでssl3を無効にしても.net frameworkに影響がありますか?デフォルトではtls 1.1と1.2は有効になっていませんが、レジストリから有効にする必要がありますか? re http://support.microsoft.com/kb/245030 。ちょっと調べてみましたが、レジストリ設定はiis(サーバーサブキー)とブラウザ(クライアントサブキー)に適用されるため、影響はありません。申し訳ありませんが、この投稿は複数の質問にまとめられており、 "おそらく"答えがついています。
回答: 拡張子が.regで、次の内容のテキストファイルを作成します。windows registry editor version 5.00 [hkey_local_machine\software\microsoft\.netframework\v4.0.30319] "schusestrongcrypto"=dword:00000001 [hkey_local_machine\software\wow6432node\microsoft\.netframework\v4.0.30319] "schusestrongcrypto"=dword:00000001 または以下のソースからダウンロードしてください。 https://tls1test.salesforce.com/s/net40-enable-tls-1_2.reg ダブルクリックしてインストール...