用于在WCF中传输的Https

时间:2012-01-17 23:10:56

标签: wcf security https

在没有证书的情况下为传输实施https安全性的最佳方法是什么?我应该只使用带有SecurityMode的basicHttpBinding传输和ClientCredentialType到HttpClientCredentialType吗?我是以描述的方式完成的,但是当访问WSDL时,我有一个ceritificate警告。

3 个答案:

答案 0 :(得分:3)

我认为没有证书你就不能拥有https。它可以是自己创建的,但客户端需要在其受信任的商店中明确安装它。

答案 1 :(得分:0)

如果要加密消息的内容以及HTTPs传输安全性,您可以考虑的另一个选项是使用消息安全性。这仅加密消息的内容而不加密传输信道。这样做的一个潜在好处是message can be secured passing through intermediate systems,而HTTP是点对点

这将需要服务器上的X509证书,与https证书一样,您可以自签名或从Verisign等CA获取

答案 2 :(得分:0)

你做不到。 HTTPS只是在SSL / TLS内部进行HTTP隧道传输,而SSL / TLS需要在服务器端使用证书。如果这是用于测试,或仅由您控制的客户端使用,您可以选择执行其中一个选项来代替支付CA颁发的证书。

  • 使用自签名证书。为了在没有客户端收到警告的情况下工作,您需要将证书导入客户的信任存储区(通常是浏览器的一部分)。

  • 使用您控制的证书颁发机构(CA)颁发的证书,并使您的所有客户端导入/信任该CA的颁发证书(或root)。如果您的环境中有多台服务器,并且您需要环境中的所有客户端都信任它们,那么这非常有用。

如果您需要外部客户端连接到您的服务器而不对客户端进行任何导入/信任,您将需要从全球认可的CA(如Verisign)获取证书。