Não foi possível conectar-se a um servidor HTTPS usando WebRequest
devido a esta mensagem de erro:
The request was aborted: Could not create SSL/TLS secure channel.
Sabemos que o servidor não possui um certificado HTTPS válido com o caminho usado, mas para contornar esse problema, usamos o seguinte código que retiramos de outra postagem do StackOverflow:
private void Somewhere() {
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(AlwaysGoodCertificate);
}
private static bool AlwaysGoodCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors policyErrors) {
return true;
}
O problema é que o servidor nunca valida o certificado e falha com o erro acima. Alguém tem alguma idéia do que devo fazer?
Devo mencionar que um colega e eu realizamos testes há algumas semanas e estava funcionando bem com algo semelhante ao que escrevi acima. A única "grande diferença" que encontramos é que estou usando o Windows 7 e ele estava usando o Windows XP. Isso muda alguma coisa?
The request was aborted: Could not create SSL/TLS secure channel
é muito genérico. Basicamente, "a inicialização da conexão SSL / TLS / HTTPS falhou por um dos muitos motivos possíveis". Portanto, se você obtê-lo regularmente em uma situação específica, sua melhor opção é fazer uma pergunta específica, fornecendo detalhes específicos sobre essa situação. E verificando o Visualizador de Eventos para obter mais informações. E / ou habilite a depuração do lado do cliente .NET para obter mais detalhes (o certificado do servidor não é confiável? Existe uma incompatibilidade de cifra? Incompatibilidade de versão do protocolo SSL / TLS etc.)