底层连接已关闭。无法与远程服务器

底层连接已关闭。无法与远程服务器

问题描述:

我试图通过HTTPS连接到Web服务建立信任关系。 我必须成功通过参考此链接Setting up IIS with HTTPS Binding底层连接已关闭。无法与远程服务器

配置自签名证书,现在我加入了一些代码到手持设备来调用Web服务。我曾提到过几个网站,并看到相同的代码。

public class MyPolicy : ICertificatePolicy 
     { 
      public bool CheckValidationResult(
        ServicePoint srvPoint 
       , X509Certificate certificate 
       , WebRequest request 
       , int certificateProblem) 
      { 

       //Return True to force the certificate to be accepted. 
       return true; 
      } // end CheckValidationResult 
     } // class MyPolicy 

我也加入这一行调用Web服务

System.Net.ServicePointManager.CertificatePolicy = new MyPolicy(); 

之前,但我仍然得到错误:Could not establish trust relationship with remote server.

上有什么错的代码任何线索?

手持代码可能不相信自己的自签名证书。您必须覆盖默认证书处理以允许它。当从浏览器进行调用时,会触发一个警告对话框,允许您在特定情况下信任自签名证书。

+0

但代码已经表明没有关系什么证书,这将始终返回true。还是我需要在客户端安装任何证书? – user2810084

+0

他们是否都是自签名证书?所有这些默认情况下都不受信任。 – James

+0

是的。这些是自签名证书。所以你的意思是他们不信任从客户端或服务器端? – user2810084