WCF - 是否需要服务证书来验证客户端?

时间:2012-06-13 18:10:00

标签: wcf certificate client-certificates

我认为我的WCF身份验证模型存在差距,希望有人可以帮我填写。

因此,我正在创建一个WCF服务,并希望客户端使用证书和消息级安全性进行身份验证。我希望使用链信任来验证这些服务,以便我不需要在服务上安装每个客户端证书。目前,我对服务验证对客户端不感兴趣。

以下是我对需要做什么的理解:

  1. 客户端需要由服务端信任的CA签署的证书。
  2. 该服务需要为该CA安装CRL。
  3. 服务配置应启用邮件安全性,指定clientCredentialType =“Certificate”和链信任以进行客户端证书验证。
  4. 客户端配置应启用消息安全性,指定clientCredentialType =“Certificate”,以及告知如何在商店中查找客户端证书的端点行为。
  5. 客户端向服务发出请求,发送其证书。该服务发现客户端的证书由其受信任的CA签名,并允许请求通过。

    现在,我发现这个过程的所有演练还包括为服务创建证书的步骤。他们都没有解释这是什么,这是在扔我。如果我只想验证客户端,为什么需要服务证书?

1 个答案:

答案 0 :(得分:9)

你是对的。理论上,不需要服务器证书,实际上wcf强制您使用一个。好消息是您应该为服务器使用虚拟证书,并将ProtectionLevel设置为SignOnly。我建议阅读this article,其中讨论了类似的情况并且大多数情况相关。