![客户端证书](https://linux22.com/image/541693/%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%AF%81%E4%B9%A6.png)
我的公司从供应商处购买了通配符证书。此证书已成功配置为 Apache 2.2 以保护子域。SSL 端一切正常。
现在我需要生成 x509 客户端证书来颁发给这个子域。我按照这个页面操作:(http://www.vanemery.com/Linux/Apache/apache-SSL.html),从“创建用于身份验证的客户端证书”开始。
我已经生成了 p12 文件并成功将其导入 Firefox。现在当我浏览该网站时,FireFox 中出现错误“页面加载时,与服务器的连接被重置。”
我认为我的问题是由于没有正确签署客户端。当我签署客户端证书时,我使用 RapidSSL(我们从其处购买了证书)的 PEM 文件 (RapidSSL_CA_bundle.pem) 作为 -CA 参数。对于 -CAkey 参数,我使用服务器的私钥。这样正确吗?
答案1
我不认为通配符证书的许可证允许您使用它来签署其他证书。您需要成为证书颁发机构才能执行此操作。
答案2
Apache 可能正在重置连接。请尝试查看您的日志文件。如果您使用的是 *nix 系统,则它应该位于 中/var/log/apache/error.log
。
答案3
使用 openssl 查看生成的证书的内容。然后就可以清楚地知道您的签名是否正常工作。
openssl x509 -text -noout -in <yoursignedcert>
如果看起来没问题,并且似乎有一个反映其签名位置的 Issuer 字段,请尝试使用 openssl 连接到您的服务器并查看它的预期内容。
openssl s_client -connect <host>:port -CAfile <yourtrustcert> -cert <yoursignedcert>
这应该会提供一些线索,表明服务器是否正在请求您的证书。