11.4. Password Modify Extended Operation

RFC 3062, LDAP Password Modify Extended Operation, defines an extended operation for modifying user passwords that does not depend on the authentication identity, nor on the way passwords are stored.

if (isSupported(PasswordModifyExtendedRequest.OID)) {
    final String userIdentity = "u:scarter";
    final char[] oldPassword = "sprain".toCharArray();
    final char[] newPassword = "secret12".toCharArray();

    final PasswordModifyExtendedRequest request =
            Requests.newPasswordModifyExtendedRequest()
                .setUserIdentity(userIdentity)
                .setOldPassword(oldPassword)
                .setNewPassword(newPassword);

    final PasswordModifyExtendedResult result =
            connection.extendedRequest(request);
    if (result.isSuccess()) {
        System.out.println("Changed password for " + userIdentity);
    } else {
        System.err.println(result.getDiagnosticMessage());
    }
}

OpenDJ directory server supports the password modify operation.

Changed password for u:scarter