2016-03-31 14 views
0

シマンテッククラス3セキュアサーバーCA - G4署名付き証明書を持つサーバーにHTTPSリクエストを送信しようとしているAndroidアプリケーションがあります。 apache httpライブラリ経由でリクエストを送信しようとすると(他のHTTPクライアントにも当てはまります)、「ピア証明書がありません」という例外がスローされます。 iOS上の同じサーバーに対する同じリクエストがうまく機能し、Chromeのサーバーに接続しても、同じAndroid搭載デバイスで動作していても、証明書は完璧です。Androidでシマンテック証明書が見つかりません

今私はGoogleがいくつかのシマンテックの証明書の信頼を落としたと聞いたが、私が知る限り、1024ビットの鍵を持つものだけを知っていると聞いた。問題の鍵は2048ビットの鍵で署名されています。そしてChromeもそれを受け入れます!

また、この記事[1]では、BouncyCastleキーストアとして完全なキーチェーンをインポートする必要があることがわかりました。ここで問題となるのは、すべてのユーザーが自分のサーバーへのURLを指定し、自分の証明書を管理することです。

私の質問です:誰もこの問題に慣れていて、回避策を知っていますか?私はガイドの無限の要求を証明書の検証を有効にする方法を私に示すが見つかりました...しかし、それは私のために働く解決策ではありません。

[1] http://blog.antoine.li/2010/10/22/android-trusting-ssl-certificates/

答えて

0

を私が実際に持っていた問題は、サーバーがSNI(Serverの名前表示)HTTPクライアントのサポートを必要とすることでした。アンドロイド版のapache httpライブラリはSNIをサポートしていません。だから私はそれをサポートする私自身のSSLSocketFactoryを書く必要がありました。

関連する問題