如何使用SHA-256加密LDAP密码

时间:2016-10-20 10:44:17

标签: java ldap sha

我正在研究java web应用程序,我需要验证用户的密码

使用LDAP服务器我对此不太了解。我从应用服务器到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

1 个答案:

答案 0 :(得分:0)

通常,我们希望您的LDAP服务器会加密密码。您只需要通过SSL发送文本。 (或使用StartTLS)

如果您使用的是SSL,则表示您已加密。否则,您需要使用SASL之类的东西,这需要客户端和服务器上的支持。

-Jim

相关问题