camel-spring-ws with sslContextParameters

时间:2016-09-26 10:22:25

标签: java web-services ssl apache-camel spring-ws

我正在使用Apache camel Spring-ws组件来使用SOAP服务。在使用HTTP协议托管时间之前,情况正常。

要使用HTTPS,我尝试将keystore和truststore jks设置如下

System.setProperty("javax.net.ssl.keyStore",keyStorePath);
System.setProperty("javax.net.ssl.keyStorePassword",keyStorePassword);
System.setProperty("javax.net.ssl.trustStore",trustStorePath);
System.setProperty("javax.net.ssl.trustStorePassword",trustStorePassword);

失败,错误无法找到证书。 当我使用Http组件使用RESTFull服务时,相同的属性和jks工作正常。

我可以看到目前唯一可用的选项是

<camel:sslContextParameters id="sslContextParameters">
<camel:keyManagers keyPassword="password">
    <camel:keyStore type="JKS" resource="C:\keystore.jks"
        password="changeit" />
</camel:keyManagers>
<camel:trustManagers>
    <camel:keyStore type="JKS" resource="C:\keystore.jks"
        password="password" />
</camel:trustManagers>

有没有办法我可以实用地配置它,我按照下面的链接

http://camel.apache.org/http4.html#HTTP4-UsingtheJSSEConfigurationUtility

KeyStoreParameters ksp = new KeyStoreParameters();
ksp.setResource("/users/home/server/keystore.jks");
ksp.setPassword("keystorePassword");

KeyManagersParameters kmp = new KeyManagersParameters();
kmp.setKeyStore(ksp);
kmp.setKeyPassword("keyPassword");

SSLContextParameters scp = new SSLContextParameters();
scp.setKeyManagers(kmp);

HttpComponent httpComponent = getContext().getComponent("https4",      HttpComponent.class);
httpComponent.setSslContextParameters(scp);

支持的组件

  1. HTTP4
  2. 码头
  3. AHC
  4. 的Netty
  5. 的cometd
  6. FTP2
  7. IRC
  8. 邮件
  9. MINA 2
  10. 但我如何设置它为camel-spring-ws组件?它目前是Camel的限制吗?

0 个答案:

没有答案