KRB5\_SET\_PASSWORD(3) Library Functions Manual KRB5\_SET\_PASSWORD(3)

# [NAME](#NAME)

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

# [LIBRARY](#LIBRARY)

Kerberos 5 Library (libkrb5, -lkrb5)

# [SYNOPSIS](#SYNOPSIS)

`#include <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](#DESCRIPTION)

These functions change the password for a given principal.

[`krb5_set_password`](#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`](#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`](#krb5_set_password~2)() and `krb5_set_password_using_ccache`() change the password for the principal `targprinc`.

[`krb5_set_password`](#krb5_set_password~3)() 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)](/man/os/heimdal/krb5_get_init_creds.3) how to get such credentials.

[`krb5_set_password_using_ccache`](#krb5_set_password_using_ccache)() will get the credential from `ccache`.

If `targprinc` is `NULL`, [`krb5_set_password_using_ccache`](#krb5_set_password_using_ccache~2)() 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`](#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](#SEE_ALSO)

[krb5\_ccache(3)](/man/os/heimdal/krb5_ccache.3), [krb5\_init\_context(3)](/man/os/heimdal/krb5_init_context.3)

July 15, 2004 HEIMDAL

---

Document: krb5_passwd_result_to_string(3) from heimdal 7.8.0-r52 (Chainguard OS)
Source: https://github.com/heimdal/heimdal
