java通过ssl证书连接ldap创建启用有密码的AD域用户
原来我用的是389端口,创建的用户是没有密码的禁用状态的,但是客户要求是要有初始密码,登录修改密码,启用状态的用户,于是我按照网上的教程在服务机IIS上面申请了证书,然后将这个申请的证书跟根证书导入到了客户机的jdk里面,再通过代码连接636端口,但是一直有问题,希望有大神能教我如何实现。(发不了图片!)
String keystore = "C:/Program Files (x86)/Java/jre7/lib/security/cacerts";
System.setProperty("javax.net.ssl.trustStore", keystore);
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY, SUN_JNDI_PROVIDER);// java.naming.factory.initial
env.put(Context.PROVIDER_URL, "ldap://192.168.21.200:636");// java.naming.provider.url
env.put(Context.SECURITY_AUTHENTICATION, "simple");// java.naming.security.authentication
env.put(Context.SECURITY_PRINCIPAL,
"cn=Administrator,cn=Users,dc=szjoylong,dc=cn");// java.naming.security.principal
env.put(Context.SECURITY_CREDENTIALS, "KD_kingdee2006");// java.naming.security.credentials
env.put(Context.SECURITY_PROTOCOL, "ssl");
LdapContext ctx = new InitialLdapContext(env, null);