Esempio n. 1
0
        public static String GetViewValue(Asn1Reader asn)
        {
            if (asn.PayloadLength == 0 && asn.Tag != (Byte)Asn1Type.NULL)
            {
                return("NULL");
            }
            switch (asn.Tag)
            {
            case (Byte)Asn1Type.BOOLEAN: return(DecodeBoolean(asn));

            case (Byte)Asn1Type.INTEGER: return(DecodeInteger(asn));

            case (Byte)Asn1Type.BIT_STRING: return(DecodeBitString(asn));

            case (Byte)Asn1Type.OCTET_STRING: return(DecodeOctetString(asn));

            case (Byte)Asn1Type.NULL: return(null);

            case (Byte)Asn1Type.OBJECT_IDENTIFIER: return(DecodeObjectIdentifier(asn));

            case (Byte)Asn1Type.UTF8String: return(DecodeUTF8String(asn.GetTagRawData()));

            case (Byte)Asn1Type.NumericString:
            case (Byte)Asn1Type.PrintableString:
            case (Byte)Asn1Type.TeletexString:
            case (Byte)Asn1Type.VideotexString:
            case (Byte)Asn1Type.IA5String:
                return(DecodeAsciiString(asn));

            case (Byte)Asn1Type.UTCTime:
                return(DecodeUtcTime(asn));

            case (Byte)Asn1Type.BMPString: return(DecodeBMPString(asn));

            case (Byte)Asn1Type.Generalizedtime:
                return(DecodeGeneralizedTime(asn));

            default:
                return((asn.Tag & (Byte)Asn1Type.TAG_MASK) == 6
                                                ? DecodeUTF8String(asn)
                                                : DecodeOctetString(asn));
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Initializes a new instance of the <strong>ASN1</strong> class from an existing
 /// <strong>ASN1</strong> object.
 /// </summary>
 /// <param name="asn">An existing <strong>ASN1</strong> object.</param>
 /// <remarks>
 ///		This constructor creates a copy of a current position of an existing <strong>ASN1</strong> object.
 /// </remarks>
 public Asn1Reader(Asn1Reader asn) : this(asn.GetTagRawData())
 {
 }