У меня следующая ситуация: я использую объект System.Net.Http.HttpClient (.Net Fx 4.7.1) для доступа к URL, который использует SSL / TLS.Сертификат сервера должен быть доверенным, поскольку он подписан инфраструктурой PKI компании, и мои коллеги обновили хранилище сертификатов клиентского компьютера, чтобы доверять ему.
Однако, если я открою URL-адрес в браузере (IE / Chrome),соединение является доверенным, когда я получаю доступ к тому же URL-адресу с моим объектом HttpClient, я получаю следующую цепочку ошибок:
AggregateException: произошла одна или несколько ошибок.HttpRequestException: произошла ошибка при отправке запроса.WebException: лежащее в основе соединение было закрыто: не удалось установить доверительные отношения для безопасного канала SSL / TLS.AuthenticationException: удаленный сертификат недействителен в соответствии с процедурой проверки.
Похоже, что в браузере (Internet Explorer / Chrome) есть другая «процедура проверки» в качестве объекта HttpClient.
Еслисделать тест на https://google.com все работает нормально.
Нужно ли сообщать объекту HttpClient, что ему нужно позаботиться о доверенных органах, хранящихся в учетной записи компьютера?С другой стороны, я не нашел никакого свойства для этого.
Я знаю, как обойти исключение с помощью ServerCertificateVAlidateionCallback, но, поскольку мне нужно безопасное и доверенное соединение, это только решение для тестирования.
Есть идеи?очень ценится!Приятно провести время, ребята!