现在的安卓机在无法 ROOT 的情况下还能安装 CA 证书吗

1 天前
 MFWT

因为自己的内网域名后缀较为特殊,根本无法公网解析,也就无法申请正经证书,再加上自己折腾简易 PKI ,所以一些要求 SSL 的自用服务(比如 Vaultwarden )都是用的自己的证书,在要用的设备上信任一下 CA

目前的手机是 ROOT 过的,安装证书没问题,但是考虑到以后终有一日要换手机,到时候估计没办法再进行 ROOT 处理,不知道最近几个版本的安卓,在不 ROOT 能不能继续手动添加 CA 根证书?(需要 adb 等辅助工具的也算可以)

谢谢

1488 次点击
所在节点    Android
14 条回复
KagurazakaNyaa
1 天前
可以加用户证书,但是 app 可以在 manifest 里选择是否信任用户证书
Repobor
1 天前
一直都可以自己装,但是应用层不信任等于白干
cwxiaos
1 天前
不能,

替代方案 1:可以 vmos 去开 root
替代方案 2:virtualxposed 加模块过检测再 hook 证书
codehz
1 天前
你可以改 apk 注入代码强制信任(有加固的情况除外)
MFWT
1 天前
@cwxiaos
@codehz

目前有硬性 SSL 需求的似乎只有 Vaultwarden ,感觉这种涉及到安全的搞 hook 类不太合适,也许我会考虑在公网域名单独解析一个内网地址给他用
billlee
1 天前
@MFWT Bitwarden 客户端是开源的吧,那要信任用户证书 y 没问题?
MFWT
1 天前
@billlee 查了一下源代码,manifest 里面倒是有引用包含 src="user"的 certificates 字段的文件,根据查到的资料,可能这个就是『信任用户证书』的意思?
AoEiuV020JP
18 小时 15 分钟前
这方面意外的安卓比苹果严格,安卓早几年就开始限制用户证书,允许 app 不接受用户证书避免中间人,
苹果居然这么多年没有跟进,甚至苹果能中间人在知乎已经是苹果的一大优点了,
MIUIOS
18 小时 0 分钟前
@AoEiuV020JP 确实 现在搞开发抓包我都首选 IOS 测试,安卓真麻烦
processzzp
17 小时 38 分钟前
@AoEiuV020JP @MIUIOS 因为谷歌本质上是一家广告公司,侵犯了广告公司利益的东西自然要严加打击,Chrome 浏览器强推 Manifest V3 ,不也是为了干掉 ublock 这类广告拦截器。
sailei
11 小时 44 分钟前
可以,不过比较麻烦
UnluckyNinja
6 小时 34 分钟前
头两天想尝试抓一下某个国外 app 的包看下 api 接口,自己好几年的手机没 root 也用太久了不想 root ,然后就发现这个问题了(最后经过模拟器、重新打包,都无法正常启动,就放弃了),
自安卓 11 起,未 root 设备已不能安装 CA 证书到系统证书分类,只能安装到用户证书,起效还要 app 自身构建时主动选择信任用户证书。
现在新机都是安卓 15 了吧,除非 rom 深度定制否则应该是不行了。

结合近期的各种新闻,
大量安卓厂商新机不再开放 bootloader 解锁,
AOSP drama ,
谷歌宣布第三方应用安装也必须经过谷歌 play 开发者认证,
称安卓是开放生态已经没有什么底气了
find9
6 小时 27 分钟前
你的需求我弄过,最好的方案就是别用自签证书,每个设备都装一遍证书不嫌麻烦吗。
网上很多免费的公网域名,比如 duckdns digitalpat ,再用 caddy 使用 dns01 challenge 的方式,可以自动帮你的申请和续签证书,而你的服务可以完全在内网中运行,dns 记录那手动配置上你的内网 ip 即可。我现在家里的内网服务都是这么干的。
MFWT
6 小时 2 分钟前
@find9 可能我以后也会用类似方案了,我是有稳定的公网域名和公网证书源(就标准 Acme.sh + ZeroSSL 方案)的,到时候实在不行就做个解析过去内网地址算了

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

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

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

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

© 2021 V2EX