package testcode.password;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import java.util.Hashtable;
import java.util.Properties;
public class JndiProperties {
public void bug1() {
Properties props = new Properties();
props.put(Context.SECURITY_CREDENTIALS, "oups");
}
public void bug2() {
Properties props = new Properties();
props.put("java.naming.security.credentials", "oups");
}
public void bug3(String inputNom) throws NamingException {
DirContext directoryContext = null;
Hashtable<String, String> env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://ldapserver.hex.org:389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=Manager");
env.put(Context.SECURITY_CREDENTIALS, "ld4pp455w0rd");
directoryContext = new InitialDirContext(env);
}
public void ok1(String input) {
Properties props = new Properties();
props.put(Context.SECURITY_CREDENTIALS, input);
}
public void ok2() {
Properties props = new Properties();
props.put(Context.LANGUAGE, "fr-CA"); //not sensitive information
}
}