【问题标题】:How to change unicodePwd?如何更改 unicodePwd?
【发布时间】:2013-07-02 13:55:40
【问题描述】:
    Hashtable<String, String> environment = new Hashtable<String, String>();
    environment.put(LdapContext.CONTROL_FACTORIES,"com.sun.jndi.ldap.ControlFactory ");
    environment.put("javax.security.sasl.policy.noplaintext", "true");
    environment.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
    environment.put(Context.PROVIDER_URL, "ldap://url:389/");
    environment.ut(Context.SECURITY_AUTHENTICATION, "DIGEST-MD5 GSSAPI");
    environment.put(Context.SECURITY_PROTOCOL, "sasl");
    environment.put(Context.SECURITY_PRINCIPAL, "admin");
    environment.put(Context.SECURITY_CREDENTIALS, "password");
    try {
        System.out.println("nine");
        DirContext ctx = new InitialDirContext(environment);
        System.out.println("ten");

        String oldPass = "" + "3qgYl3R2oh7Rwo6" + "";
        String newPass = "" + "3qgYl3R2oh7Rwo5" + "";

        ModificationItem[] modificationItems = new ModificationItem[2];
        modificationItems[0] = new ModificationItem(
                DirContext.REMOVE_ATTRIBUTE, new BasicAttribute(
                        "unicodePwd", oldPass.getBytes("UTF-16LE")));
        modificationItems[1] = new ModificationItem(
                DirContext.ADD_ATTRIBUTE, new BasicAttribute("unicodePwd",
                        newPass.getBytes("UTF-16LE")));
    //  modificationItems[0] = new ModificationItem(
            //  DirContext.REPLACE_ATTRIBUTE, new BasicAttribute(
                //      "unicodePwd", newPass.getBytes("UTF-16LE")));

        try {
            ctx.modifyAttributes("CN=xxx,OU=xx,OU=xx,DC=xx,DC=xxx,DC=xx",
                    modificationItems);
        } catch (NamingException e) {
            e.printStackTrace();
        }
        ctx.close();
    } catch (NamingException | UnsupportedEncodingException e) {
        e.printStackTrace();
        System.out.println(e.getMessage().trim());

    }

我收到以下错误。 636 ssl 端口关闭。 如何更改 unicodePwd? 你能帮帮我吗?

LDAP:错误代码 53 - 00002077:SvcErr:DSID-03190F0A,问题 5003 (WILL_NOT_PERFORM)

【问题讨论】:

    标签: active-directory passwords ldap jndi


    【解决方案1】:

    我们有一个样本,我们知道它适用于 W3k。

    http://ldapwiki.com/wiki/Example%20-%20Active%20Directory%20Change%20Password%20JNDI

    但您的问题是 Microsoft Active Directory 需要通过安全连接完成所有密码设置。我们还介绍了:http://ldapwiki.com/wiki/Setting%20and%20Changing%20Microsoft%20Active%20Directory%20Passwords

    【讨论】:

    • 感谢您的回答。从 Java 设置设置 Active Directory 密码所需的加密:Microsoft 需要以下之一的最低 LDAP 加密级别:128 位 SSL、2K 和 K3 上的 kerberos 会话加密、NTLM 会话加密。但是我的服务器没有 SSL 支持。出于这个原因,我得到一个错误。我该如何解决?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-07-24
    • 1970-01-01
    相关资源
    最近更新 更多