2014-06-11 253 views
0

我想编写一个应该使用https的WCF服务(自托管)。 在网上搜索,我发现从MSDN博客中的文章,告诉我 使用“netsh.exe中”命令通过命令行的证书绑定到端点 : http://blogs.msdn.com/b/james_osbornes_blog/archive/2010/12/10/selfhosting-a-wcf-service-over-https.aspx通过Https自托管WCF服务

但是,是的,这仍然状态艺术? 为什么不使用这个: http://msdn.microsoft.com/de-de/library/system.servicemodel.description.servicecredentials.servicecertificate(v=vs.100).aspx

或者我想念什么? 感谢您的帮助。

+0

真的没人吗?我真的需要通过命令行(netsh)将证书绑定到端口吗?似乎SetCertificate不足以创建https连接。 – DanielG

回答

0

所以,我终于找到了原因,我需要使用netsh命令:

检查这篇文章: https://msdn.microsoft.com/en-us/library/ms789011%28v=vs.110%29.aspx

从这篇文章: 如果传输HTTP(使用的WSHttpBinding ),基于HTTP的SSL提供传输级安全性。 在这种情况下,必须使用 配置托管服务的计算机,并绑定到端口的SSL证书 ,如本主题后面所示。如果传输是 TCP(使用NetTcpBinding),默认情况下,传输级安全 提供的是Windows安全性或TCP over SSL。在使用基于TCP的 上的SSL时,必须使用SetCertificate方法 指定证书,如本主题后面所示。

所以你只能使用Property for tcp binding。 如果通过http使用ssl,则需要通过netsh命令将证书绑定到端口