将 pem 证书导入到 jmeter 测试计划中

Importing the pem certificate into jmeter test plan

目前我正在使用 LoadRunner 进行 API 负载测试,其中 mTLS 在服务器端实现。此外,我还可以通过传递证书路径(clientA-crt.pem 和 clientA-key.pem)使用 web_set_certificate_ex 函数包含证书(2 个 pem 文件)- 调用工作得很好。

现在打算用jmeter做负载测试。作为第一步,我使用以下命令将 pem 转换为 p12 格式 openssl pkcs12 -export -out Cert.p12 -in clientA-crt.pem -inkey clientA-key.pem -passin pass:root -passout pass:root

https://www.ibm.com/support/knowledgecenter/en/SSPH29_9.0.3/com.ibm.help.common.infocenter.aps/t_ConvertthepfxCertificatetopemFormat068.html

然后下一步我使用以下命令将 cert.p12 转换为 java 密钥库 keytool -importkeystore -srckeystore Cert.p12 -srcstoretype PKCS12 -srcstorepass root123 -keystore dex.jks -storepass root111

https://www.blazemeter.com/blog/how-set-your-jmeter-load-test-use-client-side-certificates/

遇到以下错误: Importing keystore Cert.p12 to dex.jks... keytool error: java.io.IOException: keystore password was incorrect

谁能告诉我哪里错了。

客户端A的内容-crt.pem

-----BEGIN CERTIFICATE----- some alphanumeric values -----END CERTIFICATE-----

客户端A的内容-key.pem

-----BEGIN RSA PRIVATE KEY----- some alphanumeric values -----END RSA PRIVATE KEY-----

  1. 您不需要将 PKCS12 密钥库转换为 JKS 密钥库,JMeter 可以处理这两种类型,而且它是 recommended to use PKCS12,因为 JKS 是专有格式。您只需要 "tell" JMeter 通过 system.properties 文件

    使用 PKCS12 格式
    javax.net.ssl.keyStoreType=pkcs12
    javax.net.ssl.keyStore=Cert.p12
    javax.net.ssl.keyStorePassword=root
    
  2. 如果您出于任何原因想要使用 .jks 类型,您需要提供与您在创建密钥库期间指定的密码相同的密码:

    keytool -importkeystore -srckeystore Cert.p12 -srcstoretype PKCS12  -srcstorepass root -keystore dex.jks  -storepass root111
    

如果您不太熟悉 OpenSSL 和 Keytool 命令行实用程序,使用像 KeyStore Explorer 这样的基于 GUI 的工具可能会更容易。

更多信息:How to Set Your JMeter Load Test to Use Client Side Certificates