On Tue, 26 Sep 2006 22:11:37 +0800 "lizhong" <[EMAIL PROTECTED]> wrote:
> You can see that the "token" in jdk and C lib in linux are a little > different.The msg sent by the java client is like this: > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > | token.length(4Bytes) | token("token.length" bytes) | > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > But the C server receives msgs in this form: > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > | flags(1Byte) | token->length(4bytes) | token("token->length" > bytes) | > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > I can change the code of C server to meet the form of the token generated > by java, but I don't know how are the tokens generated by java. The "token" > of java implements obviously includes the "flag" value, and the "flag" value > is not a part of token in C implements. > Could someone help me with this ? Thank you ! GSSAPI does not define how tokens are exchanged between the client and server. GSSAPI only specifies that a token emitted by initSecContext will be suitable for consumption by an acceptSecContext routine and any token emitted by acceptSecContext will be adequate for passing to initSecContext. In short, add a 1 byte flags field and make sure the length field is encoded using the same endianess. Then it will work. Mike -- Michael B Allen PHP Active Directory SSO http://www.ioplex.com/ ________________________________________________ Kerberos mailing list Kerberos@mit.edu https://mailman.mit.edu/mailman/listinfo/kerberos