WCF分布式开发常见错误(23):This could be due to the fact that the server certificate is not configured properly with HTTP.SYS
当使用Transport安全模式,WSHTTPBingding, 客户端认证类型为 Windows:clientCredentialType="Windows" .
安装了证书,也添加了客户端服务引用。启动服务宿主,客户端也添加了账 号。结果就出错了。
信息如下:
An error occurred while making the HTTP request to https://localhost:9001/WCFService. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server.
可能是由于服务器证书在HTTPS 箱子里与HTTP.SYS 设置不匹配。也可以由于 客户端和服务端之间的绑定不一致导致。
问题发到WCF中英文论坛,一个WCF英文论坛版主Richard,给了提示。他自己 的一个连接。我看了一下。有点收获。
WCF中文论坛问题地址:http://social.microsoft.com/Forums/zh- CN/wcfzhchs/thread/5ca6ee28-76cb-4395-82ea-21160cd4ebb0
WCF英文论坛问题地址:http://social.microsoft.com/Forums/en- US/wcf/thread/c39ce206-a86b-4faf-a427-8d4e4684758c
【1】错误信息截图:
【2】问题原因:
导致此问题的原因可能是:
(1)证书没有设置,transport安全模式,需要建立SSL安全套接层或者TLS 传输层安全协议。服务器要提供证书。
(2)WCF终结点地址没有设置证书,这里要建立SSL需要对中节点地址设置证 书。
【3】解决办法:
(1)制作证书:这里直接使用makecert 工具。Microsoft Visual Studio 2008-->Visual Studio Tools-->Visual Studio 2008 命令提示行里输入 :
makecert -r -pe -n "CN=FrankWCFServer" -ss My -sky exchange
具体大家可以看文章WSE3.0构建Web服务安全(2):非对称加密、公钥、密钥、 证书、签名的区别和联系以及X.509 证书的获得和管理,详细的介绍。具体的参 数说明:详细帮助文档: