SSL证书验证始终通过

时间:2015-04-08 15:15:30

标签: wcf ssl ssl-certificate wcf-binding wcf-security

我正在尝试设置自托管WCF服务,在端点中使用https地址公开,我希望只有某些客户端可以调用该服务。 客户端身份验证应由客户端提供的证书完成。 我在公司网络中,所有证书都是由相同的权限颁发的,所以我在服务器端使用certificateValidationMode =“PeerTrust”来识别授权客户。

绑定到端口的服务器证书已完成。 服务绑定配置为:

  <security mode="Transport">
    <transport clientCredentialType="Certificate" />
  </security>

服务行为配置为:

  <serviceCredentials>
    <clientCertificate>
      <authentication certificateValidationMode="PeerTrust" trustedStoreLocation="LocalMachine"></authentication>
    </clientCertificate>
  </serviceCredentials>

客户端证书位于服务器端的Windows信任(受信任的人)中。

服务器证书位于客户端的Windows应用商店(受信任的人)中。

客户端和服务器之间的通信工作正常... SSL握手正常......

但是,当我从服务器端的Trusted People中删除客户端的证书时,客户端仍然可以调用该服务,我期待恰恰相反: “如果客户的证书不在服务器信任的人存储中,那么就不要接受电话。”

所有缓存已被删除,服务器重新启动...客户端应用程序仍然可以从之前授权的客户端工作站调用该服务。

任何建议?

0 个答案:

没有答案