Я пытаюсь использовать Spring Security для аутентификации пользователей в Active Directory.До сих пор я использовал протокол LDAP, но теперь я хотел бы использовать LDAPS.
Я следовал этой статье http://blogs.oracle.com/gc/entry/unable_to_find_valid_certification, и она работает.Мне удалось связать пользователя с AD успешно с помощью LDAPS.
Но через некоторое время (15-30 минут), когда я пытаюсь войти в систему, я получаю это исключение снова:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)
и тогда я больше не могу использовать LDAPS.Я попытался:
- перезапустить tomcat
- добавить сертификат непосредственно в cacerts
- запустить tomcat с путем к trustStore с помощью свойства env -Djavax.net.ssl.trustStore
Единственное, что работает, - это полное воссоздание jssecacerts.Недостаточно просто скопировать существующие jssecacerts в jre / lib / security, это ДОЛЖЕН быть новый файл.Я просто не понимаю ...
Моя среда: java 1.6.0_26, tomcat 7.0.20, весна 3.0.5, безопасность весны 3.1RC2
Я что-то не так делаю?
Спасибо