AD域修改密码需要使用ldaps协议修改,普通的389端口无法修改密码,一般ldaps的默认使用端口是636。使用telnet测试服务器的636端口是通的,但是就是连不上,工具和代码都连不上,报这个错误,后面发现原因了:
因为使用ldaps从外部连接时,必须要有证书,去AD服务器上查看发现AD服务器上没有证书,把证书导入过来后,在本地jdk中和服务器的jdk中导入后,即可连接成功。
报错信息如下:
Caused by: javax.naming.CommunicationException: simple bind failed: 10.160.18.26:636
at java.naming/com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:219)
at java.naming/com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2795)
at java.naming/com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:320)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153)
at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83)
at java.n