Example #1
0
        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)));
                }
            }
        }
Example #2
0
        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;
                }
            }
        }