IBM MobileFirst v8登录身份验证器的LDAPS配置

java ldap ibm-mobilefirst adapter

81 观看

2回复

60 作者的声誉

我试图从ldap迁移到ldaps进行登录身份验证。

在adapter.xml中

<property name="ldapURL" defaultValue="ldap://10.10.10.10:10636" displayName="The LDAP Server URL"/>

在LoginAuthenticator类中

env.put(Context.SECURITY_PROTOCOL, "ssl");

我收到以下错误。

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我不知道,我需要将密钥库放在ldaps协议中。你能帮我么?

我尝试使用server.xml配置将其放在以下路径中,但是没有运气。

E:\MobileFirst-8.0.0.0\mfp-server\usr\servers\mfp\resources\security

<sslDefault sslRef="mySSLSettings" />
<ssl id="mySSLSettings" keyStoreRef="LDAPKeyStore" clientAuthentication="true" />
<keyStore id="LDAPKeyStore" location="serverssl.ks" type="JKS" password="secret" />
作者: Prisy 的来源 发布者: 2017 年 2 月 14 日

回应 2


0

931 作者的声誉

您想知道密钥库,但错误消息是关于您的信任库的。后端在SSL握手过程中向适配器提供其(可能是自签名证书或私有CA)证书。您的适配器通过在您的信任库中递归地查找颁发者证书来尝试遍历信任链。

您没有将后端证书链导入到信任库中,或者适配器没有使用您配置的信任库。

作者: marabu 发布者: 2017 年 2 月 14 日

1

71 作者的声誉

正如marabu指出的那样,如果将LDAP服务器的CA证书添加到Liberty的信任存储中,则可能会解决您的问题。

您需要添加的位置取决于您如何配置信任库。

按照您粘贴的ssl配置代码片段,并假设您尚未通过jvm.options定义信任库或未将其添加到MobileFoundation控制台的MobileFoundation密钥库中,serverssl.ks将同时充当密钥库和信任库。

因此,如果您将LDAP服务器的CA证书添加到serversl.ks并重新启动服务器,我认为它应该可以工作。您可以通过执行以下命令将CA证书添加到密钥库中,

keytool -importcert -keystore serverssl.ks -alias <your_alias> -file <yourcacert.pem>
作者: Amith Kashyap 发布者: 2017 年 2 月 15 日
32x32