Jer*_*nce 2 ssl ldap certificate spring-security ssl-certificate
我使用spring security来管理登录.我已将spring security配置为连接到使用ssl(ldaps)安全的ldap服务器.
此服务器是测试服务器,没有有效的证书.当我尝试测试登录时,spring security会抱怨证书无法验证(当然!):
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
Run Code Online (Sandbox Code Playgroud)
我的问题很简单:我不想管理任何类型的证书,我想停用证书检查并继续使用ssl ldap.我怎样才能做到这一点 ?
ben*_*y23 13
听起来像LDAP服务器的证书只是自我证书而不是无效.
对我来说,最简单的解决方案是获取该证书并将其添加到java中的cacerts信任存储区.完成后,代码将无需任何修改即可运行.
要从服务器获取证书:
$ openssl s_client -showcerts -connect ldapserver:636
Run Code Online (Sandbox Code Playgroud)
输出将包含许多用分隔的条目
-----BEGIN CERTIFICATE-----
aklfhskfadljasdl1340234234ASDSDFSDFSDFSDFSD
....
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
将最后一个证书条目复制到一个文件中(ldapca.crt)
然后,将其添加到$ JRE_HOME/lib/security中的java密钥库
$ cd $JRE_HOME/lib/security
$ keytool -import -alias ldapca_self_sign -keystore cacerts -storepass changeit -file ldapca.crt
Run Code Online (Sandbox Code Playgroud)
这意味着,您将信任LDAP服务器上的证书并在您的测试环境中正确使用SSL(而不是使用一些自定义代码来关闭部分SSL检查).
一旦完成(一次),您的代码应该在没有任何修改的情况下运行.
| 归档时间: |
|
| 查看次数: |
8394 次 |
| 最近记录: |