You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android network_security_config能否为同一域名配置不同过期SSL引脚?

同一域名下不同SSL引脚设置独立过期时间的问题

是的,默认的Android Network Security Config确实无法实现同一域名下不同SSL引脚设置独立过期时间。

核心限制原因

根据Android官方规范:

  • 每个<domain-config>节点下只能包含一个<pin-set>节点
  • <pin-set>的expiration属性是作用于该节点下所有<pin>的全局属性,单个<pin>元素不支持独立设置过期时间
  • 不允许为同一域名重复定义<domain-config>节点

这就导致你无法在原生配置里拆分两个引脚的过期时间,所有引脚必须共享同一个pin-set的过期时间。

可行替代方案

如果需要实现不同引脚独立过期且无需重建应用更替的需求,可以考虑以下方式:

  • 自定义SSL校验逻辑:放弃使用原生network_security_config的引脚固定,改用网络库(如OkHttp)提供的动态引脚管理API,比如OkHttp的CertificatePinner。你可以从后端动态获取引脚及其过期时间,在应用内实时更新校验规则,完全灵活控制每个引脚的生命周期。
  • 统一设置最晚过期时间:如果可以接受提前过期的引脚继续生效,把pin-set的expiration设置为所有引脚中最晚的过期时间,这样所有引脚都能持续到最晚期限。但这种方式无法让某个引脚提前失效。
  • 动态更新配置文件:通过应用内更新机制替换network_security_config.xml文件(比如将配置放在可读写的目录,通过自定义配置加载逻辑读取),但这种方式属于非官方hack,可能存在兼容性和安全风险,不推荐。

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:05:03