SSL客户端证书需要特殊内容吗?

时间:2011-09-02 00:54:33

标签: ssl ssl-certificate x509certificate

我有一个带有SSL证书的服务器和使用SSL的客户端,所有服务器都由同一个CA签名,并且CA在服务器和客户端上作为root权限受信任。

但是,我尝试过的客户端(iphone,chrome,explorer)都不会在服务器请求时发送客户端证书,即使它们都验证服务器证书正常。他们都声称没有证书。

当我查看证书/个人资料/商店中的客户端证书时,他们都声称它已经过验证且合法,并且所有证书都可以使用openssl等进行验证。

SSL客户端证书是否需要特定名称或其他详细信息,以便客户端浏览器知道何时使用它?有点像服务器证书如何指定确切的域作为证书上的名称?

服务器是apache2.2服务器,但我不认为它在服务器端有问题。

2 个答案:

答案 0 :(得分:2)

  1. 客户端证书必须设置适当的密钥用法和扩展密钥用法扩展。在您的情况下什么是“合适的”,我不确定,但密钥用法中的变体数量很少,您可以自己检查各种值。
  2. 您肯定没有忘记客户端应该可以访问的私钥,对吗?

答案 1 :(得分:0)

本文档中使用的密钥用法和扩展密钥用法扩展摘要:

(虽然它适用于NSS,但它应适用于其他产品。)

您还可以检查服务器发送的已接受CA列表是否配置正确。例如,可以使用openssl s_client -connect the.host.name:443来查看此内容。