krb5_error_code
krb5_string_to_key(
krb5_context context
krb5_enctype enctype
const char *password
krb5_principal principal
krb5_keyblock *key
)
krb5_error_code
krb5_string_to_key_data(
krb5_context context
krb5_enctype enctype
krb5_data password
krb5_principal principal
krb5_keyblock *key
)
krb5_error_code
krb5_string_to_key_data_salt(
krb5_context context
krb5_enctype enctype
krb5_data password
krb5_salt salt
krb5_keyblock *key
)
krb5_error_code
krb5_string_to_key_data_salt_opaque(
krb5_context context
krb5_enctype enctype
krb5_data password
krb5_salt salt
krb5_data opaque
krb5_keyblock *key
)
krb5_error_code
krb5_string_to_key_salt(
krb5_context context
krb5_enctype enctype
const char *password
krb5_salt salt
krb5_keyblock *key
)
krb5_error_code
krb5_string_to_key_salt_opaque(
krb5_context context
krb5_enctype enctype
const char *password
krb5_salt salt
krb5_data opaque
krb5_keyblock *key
)
krb5_error_code
krb5_get_pw_salt(
krb5_context context
krb5_const_principal principal
krb5_salt *salt
)
krb5_error_code
krb5_free_salt(
krb5_context context
krb5_salt salt
)
krb5_string_to_key_data_salt_opaque()
is the function that does all the work, the rest of the functions are
just wrapers around
krb5_string_to_key_data_salt_opaque(
)
that calls it with default values.
krb5_string_to_key_data_salt_opaque()
transforms the
password
with the given salt-string
salt
and the opaque, encryption type specific parameter
opaque
to a encryption key
key
according to the string to key function associated with
enctype
.
The
key
should be freed with
krb5_free_keyblock_contents().
If one of the functions that doesn't take a
krb5_salt
as it argument
krb5_get_pw_salt()
is used to get the salt value.
krb5_get_pw_salt()
get the default password salt for a principal, use
krb5_free_salt(
)
to free the salt when done.
krb5_free_salt()
frees the content of
salt
.