internal static KerberosTransitedEncoding Parse(DERValue value) { if (!value.CheckSequence()) { throw new InvalidDataException(); } KerberosTransitedEncodingType type = 0; byte[] data = null; foreach (var next in value.Children) { if (next.Type != DERTagType.ContextSpecific) { throw new InvalidDataException(); } switch (next.Tag) { case 0: type = (KerberosTransitedEncodingType)next.ReadChildInteger(); break; case 1: data = next.ReadChildOctetString(); break; default: throw new InvalidDataException(); } } if (data == null) { throw new InvalidDataException(); } return(new KerberosTransitedEncoding(type, data)); }
private KerberosTransitedEncoding(KerberosTransitedEncodingType type, byte[] data) { TransitedType = type; Data = data; }