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

Java IBM MobileFirst v8登录验证器的LDAPS配置,java,ldap,ibm-mobilefirst,adapter,Java,Ldap,Ibm Mobilefirst,Adapter,我尝试将登录验证器从ldap移动到ldaps 在adapter.xml中 <property name="ldapURL" defaultValue="ldap://10.10.10.10:10636" displayName="The LDAP Server URL"/> 我得到以下错误 javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIX path building

我尝试将登录验证器从ldap移动到ldaps

在adapter.xml中

<property name="ldapURL" defaultValue="ldap://10.10.10.10:10636" displayName="The LDAP Server URL"/>
我得到以下错误

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" />

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


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

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

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

根据您粘贴的ssl配置代码段,假设您没有通过jvm.options定义信任库,也没有将其添加到MobileFoundation控制台中的MobileFoundation的密钥库中,您的serverssl.ks将同时充当密钥库和信任库

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

keytool -importcert -keystore serverssl.ks -alias <your_alias> -file <yourcacert.pem>

什么登录验证器类?在v8中没有登录身份验证程序。请看这里:它是LDAP登录身份验证程序。我尝试了页面中给出的步骤,但在放置密钥库时遇到了问题。你能帮忙吗?我也试过keytool和导入的serverssl.ks。我仍然会犯同样的错误。MobileFoundation控制台中的MobileFoundation密钥库是什么?我猜,它只用于配置mobilefirst密钥库。我不确定。你能分享更多信息吗?我的适配器没有使用配置的信任库-这就是问题所在!如何使我的适配器使用此功能?
keytool -importcert -keystore serverssl.ks -alias <your_alias> -file <yourcacert.pem>