xref: /minix3/crypto/external/bsd/heimdal/dist/lib/krb5/krb5_auth_context.3 (revision ebfedea0ce5bbe81e252ddf32d732e40fb633fae)
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