Java WLP中的出站SSL连接

Java WLP中的出站SSL连接,java,ssl,websphere,websphere-liberty,Java,Ssl,Websphere,Websphere Liberty,我有一个支持spring安全性的web应用程序,它通过部署在WLP上的SSL连接到LDAP。我在jvm.options文件中指定了信任库和密码,如下所示 -Djavax.net.ssl.trustStore=path/to/keystore -Djavax.net.ssl.trustStorePassword=password 我的server.xml如下所示 <?xml version="1.0" encoding="UTF-8"?> <server description

我有一个支持spring安全性的web应用程序,它通过部署在WLP上的SSL连接到LDAP。我在
jvm.options
文件中指定了信任库和密码,如下所示

-Djavax.net.ssl.trustStore=path/to/keystore
-Djavax.net.ssl.trustStorePassword=password
我的
server.xml
如下所示

<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">
  <!-- Enable features -->
  <featureManager>
    <feature>jsp-2.2</feature>
    <feature>ssl-1.0</feature>
    <feature>localConnector-1.0</feature>
  </featureManager>

  <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443" />
  <keyStore id="defaultKeyStore" location="/path/to/identity.jks" password="password" provider="SUN" />
  <webContainer deferServletLoad="false" />
  <application id="appId" location="/path/to/app.war" name="app" type="war" />
</server>
我用一个独立的java程序尝试了相同的信任存储,它可以工作。感谢您的帮助

注意:如果我在identity.jks中包含受信任的CA,它会工作

谢谢
Murali

您的identity.jks无法识别,因为它与Http端点没有关联。不需要使用JSSE系统属性,因为信任库也可以在那里定义。你没有提到你的wlp版本。有关8.5,请参见此处

(WebSphereApplicationServerDeveloperToolsforEclipse提供了一个用于编辑Server.xml的用户界面)

您的server.xml应该如下所示:


jsp-2.2
ssl-1.0
localConnector-1.0

请使用“-Djavax.net.debug=all”运行以获取完整的SSL调试日志,并将问题粘贴到此处。您为什么不能使用identity.jks存储受信任的CA?我希望它有所不同,因为服务器证书是从外部获得的,CA证书是所有环境的标准证书。但看起来我必须选择一个密钥库选项。
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target