public void Decode(AsnElt body) { tickets = new List <Ticket>(); foreach (AsnElt s in body.Sub) { switch (s.TagValue) { case 0: pvno = Convert.ToInt32(s.Sub[0].GetInteger()); break; case 1: msg_type = Convert.ToInt32(s.Sub[0].GetInteger()); break; case 2: foreach (AsnElt ae in s.Sub[0].Sub[0].Sub) { Ticket ticket = new Ticket(ae); tickets.Add(ticket); } break; case 3: enc_part = new EncKrbCredPart(s.Sub[0]); break; default: break; } } }
public void Decode(AsnElt body) { Tickets = new List <Ticket>(); foreach (AsnElt s in body.EnumerateElements()) { AsnElt firstElement = s.FirstElement; switch (s.TagValue) { case 0: pvno = Convert.ToInt32(firstElement.GetInteger()); break; case 1: MessageType = Convert.ToInt32(firstElement.GetInteger()); break; case 2: foreach (AsnElt ae in firstElement.FirstElement.EnumerateElements()) { Tickets.Add(new Ticket(ae)); } break; case 3: EncryptedPart = new EncKrbCredPart(firstElement); break; default: break; } } }
//KRB-CRED::= [APPLICATION 22] SEQUENCE { // pvno[0] INTEGER(5), // msg-type[1] INTEGER(22), // tickets[2] SEQUENCE OF Ticket, // enc-part[3] EncryptedData -- EncKrbCredPart //} public KRB_CRED() { // defaults for creation pvno = 5; MessageType = 22; Tickets = new List <Ticket>(); EncryptedPart = new EncKrbCredPart(); }
//KRB-CRED::= [APPLICATION 22] SEQUENCE { // pvno[0] INTEGER(5), // msg-type[1] INTEGER(22), // tickets[2] SEQUENCE OF Ticket, // enc-part[3] EncryptedData -- EncKrbCredPart //} public KRB_CRED() { // defaults for creation pvno = 5; msg_type = 22; tickets = new List <Ticket>(); enc_part = new EncKrbCredPart(); }