Mac, OS/X 10.10 (Yosemite)의 Tomcat 7.0.34에서 실행중인 webapp을 보안 AD 서버에 연결하려고합니다. 이 오류가 발생합니다 :jssecacerts 파일은 Mac에서 어디에 배치해야합니까?
org.springframework.ldap.CommunicationException: qlty-test-ad:636; nested exception is javax.naming.CommunicationException: qlty-test-ad:636 [Root exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:100)
at org.springframework.ldap.core.support.AbstractContextSource.createContext(AbstractContextSource.java:266)
at org.springframework.ldap.core.support.AbstractContextSource.getContext(AbstractContextSource.java:106)
at org.springframework.ldap.core.support.AbstractContextSource.getReadOnlyContext(AbstractContextSource.java:125)
at org.springframework.ldap.core.LdapTemplate.executeReadOnly(LdapTemplate.java:792)
at org.springframework.ldap.core.LdapTemplate.lookup(LdapTemplate.java:822)
at org.springframework.ldap.core.LdapTemplate.lookupContext(LdapTemplate.java:1315)
at com.enonic.cms.ee.ldap.LdapConnector.lookup(LdapConnector.java:261)
at com.enonic.cms.ee.ldap.LdapRemoteUserStorePlugin.verifyConnection(LdapRemoteUserStorePlugin.java:489)
... 87 more
그래서 서버 인증서가 누락되었습니다. 내가 InstallCert으로 다운로드하고 jssecacerts 파일을 가지고 있고, 이해할 수있는 한, 내 JVM이 그것을 찾아서 사용할 수있는 폴더에 배치해야합니다. 우선 직접 JDK에, 시도 :
/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/lib/
설명은 "LIB"내부 "보안"폴더가 있어야 제안하지만,이 없다. 나는 하나를 만들고 나서 여기에 jssecacerts 파일을 넣으려고했지만 도움이되지 않았다.
그럼,이 폴더에 대한 참조를 발견 : 그것은 allready은 "cacerts에"파일을 포함
/System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/
를, 그래서 내가 뭔가에라고 생각하지만, 여기에 "jssecacerts에"를 배치하는 것은 도움이되지 않습니다 어느 한 쪽. 두 파일에 대한 기호 링크 ("cacerts에"와 "jssecacerts에")를 포함
/Library/Java/Home/lib/security
도 있습니다.
아무도 내가 어디에 넣어 야하는지 알지 못합니까? jssecacerts
?
이 내가 시도하는 것이다. 내 JAVA_HOME이 정의되었습니다. 위에 나열된 첫 번째 폴더입니다. "cacerts"는 /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security에 대한 심볼릭 링크를 통해/Library/Java/Home/lib/security에 있지만, 어떤 이유로 jssecacerts가 아닙니다. 동일한 방법으로 동일한 장소에 배치 되더라도로드됩니다. – Sivesind
$ JAVA/HOME/jre/lib/security 아래에 넣으면 문제가 해결되었습니다. – Sivesind