Revalidating a Kerberos ticket

Hi,

How can I validate a kerberos ticket that was generated on a non java platform and extract the name of the prinicipal from it ?

In essence, this is a cross platform SSO.

Here is the background.

A C# client is sending the ASN encoding of a Kerberos ticket to

a java server via a web service call. The java server needs to

revalidate the Kerberos ticket, extract the principal's name

and then provide some service.

Looking through the JAAS and JGSS , it does'nt seem like I can do much with with the kerberos ticket that is being passed in to

the web service. It seems like the API's do not provide a

way to use credentials that were generated on a non-java platform

Any pointers would be much appreciated.

Thank you,

Raman

[821 byte] By [SecurityTyroa] at [2008-2-14]
# 1

Hi,

Simply call acceptSecurityContext(...) on the server side giving the supplied ticket as an argument by means of a byte array. Of course you need to obtain valid kerberos credentials for the service first...

If the call does not throw an exception the ticket is valid.

Cheers

sherazadea at 2007-7-8 > top of java,Security,Kerberos & Java GSS (JGSS)...
# 2

sherazade, it was my understanding that the GSSAPI token was opaque. According to the spec it does contain a plain kerberos ticket, but it also contains some GSSAPI metadata (like flags indicating if mutual authn was requested, or delegation content). Can acceptSecurityContext() accept a plain, undecorated, kerberos ticket?

aaronrha at 2007-7-8 > top of java,Security,Kerberos & Java GSS (JGSS)...
# 3

Of course you're right and acceptSecurityContext(...) won't understand a pure Kerberos ticket.

But as I understood SecurityTyro he creates a GSSAPI token in a C# client and wants to verify this token - which contains the Kerberos ticket - in a JAVA based web service. And acceptSecurityContext(...) can be used to do so.

I don't thing that it is possible to verify a pure Kerberos ticket, since the verification needs additional information. E.g. the authenticator that is included in a normal KRB_AP_REQ message.

But one should also be aware that some Kerberos features - like mutual authentication - involve the exchange of additional messages from the server to the client. And the described approach does not account for this.

Cheers

sherazadea at 2007-7-8 > top of java,Security,Kerberos & Java GSS (JGSS)...