[krbdev.mit.edu #6902] S4U impersonated credential KRB5_CC_NOT_FOUND

Arlene Berry via RT rt-comment at krbdev.mit.edu
Mon Apr 25 14:48:31 EDT 2011


When doing S4U2PROXY, first you get a TGT for yourself.  Then you call
gss_acquire_cred_impersonate_name which gets you what it essentially a
TGT for the identity you're impersonating.  It's this credential which
has an incorrect end time.  Next you use this impersonated credential to
call gss_init_sec_context for the service you want to contact as the
impersonated identity and pass in the impersonated credential.
Gss_init_sec_context uses the impersonated credential to fetch a service
ticket for the service you're contacting.  When it does that it has to
first find the impersonated credential in the credentials cache which
fails because the end time doesn't match.  I reproduced this with some
enhanced GSS sample programs but you should be able to do it with kvno
also.  I get three credentials in my cache, one which is my original
TGT, one for myself for the impersonated user, and one for the target
service for the impersonated user.  Both of the credentials for the
impersonated user have the shorter lifetime and it's the second one, the
one for myself, which it fails to find in the credentials cache when
attempting to get the third one.





More information about the krb5-bugs mailing list