in kerby-tool/kdc-tool/src/main/java/org/apache/kerby/kerberos/tool/kadmin/command/ChangePasswordCommand.java [44:88]
public void execute(String input) {
String[] commands = input.split("\\s");
String principal = commands[commands.length - 1];
String password;
if (commands.length <= 1) {
System.err.println(USAGE);
return;
}
if (commands.length == 2) { //only principal is given
password = getPassword(principal);
if (password == null) {
System.out.println("Did not get new password successfully. Please try again");
return;
}
try {
getKadmin().changePassword(principal, password);
System.out.println("Update password success.");
} catch (KrbException e) {
System.err.println("Fail to update password. " + e.getCause());
}
} else {
kOptions = ToolUtil.parseOptions(commands, 1, commands.length - 2);
if (kOptions == null) {
System.err.println(USAGE);
return;
}
if (kOptions.contains(KadminOption.PW)) {
password = kOptions.getStringOption(KadminOption.PW);
try {
getKadmin().changePassword(principal, password);
System.out.println("Update password success.");
} catch (KrbException e) {
System.err.println("Fail to update password. " + e.getMessage());
}
} else if (kOptions.contains(KadminOption.RANDKEY)) {
try {
getKadmin().updateKeys(principal);
} catch (KrbException e) {
System.err.println("Fail to update key. " + e.getMessage());
}
}
}
}