【问题标题】:Jmeter: "No certificate found for alias"Jmeter:“找不到别名的证书”
【发布时间】:2017-07-31 18:25:09
【问题描述】:

我在尝试使用 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 无法读取证书?

【问题讨论】:

    标签: jmeter ssl-certificate keystore client-certificates


    【解决方案1】:

    对于非心灵感应的 JMeter 专家,如果不知道您的确切配置步骤,将很难提供答案,因此我将提出一个绝对有效的解决方案:

    1. 恢复所有配置更改(或从downloads 页面获取干净的 JMeter)

    2. 将下一行添加到 system.properties 文件(位于 JMeter 安装的“bin”文件夹中)

      javax.net.ssl.keyStoreType=pkcs12 or jks  
      javax.net.ssl.keyStore=/path/to/your/jks 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 ... - 不需要重新启动)

    就是这样,现在您的传出 HTTP 请求将使用提供的证书进行加密。

    更多信息:

    【讨论】:

    • 这很有帮助,谢谢。这确实解决了无法找到别名的问题。它现在转移到一个关于服务器证书的错误,Non HTTP response code: javax.net.ssl.SSLHandshakeException,Non HTTP response message: Received fatal alert: unknown_ca,但这可能是一个完全不同的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 2011-07-12
    相关资源
    最近更新 更多