Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KRB5_AUTH_CONTEXT(3)	     Library Functions Manual	    KRB5_AUTH_CONTEXT(3)

NAME
     krb5_auth_con_addflags,	 krb5_auth_con_free,	 krb5_auth_con_genaddrs,
     krb5_auth_con_generatelocalsubkey, 		 krb5_auth_con_getaddrs,
     krb5_auth_con_getauthenticator,			 krb5_auth_con_getflags,
     krb5_auth_con_getkey,			   krb5_auth_con_getlocalsubkey,
     krb5_auth_con_getrcache,			  krb5_auth_con_getremotesubkey,
     krb5_auth_con_getuserkey,	krb5_auth_con_init,   krb5_auth_con_initivector,
     krb5_auth_con_removeflags, 			 krb5_auth_con_setaddrs,
     krb5_auth_con_setaddrs_from_fd,			 krb5_auth_con_setflags,
     krb5_auth_con_setivector,				   krb5_auth_con_setkey,
     krb5_auth_con_setlocalsubkey,			krb5_auth_con_setrcache,
     krb5_auth_con_setremotesubkey, krb5_auth_con_setuserkey, krb5_auth_context,
     krb5_auth_getcksumtype,  krb5_auth_getkeytype, krb5_auth_getlocalseqnumber,
     krb5_auth_getremoteseqnumber, krb5_auth_setcksumtype, krb5_auth_setkeytype,
     krb5_auth_setlocalseqnumber,		   krb5_auth_setremoteseqnumber,
     krb5_free_authenticator -- manage authentication on connection level

LIBRARY
     Kerberos 5 Library (libkrb5, -lkrb5)

SYNOPSIS
     #include <krb5.h>

     krb5_error_code
     krb5_auth_con_init(krb5_context context, krb5_auth_context *auth_context);

     void
     krb5_auth_con_free(krb5_context context, krb5_auth_context auth_context);

     krb5_error_code
     krb5_auth_con_setflags(krb5_context context,
	 krb5_auth_context auth_context, int32_t flags);

     krb5_error_code
     krb5_auth_con_getflags(krb5_context context,
	 krb5_auth_context auth_context, int32_t *flags);

     krb5_error_code
     krb5_auth_con_addflags(krb5_context context,
	 krb5_auth_context auth_context, int32_t addflags, int32_t *flags);

     krb5_error_code
     krb5_auth_con_removeflags(krb5_context context,
	 krb5_auth_context auth_context, int32_t removelags, int32_t *flags);

     krb5_error_code
     krb5_auth_con_setaddrs(krb5_context context,
	 krb5_auth_context auth_context, krb5_address *local_addr,
	 krb5_address *remote_addr);

     krb5_error_code
     krb5_auth_con_getaddrs(krb5_context context,
	 krb5_auth_context auth_context, krb5_address **local_addr,
	 krb5_address **remote_addr);

     krb5_error_code
     krb5_auth_con_genaddrs(krb5_context context,
	 krb5_auth_context auth_context, int fd, int flags);

     krb5_error_code
     krb5_auth_con_setaddrs_from_fd(krb5_context context,
	 krb5_auth_context auth_context, void *p_fd);

     krb5_error_code
     krb5_auth_con_getkey(krb5_context context, krb5_auth_context auth_context,
	 krb5_keyblock **keyblock);

     krb5_error_code
     krb5_auth_con_getlocalsubkey(krb5_context context,
	 krb5_auth_context auth_context, krb5_keyblock **keyblock);

     krb5_error_code
     krb5_auth_con_getremotesubkey(krb5_context context,
	 krb5_auth_context auth_context, krb5_keyblock **keyblock);

     krb5_error_code
     krb5_auth_con_generatelocalsubkey(krb5_context context,
	 krb5_auth_context auth_context, krb5_keyblock, *key");

     krb5_error_code
     krb5_auth_con_initivector(krb5_context context,
	 krb5_auth_context auth_context);

     krb5_error_code
     krb5_auth_con_setivector(krb5_context context,
	 krb5_auth_context *auth_context, krb5_pointer ivector);

     void
     krb5_free_authenticator(krb5_context context,
	 krb5_authenticator *authenticator);

DESCRIPTION
     The  krb5_auth_context  structure holds all context related to an authenti-
     cated connection, in a similar way to krb5_context that holds  the  context
     for  the thread or process.  krb5_auth_context is used by various functions
     that are directly related to authentication between the server/client.  Ex-
     ample  of data that this structure contains are various flags, addresses of
     client and server, port numbers, keyblocks (and subkeys), sequence numbers,
     replay cache, and checksum-type.

     krb5_auth_con_init() allocates and initializes the krb5_auth_context struc-
     ture. Default values can be changed with  krb5_auth_con_setcksumtype()  and
     krb5_auth_con_setflags().	 The  auth_context  structure  must  be freed by
     krb5_auth_con_free().

     krb5_auth_con_getflags(),			       krb5_auth_con_setflags(),
     krb5_auth_con_addflags()  and krb5_auth_con_removeflags() gets and modifies
     the flags for a krb5_auth_context structure. Possible flags to set are:

     KRB5_AUTH_CONTEXT_DO_SEQUENCE
	     Generate and check sequence-number on each packet.

     KRB5_AUTH_CONTEXT_DO_TIME
	     Check timestamp on incoming packets.

     KRB5_AUTH_CONTEXT_RET_SEQUENCE, KRB5_AUTH_CONTEXT_RET_TIME
	     Return sequence numbers and time stamps in the outdata parameters.

     KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED
	     will force krb5_get_forwarded_creds() and	krb5_fwd_tgt_creds()  to
	     create  unencrypted  ) KRB5_ENCTYPE_NULL) credentials.  This is for
	     use with old MIT server and JAVA based servers as they can't handle
	     encrypted KRB-CRED.  Note that sending such KRB-CRED is  clear  ex-
	     poses crypto keys and tickets and is insecure, make sure the packet
	     is  encrypted  in	the protocol.  krb5_rd_cred(3), krb5_rd_priv(3),
	     krb5_rd_safe(3), krb5_mk_priv(3) and krb5_mk_safe(3).  Setting this
	     flag requires that parameter to be passed to these functions.

	     The flags KRB5_AUTH_CONTEXT_DO_TIME also modifies the behavior  the
	     function  krb5_get_forwarded_creds()  by  removing the timestamp in
	     the forward credential message, this  have  backward  compatibility
	     problems  since  not  all versions of the heimdal supports timeless
	     credentional messages.  Is very useful since it always  the  sender
	     of  the  message to cache forward message and thus avoiding a round
	     trip to the KDC for each time a credential is forwarded.  The  same
	     functionality can be obtained by using address-less tickets.

     krb5_auth_con_setaddrs(),	      krb5_auth_con_setaddrs_from_fd()	     and
     krb5_auth_con_getaddrs() gets and sets the addresses that are checked  when
     a	packet	is  received.	It is mandatory to set an address for the remote
     host. If the local address is not set, it iss deduced from the  underlaying
     operating	system.   krb5_auth_con_getaddrs() will call krb5_free_address()
     on  any  address	that   is   passed   in   local_addr   or   remote_addr.
     krb5_auth_con_setaddr()  allows passing in a NULL pointer as local_addr and
     remote_addr, in that case it will just not set that address.

     krb5_auth_con_setaddrs_from_fd() fetches the addresses from a file descrip-
     tor.

     krb5_auth_con_genaddrs() fetches the address  information	from  the  given
     file descriptor fd depending on the bitmap argument flags.

     Possible values on flags are:

     KRB5_AUTH_CONTEXT_GENERATE_LOCAL_ADDR
	     fetches the local address from fd.

     KRB5_AUTH_CONTEXT_GENERATE_REMOTE_ADDR
	     fetches the remote address from fd.

     krb5_auth_con_setkey(),		krb5_auth_con_setuserkey()	     and
     krb5_auth_con_getkey() gets and sets the key used for  this  auth	context.
     The  keyblock  returned  by  krb5_auth_con_getkey()  should  be  freed with
     krb5_free_keyblock().  The keyblock  send	into  krb5_auth_con_setkey()  is
     copied  into the krb5_auth_context, and thus no special handling is needed.
     NULL is not a valid keyblock to krb5_auth_con_setkey().

     krb5_auth_con_setuserkey() is only useful when doing user to user authenti-
     cation.   krb5_auth_con_setkey()	is   equivalent   to   krb5_auth_con_se-
     tuserkey().

     krb5_auth_con_getlocalsubkey(),		 krb5_auth_con_setlocalsubkey(),
     krb5_auth_con_getremotesubkey()  and  krb5_auth_con_setremotesubkey()  gets
     and  sets	the  keyblock for the local and remote subkey.	The keyblock re-
     turned by	krb5_auth_con_getlocalsubkey()	and  krb5_auth_con_getremotesub-
     key() must be freed with krb5_free_keyblock().

     krb5_auth_setcksumtype()  and  krb5_auth_getcksumtype()  sets  and gets the
     checksum type that should be used for this connection.

     krb5_auth_con_generatelocalsubkey() generates a local subkey that have  the
     same encryption type as key.

     krb5_auth_getremoteseqnumber()		 krb5_auth_setremoteseqnumber(),
     krb5_auth_getlocalseqnumber() and	krb5_auth_setlocalseqnumber()  gets  and
     sets the sequence-number for the local and remote sequence-number counter.

     krb5_auth_setkeytype() and krb5_auth_getkeytype() gets and gets the keytype
     of the keyblock in krb5_auth_context.

     krb5_auth_con_getauthenticator()  Retrieves the authenticator that was used
     during mutual authentication. The authenticator returned should be freed by
     calling krb5_free_authenticator().

     krb5_auth_con_getrcache() and krb5_auth_con_setrcache() gets and  sets  the
     replay-cache.

     krb5_auth_con_initivector() allocates memory for and zeros the initial vec-
     tor in the auth_context keyblock.

     krb5_auth_con_setivector()  sets  the  i_vector  portion of auth_context to
     ivector.

     krb5_free_authenticator()	 free	the   content	of   authenticator   and
     authenticator itself.

SEE ALSO
     krb5_context(3), kerberos(8)

HEIMDAL 			  May 17, 2005		    KRB5_AUTH_CONTEXT(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=krb5_auth_con_getkey&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help