Lines Matching full:keytab
37 * @page krb5_keytab_intro The keytab handing functions
46 * what keytab to use to other core functions like krb5_rd_req()
49 * @subsection krb5_keytab_names Keytab names
51 * A keytab name is on the form type:residual. The residual part is
52 * specific to each keytab-type.
54 * When a keytab-name is resolved, the type is matched with an internal
55 * list of keytab types. If there is no matching keytab type,
56 * the default keytab is used. The current default type is FILE.
62 * The keytab types that are implemented in Heimdal are:
64 * store the keytab in a file, the type's name is FILE . The
72 * - keytab
73 * store the keytab in a AFS keyfile (usually /usr/afs/etc/KeyFile ),
77 * The keytab is stored in a memory segment. This allows sensitive
79 * is MEMORY. Each MEMORY keytab is referenced counted by and
82 * the keytab, the keys in they keytab is memset() to zero and freed
86 * @subsection krb5_keytab_example Keytab example
95 krb5_keytab keytab;
104 ret = krb5_kt_default (context, &keytab);
108 ret = krb5_kt_start_seq_get(context, keytab, &cursor);
111 while((ret = krb5_kt_next_entry(context, keytab, &entry, &cursor)) == 0){
117 ret = krb5_kt_end_seq_get(context, keytab, &cursor);
120 ret = krb5_kt_close(context, keytab);
132 * Register a new keytab backend.
178 /* Avoid treating <drive>:<path> as a keytab type in keytab_name()
197 * Resolve the keytab name (of the form `type:residual') in `name'
198 * into a keytab in `id'.
202 * @param id resulting keytab, free with krb5_kt_close().
229 N_("unknown keytab type %.*s", "type"), in krb5_kt_resolve()
251 * copy the name of the default keytab into `name'.
273 * Copy the name of the default modify keytab into `name'.
311 * Set `id' to the default keytab.
314 * @param id the new default keytab.
329 * keytab in `keyprocarg' (the default if == NULL) into `*key'.
351 krb5_keytab keytab = NULL; /* Quiet lint */ in krb5_kt_read_service_key() local
357 ret = krb5_kt_resolve (context, keyprocarg, &keytab); in krb5_kt_read_service_key()
359 ret = krb5_kt_default (context, &keytab); in krb5_kt_read_service_key()
364 ret = krb5_kt_get_entry (context, keytab, principal, vno, enctype, &entry); in krb5_kt_read_service_key()
369 krb5_kt_close (context, keytab); in krb5_kt_read_service_key()
374 * Return the type of the `keytab' in the string `prefix of length
378 * @param keytab the keytab to get the prefix for
389 krb5_keytab keytab, in krb5_kt_get_type() argument
393 strlcpy(prefix, keytab->prefix, prefixsize); in krb5_kt_get_type()
398 * Retrieve the name of the keytab `keytab' into `name', `namesize'
401 * @param keytab the keytab to get the name for.
412 krb5_keytab keytab, in krb5_kt_get_name() argument
416 return (*keytab->get_name)(context, keytab, name, namesize); in krb5_kt_get_name()
420 * Retrieve the full name of the keytab `keytab' and store the name in
424 * @param keytab keytab to get name for.
425 * @param str the name of the keytab name, usee krb5_xfree() to free
435 krb5_keytab keytab, in krb5_kt_get_full_name() argument
444 ret = krb5_kt_get_type(context, keytab, type, sizeof(type)); in krb5_kt_get_full_name()
448 ret = krb5_kt_get_name(context, keytab, name, sizeof(name)); in krb5_kt_get_full_name()
462 * Finish using the keytab in `id'. All resources will be released,
466 * @param id keytab to close.
488 * Destroy (remove) the keytab in `id'. All resources will be released,
492 * @param id keytab to destroy.
511 * Match any aliases in keytab `entry' with `principal'.
583 N_("Failed to find %s%s in keytab %s (%s)", in _krb5_kt_principal_not_found()
584 "principal, kvno, keytab file, enctype"), in _krb5_kt_principal_not_found()
587 kt_name ? kt_name : "unknown keytab", in _krb5_kt_principal_not_found()
596 * Retrieve the keytab entry for `principal, kvno, enctype' into `entry'
597 * from the keytab `id'. Matching is done like krb5_kt_compare().
600 * @param id a keytab.
638 /* the file keytab might only store the lower 8 bits of in krb5_kt_get_entry()
665 * @param in the keytab entry to copy.
666 * @param out the copy of the keytab entry, free with krb5_kt_free_entry().
723 * @param id a keytab.
739 "in the %s keytab type", ""), in krb5_kt_start_seq_get()
747 * Get the next entry from keytab, advance the cursor. On last entry
751 * @param id a keytab.
769 " keytab", ""), in krb5_kt_next_entry()
780 * @param id a keytab.
796 " keytab", id->prefix); in krb5_kt_end_seq_get()
803 * Add the entry in `entry' to the keytab `id'.
806 * @param id a keytab.
821 N_("Add is not supported in the %s keytab", ""), in krb5_kt_add_entry()
830 * Remove an entry from the keytab, matching is done using
834 * @param id a keytab.
849 N_("Remove is not supported in the %s keytab", ""), in krb5_kt_remove_entry()
857 * Return true if the keytab exists and have entries
860 * @param id a keytab.
894 N_("No entry in keytab: %s", ""), name); in krb5_kt_have_content()