【发布时间】:2017-05-08 07:59:16
【问题描述】:
如何安装根 CA 证书,即在 Mobile for Android(本机)应用程序的 Jmeter bin 中创建的 Apache jmeter TemporaryRootCA?如何在移动设备中安装该软件包以进行记录(脚本记录器)?
【问题讨论】:
-
对答案有任何反馈吗?如果一个是好的,它应该被接受和赞成。谢谢
标签: jmeter
如何安装根 CA 证书,即在 Mobile for Android(本机)应用程序的 Jmeter bin 中创建的 Apache jmeter TemporaryRootCA?如何在移动设备中安装该软件包以进行记录(脚本记录器)?
【问题讨论】:
标签: jmeter
当您启动 JMeter 的 HTTP(S) Test Script Recorder 时,JMeter 在其“bin”文件夹中生成 ApacheJMeterTemporaryRootCA.crt。将其安装到 Android 设备上的最简单方法是:
请记住,证书的有效期有限(有效期为 7 天),因此在录制时请确保它是最新的。
请参阅How do I install a user certificate? 线程了解更多详情。
替代解决方案是使用cloud-based proxy service,它可以自动执行证书安装过程。此外,您将能够以“SmartJMX”模式导出记录的请求,并自动关联动态参数。
【讨论】:
第一次使用 JMeter 记录模板
然后启动JMeter的HTTP(S) Test Script Recorder,它会在jmeter/bin文件夹下生成一个名为ApacheJMeterTemporaryRootCA.crt的文件。
将文件复制到您的 android 设备并将其安装为 CA 证书。
有关详细信息,请参阅How do I install a user certificate? 线程。
证书的有效期有限(默认为 7 天),但您可以通过在 user.properties 中设置来延长它
proxy.cert.validity=天数
现在您在 Android >= 7.0 中将面临的问题是应用程序仅默认使用系统安装的证书。
所以你需要让应用程序的开发者修改APK,看看为什么here。
编辑清单并添加:
android:networkSecurityConfig="@xml/network_security_config"
你会得到:
<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
<application android:networkSecurityConfig="@xml/network_security_config"
... >
...
</application>
</manifest>
然后在 res/xml/network_security_config.xml 中添加这个:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config>
<trust-anchors>
<!-- Trust preinstalled CAs -->
<certificates src="system" />
<!-- Additionally trust user added CAs -->
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
请注意,无论您使用什么工具(Neoload、LoadRunner、...),都需要这样做
有关详细信息,您可以阅读:
【讨论】: