Ответ 1
Как предложил Джон:
ServicePointManager.ServerCertificateValidationCallback +=
(sender, certificate, chain, sslPolicyErrors) => true;
Есть ли кто-нибудь, кто может заставить RestSharp игнорировать ошибки в сертификатах SSL? У меня есть тестовый клиент, и служба, к которой я подключаюсь, еще не имеет действительного cetificate.
Когда я делаю запрос, я получаю сообщение об ошибке:
The underlying connection was closed: Could not establish trust
relationship for the SSL/TLS secure channel.
Заранее спасибо
/michael
Update:
В итоге я использовал:
ServicePointManager.ServerCertificateValidationCallback +=
(sender, certificate, chain, sslPolicyErrors) => true;
Как предложил Джон:
ServicePointManager.ServerCertificateValidationCallback +=
(sender, certificate, chain, sslPolicyErrors) => true;
Существует лучшее решение, чем изменение кода. В идеале вам нужно решение, которое будет имитировать условия, которые вы увидите в процессе производства, и изменение кода не будет делать этого и может быть опасным, если вы забудете взять код перед его развертыванием.
Вам понадобится самоподписанный сертификат. Если вы используете IIS Express, у вас будет один из них, вам просто нужно его найти. Если у вас его нет, откройте Firefox или любой другой браузер, который вы хотите, и перейдите на ваш сайт. Вы должны иметь возможность просматривать информацию сертификата из строки URL и в зависимости от вашего браузера вы должны иметь возможность экспортировать сертификат.
Затем откройте MMC.exe и добавьте оснастку "Сертификат". Импортируйте файл сертификата в хранилище доверенных корневых центров сертификации и все, что вам нужно.
Теперь ваш компьютер в целом будет неявным образом доверять любым сертификатам, которые он сам создал, и вам не нужно будет добавлять код, чтобы справиться с этим специально. Когда вы перейдете к производству, он будет продолжать работать, если у вас есть правильный действующий сертификат, установленный там.