実現したいこと
VB.NETでPOSTでTLS 1.1 および TLS 1.2 を有効化したい
前提
VB.NETでPOSTでデータを送信したいと以前質問をさせて頂いた際に、.NETのバージョンが3.5などと古く、TLS1.2以上で通信していないのが原因ではないかとご回答を頂きました。
そのため、TLS1.1およびTLS1.2を有効にしたいのですが、できません。
発生している問題・エラーメッセージ
System.Net.WebException:基礎になる接続が閉じられました: 送信時に、予期しないエラーが発生しました。 System.IO.IOException:トランスポートストリームから予期しないEOFまたは0バイトを受信しました。
該当のソースコード
Dim url As String = "https://××××.co.jp/○○○_△△△" Dim wc As New System.Net.WebClient 'NameValueCollectionの作成 Dim ps As New System.Collections.Specialized.NameValueCollection '送信するデータ(フィールド名と値の組み合わせ)を追加 ps.Add("key", "123") ps.Add("id", "B123456781") '※※※※※※ここにTLS1.2の候補が出てきません※※※※※※ ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol Or SecurityProtocolType.Tls 'データを送信し、また受信する Dim resData As Byte() = wc.UploadValues(url, ps) wc.Dispose() '受信したデータを表示する Dim resText As String = System.Text.Encoding.UTF8.GetString(resData) Console.WriteLine(resText)
試したこと
色々と調べた結果、ウェブブラウザの設定でTLS1.1やTLS1.2にチェックを入れたり、レジストリにTLS1.1やTLS1.2関連の情報を追加しました。
補足情報(FW/ツールのバージョンなど)
開発環境
Windows7
Microsoft Visual Studio 2008
0 コメント