0

我正在尝试从我的 linux VM 运行测试,并且在与 Solace Broker 建立 SSL 连接时遇到了以下错误。

javax.naming.NamingException:无法加载信任存储:/var/tmp/jre1.8.0_281/lib/security/cacerts - 由 java.io.FileNotFoundException 引起 - /var/tmp/jre1.8.0_281/lib/security/ cacerts(是一个目录)[根异常是 com.solacesystems.jcsmp.InvalidPropertiesException:无法加载信任库:/var/tmp/jre1.8.0_281/lib/security/cacerts]

我在 system.properties 中运行具有以下配置的脚本

java.naming.factory.initial = com.solacesystems.jndi.SolJNDIInitialContextFactory
java.naming.provider.url = tcps://username:password@hostname
Solace_JMS_VPN = QA
Solace_JMS_Authentication_Scheme = AUTHENTICATION_SCHEME_CLIENT_CERTIFICATE
Solace_JMS_SSL_KeyStore = var/tmp/kestore.jks
Solace_JMS_SSL_KeyStorePassword = pwd
Solace_JMS_SSL_TrustStore = /var/tmp/certs/truststore.jks
Solace_JMS_SSL_TrustStorePassword = pwd
Solace_JMS_JNDI_ConnectRetries = 1
Solace_JMS_JNDI_ClientDescription = PnV_Jmeter
4

1 回答 1

0

根据The Java Developer's Guide to SSL Certificates文章,您的 JDK 安装很可能有问题:

信任库

信任库是一个文件,其中包含颁发证书的证书颁发机构 (CA) 的根证书,例如 GoDaddy、威瑞信、网络解决方案等。

信任库与 JDK/JRE 捆绑在一起,位于$JAVA_HOME/lib/security/cacerts.

每当我们的 Java 代码通过 SSL 建立连接时,都会使用信任库。

根据您收到的错误,这/var/tmp/jre1.8.0_281/lib/security/cacerts是一个文件夹,而它必须是文件。

因此,我建议仔细检查 JRE 安装的完整性并最终执行全新安装,因为它似乎以某种方式被破坏

您可能还对构建 JMS 测试计划感兴趣 - Apache JMeter文章

于 2021-04-12T08:36:02.963 回答