Android アプリから Apache の HttpClient 4.X を使用して HTTPS Web サイトにクエリを実行しようとしています。javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
例外があります。証明書のインポートに関するさまざまな指示に従いました。
- Android でこの HTTPS サイトに接続するときに「ピア証明書がありません」というエラーが発生しないようにするにはどうすればよいですか?
- https 接続 Android
- Android および自己署名サーバー証明書を使用した HTTPS GET (SSL)
これらのどれも私にとってはうまくいきませんでした。
私の問題は、サイトの証明書チェーンが次のようになっていることだと思います。
- テレコム ルート CA 2
- 中級A
- 中級B
- サイトの証明書
- 中級B
- 中級A
Telekom Root CA 2は、Android のデフォルト キーストア ( ) に含まれています/system/etc/security/cacerts.bks
。テストに使用する自分の電話で確認しました。
問題は、どの証明書をカスタム キーストアに含めなければならないかということです。中級者だけ?サイトだけ?両方?ルート証明書も必要ですか? チェーンによって検証されるべきではありませSite's certificate
ん - チェーンのルートは信頼されているため、追加の証明書を提供する必要はありません。
何が起こっているのか、どうすればこれを機能させることができるのかを説明していただければ幸いです。証明書を無視するだけの回避策を投稿しないでください。これは運用を目的としており、安全でなければなりません。