2014-06-11 493 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命令將證書綁定到端口