[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Use of different keytabs before gss_acquire_cred
Love,
if I use gsskrb5_register_acceptor_identity() it sets the new keytab value, but
how can I switch back to the default ? Since I use only gss calls I don't have a
krb5 context.So it looks as I have to do the following.
kret = krb5_init_context(&krb5_context);
kret = krb5_kt_default(krb5_context, keytab);
kret = krb5_kt_get_name(krb5_context,
krb5_keytab,
kt_name, sizeof(kt_name));
gsskrb5_register_acceptor_identity(kt_name);
Is there an easier way ? With MIT it would be enough to set/unset the environment
variable, before the first gss_xx call.
Thanks
Markus
On Tue Apr 12 17:18 , Love_Hörnquist_Åstrand <lha@kth.se> sent:
>
>"Markus Moeller" huaraz@moeller.plus.com> writes:
>
>> I have a server program which does the following:
>>
>> putenv("KRB5_KTNAME=FILE:/etc/my.keytab");
>> gss_import_name(..);
>> gss_acquire_cred(..);
>> gss_accept_sec_context();
>
>Heimdal resolves the KRB5_KTFILE when running krb5_init_context() are you
>sure you don't call any gss functions before setting KRB5_KTNAME ?
>
>You can use gsskrb5_register_acceptor_identity() to change keytab.
>
>I'm not sure why it would fail to pick up KRB5_KTNAME (unless you are using
>a setuid application.
>
>Love
>