質問: ### やりたいこと SSLでセキュリティ確保されているサイトにアクセスするときに、サイト管理者から `XXX.p12` というファイル名のcertificateファイルをもらいました。これをGoogle Chromeの証明書インストールで、個人の証明書としてインストールして、そのサイトにアクセスしようとしました。 ### 発生している問題・エラーメッセージ ``` 400 Bad Request No required SSL certificate was sent nginx/1.8.0 ``` という表示が出て、証明書をインストールしたはずなのにアクセスができません。 なお、Google Chromeだけに起こる問題で、IE, FireFoxでは一切問題なく、証明書が機能してそのサイトにアクセス、閲覧が可能です。 ### 試したこと https://jp.globalsign.com/support/faq/547.html ここに出ているとおりに通常のとおりに証明書をインストールしました。 ### 補足情報(言語/FW/ツール等のバージョンなど) ユーザーエージェント Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36 OS Windows 7 ブラウザ Chrome 49
回答: 他のブラウザでクライアント証明書認証ができているという状況をみると、なにかしらアドウェア,マルウェアがはいっているのでは無いか考えられます。 自分の場合はLavasoftのWebコンパニオンというツールによって証明書情報が読替?されていました。 同じツールが入っているのであれば下記動画を参考にでアンインストール後、クローム再起動でクライアント証明書認証が使えるようなりました。 他のアドウェアであれば、対象のソフトを削除すれば、クロームでクライアント証明書認証が可能になるかと思います。 証明書情報が読替されていないかを確認する方法 確認方法例: 1. 一度twitterとかFaceBook等のSSLが正規に発行されているサイトへクロームでアクセス 2. そのご証明書の鍵をクリックして(ブラウザアドレスバーの緑の鍵)詳細をクリック 3. クロームのコンソールが起動するので灰色のボタン"View certificate"を選択 4. 証明書情報の発行者(CA)の確認 5. twitterであれば発行者はDifiCert SHA2 Extended Validation Server CAとなっているか確認 発行者が上記以外の場合は、発行者名でアンインストール方法を検索してもらえれば、対応できるかと。 発行者情報が書き換わっている場合、アドウェアをインストールしている可能性があります。 クロームを再インストール等しても、サービスが動いている限り書き換えられますのでアドウェア自体を削除する必要があるかと思います。 その他クロームへインストールしている拡張機能の可能性も考えられます。 上記以外の場合は、拡張機能を一度止めて検証を行ってみるのも良いかと思います。 別の端末のクローム(windows)でクライアント認証が可能であれば、端末側に原因があるものと考えて原因を絞って探ると答えが近道になると思います。 原因が違う場合は的外れなご回答かと思いますが、ご参考までに一度ご自身のクロームで証明書情報をご確認してみてください。