在使用带WCF的wsHttpBinding上使用用户名身份验证时,客户端是否需要安装证书,或者仅在主机上需要?在任何情况下,此证书是否需要由第三方签署,还是也可以与自签名证书一起使用?
我的理解是我可以使用自签名证书并设置
<authentication certificateValidationMode="None" />
在服务器端。这是对的吗?
还有一件事。如果我使用自签名证书,我是否需要将证书放在任何特定的商店中,或者是否完全相同? - 对自己的回答:只要在代码中设置正确的商店,商店就不重要了。
答案 0 :(得分:1)
如果没有传输模式安全性,WCF将不允许用户名验证,这意味着您需要证书。
据我所知,有两种方法可以获得适当的证书:
现在您应该拥有以下文件(这些名称仅用于演示目的):
然后您可以执行以下操作:
在服务器上,在本地计算机证书存储中:
在客户端上,在本地计算机证书存储区中:
最后在客户端和服务集的配置文件中:
<authentication certificateValidationMode="ChainTrust"/>
这将确保只有可以链接到受信任的根存储中的证书颁发机构的证书才有效。