Ошибка TLS 1.2 - сертификат клиента не предоставлен.Укажите сертификат клиента в ClientCredentials - PullRequest
0 голосов
/ 15 октября 2018

У нас есть провайдер, который недавно перешел на TLS 1.2

Связь с этим сервисом осуществляется через веб-приложение, написанное на VB.NET

Код, используемый для работы с предыдущимпротокол безопасности.Согласно ответу на WCF error Сертификат клиента не предоставлен.Укажите сертификат клиента в ClientCredentials , я обновил код, однако теперь я получаю сообщение об ошибке:

The client certificate is not provided. Specify a client certificate in ClientCredentials.

Нужно ли устанавливать сертификат для того, чтобы этот код работал, и если да,Как мне это сделать?

Dim binding = New BasicHttpBinding()
binding.Name = "SoapBinding"

binding.Security.Mode = BasicHttpSecurityMode.Transport

binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate
binding.Security.Transport.ProxyCredentialType = HttpProxyCredentialType.None
binding.Security.Transport.Realm = ""
binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.Certificate

Dim NewEndPoint As New EndpointAddress("www.example.com")

Dim _sr As New srT.ConsumerSoapClient(binding, NewEndPoint)

Dim NewSendData As New srT.SomeService

Dim _result As New srT.SomeServiceRepsonse

_result = _sr.ProcessRequest(NewSendData)

Приведенный выше код находится в VB.NET, но я предполагаю, что ответ будет аналогичным (или одинаковым) в C #.

Спасибо!

...