117 credMessg = new KRBCred(tickets, encEncPart); |
117 credMessg = new KRBCred(tickets, encEncPart); |
118 |
118 |
119 return credMessg; |
119 return credMessg; |
120 } |
120 } |
121 |
121 |
122 // Used in InitialToken, key always NULL_KEY |
122 // Used in InitialToken, NULL_KEY might be used |
123 public KrbCred(byte[] asn1Message, EncryptionKey key) |
123 public KrbCred(byte[] asn1Message, EncryptionKey key) |
124 throws KrbException, IOException { |
124 throws KrbException, IOException { |
125 |
125 |
126 credMessg = new KRBCred(asn1Message); |
126 credMessg = new KRBCred(asn1Message); |
127 |
127 |
128 ticket = credMessg.tickets[0]; |
128 ticket = credMessg.tickets[0]; |
129 |
129 |
|
130 if (credMessg.encPart.getEType() == 0) { |
|
131 key = EncryptionKey.NULL_KEY; |
|
132 } |
130 byte[] temp = credMessg.encPart.decrypt(key, |
133 byte[] temp = credMessg.encPart.decrypt(key, |
131 KeyUsage.KU_ENC_KRB_CRED_PART); |
134 KeyUsage.KU_ENC_KRB_CRED_PART); |
132 byte[] plainText = credMessg.encPart.reset(temp); |
135 byte[] plainText = credMessg.encPart.reset(temp); |
133 DerValue encoding = new DerValue(plainText); |
136 DerValue encoding = new DerValue(plainText); |
134 EncKrbCredPart encPart = new EncKrbCredPart(encoding); |
137 EncKrbCredPart encPart = new EncKrbCredPart(encoding); |