Android 和 iOS 双持,谈谈开放的 Android 不如封闭的 iOS 的一个地方

2022-09-02 22:20:06 +08:00
 seers

唯一让我不爽的一点,Android 不信任用户的根证书,但是 iOS 反而大大方方的,非常奇怪,Android 就好像风韵少妇,嘴上怎么调戏都行,就是不让最后一步,iOS 仿佛高贵冷艳御姐,但是只要你有了 key ,就可以为所欲为,非常反差。

12762 次点击
所在节点    Android
26 条回复
XiLingHost
2022-09-02 22:22:42 +08:00
可能是因为 Android 的根证书安装起来门槛太低了,不过用户根证书也是可以安装到系统根里的,只要你 root 了就可以

另外是否信任用户根其实是应用的选择,应用甚至可以不信任系统根而是信任内置的公钥
butanediol2d
2022-09-02 22:42:25 +08:00
@XiLingHost 能不能详细说明一下,root 之后如何添加根证书。Android 直接在设置中添加需要连密钥一同添加,我并不想把密钥也放进去。于是我直接把证书放到系统的证书目录里(目录应该是没错,我看设置中列出的其他预装根证书都在这个目录里)。但这样操作之后,手机安装的软件还是不信任我的 CA ,并且系统也弹出不信任的 CA 的通知。
churchmice
2022-09-02 22:47:40 +08:00
@butanediol2d 不是直接放就行,名字有讲究,要生成对应的名字才行,具体的生成方法我忘记了。我有自己的 CA,root 之后改对名字放进对应目录一直没问题
churchmice
2022-09-02 22:49:07 +08:00
Goooler
2022-09-02 22:52:44 +08:00
NULL2020
2022-09-02 22:53:37 +08:00
所以,安卓小白想问问,到底怎么样可以愉快地抓包?
CEBBCAT
2022-09-02 23:19:04 +08:00
@NULL2020 http 该怎么抓怎么抓,https 需要安装证书,Android 到一定版本后还需要使用类似 JustTrustMe 之类的插件。再多的细节就记不得了。如果遇到证书绑定的 App ,要更麻烦一些

你 Google 了吗?怎么说?
butanediol2d
2022-09-02 23:20:07 +08:00
@churchmice 感谢,我尝试一下。
codehz
2022-09-02 23:48:40 +08:00
iOS 也不是没有 ssl pinning ,只是好像没安卓那么广
dingwen07
2022-09-02 23:55:05 +08:00
应该 Google 为了防止人们过滤广告
ByteCat
2022-09-03 01:36:24 +08:00
iOS 上遇到过 SSL Pinning 的,那种就很难搞了
1nKya
2022-09-03 05:14:15 +08:00
@NULL2020 大概可以考虑 WSA 喵?
SenLief
2022-09-03 07:34:11 +08:00
ssl pinning 咋解决的?
tbg
2022-09-03 11:27:38 +08:00
比喻很形象
wwbfred
2022-09-03 12:33:40 +08:00
Android 我记得用户导入的根证书和系统自动信任的根证书位置是不一样的,某些情况下系统不认,要想达到同等的效果需要 ROOT 。
iOS 信任的根证书也不是无条件的,苹果的一些域名只能用系统证书,无解。SSL Spinning 只能搞自签名应用,要么每年给苹果交钱,要么一周过期一次。过两年侧载法律落地了应该就没有这个问题了。
albert0yyyy
2022-09-03 13:01:55 +08:00
但是只要你有了 root ,也可以为所欲为 /doge
albert0yyyy
2022-09-03 13:04:12 +08:00
@NULL2020 Android-SSL-TrustKiller 或者 JustTrustMe 模块或者直接用将用户证书置为根证书,用 Fiddler ,能抓 https 明文
albert0yyyy
2022-09-03 13:08:19 +08:00
而且只是 Android 7 以上不信任用户证书,可以说是 Android 在普通消费者版本逐渐在收紧权限。

退一步说 Android 也还是开发源代码的,可以比喻为 Android 在外眼里逐渐从疯丫头变成乖巧,在家里头身体每个细胞你都能掌控
albert0yyyy
2022-09-03 13:12:58 +08:00
而且对于普通消费来说确实是安全了,确实难抓包了,全是空包。

对于开发者来说,备一台 root 开发机应该是比较好的。
albert0yyyy
2022-09-03 13:15:05 +08:00
@NULL2020 或者手机运行 root 虚拟机或者平行空间,虚拟机里安装根证书,手机抓虚拟机的包

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/877351

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX