RestSharp и игнорирование ошибок в SSL-сертификате
Я пытаюсь запустить запрос REST с RestSharp на сервере, который явно не имеет действительного сертификата ssl, так как я получаю сообщение об ошибке
Базовое соединение было закрыто: не удалось установить доверительные отношения для безопасного канала SSL/TLS.
Я нашел этот вопрос, но предоставленное решение, каким бы простым оно не выглядело, не работает, я все равно получаю сообщение об ошибке. Вот мой код, есть идеи, что может быть не так?
private void Test_REST()
{
var client = new RestClient("https://online.gema.de");
// both versions not working
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
client.RemoteCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
// execute the request
IRestResponse response = client.Execute(GEMA_Authorize());
var content = response.Content; // raw content as string
}
private RestRequest GEMA_Authorize()
{
RestRequest request = new RestRequest("api/v1/authorize", Method.GET);
request.AddParameter("response_type", "token");
request.AddParameter("client_id", "test_client");
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
return request;
}
Когда я пишу обратный вызов, как это:
.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) =>
{
return true;
};
и установить точку останова на return true;
выполнение не останавливается на этом, поэтому кажется, что обратный вызов никогда не перезванивается. Есть идеи, в чем может быть проблема? Я довольно новичок в REST, поэтому я могу пропустить что-то важное.
Заранее спасибо,
Фрэнк
0 ответов
Использование
client.RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
работал у меня.