keystore格式问题 – 作为docker容器的骆驼项目
我正在创build一个camel
项目的docker container
。 我从这里创build了密钥库文件。 这些密钥库文件放在servicemix > etc
文件夹中。 现在,当我正常运行骆驼项目它正常运行。
现在,当我为camel项目创buildDocker容器时,我已经移动了src > main > resources
的keystore文件夹,并在camelcontext.xml
使用了 –
<property name="maxConnections" value="10" /> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQSslConnectionFactory"> <property name="brokerURL" value="${karaf-local.url}" /> <property name="userName" value="${karaf-local.userName}" /> <property name="password" value="${karaf-local.passwordEncrypted}" /> <property name="keyStore" value="keystores/client.ks" /> <property name="keyStorePassword" value="${keyStorePassword}" /> <property name="trustStore" value="keystores/client.ts" /> <property name="trustStorePassword" value="${trustStorePassword}" /> </bean> </property>
其他值来自我的configuration文件。 但是,当我使用docker run
命令创build容器时,我得到错误 –
尝试将新的连接添加到池时出错; 嵌套exception是javax.jms.JMSException:无法创build传输。 原因:java.io.IOException:密钥库格式无效
在运行java -jar
命令时,我有一个选项可以添加-Djavax.net.ssl.keyStoreType=pkcs12
。 但吨返回相同的错误。 我也试过 –
-
-Djavax.net.ssl.keyStoreType=PKS -Djavax.net.ssl.trustStoreType=PKS
-
-Djavax.net.ssl.keyStoreType=pkcs12-Djavax.net.ssl.trustStoreType=pkcs12
在尝试第二个选项,我得到下面的错误s –
java.net.SocketException:java.security.NoSuchAlgorithmException:构造实现时出错(algorithm:默认,提供程序:SunJSSE,类:sun.security.ssl.SSLContextImpl $ DefaultSSLContext)
java.io.IOException:DerInputStream.getLength():lengthTag = 109,太大了。
尝试将新的连接添加到池时出错; 嵌套exception是javax.jms.JMSException:无法创build传输。 原因:java.io.IOException:密钥库格式无效