2016-10-20 2 views
-1

Я работаю на веб-приложение Java, где мне нужно для проверки подлинности пароля пользователяКак зашифровать пароль LDAP с помощью SHA-256

с помощью сервера LDAP я не слишком много знают с this.My запроса от сервера приложений LDAP является

уже зашифрован файлом сертификата, но мне все еще нужно шифровать пароль с использованием SHA-256.

как я могу ???

Мой Java-код:

  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); 

Я получил эту this, но не смог сделать с SHA-256

+0

Как правило, мы ожидаем, что ваш сервер LDAP зашифрует пароль. Вам просто нужно отправить itn в тексте через SSL. (или используя StartTLS) – jwilleke

+0

Да, но я говорю о шифровании информации, текущей по сети, Могу ли я сделать? как эта ссылка делает с MD5 http://docs.oracle.com/javase/jndi/tutorial/ldap/security/digest.html –

+0

SHA-256 не является алгоритмом шифрования. Вам не нужно делать предварительную обработку паролей LDAP самостоятельно. Сервер LDAP будет делать все, что необходимо. Все, что вам нужно предоставить, - это безопасный транспорт. Неясно, что вы спрашиваете. – EJP

ответ

0

В общем, мы ожидаем, что ваш сервер LDAP будет шифровать пароль. Вам просто нужно отправить itn в тексте через SSL. (или с помощью StartTLS)

Если вы используете SSL, то вы зашифрованы. В противном случае вам нужно будет использовать что-то вроде SASL, которое требует поддержки на клиенте и на сервере.

-jim

Смежные вопросы