正如标题所述,我想在jmeter中启用服务器证书的身份验证。可以配置它吗?
到目前为止,我发现的是this article 据此,“ HTTP Client 4实现将使用TrustAll方案”。我主要使用此客户端实现(在jmeter 3.0或3.1版中),因为这是jmeter中更为高级/通用的功能。但是,这种方式jmeter不会捕获服务器证书无效的情况。
答案 0 :(得分:1)
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.com
和443
。如果证书没有问题-申请将成功,否则您将在示例结果中看到包含详细信息的错误。
查看Apache Groovy - Why and How You Should Use It文章,以了解有关JMeter中自定义脚本的概念的更多信息