証明書はデフォルトのTrust Storeに対して検証されていますか? -- security フィールド と certificates フィールド と https フィールド android 関連 問題

How are certs validated against default trust store?












1
vote

問題

日本語

いくつかの読みを通して、私はHTTPSがAndroidアプリでどのように機能するか、特に証明書の検証がどのようにしてどのように機能するかについて、かなり大まかな理解しています。この理解を得たために言及されたリソースのいくつかは次のとおりです。

Android

の証明書の検証

href="http://developer.android.com/training/articles/security-ssl.html" rel="nofollow"> AndroidアプリのSSL

SSLの検証 - Android

私の理解に従って、私はAppsが検証できると大まかに次のように言うことができます:

  1. Androidが提供するデフォルトの信頼ストア - これは、デフォルトで、それ故、ブラウザとアプリ自体によってデフォルトであるすべてのCA証明書のリストを持っています。これは設定でも見られるCASの同じリストです。セキュリティ - >信頼できる資格情報(JB +)またはシステム/ etc / security / cacerts.bks(Android< JB)
  2. または

    1. 開発者は自分のカスタムキーストアを定義し、それらのカスタムトラストストアを信頼するためにSSLSocketFactoryを作成することを選択できます。
    2. 私の質問は上記の最初のケースを中心に回転します。私がそれについて読むことができる場所のほとんどで、私はそれがデフォルトの信頼ストアに対する証明書を検証するために、開発者は明示的に何かをする必要はないと述べたことを発見しました。 HTTPSエンドポイントをヒットして、HttpSurlConnectionオブジェクトが返された状態で再生します。

      証明書検証自体は内部的に(デフォルト)Android OSによる世話をしました。

      今、私は上記(強調表示されている)がどのように完了したかを知りたいですか? API / Internal Methode / Androidが実際にこの証明書検証を実行するように呼び出すという他のものは何ですか?この情報はどこにありますか?私が考えることができる1つのアプローチは、Androidのソース自体を通過することですが、コードの一部がそれをしているのは手がかりを持っていません(そしてそれは多くの努力になるでしょう)。

      アドバイスしてください。

英語

Through some reading, I have a fairly rough understanding about how https works with Android apps, especially how are certificate validations done. Some of the resources that I referred to for gaining this understanding would be :

Validating certs in Android

SSL in Android apps

Validating SSL - Android

As per my understanding, I could roughly say that apps can validate against :

  1. The default Trust Store that Android provides - which has a list of all the CA certificates that are by default trusted by the OS and hence by the browser and the app itself. This is the same list of CAs that can also be seen in Settings -> Security -> Trusted credentials (in JB+) or system/etc/security/cacerts.bks (in Android < JB)

OR

  1. Developers can choose to define their own custom keystores and make an SSLSocketFactory with them to trust their custom trust store.

My question revolves around the first case described above. In most of the places that I could read about it, I discovered it mentioned that for validating the certificates against the default Trust Store, the developer does not really need to do anything explicitly. Just hit the https end point and play on with the HttpsUrlConnection object returned.

The certificate validation itself is internally (by default) taken care of by Android OS.

Now I would like to know how exactly is the above (highlighted) done ? What is the API/internal method/anything else that Android actually calls to do this certificate validation ? Where can I find this information ? One approach I can think of is to go through the Android source itself, but I have no clue which part of the code does it (and plus it would be a lot of efforts).

Please advice.

        

回答リスト


関連する質問

18  自己署名証明書のインストールクレーム成功は、Androidが必要でないかのように機能する  ( Self signed certificate install claims success but android acts as if cert isn ) 
私は私のWebサーバー用の自己署名証明書をAndroid 4.3にインストールしようとしています。 SDカードのルートに.CRTファイルがあります(これは実際にはスロットにSDカードがないのでエミュレートされます)。 証明書をインストールするには、設定 - &...

1  証明書はデフォルトのTrust Storeに対して検証されていますか?  ( How are certs validated against default trust store ) 
いくつかの読みを通して、私はHTTPSがAndroidアプリでどのように機能するか、特に証明書の検証がどのようにしてどのように機能するかについて、かなり大まかな理解しています。この理解を得たために言及されたリソースのいくつかは次のとおりです。 Androi...

2  Android用にOpenSSLバイナリを取得する場所はどこですか?  ( Where to get openssl binary for android ) 
私はNexus 10を持っています(ロック解除された&amp;根)、私はOpenSSLバイナリをそこに入手したいので、HTTPS証明書: <コード> $ openssl s_client -connect <IPADDRESS> しかし、私が何をしても...

3  Fiddlerを介したAndroidアプリからのHTTPSトラフィックを復号化しますか?  ( Decrypting https traffic from android apps via fiddler ) 
私は実際に私の携帯電話に出入りするすべてのトラフィックをデバッグしようとしています。私は私のPC上にFiddlerを使用しています、そして私の電話でプロキシDroidを使ってこれを行います。 HTTPトラフィックはうまく機能します。私はそれを完全に復号化するこ...

4  TLSのAndroidサポート  ( Android support for tls ) 
TLS1.1およびTLS1.2はAPIレベル16からAPIレベル20からサポートされていることを発見しました。これはAndroid 4.1(サポート)とAndroid 4.4W(WEARABLE)またはAndroid 5.0(ON)に対応しています。デフォル...

1  変更されたAPKファイルをインストールできません  ( Unable to install a modified apk file ) 
Google PlayからダウンロードしたAndroidアプリのHTTPSトラフィックを監視したい。 このアプリは、Android N以降でのみ実行できます。 だから私はCharles Proxyを使い、このドキュメント APKファイルを変更します。 これが...

3  Google Chrome Androidで証明書エラーを回避する方法  ( How to bypass certificate errors in google chrome android ) 
明らかにデスクトップChromeには、すべての証明書の警告を回避することができます 9988776654330 というフラグがあります。 Android Chromeの同等のものはありますか? <コード> 99887766544331 でチェックインしましたが...

0  HTTPSとAndroidブラウザの既知の問題はありますか?  ( Is there a known issue with https and the android browser ) 
私は2.3.3を実行しているGalaxy S2を持っています、全く最新のものであり、根付かない。いくつかのサイトでは、HTTPSで送信されていない要求が応答を返さないため、ログインが不可能であることがわかります。 問題を徹底的にテストしていませんが、私にとっ...

1  S4でHTTPを使用してページをロードすることはできませんが、HTTPSで行くことはできません。  ( Page cant be loaded in s4 using http but it does in https ) 
私のギャラクシーS4、ChromeとデフォルトのブラウザのどちらかのWebサイトをロードする特別な問題があります。私の場合では、HTTPを使用してWebサイトファイルにアクセスしようとすると、HTTPSを使用してアクセスしながらエラー500をスローします。期待...

7  AndroidはWiFiルートCASをどのように処理しますか?彼らはセキュリティ上の関心事であるべきですか?  ( How does android handle wifi root cas should they be a security concern ) 
私の大学では、WiFiネットワークに接続するためのカスタムルートCAをインストールする必要があります。私の携帯電話にインストールすると、「WiFi」または「VPNとApps」を指定できます。私はWiFiを選び、正常に接続できました。 しかし、私はこの証明書のセ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有