WCF - 客户端身份认证是否需要服务证书?

11
我认为在WCF身份验证的心智模型中存在差距,希望有人能帮助我填补这个缺口。
因此,我正在创建一个WCF服务,并希望客户端使用证书和消息级安全性进行身份验证。我希望服务使用链信任来验证这些内容,以便我不需要在服务上安装每个客户端证书。目前,我对服务向客户端进行身份验证不感兴趣。
以下是我对如何实现这一点的理解:
  1. 客户端需要由服务端信任的CA签名的证书。
  2. 服务端需要安装该CA的CRL。
  3. 服务配置应启用消息安全性,指定clientCredentialType="Certificate",并使用链信任进行客户端证书验证。
  4. 客户端配置应启用消息安全性,指定clientCredentialType="Certificate",并指定一个终结点行为,告诉如何在存储库中查找客户端证书。
客户端向服务发出请求,发送其证书。服务发现客户端的证书是由其信任的CA签名的,然后允许请求通过。
现在,我找到的所有这个过程的演示都包括创建一个服务证书的步骤。它们都没有解释这是干什么用的,这让我很困惑。如果我只想验证客户端,为什么需要服务证书呢?
1个回答

9

您是正确的。理论上不需要服务器证书,但实际上wcf强制要求使用它。好消息是,您应该为服务器使用虚拟证书,并将ProtectionLevel设置为SignOnly。我建议阅读这篇文章,它讨论了类似情况并且大多数相关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接