Политика аутентификации HTTPS в C # WebClient - PullRequest
2 голосов
/ 22 ноября 2010

Все -

Я использую класс C # WebClient для получения доступа к ресурсу на удаленном сервере через https. Интересующий меня ресурс - это файл на удаленном сервере. Я использую следующий вызов для получения доступа к файлу:

WebClient client = new WebClient();
client.DownloadData("https://someuri/file.txt");

При вызове вышеуказанного кода я получаю System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure. . Я вручную посетил сайт через IE и добавил сертификат. в качестве доверенного эмитента и может просматривать ресурсы без проблем в IE. Разве C # не использует стандартное хранилище сертификатов Windows? или я должен написать свой CertificatePolicy ?. Мне бы очень хотелось использовать встроенные алгоритмы аутентификации.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 10 декабря 2010

Чтобы это работало правильно, нельзя просто принять конечный сертификат в браузере. Вы должны использовать консоль cmd: mmc для загрузки сертификатов в хранилище доверия Machines, а не только в хранилище доверия пользователей.

0 голосов
/ 23 ноября 2010

Вы запускаете этот код через ASP.Net? Если это так, возможно, вам придется установить сертификат для локального компьютера, поскольку сертификат, установленный для входа в систему, не может использоваться ASP.net

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