MASTG-TEST-0243: 网络安全配置中过期的证书绑定
概述¶
应用程序可以为固定证书配置过期日期,在 网络安全配置 (NSC) 中通过使用 expiration
属性。当证书固定过期时,应用程序不再强制执行证书固定,而是依赖其配置的信任锚点。这意味着如果服务器出示来自受信任 CA(例如系统 CA 或应用程序配置中定义的自定义 CA)的有效证书,连接仍将成功。但是,如果没有可用的受信任证书,连接将失败。
如果开发人员认为证书固定仍然有效,但未意识到它已过期,应用程序可能会开始信任它从未打算信任的 CA。
示例:一个金融应用程序之前固定在其自己的私有 CA 上,但过期后,开始信任公共信任的 CA,如果 CA 被攻破,则会增加泄露的风险。
此测试的目标是检查是否有任何过期日期已过期。
步骤¶
- 逆向工程应用程序 ( 反编译 Java 代码)。
- 检查 AndroidManifest.xml 文件,并检查
<application>
标签中是否设置了networkSecurityConfig
。如果已设置,请检查引用的文件,并提取每个域名的过期日期。
观察¶
输出应包含固定证书的过期日期列表。
评估¶
如果任何过期日期已过期,则此测试用例失败。