Certs如何针对默认信托商店验证? -- security 领域 和 certificates 领域 和 https 领域 android 相关 的问题

How are certs validated against default trust store?


简体版||繁體版
1
vote

问题

中文

通过一些阅读,我对HTTPS如何与Android应用程序合作,特别是如何完成证书验证。我提到的一些资源获得这种理解是:

android的验证证书

ssl在Android应用程序

验证ssl - android

根据我的理解,我粗略地说,应用程序可以验证:

  1. android提供的默认信任存储 - 其中包含默认的所有CA证书的列表,由操作系统受到信赖,因​​此由浏览器和应用程序本身。这是在设置中也可以看到的CA列表 - >安全 - >可信凭据(jb +)或system / etc / security / cacerts.bks(在Android< jb中)

  1. 开发人员可以选择定义自己的自定义密钥库,并与它们一起使用SSLsocketFactory来信任其自定义信任存储。

我的问题围绕上述第一个案例旋转。在我可以阅读的大多数位置,我发现它提到它提到用于对默认信任存储验证证书,开发人员真的不需要明确执行任何操作。刚刚点击HTTPS端点并使用返回的HttpsurlConnection对象进行播放。

证书验证本身在内部(默认情况下)由Android OS处理。

现在我想知道上面的究竟是多么的(突出显示)完成了?什么是API /内部方法/ Android实际呼叫执行此证书验证的内容?我在哪里可以找到这个信息?我可以想到的一种方法是通过Android源本身,但我没有Clue代码的哪个部分(并且加上它是很多努力)。

请建议。

英文原文

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.

        

回答列表


相关问题

2  在哪里获得openssl for Android?  ( Where to get openssl binary for android ) 
我有一个nexus 10(解锁&amp; rooted),我想在那里获得openssl二进制文件,以便验证https证书: $ openssl s_client -connect <IPADDRESS> 然而,无论我做什么我都找不到一个简单的方法来在Android上获取openssl,所以我可以运行上面的命...

0  HTTPS和Android浏览器是否有已知问题?  ( Is there a known issue with https and the android browser ) 
我有一个Galaxy S2运行2.3.3,全部最新而不是植根。在几个网站上,我发现,由于在没有返回响应的HTTPS上发送的请求,日志记录是不可能的。 我没有详尽测试过这个问题,但我最值得注意的失败是我的Natwest网上银行,并登录了与我的Google ID堆叠交换网站。在这两种情况下,在堆栈站点的情况下,在堆栈站...

1  Certs如何针对默认信托商店验证?  ( How are certs validated against default trust store ) 
通过一些阅读,我对HTTPS如何与Android应用程序合作,特别是如何完成证书验证。我提到的一些资源获得这种理解是: android的验证证书 ssl在Android应用程序 验证ssl - android 根据我的理解,我粗略地说,应用程序可以验证: android提供的默认信任存储 -...

7  Android如何处理WiFi根CA?他们应该是安全问题吗?  ( How does android handle wifi root cas should they be a security concern ) 
我的大学要求我安装自定义根CA以连接到他们的WiFi网络。当我在手机上安装时,它让我指定"WiFi" 或"VPN和Apps" 。我选择了WiFi,并能够成功连接。 但是,我担心此证书的安全性。我不知道谁对我的大学负责,以及它是一群不知道他们在做什么的志愿者学生。 当我选择"wifi" 选项时,这是否意味着CA只用于与...

1  无法安装修改后的APK文件  ( Unable to install a modified apk file ) 
我想监控从Google Play下载的Android应用程序的HTTPS流量。 这个应用程序只能在Android N及以上运行。 所以我使用查理代理并遵循本文档修改APK文件。 这是我所做的: 从Google Play下载应用程序。 使用 apk提取器< / a>获取应用程序的apk文件。 运行 apkt...

3  通过Fiddler解密来自Android应用程序的HTTPS流量?  ( Decrypting https traffic from android apps via fiddler ) 
我实际上试图调试手机上进出的所有流量。我在我的电脑上使用Fiddler,以及手机上的Proxydroid来做这件事。 HTTP流量工作正常。我能够完全解密它。但是,通过HTTPS流量,所有我得到的是"隧道到:xxx.xxx.xx.xxx:443" 。 任何想法如何解密通过HTTPS路由的流量? 我通过默认浏览器在手机...

1  页面无法使用HTTP在S4中加载,但它在HTTPS中执行  ( Page cant be loaded in s4 using http but it does in https ) 
我有特别的问题在我的Galaxy S4中加载网站,无论是默认的浏览器。在我的情况下,当我尝试使用HTTP访问网站文件时,它会抛出错误500,同时使用HTTPS访问它,它按预期工作。最奇怪的是,当我尝试使用另一部电话或电脑访问时,它完全有效。我甚至尝试过Firefox,但它仍然不起作用。 你知道这个错误是否可以来自哪里...

3  如何在Google Chrome Android中绕过证书错误?  ( How to bypass certificate errors in google chrome android ) 
显然桌面Chrome有一个名为 --ignore-certificate-errors 的标志,允许您绕过所有证书警告。 Android Chrome是否有相同的?我选中了 chrome://flags 但没有。 ...

18  自签名证书安装索赔成功,但Android充当CERT不存在  ( Self signed certificate install claims success but android acts as if cert isn ) 
我正在尝试在Android 4.3中为我的Web服务器安装自签名证书。我有.crt文件在SD卡的根目录(实际模仿,因为我在插槽中没有SD卡)。 安装证书我进入设置 - &gt;一般 - &gt;安全 - &gt;凭据存储 - &gt;从设备存储安装。 我得到一个对话框,显示证书的名称(文件名减去.crt扩展),我可以...

4  Android支持TLS  ( Android support for tls ) 
我发现,从API级别16和API级别20的默认值支持TLS1.1和TLS1.2。这对应于Android 4.1(支持)和Android 4.4W(可穿戴)或Android 5.0(开启默认) 从服务器透视图,这意味着您只能支持4.4W或更高版本的客户端,因为您无法依赖客户端开启TLS 1.1和TLS 1.2支持。 现...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有