我有一个apache服务器,ssl上有一个由可信的官方CA签名的服务器证书。我是否可以将apache配置为接受由CA签名的有效证书的客户端,而不接受签署服务器证书的CA?
虽然我已经在apache中配置了其他CA,而且服务器启动时没有错误,但我还是得到了一个ssl_error_unknown_ca_alert。我已经创建了一个文件,其中包含CA的CA证书,该CA证书签署了服务器证书,而其他CA证书则是我想要信任的CA的CA证书。然后,我将SSLCertificateChainFile指令指向该文件。
我正在使用Apache 2.2.22
我在用
指向服务器证书的SSLCertificateFile
SSLCertificateKeyFile定位到服务器密钥
SSLCertificateChainFile指向签署服务器证书的证书链。
SSLCACertificateFile指向一个文件,其中包含我希望被接受的所有证书链
SSLVerifyClient require
SSLVerifyDepth 1当我重新启动服务器时,Apache会在日志中识别所有这些内容,并且没有错误。然而,我仍然有一个ssl_error_certificate_unknown_alert错误。通过Meld中的文本比较验证了客户端证书链在SSLCACertificateFile中的存在。
发布于 2013-12-17 14:52:36
找出了问题所在。证书由一个由3个CA组成的链签名,我将SSLVerifyDepth设置为1,将其设置为10,它就能工作了。
发布于 2013-12-16 23:51:44
我相信你想要一个包含你想要使用的证书的目录。您可能需要使用一些SSL魔术来创建证书的符号链接。有关所需命令,请参见国防部_ssl SSLCACertificatePath的正确使用或处理多个可接受的客户端证书CA的最佳方法是什么。
https://serverfault.com/questions/561778
复制相似问题