证书验证:错误(20):无法获得本地颁发者证书 - Apple OSX上的Chrome

时间:2013-09-11 13:11:07

标签: macos apache google-chrome ssl

我们使用类似以下的证书链安装了Apache Debain Wheezy HTTPS服务器:

AddTrust External CA Root -> PositiveSSL CA 2 -> ourdomain.com

Apache配置文件的SSL部分如下所示:

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/ourdomain.crt
    SSLCertificateKeyFile /etc/apache2/ssl/ourdomain.key
    SSLCertificateChainFile /etc/apache2/ssl/AddTrustExternalCARoot.crt
    SSLCertificateChainFile /etc/apache2/ssl/PositiveSSLCA2.crt
    SSLVerifyClient optional
    SSLVerifyDepth 2
    SSLOptions +StdEnvVars +StrictRequire
    <Location />
            SSLRequireSSL ON
            SSLRenegBufferSize 100000000
    </Location>

我们已在本地使用openssl verify并使用外部验证网站验证了链。没有错误。除此之外,我们的大多数用户都可以完美登录。但我们的一位用户抱怨他无法登录(证书验证失败)。查看我们的服务器日志文件,我们可以看到与该用户关联的ip-address的以下行:

Certificate Verification: Error (20): unable to get local issuer certificate

用户使用OSX和Chrome。什么可能是错的或我们在哪里可以进一步诊断问题?

1 个答案:

答案 0 :(得分:1)

您有sslverifyclient可选,这意味着客户端可以向Web服务器提供客户端证书,以进行身份​​验证。也许你的用户有这样的证书。 我自己是新手,我认为这两个项目a)服务器的sslcertificate和b)客户端身份验证不相互依赖......

我也不确定你是否可以给apache两个SSLCertificateChainFile指令。

我希望有点帮助。