https://free.temafon.ruとhttps接続を確立する必要がありますが、Android 2.3以降ではCertPathValidatorExceptionが発生しています。私が何をした。HttpsUrlConnection:認証パスの信頼アンカーが2.3で見つかりません
- Firefoxでhttps://free.temafon.ruのすべての証明書を取得します。
- temefon証明書からルート証明書に順番にキーストアの証明書をインポートします。
初期化SSLコンテキスト:
最終キーストアストア= KeyStore.getInstance( "BKS")。ここで
keystore.load(getResources().openRawResource(R.raw.temafon), "W0d3Uoa5PkED".toCharArray()); final TrustManager trustManager = new TemafonTrustManager(keystore); final SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, new TrustManager[] { trustManager }, null); HttpsURLConnection.setDefaultSSLSocketFactory(sslContext .getSocketFactory());
サーバが間違った順序で本命を送りますので、私は、custom TrustManagerを使用しています。
このコードはAndroid 4.0では問題なく動作しますが、2.3で失敗しましたjava.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
私は何をしていますか?
私はhereというテストプロジェクトを作成しました。
解決方法を見つけましたか?私は同じ問題に取り組んでいます。 – jimbob
残念ながら、私は2.3のすべての証明書を受け入れることになりました。 – Bracadabra