[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multi-mechanism gssapi
>One of the other issues with the application calling mechanism-specific
>APIs has to do with passing of the context or cred. If there is a mechglue
>it will most likely have defined its own structure for the contect or
>cred, which contain pointers to the underlying context or cred for all
>the mechanisums it is fronting. The mechglue would then take care of
>passing the correct context or cred. But if the application bypasses the
>mechglue what does it pass for the contect or cred?
>
>How do you plan on handling this?
We solved this using the GGF API to punch through the glue context.
eg.
OM_uint32
gss_krb5_compat_des3_mic(OM_uint32 *minor_status, gss_ctx_id_t ctx, int on)
{
char buf[1];
gss_buffer_desc value;
buf[0] = on ? 1 : 0;
value.length = 1;
value.value = buf;
return gss_set_sec_context_option(minor_status,
&ctx,
GSS_KRB5_COMPAT_DES3_MIC_X,
&value);
}
>Your example of getting the name of the credentials store is one that
>the GSI ran into. Rather then calling mech specific routines the
>GGF GSSAPI extensions added the generic gss_export_cred that could return
>a handle to the stored credentials, suitable to be used with putenv. i.e.
>With Kerberos it would return "KRB5CCNAME=FILE:/tmp/krb5cc_uid" or whatever
>is the handle for the cache. With the GSI it would return "X509_USER_PROXY=/tmp/..."
NOted, but not yet implemented.
-- Luke
--