0
TLS 1.2をサポートするためにSSL TLSチャネリングを更新する必要がある従来のVisual Studio 2010 vb.netアプリケーションがあります。私はいくつかのオプションを試してみましたが(試しにコメント付きのコードを参照してください)、私はすべて同じエラー "SSL/TLSセキュアチャンネルを作成できませんでした。私は何が欠けていますか?SSL TLS 1.2チャネルの作成VB.net HTTPS WebRequest
Public Shared Function processCCRequest(ByVal strRequest As String) As String
'declare the web request object and set its path to the PayTrace API
Dim ThisRequest As WebRequest = WebRequest.Create("https://beta.paytrace.com/api/default.pay")
'configure web request object attributes
ThisRequest.ContentType = "application/x-www-form-urlencoded"
ThisRequest.Method = "POST"
'encode the request
Dim Encoder As New System.Text.ASCIIEncoding
Dim BytesToSend As Byte() = Encoder.GetBytes(strRequest)
'declare the text stream and send the request to PayTrace's API
Dim StreamToSend As Stream = ThisRequest.GetRequestStream
StreamToSend.Write(BytesToSend, 0, BytesToSend.Length)
StreamToSend.Close()
''ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
''allows for validation of SSL conversations
''ServicePointManager.ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf)
ServicePointManager.Expect100Continue = True
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
''| SecurityProtocolType.Tls11 | SecurityProtocolType.Tls
''var(response = WebRequest.Create("https://www.howsmyssl.com/").GetResponse())
''var(body = New StreamReader(response.GetResponseStream()).ReadToEnd())
'Catch the response from the webrequest object
Dim TheirResponse As HttpWebResponse = ThisRequest.GetResponse
Dim sr As New StreamReader(TheirResponse.GetResponseStream)
Dim strResponse As String = sr.ReadToEnd
'Out put the string to a message box - application should parse the request instead
' MsgBox(strResponse)
sr.Close()
Return strResponse
End Function
ご協力いただきありがとうございます。
.NET 4.5ではTLS 1.2のサポートが追加されていると思いますので、インストールしてから、4.0コードで 'ServicePointManager.SecurityProtocol = DirectCast(3072、SecurityProtocolType)'回避策を使用する必要があります。 – Mark
はい、私の答えでは、私の仕事を完了するためにこの情報に基づいてさらにいくつかのステップを進めました。 –