private static void BuildMechTypes(NegTokenInit negToken, Asn1Node asn1Node) { if (asn1Node.ChildNodeCount <= 0L) { return; } Asn1Node childNode = asn1Node.GetChildNode(0); negToken.MechTypes = new List <MechType>(); for (int index = 0; (long)index < childNode.ChildNodeCount; ++index) { if (((int)childNode.GetChildNode(index).Tag & 31) == 6) { negToken.MechTypes.Add(new MechType(childNode.GetChildNode(index).GetDataStr(false))); } } }
private static void BuildNegotiateTokenInit(NegTokenInit negToken, Asn1Node sequence) { for (int index = 0; (long)index < sequence.ChildNodeCount; ++index) { switch (KerberosAuthorizeMessageBuilder.GetContextNumber(sequence.GetChildNode(index))) { case 0: KerberosAuthorizeMessageBuilder.BuildMechTypes(negToken, sequence.GetChildNode(index)); break; case 2: negToken.MechToken = new InitialContextToken(); KerberosAuthorizeMessageBuilder.BuildMechToken(negToken.MechToken, sequence.GetChildNode(index)); break; } } }