2013-12-15 2 views
1

다음은 내 LDAP 코드 연결입니다. CA 인증서를 "C : /ca.keystore"파일로 가져 왔지만 상호 SSL을 만들고 싶습니다. 그래서 클라이언트 코드를 내 코드에 어떻게 프로그래밍합니까?jndi를 사용하여 SSL 모드에서 LDAP를 연결합니다. 클라이언트 인증서를 Java 코드로 프로그래밍하는 방법은 무엇입니까?

Hashtable env = new Hashtable(); 
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
env.put(Context.PROVIDER_URL, "ldaps://127.0.0.1:636/"); 
env.put(Context.SECURITY_PROTOCOL, "ssl"); 
env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
env.put(Context.SECURITY_PRINCIPAL, LDAPConfig.getSECURITY_PRINCIPAL()); 
env.put(Context.SECURITY_CREDENTIALS, LDAPConfig.getSECURITY_CREDENTIALS()); 
System.setProperty("javax.net.ssl.trustStore", "C:/ca.keystore"); 
System.setProperty("javax.net.ssl.trustStorePassword", "123456"); 
ctx = new InitialDirContext(env); 

답변

1

JSSE와 같은 방식입니다. 시스템 프로퍼티 javax.net.ssl.keyStore/keyStorePassword를 적절히 설정하면됩니다.