V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MFWT
V2EX  ›  Android

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

  •  1
     
  •   MFWT · 1 天前 · 1551 次点击

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

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

    谢谢

    14 条回复    2025-09-27 20:46:03 +08:00
    KagurazakaNyaa
        1
    KagurazakaNyaa  
       1 天前   ❤️ 1
    可以加用户证书,但是 app 可以在 manifest 里选择是否信任用户证书
    Repobor
        2
    Repobor  
       1 天前
    一直都可以自己装,但是应用层不信任等于白干
    cwxiaos
        3
    cwxiaos  
       1 天前 via iPhone
    不能,

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

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

    结合近期的各种新闻,
    大量安卓厂商新机不再开放 bootloader 解锁,
    AOSP drama ,
    谷歌宣布第三方应用安装也必须经过谷歌 play 开发者认证,
    称安卓是开放生态已经没有什么底气了
    find9
        13
    find9  
       12 小时 11 分钟前 via iPhone
    你的需求我弄过,最好的方案就是别用自签证书,每个设备都装一遍证书不嫌麻烦吗。
    网上很多免费的公网域名,比如 duckdns digitalpat ,再用 caddy 使用 dns01 challenge 的方式,可以自动帮你的申请和续签证书,而你的服务可以完全在内网中运行,dns 记录那手动配置上你的内网 ip 即可。我现在家里的内网服务都是这么干的。
    MFWT
        14
    MFWT  
    OP
       11 小时 45 分钟前
    @find9 可能我以后也会用类似方案了,我是有稳定的公网域名和公网证书源(就标准 Acme.sh + ZeroSSL 方案)的,到时候实在不行就做个解析过去内网地址算了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2777 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 00:31 · PVG 08:31 · LAX 17:31 · JFK 20:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.