2013-06-27 2 views
0

Active Directory 서버에서 SSL을 활성화해야만 여기에 언급 된 모든 단계를 따랐습니다. http://www.linuxmail.info/enable-ldap-ssl-active-directory/SSL을 통해 AD 서버에 연결하는 데 문제가 있습니까?

이제 SSL이 실제로 올바르게 활성화되었는지 확신 할 수 없습니까?

서버에서 ldp를 실행하면 636 포트에 연결할 수 있다고 생각합니다. 그러나 내 시스템에서 ldp 클라이언트에 SSL 옵션이 표시되지 않습니까?

다른 두 개의 LDAP 클라이언트 (Softerra LDAP Browser 및 Apache Directory Studio)가 있지만 636 포트의 ldaps를 사용하여 연결할 수 없습니다. 나는 AD 서버에서 사용 된 인증서를 가져와야 할 것 같아요. 그래서이 툴들은 내가 AD 서버에서 사용했던 자체 서명 인증서를 신뢰할 수있게 해줄 것입니다.

Java 코드를 사용하여 인증서를 cacerts에 추가했는데 (여기에 언급 된 단계를 사용하여 인증서가 있음 : http://www.linuxmail.info/export-ssl-certificate-windows-2003/) SSL을 사용하여 AD에 연결할 수 없습니다.

TLS : 나는 SSL뿐만 아니라 TSL을 시도

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 

SSL :

String ldapURL = "ldaps://<domain-name>:636"; 
String keystore = "C:/Oracle/Middleware/jdk160_24/jre/lib/security/cacerts"; 
System.setProperty("javax.net.ssl.trustStore",keystore); 
env.put(Context.SECURITY_PROTOCOL,"ssl"); 
// other properties are set in env 
LdapContext ctx = new InitialLdapContext(env, null); 

그것은 다음과 같은 예외를 제공

// got LdapContext using ldap (not with ldaps) 
StartTlsResponse tls = (StartTlsResponse)ctx.extendedOperation(new StartTlsRequest()); 

그것은 다음과 같은 예외를 제공합니다 :

javax.naming.CommunicationException: <domain-name>:636 [Root exception is java.net.ConnectException: Connection timed out: connect] 

누구든지 내가 잘못 생각한 부분을 제안 할 수 있습니까?

감사합니다.

답변

1

이 하나가 수정되었습니다.

잘못된 (오히려 불완전한) 명령을 사용하여 인증서를 가져 왔습니다. 내가 follwing을 사용하는 경우

keytool -import -alias mycert -keystore cacerts -file d:\mycert.cer 

:

keytool -import -noprompt -trustcacerts -alias mycert -file c:/mycert.cer -keystore C:/Oracle/Middleware/jdk160_24/jre/lib/security/cacerts -storepass changeit 

를 그리고 일을 시작

내가 사용하고 있었다.

0

TLS를 사용할 수 없으면 SSL이 작동하지 않을 수 있습니다. 올바른 인증서를 갖고 키 저장소를 올바르게 구성 했습니까? TLS를 사용할 때 SSLHandshakeException을 기반으로하면 올바르게 설정되지 않은 것 같습니다. 이 밖에

점검 SO 키 스토어가 올바르게 설정되어 있는지 확인하는 방법에 대한 몇 가지 팁 답변 : https://stackoverflow.com/a/9619478/1792088

+0

감사합니다. Mathew, 네, 확실히 인증서를 가져 오면 안된다고 말할 수 있습니다. 나는 그것을하기 위해 같은 명령을 사용했다. –

+0

그것은 나에게도 문제가되는 것 같습니다 : SSL이 올바르게 활성화되어 있지 않거나 잘못된 인증서를 가져 오는 중입니다. 그러나 나는 위의 링크에서 언급 한 프로세스를 따라 왔으며 그러한 오류가 발생하지 않았습니다. –

관련 문제