WCF仅从一个根ca中信任客户端证书

时间:2014-09-15 18:52:31

标签: wcf https ssl-certificate digital-certificate client-certificates

使用服务器和客户端证书保护WCF服务时,通过将发件人证书的公钥或指纹与预期值进行比较,可以轻松确保服务提供者证书(服务器证书)的身份。

http://msdn.microsoft.com/en-us/library/ff648360.aspx上,这将在步骤8中进行说明。您可以在端点部分中使用标识元素配置app.config文件,您可以在其中传递服务器证书的预期编码指纹值。收到的服务证书和期望值之间的比较确保我正在与我期望的服务器通信。

但现在我认为服务器的观点。服务器可以在其证书存储中包含多个RootCA证书。如果从请求者发送的客户端证书由其中一个RootCA发出(并签名),我的服务将信任此客户端证书。如何确保我的服务仅信任由一个确定的RootCA颁发的证书?我如何配置一个受信任的RootCA?

(我认为这可能是针对RootCA颁发的客户端证书的某种等效证书固定方式)

1 个答案:

答案 0 :(得分:0)

实现此目的的唯一方法是推出自己的自定义x509证书验证程序。然后,对于每个传入请求,您只需检查以确保客户端证书是由根CA颁发的。它实际上很容易做到。您可以在此处找到实现此步骤的步骤:

How to: Create a Service that Employs a Custom Certificate Validator

相关问题