使用HTTP协议和加密实现WCF服务

时间:2014-01-16 07:07:18

标签: c# .net wcf web-services wsdl

我需要使用带加密的HTTP协议实现WCF服务。消息或传输安全性都可以。我是否需要使用x509证书来实现加密的安全性要求?或者还有另一种方式吗?

1 个答案:

答案 0 :(得分:1)

您需要使用传输安全性,而不是邮件安全性。传输安全性与常规https加密类似 - 事实上,主机的URL将为https。设置并正确配置证书和程序有点复杂,但Transport比Message安全性有很大的优势。

使用Message安全性,您必须在每台客户端计算机上以及主机上的公钥和私钥上手动安装x509证书的公钥文件,以使邮件安全性正常工作。这意味着许多额外的工作 - 即所有客户端证书文件安装。此外,由于Message安全性是基于SOAP的,因此您必须对SOAP行中的所有内容进行编码,从而使REST编程变得困难或不可能。

使用Transport,您无需在每台客户端计算机上安装cert公钥的副本;与普通的https Web服务器一样,主机将公钥传输到它首先建立连接的客户端。

以下是关于https over wcf的体面操作文章的链接:http://www.codeproject.com/Articles/36705/Seven-simple-steps-to-enable-HTTPS-on-WCF-WsHttp-b