【问题标题】:WCF Client Certificate AuthenticationWCF 客户端证书身份验证
【发布时间】:2011-04-09 04:10:33
【问题描述】:

我们有一个典型的客户端-服务器 WCF 服务,我想要以下内容:

  • 客户端通过 ClientCredentials 属性将证书传递给服务器
  • 服务器查看证书并确认它是由我们信任的证书颁发机构颁发的
  • 如果客户使用不是由我们的 CA 颁发的证书,则会被拒绝。

客户端安装了 clientAuthentication 证书以及我们受信任的 CA。 服务器安装了我们受信任的 CA 证书。我不想安装任何其他证书。

我在绑定方面很灵活,但它确实需要在网络场景中工作。

我考虑过将 BasicHttpBinding 与 TransportCredentialOnly 一起使用,但它不支持证书 :(.

我尝试在消息模式下使用 wsHttpBinding,但是这需要 ServerCertificate 来执行服务器身份验证和消息加密......我不想要!

有没有内置的方法来实现这一点?

【问题讨论】:

    标签: wcf certificate


    【解决方案1】:

    所有内置绑定仅在使用服务器证书时才允许使用客户端证书 - 相互证书身份验证和安全性。为了支持您的方案,您必须自己完全处理它。如果您想将您的身份验证机制注入 WCF,您必须执行 custom tokencustom credentials

    【讨论】: