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ローカルと外部検証サイトの両方を使用してチェーンを検証しました。エラーなし。それに加えて、大多数のユーザーは完全にログインできます。しかし、ユーザーの 1 人がログインできないと訴えています (証明書の検証に失敗しました)。サーバー ログ ファイルを見ると、そのユーザーに関連付けられている ip-address の次の行が表示されます。

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

ユーザーは OSX と Chrome を使用しています。何が間違っている可能性がありますか、または問題をさらに診断できるようにするためにどこを調べればよいでしょうか?

4

1 に答える 1

1

sslverifyclient オプションがあります。これは、クライアントが自分自身を認証するためにクライアント証明書を Web サーバーに提示できることを意味します。おそらくあなたのユーザーはそのような証明書を持っています。私はこれに不慣れで、これら2つの項目a)サーバーのssl証明書とb)クライアント認証は互いに依存していないと思います...

また、Apache に 2 つの SSLCertificateChainFile ディレクティブを指定できるかどうかもわかりません。

それが少し役立つことを願っています。

于 2014-03-26T15:19:09.510 に答える