KRB5_SET_PASSWORD(3) FreeBSD Library Functions Manual KRB5_SET_PASSWORD(3)


krb5_change_password, krb5_set_password, krb5_set_password_using_ccache, krb5_passwd_result_to_stringchange password functions


Kerberos 5 Library (libkrb5, -lkrb5)


#include < krb5.h>

krb5_change_password( krb5_context context, krb5_creds *creds, char *newpw, int *result_code, krb5_data *result_code_string, krb5_data *result_string);

krb5_set_password( krb5_context context, krb5_creds *creds, char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string);

krb5_set_password_using_ccache( krb5_context context, krb5_ccache ccache, char *newpw, krb5_principal targprinc, int *result_code, krb5_data *result_code_string, krb5_data *result_string);

const char *
krb5_passwd_result_to_string( krb5_context context, int result);


These functions change the password for a given principal.

krb5_set_password() and krb5_set_password_using_ccache() are the newer of the three functions, and use a newer version of the protocol (and also fall back to the older set-password protocol if the newer protocol doesn't work).

krb5_change_password() sets the password newpasswd for the client principal in creds. The server principal of creds must be kadmin/changepw.

krb5_set_password() and krb5_set_password_using_ccache() change the password for the principal targprinc.

krb5_set_password() requires that the credential for kadmin/changepw@REALM is in creds. If the user caller isn't an administrator, this credential needs to be an initial credential, see krb5_get_init_creds(3) how to get such credentials.

krb5_set_password_using_ccache() will get the credential from ccache.

If targprinc is NULL, krb5_set_password_using_ccache() uses the the default principal in ccache and krb5_set_password() uses the global the default principal.

All three functions return an error in result_code and maybe an error string to print in result_string.

krb5_passwd_result_to_string() returns an human readable string describing the error code in result_code from the krb5_set_password() functions.

July 15, 2004 HEIMDAL