diff -r a54c4f70775c -r 74902cfeb9c6 jdk/src/share/classes/sun/security/krb5/internal/EncTicketPart.java --- a/jdk/src/share/classes/sun/security/krb5/internal/EncTicketPart.java Mon Jul 09 22:26:08 2012 +0100 +++ b/jdk/src/share/classes/sun/security/krb5/internal/EncTicketPart.java Wed Jul 11 17:10:34 2012 +0800 @@ -65,7 +65,6 @@ public TicketFlags flags; public EncryptionKey key; - public Realm crealm; public PrincipalName cname; public TransitedEncoding transited; public KerberosTime authtime; @@ -78,7 +77,6 @@ public EncTicketPart( TicketFlags new_flags, EncryptionKey new_key, - Realm new_crealm, PrincipalName new_cname, TransitedEncoding new_transited, KerberosTime new_authtime, @@ -89,7 +87,6 @@ AuthorizationData new_authorizationData) { flags = new_flags; key = new_key; - crealm = new_crealm; cname = new_cname; transited = new_transited; authtime = new_authtime; @@ -151,8 +148,8 @@ } flags = TicketFlags.parse(der.getData(), (byte) 0x00, false); key = EncryptionKey.parse(der.getData(), (byte) 0x01, false); - crealm = Realm.parse(der.getData(), (byte) 0x02, false); - cname = PrincipalName.parse(der.getData(), (byte) 0x03, false); + Realm crealm = Realm.parse(der.getData(), (byte) 0x02, false); + cname = PrincipalName.parse(der.getData(), (byte) 0x03, false, crealm); transited = TransitedEncoding.parse(der.getData(), (byte) 0x04, false); authtime = KerberosTime.parse(der.getData(), (byte) 0x05, false); starttime = KerberosTime.parse(der.getData(), (byte) 0x06, true); @@ -186,7 +183,7 @@ bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x01), key.asn1Encode()); bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, - true, (byte) 0x02), crealm.asn1Encode()); + true, (byte) 0x02), cname.getRealm().asn1Encode()); bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT, true, (byte) 0x03), cname.asn1Encode()); bytes.write(DerValue.createTag(DerValue.TAG_CONTEXT,