资源简介
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-ba
目录 0 2015-09-25 16:03 ad\.svn\props\
目录 0 2015-09-25 16:03 ad\.svn\text-ba
文件 1949 2015-09-25 16:03 ad\.svn\text-ba
文件 517 2015-09-25 16:03 ad\.svn\text-ba
目录 0 2015-09-25 16:03 ad\.svn\tmp\
目录 0 2015-09-25 16:03 ad\.svn\tmp\prop-ba
目录 0 2015-09-25 16:03 ad\.svn\tmp\props\
目录 0 2015-09-25 16:03 ad\.svn\tmp\text-ba
文件 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
- 上一篇:Java写的吃豆豆游戏源代码
- 下一篇:SL275lab 练习答案
评论
共有 条评论