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

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

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

    因为自己的内网域名后缀较为特殊,根本无法公网解析,也就无法申请正经证书,再加上自己折腾简易 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  
       21 小时 26 分钟前 via Android
    这方面意外的安卓比苹果严格,安卓早几年就开始限制用户证书,允许 app 不接受用户证书避免中间人,
    苹果居然这么多年没有跟进,甚至苹果能中间人在知乎已经是苹果的一大优点了,
    MIUIOS
        9
    MIUIOS  
       21 小时 12 分钟前   ❤️ 1
    @AoEiuV020JP 确实 现在搞开发抓包我都首选 IOS 测试,安卓真麻烦
    processzzp
        10
    processzzp  
       20 小时 49 分钟前   ❤️ 1
    @AoEiuV020JP @MIUIOS 因为谷歌本质上是一家广告公司,侵犯了广告公司利益的东西自然要严加打击,Chrome 浏览器强推 Manifest V3 ,不也是为了干掉 ublock 这类广告拦截器。
    sailei
        11
    sailei  
       14 小时 55 分钟前
    可以,不过比较麻烦
    UnluckyNinja
        12
    UnluckyNinja  
       9 小时 45 分钟前
    头两天想尝试抓一下某个国外 app 的包看下 api 接口,自己好几年的手机没 root 也用太久了不想 root ,然后就发现这个问题了(最后经过模拟器、重新打包,都无法正常启动,就放弃了),
    自安卓 11 起,未 root 设备已不能安装 CA 证书到系统证书分类,只能安装到用户证书,起效还要 app 自身构建时主动选择信任用户证书。
    现在新机都是安卓 15 了吧,除非 rom 深度定制否则应该是不行了。

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