KRB5_SET_PASSWORD(3)

KRB5_SET_PASSWORD(3) | Library Functions Manual | KRB5_SET_PASSWORD(3)

# NAME

`krb5_change_password`, `krb5_set_password`, `krb5_set_password_using_ccache`, `krb5_passwd_result_to_string` —
change password functions

# LIBRARY

Kerberos 5 Library (libkrb5, -lkrb5)

# SYNOPSIS

`#include <krb5/krb5.h>`

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

krb5_error_code
`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_error_code
`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);

# DESCRIPTION

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.

# SEE ALSO

krb5_ccache(3), krb5_init_context(3)

July 15, 2004 | NetBSD 9.4