java - IBM MobileFirst v8 登录 validator 的 LDAPS 配置

标签 java ldap ibm-mobilefirst adapter

我尝试从 ldap 迁移到 ldaps 以进行登录 validator 。

在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

我不知道我需要将 keystore 放在 LDAPS 协议(protocol)中的哪里。你能帮我吗?

我尝试将其通过 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" />

最佳答案

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

您需要添加的位置取决于您配置信任存储的方式。

根据您粘贴的 ssl 配置片段,假设您尚未通过 jvm.options 定义信任库或将其添加到 MobileFoundation 控制台中的 MobileFoundation keystore 中,则您的serverssl.ks 将充当 keystore 和信任库。

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

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

关于java - IBM MobileFirst v8 登录 validator 的 LDAPS 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42226289/

相关文章:

c# - 使用 LDAP 查询从我公司的所有林中获取所有域

testing - Rational Test Workbench if 条件

java - Worklight 服务器正在运行,但 html 页面不显示

android - 关闭应用程序后如何维护 LTPA Token?

java - Autowiring 同一类的两个不同的bean

java - 增强的 for 循环无法初始化对象

c - 将 GSS-SPNEGO 与 gss_krb5_import_cred 结合使用

java - 我应该使用哪个缓存提供程序来发送 Oracle JDBC 数据库更改通知

java - 在没有 Maven 的 Eclipse 中创建 src/main/java 文件夹结构

javascript - Ldapsearch 到 ldapjs 的转换