Beispiel #1
0
 private LdsVersionInfo(Asn1Sequence seq)
 {
     if (seq.Count != 2)
     {
         throw new ArgumentException("sequence wrong size for LDSVersionInfo", "seq");
     }
     ldsVersion     = DerPrintableString.GetInstance(seq[0]);
     unicodeVersion = DerPrintableString.GetInstance(seq[1]);
 }
Beispiel #2
0
        public CertDigestObj(Asn1Sequence sequence)
        {
            IEnumerator enumerator = sequence.GetEnumerator();

            enumerator.MoveNext();
            Type = DerPrintableString.GetInstance(enumerator.Current);

            enumerator.MoveNext();
            Value = Asn1OctetString.GetInstance(enumerator.Current);
        }
 private MonetaryLimit(Asn1Sequence seq)
 {
     if (seq.Count != 3)
     {
         throw new ArgumentException("Bad sequence size: " + seq.Count);
     }
     currency = DerPrintableString.GetInstance(seq[0]);
     amount   = DerInteger.GetInstance(seq[1]);
     exponent = DerInteger.GetInstance(seq[2]);
 }
Beispiel #4
0
 private LdsVersionInfo(Asn1Sequence seq)
 {
     //IL_0019: Unknown result type (might be due to invalid IL or missing references)
     if (seq.Count != 2)
     {
         throw new ArgumentException("sequence wrong size for LDSVersionInfo", "seq");
     }
     ldsVersion     = DerPrintableString.GetInstance(seq[0]);
     unicodeVersion = DerPrintableString.GetInstance(seq[1]);
 }
 private MonetaryLimit(Asn1Sequence seq)
 {
     //IL_0024: Unknown result type (might be due to invalid IL or missing references)
     if (seq.Count != 3)
     {
         throw new ArgumentException(string.Concat((object)"Bad sequence size: ", (object)seq.Count));
     }
     currency = DerPrintableString.GetInstance(seq[0]);
     amount   = DerInteger.GetInstance(seq[1]);
     exponent = DerInteger.GetInstance(seq[2]);
 }
        /**
         * Constructor from Asn1Sequence.
         * <p/>
         * The sequence is of type NameOrPseudonym:
         * <p/>
         * <pre>
         *     PersonalData ::= SEQUENCE {
         *       nameOrPseudonym NameOrPseudonym,
         *       nameDistinguisher [0] INTEGER OPTIONAL,
         *       dateOfBirth [1] GeneralizedTime OPTIONAL,
         *       placeOfBirth [2] DirectoryString OPTIONAL,
         *       gender [3] PrintableString OPTIONAL,
         *       postalAddress [4] DirectoryString OPTIONAL
         *       }
         * </pre>
         *
         * @param seq The ASN.1 sequence.
         */
        private PersonalData(
            Asn1Sequence seq)
        {
            if (seq.Count < 1)
            {
                throw new ArgumentException("Bad sequence size: " + seq.Count);
            }

            IEnumerator e = seq.GetEnumerator();

            e.MoveNext();

            nameOrPseudonym = NameOrPseudonym.GetInstance(e.Current);

            while (e.MoveNext())
            {
                Asn1TaggedObject o = Asn1TaggedObject.GetInstance(e.Current);
                int tag            = o.TagNo;
                switch (tag)
                {
                case 0:
                    nameDistinguisher = DerInteger.GetInstance(o, false).Value;
                    break;

                case 1:
                    dateOfBirth = DerGeneralizedTime.GetInstance(o, false);
                    break;

                case 2:
                    placeOfBirth = DirectoryString.GetInstance(o, true);
                    break;

                case 3:
                    gender = DerPrintableString.GetInstance(o, false).GetString();
                    break;

                case 4:
                    postalAddress = DirectoryString.GetInstance(o, true);
                    break;

                default:
                    throw new ArgumentException("Bad tag number: " + o.TagNo);
                }
            }
        }
 public static Iso4217CurrencyCode GetInstance(object obj)
 {
     if (obj == null || obj is Iso4217CurrencyCode)
     {
         return((Iso4217CurrencyCode)obj);
     }
     if (obj is DerInteger)
     {
         DerInteger instance = DerInteger.GetInstance(obj);
         int        intValue = instance.Value.IntValue;
         return(new Iso4217CurrencyCode(intValue));
     }
     if (obj is DerPrintableString)
     {
         DerPrintableString instance2 = DerPrintableString.GetInstance(obj);
         return(new Iso4217CurrencyCode(instance2.GetString()));
     }
     throw new ArgumentException("unknown object in GetInstance: " + Platform.GetTypeName(obj), "obj");
 }
Beispiel #8
0
 public static Iso4217CurrencyCode GetInstance(object obj)
 {
     //IL_0064: Unknown result type (might be due to invalid IL or missing references)
     if (obj == null || obj is Iso4217CurrencyCode)
     {
         return((Iso4217CurrencyCode)obj);
     }
     if (obj is DerInteger)
     {
         DerInteger instance = DerInteger.GetInstance(obj);
         int        intValue = instance.Value.IntValue;
         return(new Iso4217CurrencyCode(intValue));
     }
     if (obj is DerPrintableString)
     {
         DerPrintableString instance2 = DerPrintableString.GetInstance(obj);
         return(new Iso4217CurrencyCode(instance2.GetString()));
     }
     throw new ArgumentException("unknown object in GetInstance: " + Platform.GetTypeName(obj), "obj");
 }
        private ProcurationSyntax(Asn1Sequence seq)
        {
            //IL_002d: Unknown result type (might be due to invalid IL or missing references)
            //IL_00cb: Unknown result type (might be due to invalid IL or missing references)
            if (seq.Count < 1 || seq.Count > 3)
            {
                throw new ArgumentException(string.Concat((object)"Bad sequence size: ", (object)seq.Count));
            }
            global::System.Collections.IEnumerator enumerator = seq.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Asn1TaggedObject instance = Asn1TaggedObject.GetInstance(enumerator.get_Current());
                switch (instance.TagNo)
                {
                case 1:
                    country = DerPrintableString.GetInstance(instance, isExplicit: true).GetString();
                    break;

                case 2:
                    typeOfSubstitution = DirectoryString.GetInstance(instance, isExplicit: true);
                    break;

                case 3:
                {
                    Asn1Object @object = instance.GetObject();
                    if (@object is Asn1TaggedObject)
                    {
                        thirdPerson = GeneralName.GetInstance(@object);
                    }
                    else
                    {
                        certRef = IssuerSerial.GetInstance(@object);
                    }
                    break;
                }

                default:
                    throw new ArgumentException(string.Concat((object)"Bad tag number: ", (object)instance.TagNo));
                }
            }
        }
Beispiel #10
0
        private PersonalData(Asn1Sequence seq)
        {
            //IL_0024: Unknown result type (might be due to invalid IL or missing references)
            //IL_00e9: Unknown result type (might be due to invalid IL or missing references)
            if (seq.Count < 1)
            {
                throw new ArgumentException(string.Concat((object)"Bad sequence size: ", (object)seq.Count));
            }
            global::System.Collections.IEnumerator enumerator = seq.GetEnumerator();
            enumerator.MoveNext();
            nameOrPseudonym = NameOrPseudonym.GetInstance(enumerator.get_Current());
            while (enumerator.MoveNext())
            {
                Asn1TaggedObject instance = Asn1TaggedObject.GetInstance(enumerator.get_Current());
                switch (instance.TagNo)
                {
                case 0:
                    nameDistinguisher = DerInteger.GetInstance(instance, isExplicit: false).Value;
                    break;

                case 1:
                    dateOfBirth = DerGeneralizedTime.GetInstance(instance, isExplicit: false);
                    break;

                case 2:
                    placeOfBirth = DirectoryString.GetInstance(instance, isExplicit: true);
                    break;

                case 3:
                    gender = DerPrintableString.GetInstance(instance, isExplicit: false).GetString();
                    break;

                case 4:
                    postalAddress = DirectoryString.GetInstance(instance, isExplicit: true);
                    break;

                default:
                    throw new ArgumentException(string.Concat((object)"Bad tag number: ", (object)instance.TagNo));
                }
            }
        }
Beispiel #11
0
        private ProcurationSyntax(Asn1Sequence seq)
        {
            if (seq.Count < 1 || seq.Count > 3)
            {
                throw new ArgumentException("Bad sequence size: " + seq.Count);
            }
            IEnumerator enumerator = seq.GetEnumerator();

            while (enumerator.MoveNext())
            {
                Asn1TaggedObject instance = Asn1TaggedObject.GetInstance(enumerator.Current);
                switch (instance.TagNo)
                {
                case 1:
                    this.country = DerPrintableString.GetInstance(instance, true).GetString();
                    break;

                case 2:
                    this.typeOfSubstitution = DirectoryString.GetInstance(instance, true);
                    break;

                case 3:
                {
                    Asn1Object @object = instance.GetObject();
                    if (@object is Asn1TaggedObject)
                    {
                        this.thirdPerson = GeneralName.GetInstance(@object);
                    }
                    else
                    {
                        this.certRef = IssuerSerial.GetInstance(@object);
                    }
                    break;
                }

                default:
                    throw new ArgumentException("Bad tag number: " + instance.TagNo);
                }
            }
        }
Beispiel #12
0
        /**
         * Constructor from Asn1Sequence.
         * <p/>
         * The sequence is of type ProcurationSyntax:
         * <p/>
         * <pre>
         *               ProcurationSyntax ::= SEQUENCE {
         *                 country [1] EXPLICIT PrintableString(SIZE(2)) OPTIONAL,
         *                 typeOfSubstitution [2] EXPLICIT DirectoryString (SIZE(1..128)) OPTIONAL,
         *                 signingFor [3] EXPLICIT SigningFor
         *               }
         * <p/>
         *               SigningFor ::= CHOICE
         *               {
         *                 thirdPerson GeneralName,
         *                 certRef IssuerSerial
         *               }
         * </pre>
         *
         * @param seq The ASN.1 sequence.
         */
        private ProcurationSyntax(
            Asn1Sequence seq)
        {
            if (seq.Count < 1 || seq.Count > 3)
            {
                throw new ArgumentException("Bad sequence size: " + seq.Count);
            }

            IEnumerator e = seq.GetEnumerator();

            while (e.MoveNext())
            {
                Asn1TaggedObject o = Asn1TaggedObject.GetInstance(e.Current);
                switch (o.TagNo)
                {
                case 1:
                    country = DerPrintableString.GetInstance(o, true).GetString();
                    break;

                case 2:
                    typeOfSubstitution = DirectoryString.GetInstance(o, true);
                    break;

                case 3:
                    Asn1Object signingFor = o.GetObject();
                    if (signingFor is Asn1TaggedObject)
                    {
                        thirdPerson = GeneralName.GetInstance(signingFor);
                    }
                    else
                    {
                        certRef = IssuerSerial.GetInstance(signingFor);
                    }
                    break;

                default:
                    throw new ArgumentException("Bad tag number: " + o.TagNo);
                }
            }
        }
Beispiel #13
0
//        internal int			numeric;

        public static Iso4217CurrencyCode GetInstance(
            object obj)
        {
            if (obj == null || obj is Iso4217CurrencyCode)
            {
                return((Iso4217CurrencyCode)obj);
            }

            if (obj is DerInteger)
            {
                DerInteger numericobj = DerInteger.GetInstance(obj);
                int        numeric    = numericobj.Value.IntValue;
                return(new Iso4217CurrencyCode(numeric));
            }

            if (obj is DerPrintableString)
            {
                DerPrintableString alphabetic = DerPrintableString.GetInstance(obj);
                return(new Iso4217CurrencyCode(alphabetic.GetString()));
            }

            throw new ArgumentException("unknown object in GetInstance: " + BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.GetTypeName(obj), "obj");
        }
Beispiel #14
0
//        internal int			numeric;

        public static Iso4217CurrencyCode GetInstance(
            object obj)
        {
            if (obj == null || obj is Iso4217CurrencyCode)
            {
                return((Iso4217CurrencyCode)obj);
            }

            if (obj is DerInteger)
            {
                DerInteger numericobj = DerInteger.GetInstance(obj);
                int        numeric    = numericobj.Value.IntValue;
                return(new Iso4217CurrencyCode(numeric));
            }

            if (obj is DerPrintableString)
            {
                DerPrintableString alphabetic = DerPrintableString.GetInstance(obj);
                return(new Iso4217CurrencyCode(alphabetic.GetString()));
            }

            throw new ArgumentException("unknown object in GetInstance: " + obj.GetType().FullName, "obj");
        }
Beispiel #15
0
    private ProfessionInfo(Asn1Sequence seq)
    {
        if (seq.Count > 5)
        {
            throw new ArgumentException("Bad sequence size: " + seq.Count);
        }
        IEnumerator enumerator = seq.GetEnumerator();

        enumerator.MoveNext();
        Asn1Encodable asn1Encodable = (Asn1Encodable)enumerator.Current;

        if (asn1Encodable is Asn1TaggedObject)
        {
            Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)asn1Encodable;
            if (asn1TaggedObject.TagNo != 0)
            {
                throw new ArgumentException("Bad tag number: " + asn1TaggedObject.TagNo);
            }
            namingAuthority = NamingAuthority.GetInstance(asn1TaggedObject, isExplicit: true);
            enumerator.MoveNext();
            asn1Encodable = (Asn1Encodable)enumerator.Current;
        }
        professionItems = Asn1Sequence.GetInstance(asn1Encodable);
        if (enumerator.MoveNext())
        {
            asn1Encodable = (Asn1Encodable)enumerator.Current;
            if (asn1Encodable is Asn1Sequence)
            {
                professionOids = Asn1Sequence.GetInstance(asn1Encodable);
            }
            else if (asn1Encodable is DerPrintableString)
            {
                registrationNumber = DerPrintableString.GetInstance(asn1Encodable).GetString();
            }
            else
            {
                if (!(asn1Encodable is Asn1OctetString))
                {
                    throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable));
                }
                addProfessionInfo = Asn1OctetString.GetInstance(asn1Encodable);
            }
        }
        if (enumerator.MoveNext())
        {
            asn1Encodable = (Asn1Encodable)enumerator.Current;
            if (asn1Encodable is DerPrintableString)
            {
                registrationNumber = DerPrintableString.GetInstance(asn1Encodable).GetString();
            }
            else
            {
                if (!(asn1Encodable is DerOctetString))
                {
                    throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable));
                }
                addProfessionInfo = (DerOctetString)asn1Encodable;
            }
        }
        if (enumerator.MoveNext())
        {
            asn1Encodable = (Asn1Encodable)enumerator.Current;
            if (!(asn1Encodable is DerOctetString))
            {
                throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable));
            }
            addProfessionInfo = (DerOctetString)asn1Encodable;
        }
    }
Beispiel #16
0
        /**
         * Constructor from Asn1Sequence.
         * <p/>
         * <p/>
         * <pre>
         *               ProfessionInfo ::= SEQUENCE
         *               {
         *                 namingAuthority [0] EXPLICIT NamingAuthority OPTIONAL,
         *                 professionItems SEQUENCE OF DirectoryString (SIZE(1..128)),
         *                 professionOids SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,
         *                 registrationNumber PrintableString(SIZE(1..128)) OPTIONAL,
         *                 addProfessionInfo OCTET STRING OPTIONAL
         *               }
         * </pre>
         *
         * @param seq The ASN.1 sequence.
         */
        private ProfessionInfo(
            Asn1Sequence seq)
        {
            if (seq.Count > 5)
            {
                throw new ArgumentException("Bad sequence size: " + seq.Count);
            }

            IEnumerator e = seq.GetEnumerator();

            e.MoveNext();
            Asn1Encodable o = (Asn1Encodable)e.Current;

            if (o is Asn1TaggedObject)
            {
                Asn1TaggedObject ato = (Asn1TaggedObject)o;
                if (ato.TagNo != 0)
                {
                    throw new ArgumentException("Bad tag number: " + ato.TagNo);
                }

                namingAuthority = NamingAuthority.GetInstance(ato, true);
                e.MoveNext();
                o = (Asn1Encodable)e.Current;
            }

            professionItems = Asn1Sequence.GetInstance(o);

            if (e.MoveNext())
            {
                o = (Asn1Encodable)e.Current;
                if (o is Asn1Sequence)
                {
                    professionOids = Asn1Sequence.GetInstance(o);
                }
                else if (o is DerPrintableString)
                {
                    registrationNumber = DerPrintableString.GetInstance(o).GetString();
                }
                else if (o is Asn1OctetString)
                {
                    addProfessionInfo = Asn1OctetString.GetInstance(o);
                }
                else
                {
                    throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(o));
                }
            }

            if (e.MoveNext())
            {
                o = (Asn1Encodable)e.Current;
                if (o is DerPrintableString)
                {
                    registrationNumber = DerPrintableString.GetInstance(o).GetString();
                }
                else if (o is DerOctetString)
                {
                    addProfessionInfo = (DerOctetString)o;
                }
                else
                {
                    throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(o));
                }
            }

            if (e.MoveNext())
            {
                o = (Asn1Encodable)e.Current;
                if (o is DerOctetString)
                {
                    addProfessionInfo = (DerOctetString)o;
                }
                else
                {
                    throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(o));
                }
            }
        }
Beispiel #17
0
        private ProfessionInfo(Asn1Sequence seq)
        {
            //IL_0024: Unknown result type (might be due to invalid IL or missing references)
            //IL_0070: Unknown result type (might be due to invalid IL or missing references)
            //IL_010d: Unknown result type (might be due to invalid IL or missing references)
            //IL_0168: Unknown result type (might be due to invalid IL or missing references)
            //IL_01a7: Unknown result type (might be due to invalid IL or missing references)
            if (seq.Count > 5)
            {
                throw new ArgumentException(string.Concat((object)"Bad sequence size: ", (object)seq.Count));
            }
            global::System.Collections.IEnumerator enumerator = seq.GetEnumerator();
            enumerator.MoveNext();
            Asn1Encodable asn1Encodable = (Asn1Encodable)enumerator.get_Current();

            if (asn1Encodable is Asn1TaggedObject)
            {
                Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)asn1Encodable;
                if (asn1TaggedObject.TagNo != 0)
                {
                    throw new ArgumentException(string.Concat((object)"Bad tag number: ", (object)asn1TaggedObject.TagNo));
                }
                namingAuthority = NamingAuthority.GetInstance(asn1TaggedObject, isExplicit: true);
                enumerator.MoveNext();
                asn1Encodable = (Asn1Encodable)enumerator.get_Current();
            }
            professionItems = Asn1Sequence.GetInstance(asn1Encodable);
            if (enumerator.MoveNext())
            {
                asn1Encodable = (Asn1Encodable)enumerator.get_Current();
                if (asn1Encodable is Asn1Sequence)
                {
                    professionOids = Asn1Sequence.GetInstance(asn1Encodable);
                }
                else if (asn1Encodable is DerPrintableString)
                {
                    registrationNumber = DerPrintableString.GetInstance(asn1Encodable).GetString();
                }
                else
                {
                    if (!(asn1Encodable is Asn1OctetString))
                    {
                        throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable));
                    }
                    addProfessionInfo = Asn1OctetString.GetInstance(asn1Encodable);
                }
            }
            if (enumerator.MoveNext())
            {
                asn1Encodable = (Asn1Encodable)enumerator.get_Current();
                if (asn1Encodable is DerPrintableString)
                {
                    registrationNumber = DerPrintableString.GetInstance(asn1Encodable).GetString();
                }
                else
                {
                    if (!(asn1Encodable is DerOctetString))
                    {
                        throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable));
                    }
                    addProfessionInfo = (DerOctetString)asn1Encodable;
                }
            }
            if (enumerator.MoveNext())
            {
                asn1Encodable = (Asn1Encodable)enumerator.get_Current();
                if (!(asn1Encodable is DerOctetString))
                {
                    throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable));
                }
                addProfessionInfo = (DerOctetString)asn1Encodable;
            }
        }