我正在尝试使用 DIGEST-MD5 加密对我的 LDAP 服务器进行身份验证。虽然使用简单加密它工作得很好,但由于显而易见的原因,我不能通过网络以纯文本形式发送密码。奇怪的是,在使用 Softerra LDAP 浏览器时,我可以使用 Digest-MD5 连接到服务器,但通过我的代码,我收到了一系列错误。
这是来自我的 LDAP 身份验证类的代码片段,我在其中尝试在创建初始上下文之前设置安全身份验证等。
Hashtable env = new Hashtable(11);
env.put(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5");
env.put(Context.SECURITY_PRINCIPAL, username);
env.put(Context.SECURITY_CREDENTIALS, password);
env.put(Context.PROVIDER_URL, ldapURI);
env.put(Context.INITIAL_CONTEXT_FACTORY, context);
env.put("com.sun.jndi.ldap.trace.ber", System.out);
try{
DirContext ctx = new InitialLdapContext(env,null);
} Catch (NamingException e){
e.printStackTrace();
}