2016-10-20 2 views
-1

사용하여 LDAP 비밀번호를 암호화하는 방법 SHA-256 i가 LDAP 서버가 난 LDAP이되는 응용 프로그램 서버에서 this.My 요청에 너무 많은 인식하지 오전 사용하여 사용자의 암호</p> <p>를 인증 할 필요가 내가 자바 웹 응용 프로그램 작업입니다

이미 인증서 파일로 암호화되어 있지만 SHA-256을 사용하여 암호를 암호화해야합니다.

어떻게 할 수 있습니까 ???

내 자바 코드는 다음과 같습니다

  Hashtable<String,String> env = new Hashtable<String,String>(); 
      env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory"); 
      env.put(Context.PROVIDER_URL,"ldaps://" + ldap_url); 
      env.put(Context.SECURITY_AUTHENTICATION, auth_method); 
      env.put(Context.SECURITY_PRINCIPAL, "abcd123"+"@"+ldap_domain); 
      env.put(Context.SECURITY_CREDENTIALS, "mypassword"); 
      env.put(Context.SECURITY_PROTOCOL,"ssl"); 

      System.setProperty("javax.net.ssl.keyStore", keystorePath); 
      System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); 
      ctx = new InitialDirContext(env); 

내가, 우리가 LDAP 서버 암호를 암호화합니다 기대 this하지만 일반적으로 SHA-256

+0

일반적으로 LDAP 서버에서 암호를 암호화합니다. SSL을 통해 텍스트로 보낼 필요가 있습니다. (또는 StartTLS 사용) – jwilleke

+0

네,하지만 네트워크를 통해 흐르는 정보의 암호화에 대해 이야기하고 있습니다. 할 수 있습니까 ?? 이 링크가 MD5에서 수행하는 것과 같습니다. http://docs.oracle.com/javase/jndi/tutorial/ldap/security/digest.html –

+0

SHA-256은 암호화 알고리즘이 아닙니다. LDAP 암호는 사전 처리 할 필요가 없습니다. LDAP 서버는 필요한 모든 작업을 수행합니다. 제공해야 할 것은 안전한 전송입니다. 네가 묻고있는 것이 불분명하다. – EJP

답변

0

함께 할 수없는이 있어요. SSL을 통해 텍스트로 보낼 필요가 있습니다. (또는 StartTLS 사용)

SSL을 사용하는 경우 암호화됩니다. 그렇지 않으면 SASL과 같이 클라이언트와 서버에 대한 지원이 필요합니다.

-jim