在Jmeter/Java中忽略或关闭证书验证

6

我正在使用JMeter测试向自定义服务器发送HTTPS请求,但是自定义服务器返回的证书是不受信任的(因为这是一个开发服务器)。由于这个原因,请求失败了,因为它需要一个经过签名/验证的CA证书。

有没有办法关闭JMeter的证书验证,类似于curl中的(-k选项)?

2个回答

4
JMeter默认不验证证书,它会忽略所有证书错误,如过期和不正确的主机名。https://cwiki.apache.org/confluence/display/JMETER/JMeterAndHTTPS 如果您仍然遇到此问题,则可以明确提及忽略ssl证书检查的属性。有两种方法可以实现:
  1. 添加JMeter启动配置。您只需查找jmeter.properties文件并添加代码行 "server.rmi.ssl.disable=true"。
  2. 通过命令行执行Jmeter,并传递参数以重写启动时的配置文件属性,

    jmeter -s -Jserver.rmi.ssl.disable=true

还要检查是否传递了正确的标头。
Accept-Enconding= application/json
Content-Type= application/json

1

您可以在Jmeter jvm中包含来自开发服务器的证书。

  1. 使用任何浏览器下载证书。这里是如何操作的link

  2. 确定Jmeter使用的jvm。这通常是您的JAVA_HOME环境变量。

  3. 将证书添加到jvm信任库中。这里是步骤

这样应该就解决了问题。


14
为什么这个回答被接受了?你甚至没有回答他的问题。他问怎么关闭它。 - Nicholas DiPiazza

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接