Estamos configurando um novo SharePoint para o qual ainda não temos um certificado SSL válido. Eu gostaria de chamar o serviço da Web de listas nele para recuperar alguns metadados sobre a configuração. No entanto, quando tento fazer isso, recebo a exceção:
A conexão subjacente foi fechada: não foi possível estabelecer uma relação de confiança para o canal seguro SSL / TLS.
A exceção aninhada contém a mensagem de erro:
O certificado remoto é inválido de acordo com o procedimento de validação.
Correto, pois estamos usando um certificado temporário.
Minha pergunta é: como posso dizer ao cliente de serviço da Web .Net ( SoapHttpClientProtocol ) para ignorar esses erros?
fonte
Como alternativa, você pode registrar um delegado de retorno de chamada que ignora o erro de certificação:
fonte
Como a resposta de Jason S:
Eu coloco isso no meu Main e olho para o meu
app.config
e teste se(ConfigurationManager.AppSettings["IgnoreSSLCertificates"] == "True")
antes de chamar aquela linha de código.fonte
Eu resolvi assim:
Chame o seguinte antes de chamar seu serviço da web SSL que causa o erro:
fonte
Eu estava tendo o mesmo erro usando DownloadString; e conseguiu fazê-lo funcionar como abaixo com sugestões nesta página
fonte
irá ignorar o SSL invaild. Escreva para seu construtor de serviço da web.
fonte
Para iniciantes, você pode estender sua classe de serviço parcial em um arquivo cs separado e adicionar o código fornecido por "imanabidi" para integrá-lo
fonte
Para expandir ainda mais a postagem de Simon Johnsons - o ideal é que você queira uma solução que simule as condições que você verá na produção e modificar o seu código não fará isso e pode ser perigoso se você esquecer de retirar o código antes de implantá-lo.
Você precisará de algum tipo de certificado autoassinado. Se você estiver usando o IIS Express, você já terá um desses, basta encontrá-lo. Abra o Firefox ou qualquer navegador de sua preferência e vá para o site de desenvolvimento. Você deve conseguir visualizar as informações do certificado na barra de URL e, dependendo do seu navegador, poderá exportar o certificado para um arquivo.
Em seguida, abra MMC.exe e adicione o snap-in Certificado. Importe seu arquivo de certificado para o armazenamento de Autoridades de certificação de raiz confiável e isso é tudo de que você precisa. É importante certificar-se de que ele vai para aquela loja e não para alguma outra loja como 'Pessoal'. Se você não está familiarizado com MMC ou certificados, existem vários sites com informações sobre como fazer isso.
Agora, seu computador como um todo confiará implicitamente em qualquer certificado que ele mesmo gerou e você não precisará adicionar código para lidar com isso especialmente. Quando você passar para a produção, ele continuará a funcionar, desde que você tenha um certificado válido apropriado instalado lá. Não faça isso em um servidor de produção - isso seria ruim e não funcionará para nenhum outro cliente além dos do próprio servidor.
fonte