1

我们使用如下所示的证书链安装了 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 地址的以下行:

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

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

4

1 回答 1

1

您有 sslverifyclient 可选,这意味着客户端可以向网络服务器提供客户端证书,以验证自己。也许您的用户有这样的证书。我自己对此并不陌生,我认为这两项 a)服务器的 sslcertificate 和 b)客户端身份验证不相互依赖......

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

我希望这会有所帮助。

于 2014-03-26T15:19:09.510 回答