我有一个worklight应用程序,它部署在worklight V6.0上,试图点击LDAP服务器进行身份验证......并尝试为应用程序启用https。
我遇到异常情况。
javax.naming.CommunicationException: sun.security.validator.ValidatorException:PKIX路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到所请求目标的有效证书路径
[根异常是javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到所请求目标的有效证书路径];剩下的名字 'OU =蓝页,O = ibm.com'
引起:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:PKIX路径构建失败: sun.security.provider.certpath.SunCertPathBuilderException:无法 找到所请求目标的有效证书路径
引起:sun.security.provider.certpath.SunCertPathBuilderException: 无法找到所请求目标的有效证书路径
请建议。
由于
答案 0 :(得分:2)
看起来LDAP服务器由自签名密钥保护,而worklight密钥库没有公共证书。 检查 worklight.properties 文件中“ ssl.keystore。* ”定义的密钥库,并在需要时将LDAP证书导入密钥库。
答案 1 :(得分:0)
最适合我的解决方案:
使用keytool
命令在正确的jre
文件夹中安装证书。我的日食是使用jre执行的,并且较早之前我将证书安装在jdk
文件夹中。
keytool -import -trustcacerts -keystore "C:\Program Files\Java\jre1.8.0_192\lib\security\cacerts" -storepass changeit -alias LDAPRoot -import -file "xxxxxxxx.cer