底层连接已关闭。无法与远程服务器
问题描述:
我试图通过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.
上有什么错的代码任何线索?
答
手持代码可能不相信自己的自签名证书。您必须覆盖默认证书处理以允许它。当从浏览器进行调用时,会触发一个警告对话框,允许您在特定情况下信任自签名证书。
但代码已经表明没有关系什么证书,这将始终返回true。还是我需要在客户端安装任何证书? – user2810084
他们是否都是自签名证书?所有这些默认情况下都不受信任。 – James
是的。这些是自签名证书。所以你的意思是他们不信任从客户端或服务器端? – user2810084