Suman Zalodiya Ответов: 0

System.notsupportedexception: запрошенный протокол безопасности не поддерживается


Я разработал одно приложение в .net 3.5 framework и потребляю веб-сервис через него, используя приведенный ниже код

В нашем приложении для разработки он работает нормально, но когда я развернул его в производственной среде, он выдает мне ошибку. Я протестировал его в трех разных ОС Windows 7, Windows Server 2008 R2 и Windows Server 2003 R2

Система.NotSupportedException: запрошенный протокол безопасности не поддерживается.

Нужно ли мне устанавливать какое-либо дополнительное программное обеспечение или патч?

Я прошел через это. поддержка Microsoft[^]

Но когда я устанавливаю этот патч, я получаю ошибку "этот патч не применим к вашей системе"

Что я уже пробовал:

Module SslProtocolsExtensions
    Public Const Tls12 As SslProtocols = CType(&HC00, SslProtocols)
    Public Const Tls11 As SslProtocols = CType(&H300, SslProtocols)
End Module

Module SecurityProtocolTypeExtensions
    Public Const Tls12 As SecurityProtocolType = CType(SslProtocolsExtensions.Tls12, SecurityProtocolType)
    Public Const Tls11 As SecurityProtocolType = CType(SslProtocolsExtensions.Tls11, SecurityProtocolType)
    Public Const SystemDefault As SecurityProtocolType = CType(0, SecurityProtocolType)
End Module

Dim response As String
        Dim client As New WebClient()
        Dim credentials As String

        credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes("XXXX" + ":" + "XXXX"))
        client.Headers.Add("Authorization", "Basic " & credentials)
        client.Headers.Add(HttpRequestHeader.ContentType, "application/xml")
        If blnCookie Then
            client.Headers.Add(HttpRequestHeader.Cookie, strCookie)
        End If

        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls Or SecurityProtocolType.Ssl3 Or SecurityProtocolTypeExtensions.Tls11
        Try
            Dim strEaushadhiURI = "https://XXXXXXXXXXX/AMH/1031180700004"
            System.Net.ServicePointManager.ServerCertificateValidationCallback = _
  Function(se As Object, _
  cert As System.Security.Cryptography.X509Certificates.X509Certificate, _
  chain As System.Security.Cryptography.X509Certificates.X509Chain, _
  sslerror As System.Net.Security.SslPolicyErrors) True
            response = client.DownloadString(New Uri(strEaushadhiURI))
            System.Net.ServicePointManager.ServerCertificateValidationCallback = Nothing
            TextBox1.Text = response
        Catch ex As WebException
            Throw ex
        End Try

TommoDotCommo

Какие протоколы поддерживает веб-служба? Это не похоже на то, что у вас есть TLSv1.2 реализован должным образом, разве веб-служба требует только TLSv1.2?

Suman Zalodiya

Да, машина, на которой развернут веб-сервис, допускает только TLS1.2. но тот же код работает должным образом в среде разработки.

0 Ответов