JMeter如何添加多个.pem格式CA及客户端证书并关闭SSL验证
JMeter多PEM证书加载及SSL验证禁用解决方案
批量加载CA证书与多客户端证书
JMeter的GUI SSL管理器仅支持单次选择单个证书,批量加载需通过配置密钥库+修改系统参数实现:
- 第一步:处理证书格式
- 导入CA证书到信任库,用于JMeter识别可信的服务端证书:
keytool -import -alias custom-ca -file your-ca.pem -keystore truststore.jks -storepass 自定义信任库密码 - 若客户端证书为分离的crt/key格式,先合并为PKCS12格式,三个客户端证书分别执行一次:
openssl pkcs12 -export -in client1.crt -inkey client1.key -out client1.p12 -name client1 -passout pass:自定义客户端证书密码 - (可选)将所有客户端证书导入到同一个密钥库,方便统一管理:
keytool -importkeystore -srckeystore client1.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS -alias client1
- 导入CA证书到信任库,用于JMeter识别可信的服务端证书:
- 第二步:修改JMeter系统配置
打开JMeter安装目录下bin/system.properties文件,添加/修改以下配置:
配置完成后重启JMeter即可生效,无需再通过SSL管理器手动选证书。# 信任库配置(存储CA证书) javax.net.ssl.trustStore=你的本地路径/truststore.jks javax.net.ssl.trustStorePassword=你设置的信任库密码 javax.net.ssl.trustStoreType=JKS # 密钥库配置(存储所有客户端证书) javax.net.ssl.keyStore=你的本地路径/keystore.jks javax.net.ssl.keyStorePassword=你设置的密钥库密码 javax.net.ssl.keyStoreType=JKS
禁用SSL验证配置
如需跳过服务端证书校验、主机名校验,直接在上述system.properties文件中添加以下参数:
# 禁用证书链校验 jmeter.ssl.disable.cert.verification=true # 禁用主机名校验 clientcert.ssl.disableHostnameVerification=true
若不想修改固定配置,也可以在启动JMeter时临时带参数生效:
- Windows启动命令:
jmeter.bat -Jjmeter.ssl.disable.cert.verification=true -Jclientcert.ssl.disableHostnameVerification=true - Linux/Mac启动命令:
./jmeter.sh -Jjmeter.ssl.disable.cert.verification=true -Jclientcert.ssl.disableHostnameVerification=true
多客户端证书切换方法
测试过程中需要切换不同客户端证书时,无需重启JMeter:
- 打开对应HTTP请求采样器的「高级」面板,在「SSL客户端证书」区域填写对应证书在密钥库的alias,即可指定当前请求使用对应客户端证书发起调用。
提示:若你的PEM格式客户端证书本身已包含完整证书链和私钥,可直接将密钥库类型配置为
PKCS12,无需转换为JKS格式。
内容的提问来源于stack exchange,提问作者Rajat Pratap
相关产品推荐
相关产品推荐

