Jmeter:“找不到别名的证书”

时间:2017-07-31 18:25:10

标签: jmeter ssl-certificate keystore client-certificates

我在尝试使用Jmeter加载客户端证书时遇到问题。我相信我跟着this tutorial,但在运行测试时遇到错误。

据我所知,似乎我的密钥库文件设置正确。如果我运行keytool -list -v -keystore <mykeystore>,我会得到:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: client
Creation date: Jul 31, 2017
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
<certificate body>

当我运行我的测试时,事情似乎从一开始就运行正常

Total of 1 aliases loaded OK from keystore

但是,在结果输出中,我看到错误消息:

java.lang.IllegalArgumentException: No certificate found for alias:'client'

什么可能导致Jmeter无法读取证书?

1 个答案:

答案 0 :(得分:3)

对于非心灵感应的JMeter专家来说,如果不知道你的确切配置步骤就很难提供答案,所以我会想出一个绝对有效的解决方案:

  1. 还原所有配置更改(或从downloads页面获取干净的JMeter)
  2. 将下一行添加到 system.properties 文件(位于JMeter安装的“bin”文件夹中)

    javax.net.ssl.keyStoreType=pkcs12 or jks  
    javax.net.ssl.keyStore=/path/to/your/jsk keystore or .p12 certificate
    javax.net.ssl.keyStorePassword=your certificate or keystore password 
    
  3. 重新启动JMeter以选择属性(如果通过-D命令行参数传递属性,如jmeter -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.keyStore=secret.p12 ... - 将不需要重新启动)
  4. 就是这样,现在您的传出HTTP请求将使用提供的证书进行加密。

    更多信息: