连接到asp.net应用程序中的https://webservice

连接到asp.net应用程序中的https://webservice,asp.net,iis-7,web-services,Asp.net,Iis 7,Web Services,我有一个ASP.NET网站正在联系一个Web服务。通过http连接一切正常,但当我尝试https://时,它无法连接。我似乎没有从网站上得到任何错误,Web服务日志也没有显示任何内容,这意味着没有任何内容与之相关 我可以从soapclient.com这样的网站连接到我的https://webservice并请求信息,这样webservice和端口就可以工作了 为了连接到https://webservice而不是.NET中的普通http://one,我应该做什么特别的事情吗?我现在所做的就是将它连

我有一个ASP.NET网站正在联系一个Web服务。通过http连接一切正常,但当我尝试https://时,它无法连接。我似乎没有从网站上得到任何错误,Web服务日志也没有显示任何内容,这意味着没有任何内容与之相关

我可以从soapclient.com这样的网站连接到我的https://webservice并请求信息,这样webservice和端口就可以工作了

为了连接到https://webservice而不是.NET中的普通http://one,我应该做什么特别的事情吗?我现在所做的就是将它连接的URL改为我的安全URL

我正在使用 ASP.NET 2,IIS7

提前谢谢


编辑:刚刚发现实际错误消息:基础连接已关闭:无法为SSL/TLS安全通道建立信任关系-在我看来,这表明我尚未将自签名证书添加到服务器上已安装的证书中。。。但是我有…

您的客户端似乎遇到了证书验证错误,因为您的服务器证书是自签名的

在调用web服务之前,请尝试在网站代码中包含以下行(C#)。这将告诉.NET忽略所有证书验证错误:

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => { return true; };

这显然不应在生产环境中使用:)

您需要在运行ASP.NET网站的服务器的本地计算机存储中的受信任根证书颁发机构下添加自签名证书

将证书从webservice服务器导出为.cer文件,并将其复制到运行ASP.NET网站的服务器。然后,在该服务器上:

  • 双击.cer文件并安装证书
  • 在向导中,选择存储作为受信任根证书颁发机构下的本地计算机文件夹
  • 您可能必须重新启动IIS或服务器

  • 本页底部的“在客户端计算机上安装自签名证书”下有一些很好的说明:

    谢谢。这似乎解决了问题。我确实通过IE安装了证书,点击它并选择安装,我甚至选择了你提到的位置,因为我知道它应该在那里,但出于某种原因它没有安装它。NET是否看起来与IE不同,因为我可以在IE中毫无问题地查看web服务?IE和.NET都使用Windows证书存储。不确定。。。也许它确实起作用了,你只需要重新启动一些东西?我在添加证书之前重新启动了。我想这只是那些奇怪的事情之一。。。再次感谢你的帮助。