Нужно ли устанавливать сертификат для отправки веб-запроса, даже когда мы добавляем его в ClientCertificates? - PullRequest
1 голос
/ 20 марта 2019

Я пытаюсь сделать веб-запрос с помощью WebClient.Я добавляю сертификат клиента в веб-запрос следующим образом:

protected override WebRequest GetWebRequest(Uri address)
        {
            HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
            request.ClientCertificates.Add(new X509Certificate2(AzureKeyVaultHelper.GetCertificate()));
            request.KeepAlive = false;
            request.ProtocolVersion = HttpVersion.Version10;
            request.ServicePoint.ConnectionLimit = 10000;
            return request;
        }

И перед настройкой веб-запроса я устанавливаю следующие конфигурации:

ServicePointManager.Expect100Continue = true;
ServicePointManager.DefaultConnectionLimit = 9999;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls 
                                       | SecurityProtocolType.Tls11
                                       | SecurityProtocolType.Tls12;

Итак,Я получаю сертификат от хранилища ключей Azure (но источник не имеет значения).Запрос работает до тех пор, пока у меня на локальной машине установлен сертификат.Но когда это не так, он говорит: «Не удалось создать безопасный канал SSL / TLS».Так что я не понимаю всего этого.Когда я добавляю сертификат клиента в запрос, нужно ли мне его также устанавливать?

Пожалуйста, помогите !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...