在jmeter中启用服务器证书认证

时间:2018-11-21 08:46:09

标签: jmeter ssl-certificate

正如标题所述,我想在jmeter中启用服务器证书的身份验证。可以配置它吗?

到目前为止,我发现的是this article 据此,“ HTTP Client 4实现将使用TrustAll方案”。我主要使用此客户端实现(在jmeter 3.0或3.1版中),因为这是jmeter中更为高级/通用的功能。但是,这种方式jmeter不会捕获服务器证书无效的情况。

1 个答案:

答案 0 :(得分:1)

根据JMeter Documentation

  

JMeter HTTP采样器被配置为接受所有证书,无论其是否受信任,无论有效期如何,等等。这都是为了最大程度地测试服务器。

没有修改JMeter源代码的禁用此行为的简便方法,但是您可以使用JSR223 Sampler来检查服务器证书和/或certificate chain

相关代码如下:

def factory = javax.net.ssl.SSLSocketFactory.getDefault();

def socket = factory.createSocket('example.com', 443);

socket.withStreams { input, output ->
    output.withWriter {
        it << 'hello'
        it.flush()
    }
}

用服务器主机和端口替换example.com443。如果证书没有问题-申请将成功,否则您将在示例结果中看到包含详细信息的错误。

查看Apache Groovy - Why and How You Should Use It文章,以了解有关JMeter中自定义脚本的概念的更多信息