Exemplo n.º 1
0
 private X509Extensions(Asn1Sequence seq)
 {
     //IL_0069: Unknown result type (might be due to invalid IL or missing references)
     ordering = Platform.CreateArrayList();
     global::System.Collections.IEnumerator enumerator = seq.GetEnumerator();
     try
     {
         while (enumerator.MoveNext())
         {
             Asn1Encodable asn1Encodable = (Asn1Encodable)enumerator.get_Current();
             Asn1Sequence  instance      = Asn1Sequence.GetInstance(asn1Encodable.ToAsn1Object());
             if (instance.Count < 2 || instance.Count > 3)
             {
                 throw new ArgumentException(string.Concat((object)"Bad sequence size: ", (object)instance.Count));
             }
             DerObjectIdentifier instance2 = DerObjectIdentifier.GetInstance(instance[0].ToAsn1Object());
             bool            critical      = instance.Count == 3 && DerBoolean.GetInstance(instance[1].ToAsn1Object()).IsTrue;
             Asn1OctetString instance3     = Asn1OctetString.GetInstance(instance[instance.Count - 1].ToAsn1Object());
             extensions.Add((object)instance2, (object)new X509Extension(critical, instance3));
             ordering.Add((object)instance2);
         }
     }
     finally
     {
         global::System.IDisposable disposable = enumerator as global::System.IDisposable;
         if (disposable != null)
         {
             disposable.Dispose();
         }
     }
 }
		private IssuingDistributionPoint(Asn1Sequence seq)
		{
			//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
			this.seq = seq;
			for (int i = 0; i != seq.Count; i++)
			{
				Asn1TaggedObject instance = Asn1TaggedObject.GetInstance(seq[i]);
				switch (instance.TagNo)
				{
				case 0:
					_distributionPoint = DistributionPointName.GetInstance(instance, explicitly: true);
					break;
				case 1:
					_onlyContainsUserCerts = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue;
					break;
				case 2:
					_onlyContainsCACerts = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue;
					break;
				case 3:
					_onlySomeReasons = new ReasonFlags(DerBitString.GetInstance(instance, isExplicit: false));
					break;
				case 4:
					_indirectCRL = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue;
					break;
				case 5:
					_onlyContainsAttributeCerts = DerBoolean.GetInstance(instance, isExplicit: false).IsTrue;
					break;
				default:
					throw new ArgumentException("unknown tag in IssuingDistributionPoint");
				}
			}
		}
Exemplo n.º 3
0
        private TimeStampReq(Asn1Sequence seq)
        {
            int count = seq.Count;
            int num   = 0;

            this.version        = DerInteger.GetInstance(seq[num++]);
            this.messageImprint = MessageImprint.GetInstance(seq[num++]);
            for (int i = num; i < count; i++)
            {
                if (seq[i] is DerObjectIdentifier)
                {
                    this.tsaPolicy = DerObjectIdentifier.GetInstance(seq[i]);
                }
                else if (seq[i] is DerInteger)
                {
                    this.nonce = DerInteger.GetInstance(seq[i]);
                }
                else if (seq[i] is DerBoolean)
                {
                    this.certReq = DerBoolean.GetInstance(seq[i]);
                }
                else if (seq[i] is Asn1TaggedObject)
                {
                    Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)seq[i];
                    if (asn1TaggedObject.TagNo == 0)
                    {
                        this.extensions = X509Extensions.GetInstance(asn1TaggedObject, false);
                    }
                }
            }
        }
Exemplo n.º 4
0
        private X509Extensions(Asn1Sequence seq)
        {
            this.extensions = Platform.CreateHashtable();
            this.ordering   = Platform.CreateArrayList();
            IEnumerator enumerator = seq.GetEnumerator();

            try
            {
                while (enumerator.MoveNext())
                {
                    Asn1Sequence instance = Asn1Sequence.GetInstance(((Asn1Encodable)enumerator.Current).ToAsn1Object());
                    if ((instance.Count < 2) || (instance.Count > 3))
                    {
                        throw new ArgumentException("Bad sequence size: " + instance.Count);
                    }
                    DerObjectIdentifier key  = DerObjectIdentifier.GetInstance(instance[0].ToAsn1Object());
                    bool            critical = (instance.Count == 3) && DerBoolean.GetInstance(instance[1].ToAsn1Object()).IsTrue;
                    Asn1OctetString str      = Asn1OctetString.GetInstance(instance[instance.Count - 1].ToAsn1Object());
                    this.extensions.Add(key, new X509Extension(critical, str));
                    this.ordering.Add(key);
                }
            }
            finally
            {
                if (enumerator is IDisposable disposable)
                {
                    IDisposable disposable;
                    disposable.Dispose();
                }
            }
        }
Exemplo n.º 5
0
 public BasicConstraints(bool cA)
 {
     if (cA)
     {
         this.cA = DerBoolean.True;
     }
 }
Exemplo n.º 6
0
 public MetaData(DerBoolean hashProtected, DerUtf8String fileName, DerIA5String mediaType, Attributes otherMetaData)
 {
     this.hashProtected = hashProtected;
     this.fileName      = fileName;
     this.mediaType     = mediaType;
     this.otherMetaData = otherMetaData;
 }
Exemplo n.º 7
0
        private BasicConstraints(
            Asn1Sequence seq)
        {
            if (seq.Count > 0)
            {
                if (seq[0] is DerBoolean)
                {
                    this.cA = DerBoolean.GetInstance(seq[0]);
                }
                else
                {
                    this.pathLenConstraint = DerInteger.GetInstance(seq[0]);
                }

                if (seq.Count > 1)
                {
                    if (this.cA == null)
                    {
                        throw new ArgumentException("wrong sequence in constructor", "seq");
                    }

                    this.pathLenConstraint = DerInteger.GetInstance(seq[1]);
                }
            }
        }
Exemplo n.º 8
0
        /**
         * Constructor from Asn1Sequence.
         *
         * the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString)
         */
        private X509Extensions(
            Asn1Sequence seq)
        {
            this.ordering = BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.CreateArrayList();

            foreach (Asn1Encodable ae in seq)
            {
                Asn1Sequence s = Asn1Sequence.GetInstance(ae.ToAsn1Object());

                if (s.Count < 2 || s.Count > 3)
                {
                    throw new ArgumentException("Bad sequence size: " + s.Count);
                }

                DerObjectIdentifier oid = DerObjectIdentifier.GetInstance(s[0].ToAsn1Object());

                bool isCritical = s.Count == 3 &&
                                  DerBoolean.GetInstance(s[1].ToAsn1Object()).IsTrue;

                Asn1OctetString octets = Asn1OctetString.GetInstance(s[s.Count - 1].ToAsn1Object());

                if (extensions.Contains(oid))
                {
                    throw new ArgumentException("repeated extension found: " + oid);
                }

                extensions.Add(oid, new X509Extension(isCritical, octets));
                ordering.Add(oid);
            }
        }
        /**
         * Constructor from Asn1Sequence.
         *
         * the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString)
         */
        private X509Extensions(
            Asn1Sequence seq)
        {
            this.ordering = Platform.CreateArrayList();

            foreach (Asn1Encodable ae in seq)
            {
                Asn1Sequence s = Asn1Sequence.GetInstance(ae.ToAsn1Object());

                if (s.Count < 2 || s.Count > 3)
                {
                    throw new ArgumentException("Bad sequence size: " + s.Count);
                }

                DerObjectIdentifier oid = DerObjectIdentifier.GetInstance(s[0].ToAsn1Object());

                bool isCritical = s.Count == 3 &&
                                  DerBoolean.GetInstance(s[1].ToAsn1Object()).IsTrue;

                Asn1OctetString octets = Asn1OctetString.GetInstance(s[s.Count - 1].ToAsn1Object());

                extensions.Add(oid, new X509Extension(isCritical, octets));
                ordering.Add(oid);
            }
        }
Exemplo n.º 10
0
		public BasicConstraints(
            bool cA)
        {
			if (cA)
			{
				this.cA = DerBoolean.True;
			}
        }
Exemplo n.º 11
0
 public TimeStampReq(MessageImprint messageImprint, DerObjectIdentifier tsaPolicy, DerInteger nonce, DerBoolean certReq, X509Extensions extensions)
 {
     this.version        = new DerInteger(1);
     this.messageImprint = messageImprint;
     this.tsaPolicy      = tsaPolicy;
     this.nonce          = nonce;
     this.certReq        = certReq;
     this.extensions     = extensions;
 }
Exemplo n.º 12
0
 public X509Extension(DerBoolean critical, Asn1OctetString value)
 {
     if (critical == null)
     {
         throw new ArgumentNullException("critical");
     }
     this.critical = critical.IsTrue;
     this.value    = value;
 }
Exemplo n.º 13
0
 public X509Extension(DerBoolean critical, Asn1OctetString value)
 {
     //IL_000e: Unknown result type (might be due to invalid IL or missing references)
     if (critical == null)
     {
         throw new ArgumentNullException("critical");
     }
     this.critical = critical.IsTrue;
     this.value    = value;
 }
Exemplo n.º 14
0
    protected override bool Asn1Equals(Asn1Object asn1Object)
    {
        DerBoolean derBoolean = asn1Object as DerBoolean;

        if (derBoolean == null)
        {
            return(false);
        }
        return(IsTrue == derBoolean.IsTrue);
    }
Exemplo n.º 15
0
		public MetaData(
			DerBoolean		hashProtected,
			DerUtf8String	fileName,
			DerIA5String	mediaType,
			Attributes		otherMetaData)
		{
			this.hashProtected = hashProtected;
			this.fileName = fileName;
			this.mediaType = mediaType;
			this.otherMetaData = otherMetaData;
		}
Exemplo n.º 16
0
		public X509Extension(
            DerBoolean		critical,
            Asn1OctetString	value)
        {
            if (critical == null)
            {
                throw new ArgumentNullException("critical");
            }

			this.critical = critical.IsTrue;
            this.value = value;
        }
Exemplo n.º 17
0
        public ExtraData(Asn1Sequence seq)
        {
            IEnumerator enumerator = seq.GetEnumerator();

            enumerator.MoveNext();
            ExtId = DerObjectIdentifier.GetInstance(enumerator.Current);

            enumerator.MoveNext();
            Critical = DerBoolean.GetInstance(enumerator.Current);

            enumerator.MoveNext();
            ExtValue = Asn1OctetString.GetInstance(enumerator.Current);
        }
Exemplo n.º 18
0
 public TstInfo(DerObjectIdentifier tsaPolicyId, MessageImprint messageImprint, DerInteger serialNumber, DerGeneralizedTime genTime, Accuracy accuracy, DerBoolean ordering, DerInteger nonce, GeneralName tsa, X509Extensions extensions)
 {
     version             = new DerInteger(1);
     this.tsaPolicyId    = tsaPolicyId;
     this.messageImprint = messageImprint;
     this.serialNumber   = serialNumber;
     this.genTime        = genTime;
     this.accuracy       = accuracy;
     this.ordering       = ordering;
     this.nonce          = nonce;
     this.tsa            = tsa;
     this.extensions     = extensions;
 }
Exemplo n.º 19
0
    private TstInfo(Asn1Sequence seq)
    {
        IEnumerator enumerator = seq.GetEnumerator();

        enumerator.MoveNext();
        version = DerInteger.GetInstance(enumerator.Current);
        enumerator.MoveNext();
        tsaPolicyId = DerObjectIdentifier.GetInstance(enumerator.Current);
        enumerator.MoveNext();
        messageImprint = MessageImprint.GetInstance(enumerator.Current);
        enumerator.MoveNext();
        serialNumber = DerInteger.GetInstance(enumerator.Current);
        enumerator.MoveNext();
        genTime  = DerGeneralizedTime.GetInstance(enumerator.Current);
        ordering = DerBoolean.False;
        while (enumerator.MoveNext())
        {
            Asn1Object asn1Object = (Asn1Object)enumerator.Current;
            if (asn1Object is Asn1TaggedObject)
            {
                DerTaggedObject derTaggedObject = (DerTaggedObject)asn1Object;
                switch (derTaggedObject.TagNo)
                {
                case 0:
                    tsa = GeneralName.GetInstance(derTaggedObject, explicitly: true);
                    break;

                case 1:
                    extensions = X509Extensions.GetInstance(derTaggedObject, explicitly: false);
                    break;

                default:
                    throw new ArgumentException("Unknown tag value " + derTaggedObject.TagNo);
                }
            }
            if (asn1Object is DerSequence)
            {
                accuracy = Accuracy.GetInstance(asn1Object);
            }
            if (asn1Object is DerBoolean)
            {
                ordering = DerBoolean.GetInstance(asn1Object);
            }
            if (asn1Object is DerInteger)
            {
                nonce = DerInteger.GetInstance(asn1Object);
            }
        }
    }
Exemplo n.º 20
0
        private TstInfo(Asn1Sequence seq)
        {
            //IL_00fa: Unknown result type (might be due to invalid IL or missing references)
            global::System.Collections.IEnumerator enumerator = seq.GetEnumerator();
            enumerator.MoveNext();
            version = DerInteger.GetInstance(enumerator.get_Current());
            enumerator.MoveNext();
            tsaPolicyId = DerObjectIdentifier.GetInstance(enumerator.get_Current());
            enumerator.MoveNext();
            messageImprint = MessageImprint.GetInstance(enumerator.get_Current());
            enumerator.MoveNext();
            serialNumber = DerInteger.GetInstance(enumerator.get_Current());
            enumerator.MoveNext();
            genTime  = DerGeneralizedTime.GetInstance(enumerator.get_Current());
            ordering = DerBoolean.False;
            while (enumerator.MoveNext())
            {
                Asn1Object asn1Object = (Asn1Object)enumerator.get_Current();
                if (asn1Object is Asn1TaggedObject)
                {
                    DerTaggedObject derTaggedObject = (DerTaggedObject)asn1Object;
                    switch (derTaggedObject.TagNo)
                    {
                    case 0:
                        tsa = GeneralName.GetInstance(derTaggedObject, explicitly: true);
                        break;

                    case 1:
                        extensions = X509Extensions.GetInstance(derTaggedObject, explicitly: false);
                        break;

                    default:
                        throw new ArgumentException(string.Concat((object)"Unknown tag value ", (object)derTaggedObject.TagNo));
                    }
                }
                if (asn1Object is DerSequence)
                {
                    accuracy = Accuracy.GetInstance(asn1Object);
                }
                if (asn1Object is DerBoolean)
                {
                    ordering = DerBoolean.GetInstance(asn1Object);
                }
                if (asn1Object is DerInteger)
                {
                    nonce = DerInteger.GetInstance(asn1Object);
                }
            }
        }
Exemplo n.º 21
0
		public TimeStampReq(
			MessageImprint		messageImprint,
			DerObjectIdentifier	tsaPolicy,
			DerInteger			nonce,
			DerBoolean			certReq,
			X509Extensions		extensions)
		{
			// default
			this.version = new DerInteger(1);

			this.messageImprint = messageImprint;
			this.tsaPolicy = tsaPolicy;
			this.nonce = nonce;
			this.certReq = certReq;
			this.extensions = extensions;
		}
Exemplo n.º 22
0
 private X509Extensions(Asn1Sequence seq)
 {
     ordering = Platform.CreateArrayList();
     foreach (Asn1Encodable item in seq)
     {
         Asn1Sequence instance = Asn1Sequence.GetInstance(item.ToAsn1Object());
         if (instance.Count < 2 || instance.Count > 3)
         {
             throw new ArgumentException("Bad sequence size: " + instance.Count);
         }
         DerObjectIdentifier instance2 = DerObjectIdentifier.GetInstance(instance[0].ToAsn1Object());
         bool            critical      = instance.Count == 3 && DerBoolean.GetInstance(instance[1].ToAsn1Object()).IsTrue;
         Asn1OctetString instance3     = Asn1OctetString.GetInstance(instance[instance.Count - 1].ToAsn1Object());
         extensions.Add(instance2, new X509Extension(critical, instance3));
         ordering.Add(instance2);
     }
 }
Exemplo n.º 23
0
        private MetaData(Asn1Sequence seq)
        {
            hashProtected = DerBoolean.GetInstance(seq[0]);
            int num = 1;

            if (num < seq.Count && seq[num] is DerUtf8String)
            {
                fileName = DerUtf8String.GetInstance(seq[num++]);
            }
            if (num < seq.Count && seq[num] is DerIA5String)
            {
                mediaType = DerIA5String.GetInstance(seq[num++]);
            }
            if (num < seq.Count)
            {
                otherMetaData = Attributes.GetInstance(seq[num++]);
            }
        }
Exemplo n.º 24
0
		private MetaData(Asn1Sequence seq)
		{
			this.hashProtected = DerBoolean.GetInstance(seq[0]);

			int index = 1;

			if (index < seq.Count && seq[index] is DerUtf8String)
			{
				this.fileName = DerUtf8String.GetInstance(seq[index++]);
			}
			if (index < seq.Count && seq[index] is DerIA5String)
			{
				this.mediaType = DerIA5String.GetInstance(seq[index++]);
			}
			if (index < seq.Count)
			{
				this.otherMetaData = Attributes.GetInstance(seq[index++]);
			}
		}
Exemplo n.º 25
0
        private MetaData(Asn1Sequence seq)
        {
            this.hashProtected = DerBoolean.GetInstance(seq[0]);

            int index = 1;

            if (index < seq.Count && seq[index] is DerUtf8String)
            {
                this.fileName = DerUtf8String.GetInstance(seq[index++]);
            }
            if (index < seq.Count && seq[index] is DerIA5String)
            {
                this.mediaType = DerIA5String.GetInstance(seq[index++]);
            }
            if (index < seq.Count)
            {
                this.otherMetaData = Attributes.GetInstance(seq[index++]);
            }
        }
    private PkiArchiveOptions(Asn1TaggedObject tagged)
    {
        switch (tagged.TagNo)
        {
        case 0:
            value = EncryptedKey.GetInstance(tagged.GetObject());
            break;

        case 1:
            value = Asn1OctetString.GetInstance(tagged, isExplicit: false);
            break;

        case 2:
            value = DerBoolean.GetInstance(tagged, isExplicit: false);
            break;

        default:
            throw new ArgumentException("unknown tag number: " + tagged.TagNo, "tagged");
        }
    }
Exemplo n.º 27
0
        private PkiArchiveOptions(Asn1TaggedObject tagged)
        {
            switch (tagged.TagNo)
            {
            case encryptedPrivKey:
                value = EncryptedKey.GetInstance(tagged.GetObject());
                break;

            case keyGenParameters:
                value = Asn1OctetString.GetInstance(tagged, false);
                break;

            case archiveRemGenPrivKey:
                value = DerBoolean.GetInstance(tagged, false);
                break;

            default:
                throw new ArgumentException("unknown tag number: " + tagged.TagNo, "tagged");
            }
        }
Exemplo n.º 28
0
        /**
         * Constructor from Asn1Sequence
         */
        private IssuingDistributionPoint(
            Asn1Sequence seq)
        {
            this.seq = seq;

            for (int i = 0; i != seq.Count; i++)
            {
                Asn1TaggedObject o = Asn1TaggedObject.GetInstance(seq[i]);

                switch (o.TagNo)
                {
                case 0:
                    // CHOICE so explicit
                    _distributionPoint = DistributionPointName.GetInstance(o, true);
                    break;

                case 1:
                    _onlyContainsUserCerts = DerBoolean.GetInstance(o, false).IsTrue;
                    break;

                case 2:
                    _onlyContainsCACerts = DerBoolean.GetInstance(o, false).IsTrue;
                    break;

                case 3:
                    _onlySomeReasons = new ReasonFlags(ReasonFlags.GetInstance(o, false));
                    break;

                case 4:
                    _indirectCRL = DerBoolean.GetInstance(o, false).IsTrue;
                    break;

                case 5:
                    _onlyContainsAttributeCerts = DerBoolean.GetInstance(o, false).IsTrue;
                    break;

                default:
                    throw new ArgumentException("unknown tag in IssuingDistributionPoint");
                }
            }
        }
Exemplo n.º 29
0
        private PkiArchiveOptions(Asn1TaggedObject tagged)
        {
            //IL_0069: Unknown result type (might be due to invalid IL or missing references)
            switch (tagged.TagNo)
            {
            case 0:
                value = EncryptedKey.GetInstance(tagged.GetObject());
                break;

            case 1:
                value = Asn1OctetString.GetInstance(tagged, isExplicit: false);
                break;

            case 2:
                value = DerBoolean.GetInstance(tagged, isExplicit: false);
                break;

            default:
                throw new ArgumentException(string.Concat((object)"unknown tag number: ", (object)tagged.TagNo), "tagged");
            }
        }
Exemplo n.º 30
0
		private TimeStampReq(
			Asn1Sequence seq)
		{
			int nbObjects = seq.Count;
			int seqStart = 0;

			// version
			version = DerInteger.GetInstance(seq[seqStart++]);

			// messageImprint
			messageImprint = MessageImprint.GetInstance(seq[seqStart++]);

			for (int opt = seqStart; opt < nbObjects; opt++)
			{
				// tsaPolicy
				if (seq[opt] is DerObjectIdentifier)
				{
					tsaPolicy = DerObjectIdentifier.GetInstance(seq[opt]);
				}
				// nonce
				else if (seq[opt] is DerInteger)
				{
					nonce = DerInteger.GetInstance(seq[opt]);
				}
				// certReq
				else if (seq[opt] is DerBoolean)
				{
					certReq = DerBoolean.GetInstance(seq[opt]);
				}
				// extensions
				else if (seq[opt] is Asn1TaggedObject)
				{
					Asn1TaggedObject tagged = (Asn1TaggedObject) seq[opt];
					if (tagged.TagNo == 0)
					{
						extensions = X509Extensions.GetInstance(tagged, false);
					}
				}
			}
		}
Exemplo n.º 31
0
        private TimeStampReq(
            Asn1Sequence seq)
        {
            int nbObjects = seq.Count;
            int seqStart  = 0;

            // version
            version = DerInteger.GetInstance(seq[seqStart++]);

            // messageImprint
            messageImprint = MessageImprint.GetInstance(seq[seqStart++]);

            for (int opt = seqStart; opt < nbObjects; opt++)
            {
                // tsaPolicy
                if (seq[opt] is DerObjectIdentifier)
                {
                    tsaPolicy = DerObjectIdentifier.GetInstance(seq[opt]);
                }
                // nonce
                else if (seq[opt] is DerInteger)
                {
                    nonce = DerInteger.GetInstance(seq[opt]);
                }
                // certReq
                else if (seq[opt] is DerBoolean)
                {
                    certReq = DerBoolean.GetInstance(seq[opt]);
                }
                // extensions
                else if (seq[opt] is Asn1TaggedObject)
                {
                    Asn1TaggedObject tagged = (Asn1TaggedObject)seq[opt];
                    if (tagged.TagNo == 0)
                    {
                        extensions = X509Extensions.GetInstance(tagged, false);
                    }
                }
            }
        }
Exemplo n.º 32
0
        public void TestReadingMultipleSingleByteItems()
        {
            Asn1Object obj = Asn1Object.FromByteArray(MultipleSingleByteItems);

            Assert.IsTrue(obj is DerSequence, "Null ASN.1 SEQUENCE");

            DerSequence sequence = (DerSequence)obj;

            Assert.AreEqual(2, sequence.Count, "2 items expected");

            DerEnumerated enumerated = sequence[0] as DerEnumerated;

            Assert.IsNotNull(enumerated, "ENUMERATED expected");

            Assert.AreEqual(1, enumerated.Value.IntValue, "Unexpected ENUMERATED value");

            DerBoolean boolean = sequence[1] as DerBoolean;

            Assert.IsNotNull(boolean, "BOOLEAN expected");

            Assert.IsTrue(boolean.IsTrue, "Unexpected BOOLEAN value");
        }
        /**
         * Constructor from Asn1Sequence.
         *
         * the extensions are a list of constructed sequences, either with (Oid, OctetString) or (Oid, Boolean, OctetString)
         */
        private X509Extensions(
            Asn1Sequence seq)
        {
            foreach (object o in seq)
            {
                Asn1Sequence s = Asn1Sequence.GetInstance(o);

                if (s.Count == 3)
                {
                    extensions.Add(s[0], new X509Extension(DerBoolean.GetInstance(s[1]), Asn1OctetString.GetInstance(s[2])));
                }
                else if (s.Count == 2)
                {
                    extensions.Add(s[0], new X509Extension(false, Asn1OctetString.GetInstance(s[1])));
                }
                else
                {
                    throw new ArgumentException("Bad sequence size: " + s.Count);
                }

                ordering.Add(s[0]);
            }
        }
Exemplo n.º 34
0
		private BasicConstraints(
            Asn1Sequence seq)
        {
			if (seq.Count > 0)
			{
				if (seq[0] is DerBoolean)
				{
					this.cA = DerBoolean.GetInstance(seq[0]);
				}
				else
				{
					this.pathLenConstraint = DerInteger.GetInstance(seq[0]);
				}

				if (seq.Count > 1)
				{
					if (this.cA == null)
						throw new ArgumentException("wrong sequence in constructor", "seq");

					this.pathLenConstraint = DerInteger.GetInstance(seq[1]);
				}
			}
        }
Exemplo n.º 35
0
        private IssuingDistributionPoint(Asn1Sequence seq)
        {
            this.seq = seq;
            for (int num = 0; num != seq.Count; num++)
            {
                Asn1TaggedObject instance = Asn1TaggedObject.GetInstance(seq[num]);
                switch (instance.TagNo)
                {
                case 0:
                    this._distributionPoint = DistributionPointName.GetInstance(instance, true);
                    break;

                case 1:
                    this._onlyContainsUserCerts = DerBoolean.GetInstance(instance, false).IsTrue;
                    break;

                case 2:
                    this._onlyContainsCACerts = DerBoolean.GetInstance(instance, false).IsTrue;
                    break;

                case 3:
                    this._onlySomeReasons = new ReasonFlags(DerBitString.GetInstance(instance, false));
                    break;

                case 4:
                    this._indirectCRL = DerBoolean.GetInstance(instance, false).IsTrue;
                    break;

                case 5:
                    this._onlyContainsAttributeCerts = DerBoolean.GetInstance(instance, false).IsTrue;
                    break;

                default:
                    throw new ArgumentException("unknown tag in IssuingDistributionPoint");
                }
            }
        }
Exemplo n.º 36
0
 private BasicConstraints(Asn1Sequence seq)
 {
     //IL_005e: Unknown result type (might be due to invalid IL or missing references)
     if (seq.Count <= 0)
     {
         return;
     }
     if (seq[0] is DerBoolean)
     {
         cA = DerBoolean.GetInstance(seq[0]);
     }
     else
     {
         pathLenConstraint = DerInteger.GetInstance(seq[0]);
     }
     if (seq.Count > 1)
     {
         if (cA == null)
         {
             throw new ArgumentException("wrong sequence in constructor", "seq");
         }
         pathLenConstraint = DerInteger.GetInstance(seq[1]);
     }
 }
Exemplo n.º 37
0
		public TstInfo(
			DerObjectIdentifier	tsaPolicyId,
			MessageImprint		messageImprint,
			DerInteger			serialNumber,
			DerGeneralizedTime	genTime,
			Accuracy			accuracy,
			DerBoolean			ordering,
			DerInteger			nonce,
			GeneralName			tsa,
			X509Extensions		extensions)
		{
			this.version = new DerInteger(1);
			this.tsaPolicyId = tsaPolicyId;
			this.messageImprint = messageImprint;
			this.serialNumber = serialNumber;
			this.genTime = genTime;
			this.accuracy = accuracy;
			this.ordering = ordering;
			this.nonce = nonce;
			this.tsa = tsa;
			this.extensions = extensions;
		}
Exemplo n.º 38
0
		private TstInfo(
			Asn1Sequence seq)
		{
			IEnumerator e = seq.GetEnumerator();

			// version
			e.MoveNext();
			version = DerInteger.GetInstance(e.Current);

			// tsaPolicy
			e.MoveNext();
			tsaPolicyId = DerObjectIdentifier.GetInstance(e.Current);

			// messageImprint
			e.MoveNext();
			messageImprint = MessageImprint.GetInstance(e.Current);

			// serialNumber
			e.MoveNext();
			serialNumber = DerInteger.GetInstance(e.Current);

			// genTime
			e.MoveNext();
			genTime = DerGeneralizedTime.GetInstance(e.Current);

			// default for ordering
			ordering = DerBoolean.False;

			while (e.MoveNext())
			{
				Asn1Object o = (Asn1Object) e.Current;

				if (o is Asn1TaggedObject)
				{
					DerTaggedObject tagged = (DerTaggedObject) o;

					switch (tagged.TagNo)
					{
						case 0:
							tsa = GeneralName.GetInstance(tagged, true);
							break;
						case 1:
							extensions = X509Extensions.GetInstance(tagged, false);
							break;
						default:
							throw new ArgumentException("Unknown tag value " + tagged.TagNo);
					}
				}

				if (o is DerSequence)
				{
					accuracy = Accuracy.GetInstance(o);
				}

				if (o is DerBoolean)
				{
					ordering = DerBoolean.GetInstance(o);
				}

				if (o is DerInteger)
				{
					nonce = DerInteger.GetInstance(o);
				}
			}
		}
Exemplo n.º 39
0
		/**
         * create a cA=true object for the given path length constraint.
         *
         * @param pathLenConstraint
         */
        public BasicConstraints(
            int pathLenConstraint)
        {
            this.cA = DerBoolean.True;
            this.pathLenConstraint = new DerInteger(pathLenConstraint);
        }
Exemplo n.º 40
0
 /**
  * create a cA=true object for the given path length constraint.
  *
  * @param pathLenConstraint
  */
 public BasicConstraints(
     int pathLenConstraint)
 {
     this.cA = DerBoolean.True;
     this.pathLenConstraint = new DerInteger(pathLenConstraint);
 }