使用 JMeter 负载测试发送客户端证书

Sending client certificate with JMeter load test

我正在尝试将证书与 JMeter 一起使用,并且可以看到它似乎已从日志中正常加载。

INFO o.a.j.u.SSLManager: JmeterKeyStore Location: certificate.jks type jks
INFO o.a.j.u.SSLManager: KeyStore created OK
INFO o.a.j.u.SSLManager: Total of 1 aliases loaded OK from keystore

然而,当我发送 Http 请求时,服务器的结果一直显示 'Client Certificate Not Provided'。

以下是我在命令行中使用的参数。

-D javax.net.ssl.keyStoreType=jks 
-D javax.net.ssl.keyStore=certificate.jks 
-D javax.net.ssl.keyStorePassword=password123

我能找到的所有示例都简单地说明,如果我使用别名配置 Jmeter 元素 'KeyStore Configuration',它应该随请求发送证书。它似乎并没有这样做。作为记录,我还尝试使用 p12 证书并将类型设置为 pkcs12,结果相同。

我错过了什么?

事实上,鉴于您只有一个证书,您根本不需要密钥库配置,只需将其从测试计划中删除,您的设置就会开始正常工作


很可能是您的密钥库配置不正确,例如“持有证书别名的变量名”未设置或与密钥库中的记录不匹配

使用 Debug Sampler and make sure that certificate with this alias exists in the keystore. You can see a working sample in How to Use Multiple Certificates When Load Testing Secure Websites 文章检查其值