1*ebfedea0SLionel Sambuc.\" $NetBSD: krb5_auth_context.3,v 1.1.1.2 2011/04/14 14:09:22 elric Exp $ 2*ebfedea0SLionel Sambuc.\" 3*ebfedea0SLionel Sambuc.\" Copyright (c) 2001 - 2005 Kungliga Tekniska Högskolan 4*ebfedea0SLionel Sambuc.\" (Royal Institute of Technology, Stockholm, Sweden). 5*ebfedea0SLionel Sambuc.\" All rights reserved. 6*ebfedea0SLionel Sambuc.\" 7*ebfedea0SLionel Sambuc.\" Redistribution and use in source and binary forms, with or without 8*ebfedea0SLionel Sambuc.\" modification, are permitted provided that the following conditions 9*ebfedea0SLionel Sambuc.\" are met: 10*ebfedea0SLionel Sambuc.\" 11*ebfedea0SLionel Sambuc.\" 1. Redistributions of source code must retain the above copyright 12*ebfedea0SLionel Sambuc.\" notice, this list of conditions and the following disclaimer. 13*ebfedea0SLionel Sambuc.\" 14*ebfedea0SLionel Sambuc.\" 2. Redistributions in binary form must reproduce the above copyright 15*ebfedea0SLionel Sambuc.\" notice, this list of conditions and the following disclaimer in the 16*ebfedea0SLionel Sambuc.\" documentation and/or other materials provided with the distribution. 17*ebfedea0SLionel Sambuc.\" 18*ebfedea0SLionel Sambuc.\" 3. Neither the name of the Institute nor the names of its contributors 19*ebfedea0SLionel Sambuc.\" may be used to endorse or promote products derived from this software 20*ebfedea0SLionel Sambuc.\" without specific prior written permission. 21*ebfedea0SLionel Sambuc.\" 22*ebfedea0SLionel Sambuc.\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 23*ebfedea0SLionel Sambuc.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*ebfedea0SLionel Sambuc.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*ebfedea0SLionel Sambuc.\" ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 26*ebfedea0SLionel Sambuc.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*ebfedea0SLionel Sambuc.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*ebfedea0SLionel Sambuc.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*ebfedea0SLionel Sambuc.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*ebfedea0SLionel Sambuc.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*ebfedea0SLionel Sambuc.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*ebfedea0SLionel Sambuc.\" SUCH DAMAGE. 33*ebfedea0SLionel Sambuc.\" 34*ebfedea0SLionel Sambuc.\" Id 35*ebfedea0SLionel Sambuc.\" 36*ebfedea0SLionel Sambuc.Dd May 17, 2005 37*ebfedea0SLionel Sambuc.Dt KRB5_AUTH_CONTEXT 3 38*ebfedea0SLionel Sambuc.Os 39*ebfedea0SLionel Sambuc.Sh NAME 40*ebfedea0SLionel Sambuc.Nm krb5_auth_con_addflags , 41*ebfedea0SLionel Sambuc.Nm krb5_auth_con_free , 42*ebfedea0SLionel Sambuc.Nm krb5_auth_con_genaddrs , 43*ebfedea0SLionel Sambuc.Nm krb5_auth_con_generatelocalsubkey , 44*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getaddrs , 45*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getauthenticator , 46*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getflags , 47*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getkey , 48*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getlocalsubkey , 49*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getrcache , 50*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getremotesubkey , 51*ebfedea0SLionel Sambuc.Nm krb5_auth_con_getuserkey , 52*ebfedea0SLionel Sambuc.Nm krb5_auth_con_init , 53*ebfedea0SLionel Sambuc.Nm krb5_auth_con_initivector , 54*ebfedea0SLionel Sambuc.Nm krb5_auth_con_removeflags , 55*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setaddrs , 56*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setaddrs_from_fd , 57*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setflags , 58*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setivector , 59*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setkey , 60*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setlocalsubkey , 61*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setrcache , 62*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setremotesubkey , 63*ebfedea0SLionel Sambuc.Nm krb5_auth_con_setuserkey , 64*ebfedea0SLionel Sambuc.Nm krb5_auth_context , 65*ebfedea0SLionel Sambuc.Nm krb5_auth_getcksumtype , 66*ebfedea0SLionel Sambuc.Nm krb5_auth_getkeytype , 67*ebfedea0SLionel Sambuc.Nm krb5_auth_getlocalseqnumber , 68*ebfedea0SLionel Sambuc.Nm krb5_auth_getremoteseqnumber , 69*ebfedea0SLionel Sambuc.Nm krb5_auth_setcksumtype , 70*ebfedea0SLionel Sambuc.Nm krb5_auth_setkeytype , 71*ebfedea0SLionel Sambuc.Nm krb5_auth_setlocalseqnumber , 72*ebfedea0SLionel Sambuc.Nm krb5_auth_setremoteseqnumber , 73*ebfedea0SLionel Sambuc.Nm krb5_free_authenticator 74*ebfedea0SLionel Sambuc.Nd manage authentication on connection level 75*ebfedea0SLionel Sambuc.Sh LIBRARY 76*ebfedea0SLionel SambucKerberos 5 Library (libkrb5, -lkrb5) 77*ebfedea0SLionel Sambuc.Sh SYNOPSIS 78*ebfedea0SLionel Sambuc.In krb5/krb5.h 79*ebfedea0SLionel Sambuc.Ft krb5_error_code 80*ebfedea0SLionel Sambuc.Fo krb5_auth_con_init 81*ebfedea0SLionel Sambuc.Fa "krb5_context context" 82*ebfedea0SLionel Sambuc.Fa "krb5_auth_context *auth_context" 83*ebfedea0SLionel Sambuc.Fc 84*ebfedea0SLionel Sambuc.Ft void 85*ebfedea0SLionel Sambuc.Fo krb5_auth_con_free 86*ebfedea0SLionel Sambuc.Fa "krb5_context context" 87*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 88*ebfedea0SLionel Sambuc.Fc 89*ebfedea0SLionel Sambuc.Ft krb5_error_code 90*ebfedea0SLionel Sambuc.Fo krb5_auth_con_setflags 91*ebfedea0SLionel Sambuc.Fa "krb5_context context" 92*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 93*ebfedea0SLionel Sambuc.Fa "int32_t flags" 94*ebfedea0SLionel Sambuc.Fc 95*ebfedea0SLionel Sambuc.Ft krb5_error_code 96*ebfedea0SLionel Sambuc.Fo krb5_auth_con_getflags 97*ebfedea0SLionel Sambuc.Fa "krb5_context context" 98*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 99*ebfedea0SLionel Sambuc.Fa "int32_t *flags" 100*ebfedea0SLionel Sambuc.Fc 101*ebfedea0SLionel Sambuc.Ft krb5_error_code 102*ebfedea0SLionel Sambuc.Fo krb5_auth_con_addflags 103*ebfedea0SLionel Sambuc.Fa "krb5_context context" 104*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 105*ebfedea0SLionel Sambuc.Fa "int32_t addflags" 106*ebfedea0SLionel Sambuc.Fa "int32_t *flags" 107*ebfedea0SLionel Sambuc.Fc 108*ebfedea0SLionel Sambuc.Ft krb5_error_code 109*ebfedea0SLionel Sambuc.Fo krb5_auth_con_removeflags 110*ebfedea0SLionel Sambuc.Fa "krb5_context context" 111*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 112*ebfedea0SLionel Sambuc.Fa "int32_t removelags" 113*ebfedea0SLionel Sambuc.Fa "int32_t *flags" 114*ebfedea0SLionel Sambuc.Fc 115*ebfedea0SLionel Sambuc.Ft krb5_error_code 116*ebfedea0SLionel Sambuc.Fo krb5_auth_con_setaddrs 117*ebfedea0SLionel Sambuc.Fa "krb5_context context" 118*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 119*ebfedea0SLionel Sambuc.Fa "krb5_address *local_addr" 120*ebfedea0SLionel Sambuc.Fa "krb5_address *remote_addr" 121*ebfedea0SLionel Sambuc.Fc 122*ebfedea0SLionel Sambuc.Ft krb5_error_code 123*ebfedea0SLionel Sambuc.Fo krb5_auth_con_getaddrs 124*ebfedea0SLionel Sambuc.Fa "krb5_context context" 125*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 126*ebfedea0SLionel Sambuc.Fa "krb5_address **local_addr" 127*ebfedea0SLionel Sambuc.Fa "krb5_address **remote_addr" 128*ebfedea0SLionel Sambuc.Fc 129*ebfedea0SLionel Sambuc.Ft krb5_error_code 130*ebfedea0SLionel Sambuc.Fo krb5_auth_con_genaddrs 131*ebfedea0SLionel Sambuc.Fa "krb5_context context" 132*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 133*ebfedea0SLionel Sambuc.Fa "int fd" 134*ebfedea0SLionel Sambuc.Fa "int flags" 135*ebfedea0SLionel Sambuc.Fc 136*ebfedea0SLionel Sambuc.Ft krb5_error_code 137*ebfedea0SLionel Sambuc.Fo krb5_auth_con_setaddrs_from_fd 138*ebfedea0SLionel Sambuc.Fa "krb5_context context" 139*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 140*ebfedea0SLionel Sambuc.Fa "void *p_fd" 141*ebfedea0SLionel Sambuc.Fc 142*ebfedea0SLionel Sambuc.Ft krb5_error_code 143*ebfedea0SLionel Sambuc.Fo krb5_auth_con_getkey 144*ebfedea0SLionel Sambuc.Fa "krb5_context context" 145*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 146*ebfedea0SLionel Sambuc.Fa "krb5_keyblock **keyblock" 147*ebfedea0SLionel Sambuc.Fc 148*ebfedea0SLionel Sambuc.Ft krb5_error_code 149*ebfedea0SLionel Sambuc.Fo krb5_auth_con_getlocalsubkey 150*ebfedea0SLionel Sambuc.Fa "krb5_context context" 151*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 152*ebfedea0SLionel Sambuc.Fa "krb5_keyblock **keyblock" 153*ebfedea0SLionel Sambuc.Fc 154*ebfedea0SLionel Sambuc.Ft krb5_error_code 155*ebfedea0SLionel Sambuc.Fo krb5_auth_con_getremotesubkey 156*ebfedea0SLionel Sambuc.Fa "krb5_context context" 157*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 158*ebfedea0SLionel Sambuc.Fa "krb5_keyblock **keyblock" 159*ebfedea0SLionel Sambuc.Fc 160*ebfedea0SLionel Sambuc.Ft krb5_error_code 161*ebfedea0SLionel Sambuc.Fo krb5_auth_con_generatelocalsubkey 162*ebfedea0SLionel Sambuc.Fa "krb5_context context" 163*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 164*ebfedea0SLionel Sambuc.Fa krb5_keyblock *key" 165*ebfedea0SLionel Sambuc.Fc 166*ebfedea0SLionel Sambuc.Ft krb5_error_code 167*ebfedea0SLionel Sambuc.Fo krb5_auth_con_initivector 168*ebfedea0SLionel Sambuc.Fa "krb5_context context" 169*ebfedea0SLionel Sambuc.Fa "krb5_auth_context auth_context" 170*ebfedea0SLionel Sambuc.Fc 171*ebfedea0SLionel Sambuc.Ft krb5_error_code 172*ebfedea0SLionel Sambuc.Fo krb5_auth_con_setivector 173*ebfedea0SLionel Sambuc.Fa "krb5_context context" 174*ebfedea0SLionel Sambuc.Fa "krb5_auth_context *auth_context" 175*ebfedea0SLionel Sambuc.Fa "krb5_pointer ivector" 176*ebfedea0SLionel Sambuc.Fc 177*ebfedea0SLionel Sambuc.Ft void 178*ebfedea0SLionel Sambuc.Fo krb5_free_authenticator 179*ebfedea0SLionel Sambuc.Fa "krb5_context context" 180*ebfedea0SLionel Sambuc.Fa "krb5_authenticator *authenticator" 181*ebfedea0SLionel Sambuc.Fc 182*ebfedea0SLionel Sambuc.Sh DESCRIPTION 183*ebfedea0SLionel SambucThe 184*ebfedea0SLionel Sambuc.Nm krb5_auth_context 185*ebfedea0SLionel Sambucstructure holds all context related to an authenticated connection, in 186*ebfedea0SLionel Sambuca similar way to 187*ebfedea0SLionel Sambuc.Nm krb5_context 188*ebfedea0SLionel Sambucthat holds the context for the thread or process. 189*ebfedea0SLionel Sambuc.Nm krb5_auth_context 190*ebfedea0SLionel Sambucis used by various functions that are directly related to 191*ebfedea0SLionel Sambucauthentication between the server/client. Example of data that this 192*ebfedea0SLionel Sambucstructure contains are various flags, addresses of client and server, 193*ebfedea0SLionel Sambucport numbers, keyblocks (and subkeys), sequence numbers, replay cache, 194*ebfedea0SLionel Sambucand checksum-type. 195*ebfedea0SLionel Sambuc.Pp 196*ebfedea0SLionel Sambuc.Fn krb5_auth_con_init 197*ebfedea0SLionel Sambucallocates and initializes the 198*ebfedea0SLionel Sambuc.Nm krb5_auth_context 199*ebfedea0SLionel Sambucstructure. Default values can be changed with 200*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setcksumtype 201*ebfedea0SLionel Sambucand 202*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setflags . 203*ebfedea0SLionel SambucThe 204*ebfedea0SLionel Sambuc.Nm auth_context 205*ebfedea0SLionel Sambucstructure must be freed by 206*ebfedea0SLionel Sambuc.Fn krb5_auth_con_free . 207*ebfedea0SLionel Sambuc.Pp 208*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getflags , 209*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setflags , 210*ebfedea0SLionel Sambuc.Fn krb5_auth_con_addflags 211*ebfedea0SLionel Sambucand 212*ebfedea0SLionel Sambuc.Fn krb5_auth_con_removeflags 213*ebfedea0SLionel Sambucgets and modifies the flags for a 214*ebfedea0SLionel Sambuc.Nm krb5_auth_context 215*ebfedea0SLionel Sambucstructure. Possible flags to set are: 216*ebfedea0SLionel Sambuc.Bl -tag -width Ds 217*ebfedea0SLionel Sambuc.It Dv KRB5_AUTH_CONTEXT_DO_SEQUENCE 218*ebfedea0SLionel SambucGenerate and check sequence-number on each packet. 219*ebfedea0SLionel Sambuc.It Dv KRB5_AUTH_CONTEXT_DO_TIME 220*ebfedea0SLionel SambucCheck timestamp on incoming packets. 221*ebfedea0SLionel Sambuc.It Dv KRB5_AUTH_CONTEXT_RET_SEQUENCE , Dv KRB5_AUTH_CONTEXT_RET_TIME 222*ebfedea0SLionel SambucReturn sequence numbers and time stamps in the outdata parameters. 223*ebfedea0SLionel Sambuc.It Dv KRB5_AUTH_CONTEXT_CLEAR_FORWARDED_CRED 224*ebfedea0SLionel Sambucwill force 225*ebfedea0SLionel Sambuc.Fn krb5_get_forwarded_creds 226*ebfedea0SLionel Sambucand 227*ebfedea0SLionel Sambuc.Fn krb5_fwd_tgt_creds 228*ebfedea0SLionel Sambucto create unencrypted ) 229*ebfedea0SLionel Sambuc.Dv ENCTYPE_NULL ) 230*ebfedea0SLionel Sambuccredentials. 231*ebfedea0SLionel SambucThis is for use with old MIT server and JAVA based servers as 232*ebfedea0SLionel Sambucthey can't handle encrypted 233*ebfedea0SLionel Sambuc.Dv KRB-CRED . 234*ebfedea0SLionel SambucNote that sending such 235*ebfedea0SLionel Sambuc.Dv KRB-CRED 236*ebfedea0SLionel Sambucis clear exposes crypto keys and tickets and is insecure, 237*ebfedea0SLionel Sambucmake sure the packet is encrypted in the protocol. 238*ebfedea0SLionel Sambuc.Xr krb5_rd_cred 3 , 239*ebfedea0SLionel Sambuc.Xr krb5_rd_priv 3 , 240*ebfedea0SLionel Sambuc.Xr krb5_rd_safe 3 , 241*ebfedea0SLionel Sambuc.Xr krb5_mk_priv 3 242*ebfedea0SLionel Sambucand 243*ebfedea0SLionel Sambuc.Xr krb5_mk_safe 3 . 244*ebfedea0SLionel SambucSetting this flag requires that parameter to be passed to these 245*ebfedea0SLionel Sambucfunctions. 246*ebfedea0SLionel Sambuc.Pp 247*ebfedea0SLionel SambucThe flags 248*ebfedea0SLionel Sambuc.Dv KRB5_AUTH_CONTEXT_DO_TIME 249*ebfedea0SLionel Sambucalso modifies the behavior the function 250*ebfedea0SLionel Sambuc.Fn krb5_get_forwarded_creds 251*ebfedea0SLionel Sambucby removing the timestamp in the forward credential message, this have 252*ebfedea0SLionel Sambucbackward compatibility problems since not all versions of the heimdal 253*ebfedea0SLionel Sambucsupports timeless credentional messages. 254*ebfedea0SLionel SambucIs very useful since it always the sender of the message to cache 255*ebfedea0SLionel Sambucforward message and thus avoiding a round trip to the KDC for each 256*ebfedea0SLionel Sambuctime a credential is forwarded. 257*ebfedea0SLionel SambucThe same functionality can be obtained by using address-less tickets. 258*ebfedea0SLionel Sambuc.\".It Dv KRB5_AUTH_CONTEXT_PERMIT_ALL 259*ebfedea0SLionel Sambuc.El 260*ebfedea0SLionel Sambuc.Pp 261*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setaddrs , 262*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setaddrs_from_fd 263*ebfedea0SLionel Sambucand 264*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getaddrs 265*ebfedea0SLionel Sambucgets and sets the addresses that are checked when a packet is received. 266*ebfedea0SLionel SambucIt is mandatory to set an address for the remote 267*ebfedea0SLionel Sambuchost. If the local address is not set, it iss deduced from the underlaying 268*ebfedea0SLionel Sambucoperating system. 269*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getaddrs 270*ebfedea0SLionel Sambucwill call 271*ebfedea0SLionel Sambuc.Fn krb5_free_address 272*ebfedea0SLionel Sambucon any address that is passed in 273*ebfedea0SLionel Sambuc.Fa local_addr 274*ebfedea0SLionel Sambucor 275*ebfedea0SLionel Sambuc.Fa remote_addr . 276*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setaddr 277*ebfedea0SLionel Sambucallows passing in a 278*ebfedea0SLionel Sambuc.Dv NULL 279*ebfedea0SLionel Sambucpointer as 280*ebfedea0SLionel Sambuc.Fa local_addr 281*ebfedea0SLionel Sambucand 282*ebfedea0SLionel Sambuc.Fa remote_addr , 283*ebfedea0SLionel Sambucin that case it will just not set that address. 284*ebfedea0SLionel Sambuc.Pp 285*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setaddrs_from_fd 286*ebfedea0SLionel Sambucfetches the addresses from a file descriptor. 287*ebfedea0SLionel Sambuc.Pp 288*ebfedea0SLionel Sambuc.Fn krb5_auth_con_genaddrs 289*ebfedea0SLionel Sambucfetches the address information from the given file descriptor 290*ebfedea0SLionel Sambuc.Fa fd 291*ebfedea0SLionel Sambucdepending on the bitmap argument 292*ebfedea0SLionel Sambuc.Fa flags . 293*ebfedea0SLionel Sambuc.Pp 294*ebfedea0SLionel SambucPossible values on 295*ebfedea0SLionel Sambuc.Fa flags 296*ebfedea0SLionel Sambucare: 297*ebfedea0SLionel Sambuc.Bl -tag -width Ds 298*ebfedea0SLionel Sambuc.It Va KRB5_AUTH_CONTEXT_GENERATE_LOCAL_ADDR 299*ebfedea0SLionel Sambucfetches the local address from 300*ebfedea0SLionel Sambuc.Fa fd . 301*ebfedea0SLionel Sambuc.It Va KRB5_AUTH_CONTEXT_GENERATE_REMOTE_ADDR 302*ebfedea0SLionel Sambucfetches the remote address from 303*ebfedea0SLionel Sambuc.Fa fd . 304*ebfedea0SLionel Sambuc.El 305*ebfedea0SLionel Sambuc.Pp 306*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setkey , 307*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setuserkey 308*ebfedea0SLionel Sambucand 309*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getkey 310*ebfedea0SLionel Sambucgets and sets the key used for this auth context. The keyblock returned by 311*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getkey 312*ebfedea0SLionel Sambucshould be freed with 313*ebfedea0SLionel Sambuc.Fn krb5_free_keyblock . 314*ebfedea0SLionel SambucThe keyblock send into 315*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setkey 316*ebfedea0SLionel Sambucis copied into the 317*ebfedea0SLionel Sambuc.Nm krb5_auth_context , 318*ebfedea0SLionel Sambucand thus no special handling is needed. 319*ebfedea0SLionel Sambuc.Dv NULL 320*ebfedea0SLionel Sambucis not a valid keyblock to 321*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setkey . 322*ebfedea0SLionel Sambuc.Pp 323*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setuserkey 324*ebfedea0SLionel Sambucis only useful when doing user to user authentication. 325*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setkey 326*ebfedea0SLionel Sambucis equivalent to 327*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setuserkey . 328*ebfedea0SLionel Sambuc.Pp 329*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getlocalsubkey , 330*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setlocalsubkey , 331*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getremotesubkey 332*ebfedea0SLionel Sambucand 333*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setremotesubkey 334*ebfedea0SLionel Sambucgets and sets the keyblock for the local and remote subkey. 335*ebfedea0SLionel SambucThe keyblock returned by 336*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getlocalsubkey 337*ebfedea0SLionel Sambucand 338*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getremotesubkey 339*ebfedea0SLionel Sambucmust be freed with 340*ebfedea0SLionel Sambuc.Fn krb5_free_keyblock . 341*ebfedea0SLionel Sambuc.Pp 342*ebfedea0SLionel Sambuc.Fn krb5_auth_setcksumtype 343*ebfedea0SLionel Sambucand 344*ebfedea0SLionel Sambuc.Fn krb5_auth_getcksumtype 345*ebfedea0SLionel Sambucsets and gets the checksum type that should be used for this 346*ebfedea0SLionel Sambucconnection. 347*ebfedea0SLionel Sambuc.Pp 348*ebfedea0SLionel Sambuc.Fn krb5_auth_con_generatelocalsubkey 349*ebfedea0SLionel Sambucgenerates a local subkey that have the same encryption type as 350*ebfedea0SLionel Sambuc.Fa key . 351*ebfedea0SLionel Sambuc.Pp 352*ebfedea0SLionel Sambuc.Fn krb5_auth_getremoteseqnumber 353*ebfedea0SLionel Sambuc.Fn krb5_auth_setremoteseqnumber , 354*ebfedea0SLionel Sambuc.Fn krb5_auth_getlocalseqnumber 355*ebfedea0SLionel Sambucand 356*ebfedea0SLionel Sambuc.Fn krb5_auth_setlocalseqnumber 357*ebfedea0SLionel Sambucgets and sets the sequence-number for the local and remote 358*ebfedea0SLionel Sambucsequence-number counter. 359*ebfedea0SLionel Sambuc.Pp 360*ebfedea0SLionel Sambuc.Fn krb5_auth_setkeytype 361*ebfedea0SLionel Sambucand 362*ebfedea0SLionel Sambuc.Fn krb5_auth_getkeytype 363*ebfedea0SLionel Sambucgets and gets the keytype of the keyblock in 364*ebfedea0SLionel Sambuc.Nm krb5_auth_context . 365*ebfedea0SLionel Sambuc.Pp 366*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getauthenticator 367*ebfedea0SLionel SambucRetrieves the authenticator that was used during mutual 368*ebfedea0SLionel Sambucauthentication. The 369*ebfedea0SLionel Sambuc.Dv authenticator 370*ebfedea0SLionel Sambucreturned should be freed by calling 371*ebfedea0SLionel Sambuc.Fn krb5_free_authenticator . 372*ebfedea0SLionel Sambuc.Pp 373*ebfedea0SLionel Sambuc.Fn krb5_auth_con_getrcache 374*ebfedea0SLionel Sambucand 375*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setrcache 376*ebfedea0SLionel Sambucgets and sets the replay-cache. 377*ebfedea0SLionel Sambuc.Pp 378*ebfedea0SLionel Sambuc.Fn krb5_auth_con_initivector 379*ebfedea0SLionel Sambucallocates memory for and zeros the initial vector in the 380*ebfedea0SLionel Sambuc.Fa auth_context 381*ebfedea0SLionel Sambuckeyblock. 382*ebfedea0SLionel Sambuc.Pp 383*ebfedea0SLionel Sambuc.Fn krb5_auth_con_setivector 384*ebfedea0SLionel Sambucsets the i_vector portion of 385*ebfedea0SLionel Sambuc.Fa auth_context 386*ebfedea0SLionel Sambucto 387*ebfedea0SLionel Sambuc.Fa ivector . 388*ebfedea0SLionel Sambuc.Pp 389*ebfedea0SLionel Sambuc.Fn krb5_free_authenticator 390*ebfedea0SLionel Sambucfree the content of 391*ebfedea0SLionel Sambuc.Fa authenticator 392*ebfedea0SLionel Sambucand 393*ebfedea0SLionel Sambuc.Fa authenticator 394*ebfedea0SLionel Sambucitself. 395*ebfedea0SLionel Sambuc.Sh SEE ALSO 396*ebfedea0SLionel Sambuc.Xr krb5_context 3 , 397*ebfedea0SLionel Sambuc.Xr kerberos 8 398