Beispiel #1
0
        public override int BerDecode(IAsn1DecodingBuffer buffer, bool explicitTag = true)
        {
            int     allLen = 0;
            Asn1Tag contextTag;

            allLen += TagBerDecode(buffer, out contextTag);
            switch (contextTag.TagValue)
            {
            case 0:
                field0  = new Asn1OctetString();
                allLen += field0.BerDecodeWithoutUnisersalTag(buffer);
                SetData(1, field0);
                break;

            case 3:
                field1  = new SaslCredentials();
                allLen += field1.BerDecodeWithoutUnisersalTag(buffer);
                SetData(2, field1);
                break;

            case 9:
                field2  = new Asn1OctetString();
                allLen += field2.BerDecodeWithoutUnisersalTag(buffer);
                SetData(3, field2);
                break;

            case 10:
                field3  = new Asn1OctetString();
                allLen += field3.BerDecodeWithoutUnisersalTag(buffer);
                SetData(4, field3);
                break;

            case 11:
                field4  = new Asn1OctetString();
                allLen += field4.BerDecodeWithoutUnisersalTag(buffer);
                SetData(5, field4);
                break;

            default:
                throw new Asn1DecodingUnexpectedData(ExceptionMessages.DecodingUnexpectedData + " AuthenticationChoice");
            }
            return(allLen);
        }
 public override int BerDecode(IAsn1DecodingBuffer buffer, bool explicitTag = true)
 {
     int allLen = 0;
     Asn1Tag contextTag;
     allLen += TagBerDecode(buffer, out contextTag);
     switch (contextTag.TagValue)
     {
         case 0:
             field0 = new Asn1OctetString();
             allLen += field0.BerDecodeWithoutUnisersalTag(buffer);
             SetData(0, field0);
             break;
         case 3:
             field1 = new SaslCredentials();
             allLen += field1.BerDecodeWithoutUnisersalTag(buffer);
             SetData(1, field1);
             break;
         case 9:
             field2 = new Asn1OctetString();
             allLen += field2.BerDecodeWithoutUnisersalTag(buffer);
             SetData(2, field2);
             break;
         case 10:
             field3 = new Asn1OctetString();
             allLen += field3.BerDecodeWithoutUnisersalTag(buffer);
             SetData(3, field3);
             break;
         case 11:
             field4 = new Asn1OctetString();
             allLen += field4.BerDecodeWithoutUnisersalTag(buffer);
             SetData(4, field4);
             break;
         default:
             throw new Asn1DecodingUnexpectedData(ExceptionMessages.DecodingUnexpectedData + " AuthenticationChoice");
     }
     return allLen;
 }