资源简介

java JNDI方式修改AD域密码 免ssl验证方式修改AD域密码 LDAP SSL 证书 javassl 很实用的一段代码,免去了复杂的证书操作过程。

资源截图

代码片段和文件信息

	/**
 * 本文章是针对java JNDI方式操作ldap服务器。
 * 这里给出一个关键的片段,通过这段代码获取的Context是可以免证书的进行操作远程AD域的我之前就是通过证书方式的,一大堆复杂的操作导出什么密钥库之类的。且证书1年就失效了还 要企业根证书才行,很多限制!后来花了很多心思才找到这个方法。
  DummySSLSocketFactory 这个类我放外面好了方便猿友们导出,这段代码就是获取连接,我就没管那么多了直接贴了方法上来。
 * 获取AD上下文对象
 * @param res
 * @return
 */
public final static LDAPDirContext getContext(ResourceBean res){
LDAPDirContext context = null;
try {
System.out.println(String.valueOf(res.getExpand(“keystore“)));

// System.setProperty(“javax.net.ssl.trustStore“ “/Windows/aaa.keystore“);//String.valueOf(res.getExpand(“keystore“)));

// System.setProperty(“javax.net.ssl.trustStorePassword“ “changeit“);
Properties mEnv = new Properties();
mEnv.put(Context.AUTHORITATIVE “true“);
mEnv.put(Context.SECURITY_PROTOCOL “ssl“);
mEnv.put(Context.INITIAL_CONTEXT_FACTORY“com.sun.jndi.ldap.LdapCtxFactory“);
mEnv.put(Context.PROVIDER_URL res.getExpand(“url“));//
mEnv.put(Context.SECURITY_AUTHENTICATION “simple“);
mEnv.put(Context.SECURITY_PRINCIPAL res.getUserName());// administrator@test.com
mEnv.put(Context.SECURITY_CREDENTIALS res.getPassWord());
//关键代码,注意对应的DummySSLSocketFactory这个类的包路径要正确,
        mEnv.put(“java.naming.ldap.factory.socket“ “org.utils.ad.DummySSLSocketFactory“);
context = new LDAPDirContext(mEnv);
} catch (Exception e) {
e.printStackTrace();
context = null;
System.out.println(“AD域认证失败!“);
}
return context;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-01-27 18:08  ad\
     目录           0  2015-09-25 16:03  ad\.svn\
     文件         483  2015-09-25 16:03  ad\.svn\all-wcprops
     文件         615  2015-09-25 16:03  ad\.svn\entries
     目录           0  2015-09-25 16:03  ad\.svn\prop-base\
     目录           0  2015-09-25 16:03  ad\.svn\props\
     目录           0  2015-09-25 16:03  ad\.svn\text-base\
     文件        1949  2015-09-25 16:03  ad\.svn\text-base\DummySSLSocketFactory.java.svn-base
     文件         517  2015-09-25 16:03  ad\.svn\text-base\DummyTrustManager.java.svn-base
     目录           0  2015-09-25 16:03  ad\.svn\tmp\
     目录           0  2015-09-25 16:03  ad\.svn\tmp\prop-base\
     目录           0  2015-09-25 16:03  ad\.svn\tmp\props\
     目录           0  2015-09-25 16:03  ad\.svn\tmp\text-base\
     文件        1922  2016-01-27 18:08  ad\DummySSLSocketFactory.java
     目录           0  2016-01-27 18:08  __MACOSX\
     目录           0  2016-01-27 18:08  __MACOSX\ad\
     文件         171  2016-01-27 18:08  __MACOSX\ad\._DummySSLSocketFactory.java
     文件         490  2016-01-27 18:08  ad\DummyTrustManager.java
     文件         171  2016-01-27 18:08  __MACOSX\ad\._DummyTrustManager.java
     文件        1833  2016-01-27 18:07  鍏抽敭浠g爜.java
     文件         171  2016-01-27 18:07  __MACOSX\._鍏抽敭浠g爜.java

评论

共有 条评论

相关资源