FreeBSD Manual Pages
KRB5_VERIFY_USER(3) Library Functions Manual KRB5_VERIFY_USER(3) NAME krb5_verify_user, krb5_verify_user_lrealm, krb5_verify_user_opt, krb5_verify_opt_init, krb5_verify_opt_alloc, krb5_verify_opt_free, krb5_verify_opt_set_ccache, krb5_verify_opt_set_flags, krb5_verify_opt_set_service, krb5_verify_opt_set_secure, krb5_verify_opt_set_keytab -- Heimdal password verifying functions LIBRARY Kerberos 5 Library (libkrb5, -lkrb5) SYNOPSIS #include <krb5.h> krb5_error_code krb5_verify_user(krb5_context context, krb5_principal principal, krb5_ccache ccache, const char *password, krb5_boolean secure, const char *service); krb5_error_code krb5_verify_user_lrealm(krb5_context context, krb5_principal principal, krb5_ccache ccache, const char *password, krb5_boolean secure, const char *service); void krb5_verify_opt_init(krb5_verify_opt *opt); void krb5_verify_opt_alloc(krb5_verify_opt **opt); void krb5_verify_opt_free(krb5_verify_opt *opt); void krb5_verify_opt_set_ccache(krb5_verify_opt *opt, krb5_ccache ccache); void krb5_verify_opt_set_keytab(krb5_verify_opt *opt, krb5_keytab keytab); void krb5_verify_opt_set_secure(krb5_verify_opt *opt, krb5_boolean secure); void krb5_verify_opt_set_service(krb5_verify_opt *opt, const char *service); void krb5_verify_opt_set_flags(krb5_verify_opt *opt, unsigned int flags); krb5_error_code krb5_verify_user_opt(krb5_context context, krb5_principal principal, const char *password, krb5_verify_opt *opt); DESCRIPTION The krb5_verify_user function verifies the password supplied by a user. The principal whose password will be verified is specified in principal. New tickets will be obtained as a side-effect and stored in ccache (if NULL, the default ccache is used). krb5_verify_user() will call krb5_cc_initialize() on the given ccache, so ccache must only ini- tialized with krb5_cc_resolve() or krb5_cc_gen_new(). If the password is not supplied in password (and is given as NULL) the user will be prompted for it. If secure the ticket will be verified against the lo- cally stored service key service (by default `host' if given as NULL ). The krb5_verify_user_lrealm() function does the same, except that it ignores the realm in principal and tries all the local realms (see krb5.conf(5)). After a successful return, the principal is set to the authenticated realm. If the call fails, the principal will not be mean- ingful, and should only be freed with krb5_free_principal(3). krb5_verify_opt_alloc() and krb5_verify_opt_free() allocates and frees a krb5_verify_opt. You should use the the alloc and free function in- stead of allocation the structure yourself, this is because in a future release the structure wont be exported. krb5_verify_opt_init() resets all opt to default values. None of the krb5_verify_opt_set function makes a copy of the data structure that they are called with. It's up the caller to free them after the krb5_verify_user_opt() is called. krb5_verify_opt_set_ccache() sets the ccache that user of opt will use. If not set, the default credential cache will be used. krb5_verify_opt_set_keytab() sets the keytab that user of opt will use. If not set, the default keytab will be used. krb5_verify_opt_set_secure() if secure if true, the password verifica- tion will require that the ticket will be verified against the locally stored service key. If not set, default value is true. krb5_verify_opt_set_service() sets the service principal that user of opt will use. If not set, the `host' service will be used. krb5_verify_opt_set_flags() sets flags that user of opt will use. If the flag KRB5_VERIFY_LREALMS is used, the principal will be modified like krb5_verify_user_lrealm() modifies it. krb5_verify_user_opt() function verifies the password supplied by a user. The principal whose password will be verified is specified in principal. Options the to the verification process is pass in in opt. EXAMPLES Here is a example program that verifies a password. it uses the `host/`hostname`' service principal in krb5.keytab. #include <krb5.h> int main(int argc, char **argv) { char *user; krb5_error_code error; krb5_principal princ; krb5_context context; if (argc != 2) errx(1, "usage: verify_passwd <principal-name>"); user = argv[1]; if (krb5_init_context(&context) < 0) errx(1, "krb5_init_context"); if ((error = krb5_parse_name(context, user, &princ)) != 0) krb5_err(context, 1, error, "krb5_parse_name"); error = krb5_verify_user(context, princ, NULL, NULL, TRUE, NULL); if (error) krb5_err(context, 1, error, "krb5_verify_user"); return 0; } SEE ALSO krb5_cc_gen_new(3), krb5_cc_initialize(3), krb5_cc_resolve(3), krb5_err(3), krb5_free_principal(3), krb5_init_context(3), krb5_kt_default(3), krb5.conf(5) HEIMDAL May 1, 2006 KRB5_VERIFY_USER(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=krb5_verify_opt_alloc&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>