xref: /illumos-gate/usr/src/man/man3lib/libkrb5.3lib (revision 598f4ceed9327d2d6c2325dd67cae3aa06f7fea6)
te
Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
LIBKRB5 3LIB "Sep 2, 2009"
NAME
libkrb5 - MIT Kerberos 5 library
SYNOPSIS

cc -I/usr/include/kerberosv5 [ flag... ] file... -lkrb5 [ library...]
#include <krb5.h>
#include <com_err.h>
DESCRIPTION

The functions in this library are the routines that comprise the MIT Kerberos 5 library.

INTERFACES

The shared object libkrb5.so provides the public interface defined below.

The krb5 library is provided as a convenience to allow native krb5 applications to be built and to run. Compatability between Solaris releases of the krb5 interface is not guaranteed. For new applications that require these features, libgss(3LIB) is recomended.

For detailed documentation on the krb5 interface, see the MIT Kerberos 5 web site at http://web.mit.edu/kerberos.

The krb5_cc_gen_new routine, listed in krb5.h section, is flawed and should be avoided. Until a new routine is available from MIT, the following can be done:

char ccname[40];
int tmpfd;

snprintf(ccname,sizeof(ccname),"FILE:/tmp/krb5cc_%d_XXXXXX",
 geteuid());

if ((tmpfd = mkstemp(ccname+strlen("FILE:")))==-1) {
 log("mkstemp(): %.100s", strerror(errno));
 problem = errno;
 goto fail;
}
if (fchmod(tmpfd,S_IRUSR | S_IWUSR) == -1) {
 log("fchmod(): %.100s", strerror(errno));
 close(tmpfd);
 problem = errno;
 goto fail;
}
 close(tmpfd);
problem = krb5_cc_resolve(authctxt->krb5_ctx, ccname, &ccache);
...
fail:

The krb5_string_to_key and krb5_string_to_key routines, listed in krb5.h section, are part of the old cryptosystem and should not be used in new apps.

com_err

com_err_va

error_message

krb5_address_compare

krb5_address_order

krb5_address_search

krb5_aname_to_localname

krb5_appdefault_boolean

krb5_appdefault_string

krb5_auth_con_free

krb5_auth_con_genaddrs

krb5_auth_con_get_checksum_func

krb5_auth_con_getaddrs

krb5_auth_con_getauthenticator

krb5_auth_con_getflags

krb5_auth_con_getkey

krb5_auth_con_getlocalseqnumber

krb5_auth_con_getrcache

krb5_auth_con_getrecvsubkey

krb5_auth_con_getremoteseqnumber

krb5_auth_con_getsendsubkey

krb5_auth_con_init

krb5_auth_con_set_checksum_func

krb5_auth_con_setaddrs

krb5_auth_con_setflags

krb5_auth_con_setports

krb5_auth_con_setrcache

krb5_auth_con_setrecvsubkey

krb5_auth_con_setsendsubkey

krb5_auth_con_setuseruserkey

krb5_build_principal

krb5_build_principal_ext

krb5_c_block_size

krb5_c_checksum_length

krb5_c_decrypt

krb5_c_encrypt

krb5_c_encrypt_length

krb5_c_enctype_compare

krb5_c_free_state

krb5_c_init_state

krb5_c_is_coll_proof_cksum

krb5_c_is_keyed_cksum

krb5_c_keyed_checksum_types

krb5_c_make_checksum

krb5_c_make_random_key

krb5_c_random_make_octets

krb5_c_string_to_key

krb5_c_string_to_key_with_params

krb5_c_valid_cksumtype

krb5_c_valid_enctype

krb5_c_verify_checksum

krb5_cc_close

krb5_cc_copy_creds

krb5_cc_default

krb5_cc_default_name

krb5_cc_destroy

krb5_cc_end_seq_get

krb5_cc_gen_new

krb5_cc_get_name

krb5_cc_get_principal

krb5_cc_get_type

krb5_cc_initialize

krb5_cc_next_cred

krb5_cc_remove_cred

krb5_cc_resolve

krb5_cc_retrieve_cred

krb5_cc_set_default_name

krb5_cc_set_flags

krb5_cc_start_seq_get

krb5_cc_store_cred

krb5_change_password

krb5_cksumtype_to_string

krb5_copy_addresses

krb5_copy_authdata

krb5_copy_authenticator

krb5_copy_checksum

krb5_copy_creds

krb5_copy_data

krb5_copy_keyblock

krb5_copy_keyblock_contents

krb5_copy_principal

krb5_copy_ticket

krb5_decode_authdata_container

krb5_decode_ticket

krb5_deltat_to_string

krb5_encode_authdata_container

krb5_enctype_to_string

krb5_free_addresses

krb5_free_ap_rep_enc_part

krb5_free_authdata

krb5_free_authenticator

krb5_free_checksum

krb5_free_checksum_contents

krb5_free_cksumtypes

krb5_free_context

krb5_free_cred_contents

krb5_free_creds

krb5_free_data

krb5_free_data_contents

krb5_free_default_realm

krb5_free_error

krb5_free_host_realm

krb5_free_keyblock

krb5_free_keyblock_contents

krb5_free_keytab_entry_contents

krb5_free_principal

krb5_free_realm_string

krb5_free_tgt_creds

krb5_free_ticket

krb5_free_unparsed_name

krb5_fwd_tgt_creds

krb5_get_credentials

krb5_get_credentials_renew

krb5_get_credentials_validate

krb5_get_default_realm

krb5_get_host_realm

krb5_get_init_creds_keytab

krb5_get_init_creds_opt_init

krb5_get_init_creds_opt_set_address_list

krb5_get_init_creds_opt_set_etype_list

krb5_get_init_creds_opt_set_forwardable

krb5_get_init_creds_opt_set_preauth_list

krb5_get_init_creds_opt_set_proxiable

krb5_get_init_creds_opt_set_renew_life

krb5_get_init_creds_opt_set_salt

krb5_get_init_creds_opt_set_tkt_life

krb5_get_key_data

krb5_get_key_enctype

krb5_get_key_length

krb5_get_init_creds_password

krb5_get_permitted_enctypes

krb5_get_profile

krb5_get_prompt_types

krb5_get_renewed_creds

krb5_get_server_rcache

krb5_get_validated_creds

krb5_init_allocated_keyblock

krb5_init_context

krb5_init_keyblock

krb5_init_secure_context

krb5_is_thread_safe

krb5_kt_add_entry

krb5_kt_close

krb5_kt_default

krb5_kt_default_name

krb5_kt_end_seq_get

krb5_kt_get_entry

krb5_kt_get_name

krb5_kt_get_type

krb5_kt_next_entry

krb5_kt_read_service_key

krb5_kt_remove_entry

krb5_kt_resolve

krb5_kt_start_seq_get

krb5_kuserok

krb5_mk_error

krb5_mk_ncred

krb5_mk_priv

krb5_mk_rep

krb5_mk_req

krb5_mk_req_extended

krb5_mk_safe

krb5_mk_1cred

krb5_os_localaddr

krb5_pac_add_buffer

krb5_pac_free

krb5_pac_get_types

krb5_pac_get_buffer

krb5_pac_init

krb5_pac_parse

krb5_pac_verify

krb5_parse_name

krb5_principal_compare

krb5_principal2salt

krb5_prompter_posix

krb5_rd_cred

krb5_rd_error

krb5_rd_priv

krb5_rd_rep

krb5_rd_req

krb5_rd_safe

krb5_read_password

krb5_realm_compare

krb5_realm_iterator

krb5_realm_iterator_create

krb5_realm_iterator_free

krb5_recvauth

krb5_recvauth_version

krb5_salttype_to_string

krb5_sendauth

krb5_set_default_realm

krb5_set_default_tgs_enctypes

krb5_set_key_data

krb5_set_key_enctype

krb5_set_key_length

krb5_set_password

krb5_set_password_using_ccache

krb5_set_principal_realm

krb5_set_real_time

krb5_sname_to_principal

krb5_string_to_cksumtype

krb5_string_to_deltat

krb5_string_to_enctype

krb5_string_to_key

krb5_string_to_salttype

krb5_string_to_timestamp

krb5_timeofday

krb5_timestamp_to_sfstring

krb5_timestamp_to_string

krb5_unparse_name

krb5_unparse_name_ext

krb5_us_timeofday

krb5_use_enctype

krb5_verify_init_creds

krb5_verify_init_creds_opt_init

krb5_verify_init_creds_opt_set_ap_req_nofail

krb5_xfree

krb5_xfree_wrap

FILES
/usr/lib/libkrb5.so.1

shared object

/usr/lib/64/libkrb5.so.1

64-bit shared object

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Volatile
MT-Level Safe
SEE ALSO

krb5-config(1), libgss(3LIB), attributes(5)