Java アプリケーションから LDAPS を使用して RedHat ディレクトリ サーバー/HP UX ディレクトリ サーバーにアクセスするにはどうすればよいですか? LDAP 経由でアクセスしようとしていますが、正常に動作していますが、LDAPS を使用している間はサーバーとの接続が確立されません。
動作していない私のコードは次のとおりです。
public void setPassword(String userDn,String password) {
InitialDirContext ctx=null;
DirContext connection;
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
String systemname = "ldaps://myserver:636";
env.put(Context.PROVIDER_URL, systemname);
env.put(Context.SECURITY_PRINCIPAL, "cn=directory manager");
env.put(Context.SECURITY_CREDENTIALS, "MySecret");
ctx = new InitialDirContext(env);
connection = (DirContext)ctx;
connection.lookup("dc=mydomain,dc=com");
ModificationItem[] mods = new ModificationItem[1];
Attribute mod0 = new BasicAttribute("userpassword",password);
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, mod0);
connection.modifyAttributes(userDn, mods);
connection.close();
}
ldaps
をbyに置き換えると、上記のコードは正常に機能しldap
ます。
ただし、LDAPS でも機能するコードが必要です。一部のサイトでは、キーストア、証明書などの必要性について言及していますが、これらについては何も知りません。