いくつかの読みを通して、私はHTTPSがAndroidアプリでどのように機能するか、特に証明書の検証がどのようにしてどのように機能するかについて、かなり大まかな理解しています。この理解を得たために言及されたリソースのいくつかは次のとおりです。
Android
の証明書の検証href="http://developer.android.com/training/articles/security-ssl.html" rel="nofollow"> AndroidアプリのSSL
SSLの検証 - Android
私の理解に従って、私はAppsが検証できると大まかに次のように言うことができます:
- Androidが提供するデフォルトの信頼ストア - これは、デフォルトで、それ故、ブラウザとアプリ自体によってデフォルトであるすべてのCA証明書のリストを持っています。これは設定でも見られるCASの同じリストです。セキュリティ - >信頼できる資格情報(JB +)またはシステム/ etc / security / cacerts.bks(Android< JB)
- 開発者は自分のカスタムキーストアを定義し、それらのカスタムトラストストアを信頼するためにSSLSocketFactoryを作成することを選択できます。
または
私の質問は上記の最初のケースを中心に回転します。私がそれについて読むことができる場所のほとんどで、私はそれがデフォルトの信頼ストアに対する証明書を検証するために、開発者は明示的に何かをする必要はないと述べたことを発見しました。 HTTPSエンドポイントをヒットして、HttpSurlConnectionオブジェクトが返された状態で再生します。
証明書検証自体は内部的に(デフォルト)Android OSによる世話をしました。
今、私は上記(強調表示されている)がどのように完了したかを知りたいですか? API / Internal Methode / Androidが実際にこの証明書検証を実行するように呼び出すという他のものは何ですか?この情報はどこにありますか?私が考えることができる1つのアプローチは、Androidのソース自体を通過することですが、コードの一部がそれをしているのは手がかりを持っていません(そしてそれは多くの努力になるでしょう)。
アドバイスしてください。