首页 > 解决方案 > 致命警报:记录本机移动应用程序时 jmeter 中的证书未知

问题描述

我正在尝试使用 jmeter HTTP(S) 测试脚本记录器记录本机应用程序性能测试,并且在移动设备中安装 ApacheJMeterRootCA 证书并配置代理设置后,每当我打开应用程序并尝试使用它时,我都会收到 certificate_unknown 错误

注意:使用 JDK8 和 JMeter 4.0

标签: jmeter

解决方案


假设 JMeter 配置正确(即您已将 JMeter 的自签名证书导入设备并且设备代理配置与HTTP(S) 测试脚本记录器设置匹配)您应该能够正常记录您的应用程序流量。

除非您使用的是最新的 Android 版本(Nougat 7或更高版本),否则您需要修改应用程序源代码以将应用程序配置为信任用户证书。

  1. 将下一行添加到您的应用程序清单(在application标记下)

    android:networkSecurityConfig="@xml/network_security_config"
    
  2. 在应用程序的文件夹下添加network_security_config.xml文件res并将以下代码放入其中:

    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
        <debug-overrides>
            <trust-anchors>
                <!-- Trust user added CAs while debuggable only -->
                <certificates src="user" />
            </trust-anchors>
        </debug-overrides>
    </network-security-config>
    
  3. 重建您的应用程序并在调试模式下运行它 - 现在 JMeter 应该能够捕获请求。

更多信息:


推荐阅读