web-dev-qa-db-ja.com

ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED in Google Chrome

SSLクライアント証明書認証を使用するWebサイトを持っています。すべてのクライアント証明書はOpenSSLを使用して生成され、自己署名されています。すべてがすべてのWebブラウザーで機能しましたが、推奨されるのはGoogle Chromeでした。これはIEと同じSSLウェアハウスを使用しているため、証明書のインストールは非常に簡単でした(クリック、クリック、パスワード、完了!)。 Google "Chrome 29.0.1547.57 m"を最後に更新した後、私のWebサーバーに誰もアクセスできなくなります。 Google chromeエラーのみ!IEおよびFFは正常に動作しています。エラーは次のとおりです:ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED。サーバーエラーログにも同じです。何か提案はありますか?問題は、クライアントのほとんどはPCに精通しておらず、その状況に非常に怯えているため、電話サポート担当者は電話の波にさらされています。

12
Alexey

Windows7クライアントシステムが、一部のシステムではクライアント証明書を使用して認証できず、他のシステムでは認証できないという問題が発生しています。影響を受けるサーバーはApache Tomcatを実行し、影響を受けないサーバーはIIS7を実行していますが、その違いを原因として特定するのは躊躇しています。

これを見た人はいますか?

編集:

サーバー上でTLSv1.2を無効にすることで問題を解決することができます。他の誰かがこの経験を再現できますか?

ここで発生しているのはここだけです(同じバージョンのOSXには問題はありません)。

EDIT2:

Chromeのバグレポートはこちら: https://code.google.com/p/chromium/issues/detail?id=27837

EDIT3:

Chrome stable。Chrome 30では、より堅牢な修正が行われる予定ですが、29.xでも動作するはずです。

4
Sean Baker

同じ問題が発生しています。 Seanが報告したように、Chrome Windows XP=は、オペレーティングシステムがSHA-2(たとえば、SHA- 256またはSHA-384)ハッシュ関数。

Chromeは、サーバーHELLOの後に「クライアント証明書要求」を受信すると失敗します。サーバーHELLO自体がRC4-SHA1(この環境では)をネゴシエートしますが、成功するはずです。問題のあるパケットは、「クライアント証明書ハッシュ用のSHA-2(およびSHA1)関数が含まれています。

Chromeを呼び出すと、次のメッセージが出力されます:ERROR:nss_ssl_util.cc(193)] ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED:NSSエラー-12222、OSエラー- 2146893816

これは、CryptSignHash関数の「NTE_BAD_ALGID」に対応するオペレーティングシステムエラーです: http://msdn.Microsoft.com/en-us/library/windows/desktop/aa380280(v = vs.85).aspx =

サーバーでTLSv1.2を無効にすると、問題が解決します。しかし、ChromeはWindows XPのSHA1を優先する必要があります。

7
ymmt2005

この問題は、Chrome= Windows XPでTLSv1.2を実行していることが原因です。

これはサーバー側だけでなくクライアント側でも無効にできます。

TLSの下位バージョンでChromeを実行するには、コマンドラインオプション--ssl-version-max = tls1.1で起動します

0
Synck

これは、Win XPおよびGoogle Chrome 29.0.1547.57 mの組み合わせです。Win7/8では、この問題は発生しません。

古い作業バージョン28.0.1500.95をインストールできます http://www.filehippo.com/download_google_chrome/15657/

しかし、更新を無効にするための設定はそれほど簡単ではありません。 http://dev.chromium.org/administrators/turning-off-auto-updates

0
milang

私はこの問題を抱えていましたChrome WebSocketsをApacheに接続すると、proxy_wstunnel_moduleがスローされます。

私の解決策はhttpd.confを設定することでした

ProxyPass /wss2/ ws://127.0.0.1:8080/  retry=0 keepalive=On
ProxyPassReverse /wss2/ ws://127.0.0.1:8080/  retry=0 
    <Location /wss2/>
        SSLRequireSSL On
        SSLVerifyClient none
        SSLVerifyDepth 1
        SSLOptions +StdEnvVars +StrictRequire
        SSLRenegBufferSize 10486000
    </Location>

Chrome WebSocketsはオプションのSSLVerifyClientオプションを好みません

これがお役に立てば幸いです。

0
lbolanos