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