gpt4 book ai didi

java - WLP 中的出站 SSL 连接

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:57 27 4
gpt4 key购买 nike

我有一个启用了 Spring Security 的 Web 应用程序,它使用部署在 WLP 上的 SSL 连接到 LDAP。我在 jvm.options 文件

中指定了 trustStore 和密码,如下所示
-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>

但是我得到以下异常

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我用一个独立的 Java 程序尝试了相同的信任库,它可以工作。感谢您的帮助。

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

谢谢穆拉利

最佳答案

您的 identity.jks 未被识别,因为它未与 Http-Endpoint 相关联。应该不需要使用 JSSE 系统属性,因为信任库也可以在那里定义。你没有提到你的 wlp 版本。对于 8.5,请参见此处 http://www-01.ibm.com/support/knowledgecenter/SSD28V_8.5.5/com.ibm.websphere.wlp.core.doc/ae/rwlp_ssl.html

(WebSphere Application Server Developer Tools for Eclipse 提供用于编辑 server.xml 的用户界面)

您的 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>

<keyStore id="keyStore" location="/path/to/identity.jks" password="keyStorePassword" type="jks" />
<keyStore id="trustStore" location="/path/to/truststore.jks" password="trustStorePassword" type="jks" />

<sslDefault sslRef="defaultSSLConfig" />

<ssl id="defaultSSLConfig" keyStoreRef="keyStore" serverKeyAlias="serverKeyAlias" trustStoreRef="trustStore" />

<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443">
<sslOptions sslRef="defaultSSLConfig"></sslOptions>
</httpEndpoint>
<webContainer deferServletLoad="false" />
<application id="appId" location="/path/to/app.war" name="app" type="war" />
</server>

关于java - WLP 中的出站 SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26790716/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com