PreviousNext

dced_keytab_create(3dce)

Creates a key table with a list of keys (server passwords) in a new file on a specific host

Synopsis

#include <dce/dced.h>

void dced_keytab_create(

dced_binding_handle_t dced_bh,

dced_entry_t *keytab_entry,

dced_key_list_t *keys,

error_status_t *status);

Parameters

Input

dced_bh
Specifies the dced binding handle for the keytab service on a specific host.

Input/Output

keytab_entry
Specifies the keytab entry to create for dced.

keys
Specifies the list of keys to be written to the key table file.

Output

status
Returns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not.

Description
The dced_keytab_create( ) routine creates a new key table file on a specific host, and it generates the associated keytab service entry in dced. This routine is used by management applications to remotely create a key table. Servers typically create their own key table locally using the sec_key_mgmt_set_key(3sec) routine. However, if several servers on different hosts share the same principal, each host requires a local copy of the key table.

If a key table that you want to add to the keytab service already exists on the host, you can add it to the service by calling dced_entry_add( ). This routine creates a new keytab service entry by associating the existing key table file with a new UUID in dced.

Prior to calling the dced_keytab_create( ) routine, the application must have established a valid dced binding handle to the keytab service by calling either the dced_binding_create( ) or dced_binding_from_rpc_binding( ) routine.

Errors

The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

error_status_ok

db_s_bad_header_type

db_s_bad_index_type

db_s_bad_index_type

db_s_iter_not_allowed

db_s_key_not_found

db_s_readonly

db_s_store_failed

dced_s_already_exists

dced_s_bad_binding

dced_s_import_already_exists

dced_s_need_privacy

rpc_s_binding_has_no_auth

rpc_s_invalid_binding

rpc_s_wrong_kind_of_binding

sec_acl_invalid_permission

sec_key_mgmt_e_authn_invalid

sec_key_mgmt_e_key_unavailable

sec_key_mgmt_e_key_unsupported

sec_key_mgmt_e_key_version_exists

sec_key_mgmt_e_unauthorized

uuid_s_bad_version

Related Information
Routines: sec_key_mgmt_set_key(3sec)

dced_entry_add(3dce)

dced_binding_from_rpc_binding(3dce)

dced_binding_create(3dce)

Book: OSF DCE Application Development Guide - Core Components