xref: /netbsd-src/crypto/external/bsd/heimdal/dist/lib/gssapi/gssapi.3 (revision afab4e300d3a9fb07dd8c80daf53d0feb3345706)
1*afab4e30Schristos.\"	$NetBSD: gssapi.3,v 1.6 2023/06/19 21:41:42 christos Exp $
2ca1c9b0cSelric.\"
3ca1c9b0cSelric.\" Copyright (c) 2003 - 2005 Kungliga Tekniska Högskolan
4ca1c9b0cSelric.\" (Royal Institute of Technology, Stockholm, Sweden).
5ca1c9b0cSelric.\" All rights reserved.
6ca1c9b0cSelric.\"
7ca1c9b0cSelric.\" Redistribution and use in source and binary forms, with or without
8ca1c9b0cSelric.\" modification, are permitted provided that the following conditions
9ca1c9b0cSelric.\" are met:
10ca1c9b0cSelric.\"
11ca1c9b0cSelric.\" 1. Redistributions of source code must retain the above copyright
12ca1c9b0cSelric.\"    notice, this list of conditions and the following disclaimer.
13ca1c9b0cSelric.\"
14ca1c9b0cSelric.\" 2. Redistributions in binary form must reproduce the above copyright
15ca1c9b0cSelric.\"    notice, this list of conditions and the following disclaimer in the
16ca1c9b0cSelric.\"    documentation and/or other materials provided with the distribution.
17ca1c9b0cSelric.\"
18ca1c9b0cSelric.\" 3. Neither the name of the Institute nor the names of its contributors
19ca1c9b0cSelric.\"    may be used to endorse or promote products derived from this software
20ca1c9b0cSelric.\"    without specific prior written permission.
21ca1c9b0cSelric.\"
22ca1c9b0cSelric.\" THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
23ca1c9b0cSelric.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24ca1c9b0cSelric.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25ca1c9b0cSelric.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
26ca1c9b0cSelric.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27ca1c9b0cSelric.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28ca1c9b0cSelric.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29ca1c9b0cSelric.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30ca1c9b0cSelric.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31ca1c9b0cSelric.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32ca1c9b0cSelric.\" SUCH DAMAGE.
33ca1c9b0cSelric.\"
34b40995a4Selric.\" Id
35ca1c9b0cSelric.\"
36ca1c9b0cSelric.Dd April 20, 2005
37ca1c9b0cSelric.Dt GSSAPI 3
38ca1c9b0cSelric.Os
39ca1c9b0cSelric.Sh NAME
40ca1c9b0cSelric.Nm gssapi
41ca1c9b0cSelric.Nd Generic Security Service Application Program Interface library
42ca1c9b0cSelric.Sh LIBRARY
43ca1c9b0cSelricGSS-API Library (libgssapi, -lgssapi)
44ca1c9b0cSelric.Sh DESCRIPTION
45ca1c9b0cSelricThe Generic Security Service Application Program Interface (GSS-API)
46ca1c9b0cSelricprovides security services to callers in a generic fashion,
47ca1c9b0cSelricsupportable with a range of underlying mechanisms and technologies and
48ca1c9b0cSelrichence allowing source-level portability of applications to different
49ca1c9b0cSelricenvironments.
50ca1c9b0cSelric.Pp
51ca1c9b0cSelricThe GSS-API implementation in Heimdal implements the Kerberos 5 and
52ca1c9b0cSelricthe SPNEGO GSS-API security mechanisms.
53ca1c9b0cSelric.Sh LIST OF FUNCTIONS
54ca1c9b0cSelricThese functions constitute the gssapi library,
55ca1c9b0cSelric.Em libgssapi .
56ca1c9b0cSelricDeclarations for these functions may be obtained from the include file
57ca1c9b0cSelric.Pa gssapi/gssapi.h .
58df8cd236Selric.Bl -column -compact
59df8cd236Selric.It Sy Name/Page
60df8cd236Selric.It Xr gss_accept_sec_context 3
61df8cd236Selric.It Xr gss_acquire_cred 3
62df8cd236Selric.It Xr gss_add_cred 3
63df8cd236Selric.It Xr gss_add_oid_set_member 3
64df8cd236Selric.It Xr gss_canonicalize_name 3
65df8cd236Selric.It Xr gss_compare_name 3
66df8cd236Selric.It Xr gss_context_time 3
67df8cd236Selric.It Xr gss_create_empty_oid_set 3
68df8cd236Selric.It Xr gss_delete_sec_context 3
69df8cd236Selric.It Xr gss_display_name 3
70df8cd236Selric.It Xr gss_display_status 3
71df8cd236Selric.It Xr gss_duplicate_name 3
72df8cd236Selric.It Xr gss_export_name 3
73df8cd236Selric.It Xr gss_export_sec_context 3
74df8cd236Selric.It Xr gss_get_mic 3
75df8cd236Selric.It Xr gss_import_name 3
76df8cd236Selric.It Xr gss_import_sec_context 3
77df8cd236Selric.It Xr gss_indicate_mechs 3
78df8cd236Selric.It Xr gss_init_sec_context 3
79df8cd236Selric.It Xr gss_inquire_context 3
80df8cd236Selric.It Xr gss_inquire_cred 3
81df8cd236Selric.It Xr gss_inquire_cred_by_mech 3
82df8cd236Selric.It Xr gss_inquire_mechs_for_name 3
83df8cd236Selric.It Xr gss_inquire_names_for_mech 3
84df8cd236Selric.It Xr gss_krb5_ccache_name 3
85df8cd236Selric.It Xr gss_krb5_compat_des3_mic 3
86df8cd236Selric.It Xr gss_krb5_copy_ccache 3
87df8cd236Selric.It Xr gss_krb5_extract_authz_data_from_sec_context 3
88df8cd236Selric.It Xr gss_krb5_import_ccache 3
89df8cd236Selric.It Xr gss_process_context_token 3
90df8cd236Selric.It Xr gss_release_buffer 3
91df8cd236Selric.It Xr gss_release_cred 3
92df8cd236Selric.It Xr gss_release_name 3
93df8cd236Selric.It Xr gss_release_oid_set 3
94df8cd236Selric.It Xr gss_seal 3
95df8cd236Selric.It Xr gss_sign 3
96df8cd236Selric.It Xr gss_test_oid_set_member 3
97df8cd236Selric.It Xr gss_unseal 3
98df8cd236Selric.It Xr gss_unwrap 3
99df8cd236Selric.It Xr gss_verify 3
100df8cd236Selric.It Xr gss_verify_mic 3
101df8cd236Selric.It Xr gss_wrap 3
102df8cd236Selric.It Xr gss_wrap_size_limit 3
103df8cd236Selric.El
104ca1c9b0cSelric.Sh COMPATIBILITY
105ca1c9b0cSelricThe
106ca1c9b0cSelric.Nm Heimdal
107ca1c9b0cSelricGSS-API implementation had a bug in releases before 0.6 that made it
108ca1c9b0cSelricfail to inter-operate when using DES3 with other GSS-API
109ca1c9b0cSelricimplementations when using
110ca1c9b0cSelric.Fn gss_get_mic
111ca1c9b0cSelric/
112ca1c9b0cSelric.Fn gss_verify_mic .
113ca1c9b0cSelricIt is possible to modify the behavior of the generator of the MIC with
114ca1c9b0cSelricthe
115ca1c9b0cSelric.Pa krb5.conf
116ca1c9b0cSelricconfiguration file so that old clients/servers will still
117ca1c9b0cSelricwork.
118ca1c9b0cSelric.Pp
119ca1c9b0cSelricNew clients/servers will try both the old and new MIC in Heimdal 0.6.
120ca1c9b0cSelricIn 0.7 it will check only if configured - the compatibility code will
121ca1c9b0cSelricbe removed in 0.8.
122ca1c9b0cSelric.Pp
123ca1c9b0cSelricHeimdal 0.6 still generates by default the broken GSS-API DES3 mic,
124ca1c9b0cSelricthis will change in 0.7 to generate correct des3 mic.
125ca1c9b0cSelric.Pp
126ca1c9b0cSelricTo turn on compatibility with older clients and servers, change the
127ca1c9b0cSelric.Nm [gssapi]
128ca1c9b0cSelric.Ar broken_des3_mic
129ca1c9b0cSelricin
130ca1c9b0cSelric.Pa krb5.conf
131ca1c9b0cSelricthat contains a list of globbing expressions that will be matched
132ca1c9b0cSelricagainst the server name.
133ca1c9b0cSelricTo turn off generation of the old (incompatible) mic of the MIC use
134ca1c9b0cSelric.Nm [gssapi]
135ca1c9b0cSelric.Ar correct_des3_mic .
136ca1c9b0cSelric.Pp
137ca1c9b0cSelricIf a match for a entry is in both
138ca1c9b0cSelric.Nm [gssapi]
139ca1c9b0cSelric.Ar correct_des3_mic
140ca1c9b0cSelricand
141ca1c9b0cSelric.Nm [gssapi]
142ca1c9b0cSelric.Ar broken_des3_mic ,
143ca1c9b0cSelricthe later will override.
144ca1c9b0cSelric.Pp
145ca1c9b0cSelricThis config option modifies behaviour for both clients and servers.
146ca1c9b0cSelric.Pp
1475cdd89deSwizMicrosoft implemented SPNEGO to Windows2000, however, they managed to
148ca1c9b0cSelricget it wrong, their implementation didn't fill in the MechListMIC in
149ca1c9b0cSelricthe reply token with the right content.
150ca1c9b0cSelricThere is a work around for this problem, but not all implementation
151ca1c9b0cSelricsupport it.
152ca1c9b0cSelric.Pp
153ca1c9b0cSelricHeimdal defaults to correct SPNEGO when the the kerberos
154ca1c9b0cSelricimplementation uses CFX, or when it is configured by the user.
155ca1c9b0cSelricTo turn on compatibility with peers, use option
156ca1c9b0cSelric.Nm [gssapi]
157ca1c9b0cSelric.Ar require_mechlist_mic .
158ca1c9b0cSelric.Sh EXAMPLES
159ca1c9b0cSelric.Bd -literal -offset indent
160ca1c9b0cSelric[gssapi]
161ca1c9b0cSelric	broken_des3_mic = cvs/*@SU.SE
162ca1c9b0cSelric	broken_des3_mic = host/*@E.KTH.SE
163ca1c9b0cSelric	correct_des3_mic = host/*@SU.SE
164ca1c9b0cSelric	require_mechlist_mic = host/*@SU.SE
165ca1c9b0cSelric.Ed
166ca1c9b0cSelric.Sh BUGS
167ca1c9b0cSelricAll of 0.5.x versions of
168ca1c9b0cSelric.Nm heimdal
169ca1c9b0cSelrichad broken token delegations in the client side, the server side was
170ca1c9b0cSelriccorrect.
171ca1c9b0cSelric.Sh SEE ALSO
172ca1c9b0cSelric.Xr krb5 3 ,
173ca1c9b0cSelric.Xr krb5.conf 5 ,
174ca1c9b0cSelric.Xr kerberos 8
175