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に精通しておらず、その状況に非常に怯えているため、電話サポート担当者は電話の波にさらされています。
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でも動作するはずです。
同じ問題が発生しています。 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を優先する必要があります。
この問題は、Chrome= Windows XPでTLSv1.2を実行していることが原因です。
これはサーバー側だけでなくクライアント側でも無効にできます。
TLSの下位バージョンでChromeを実行するには、コマンドラインオプション--ssl-version-max = tls1.1で起動します
これは、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
私はこの問題を抱えていました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オプションを好みません
これがお役に立てば幸いです。