JMeter JMS采样器未附加客户端SSL证书(自签名证书)



我正在为TIBCO EMS队列测试运行JMS点对点采样器。我已经将所有的tibco-ems jar添加到jmeter-lib文件夹中。在JMS采样器中配置了队列详细信息、上下文工厂、用户凭据。当用tcp请求队列到达TIBCO ems时,它正在工作。但是,当使用SSL url时,它无法连接。

我尝试了以下方式附上由tibco团队提供的自签名证书

  1. 将.pem文件(仅限开始和结束证书(添加到JAVA JDK cacerts文件中,并在命令行中使用-Djavax.net.ssl.keystore=cacerts和密码打开Jmeter。SSL请求无法连接tibco-ems服务器

  2. 通过openssl-connect命令从服务器中提取证书,复制begin&将证书部分结束到.cer文件,并使用keytool将它们添加到信任库。已使用此信任库启动jmeter。JMS采样器仍然失败。

我知道SSL证书在运行时没有与JMS采样器连接。有人能帮助我们成功地将SSL证书连接到JMS请求的步骤吗?在此处输入图像描述

考虑在应用程序服务器上通过SSL配置EMS,我认为您需要提供以下Java系统属性:

com.tibco.tibjms.naming.security_protocol=ssl
jsse.providerClass=com.ibm.jsse2.IBMJSSEProvider2
com.tibco.tibjms.ssl.expected_hostname=xxxx
com.tibco.tibjms.ssl.enable_verify_host_name=false
com.tibco.tibjms.ssl.enable_verify_host=false
com.tibco.tibjms.ssl.trusted=/path/to/your/certificate.pem

属性可以放入system.properties文件(位于JMeter安装的"bin"文件夹中(,也可以通过-D命令行参数传递,如:

jmeter -Dcom.tibco.tibjms.naming.security_protocol=ssl -Djsse.providerClass=com.ibm.jsse2.IBMJSSEProvider2 ....

参考文献:

  • Java安全套接字扩展(JSSE(参考指南
  • TibjmsContext
  • TibjmsSL
  • Apache JMeter属性自定义指南
  • 通过命令行替代特性

最新更新