Inheritance: Asn1Object
 public BasicConstraints(
     bool cA)
 {
     if (cA)
     {
         this.cA = DerBoolean.True;
     }
 }
        public static DerBoolean GetInstance(Asn1TaggedObject obj, bool isExplicit)
        {
            Asn1Object @object = obj.GetObject();

            if (isExplicit || @object is DerBoolean)
            {
                return(DerBoolean.GetInstance(@object));
            }
            return(DerBoolean.FromOctetString(((Asn1OctetString)@object).GetOctets()));
        }
        protected override bool Asn1Equals(Asn1Object asn1Object)
        {
            DerBoolean flag = asn1Object as DerBoolean;

            if (flag == null)
            {
                return(false);
            }
            return(this.IsTrue == flag.IsTrue);
        }
Exemple #4
0
        protected override bool Asn1Equals(Asn1Object asn1Object)
        {
            DerBoolean derBoolean = asn1Object as DerBoolean;

            if (derBoolean == null)
            {
                return(false);
            }
            return(IsTrue == derBoolean.IsTrue);
        }
Exemple #5
0
        protected override bool Asn1Equals(Asn1Object asn1Object)
        {
            DerBoolean other = asn1Object as DerBoolean;

            if (other == null)
            {
                return(false);
            }

            return(IsTrue == other.IsTrue);
        }
        protected override bool Asn1Equals(
            Asn1Object obj)
        {
            DerBoolean other = obj as DerBoolean;

            if (other == null)
            {
                return(false);
            }

            return(this.IsTrue == other.IsTrue);
        }
        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]);
                }
            }
        }
Exemple #8
0
        internal static DerBoolean FromOctetString(byte[] value)
        {
            if (value.Length != 1)
            {
                throw new ArgumentException("BOOLEAN value should have 1 byte in it", "value");
            }
            object result;

            switch (value[0])
            {
            case 0:
                result = False;
                break;

            case byte.MaxValue:
                result = True;
                break;

            default:
                result = new DerBoolean(value);
                break;
            }
            return((DerBoolean)result);
        }
		public void SetCertReq(
			bool certReq)
		{
			this.certReq = DerBoolean.GetInstance(certReq);
		}
Exemple #10
0
        internal static Asn1Object CreatePrimitiveDerObject(
            int tagNo,
            DefiniteLengthInputStream defIn,
            byte[][]                    tmpBuffers)
        {
            switch (tagNo)
            {
            case Asn1Tags.Boolean:
                return(DerBoolean.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            case Asn1Tags.Enumerated:
                return(DerEnumerated.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            case Asn1Tags.ObjectIdentifier:
                return(DerObjectIdentifier.FromOctetString(GetBuffer(defIn, tmpBuffers)));
            }

            byte[] bytes = defIn.ToArray();

            switch (tagNo)
            {
            case Asn1Tags.BitString:
                return(DerBitString.FromAsn1Octets(bytes));

            case Asn1Tags.BmpString:
                return(new DerBmpString(bytes));

            case Asn1Tags.GeneralizedTime:
                return(new DerGeneralizedTime(bytes));

            case Asn1Tags.GeneralString:
                return(new DerGeneralString(bytes));

            case Asn1Tags.IA5String:
                return(new DerIA5String(bytes));

            case Asn1Tags.Integer:
                return(new DerInteger(bytes));

            case Asn1Tags.Null:
                return(DerNull.Instance);      // actual content is ignored (enforce 0 length?)

            case Asn1Tags.NumericString:
                return(new DerNumericString(bytes));

            case Asn1Tags.OctetString:
                return(new DerOctetString(bytes));

            case Asn1Tags.PrintableString:
                return(new DerPrintableString(bytes));

            case Asn1Tags.T61String:
                return(new DerT61String(bytes));

            case Asn1Tags.UniversalString:
                return(new DerUniversalString(bytes));

            case Asn1Tags.UtcTime:
                return(new DerUtcTime(bytes));

            case Asn1Tags.Utf8String:
                return(new DerUtf8String(bytes));

            case Asn1Tags.VisibleString:
                return(new DerVisibleString(bytes));

            default:
                throw new IOException("unknown tag " + tagNo + " encountered");
            }
        }
 /**
  * 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);
 }
Exemple #12
0
        protected override bool Asn1Equals(Asn1Object asn1Object)
        {
            DerBoolean derBoolean = asn1Object as DerBoolean;

            return(derBoolean != null && this.IsTrue == derBoolean.IsTrue);
        }
Exemple #13
0
        internal static Asn1Object CreatePrimitiveDerObject(int tagNo, DefiniteLengthInputStream defIn, byte[][] tmpBuffers)
        {
            if (tagNo != 1)
            {
                if (tagNo == 10)
                {
                    return(DerEnumerated.FromOctetString(GetBuffer(defIn, tmpBuffers)));
                }
                if (tagNo == 6)
                {
                    return(DerObjectIdentifier.FromOctetString(GetBuffer(defIn, tmpBuffers)));
                }
            }
            else
            {
                return(DerBoolean.FromOctetString(GetBuffer(defIn, tmpBuffers)));
            }
            byte[] str = defIn.ToArray();
            switch (tagNo)
            {
            case 0x12:
                return(new DerNumericString(str));

            case 0x13:
                return(new DerPrintableString(str));

            case 20:
                return(new DerT61String(str));

            case 0x15:
                return(new DerVideotexString(str));

            case 0x16:
                return(new DerIA5String(str));

            case 0x17:
                return(new DerUtcTime(str));

            case 0x18:
                return(new DerGeneralizedTime(str));

            case 0x19:
                return(new DerGraphicString(str));

            case 0x1a:
                return(new DerVisibleString(str));

            case 0x1b:
                return(new DerGeneralString(str));

            case 0x1c:
                return(new DerUniversalString(str));

            case 30:
                return(new DerBmpString(str));

            case 2:
                return(new DerInteger(str));

            case 3:
                return(DerBitString.FromAsn1Octets(str));

            case 4:
                return(new DerOctetString(str));

            case 5:
                return(DerNull.Instance);

            case 12:
                return(new DerUtf8String(str));
            }
            throw new IOException("unknown tag " + tagNo + " encountered");
        }
Exemple #14
0
        internal static Asn1Object CreatePrimitiveDerObject(int tagNo, DefiniteLengthInputStream defIn, byte[][] tmpBuffers)
        {
            //IL_014a: Unknown result type (might be due to invalid IL or missing references)
            switch (tagNo)
            {
            case 1:
                return(DerBoolean.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            case 10:
                return(DerEnumerated.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            case 6:
                return(DerObjectIdentifier.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            default:
            {
                byte[] array = defIn.ToArray();
                switch (tagNo)
                {
                case 3:
                    return(DerBitString.FromAsn1Octets(array));

                case 30:
                    return(new DerBmpString(array));

                case 24:
                    return(new DerGeneralizedTime(array));

                case 27:
                    return(new DerGeneralString(array));

                case 25:
                    return(new DerGraphicString(array));

                case 22:
                    return(new DerIA5String(array));

                case 2:
                    return(new DerInteger(array));

                case 5:
                    return(DerNull.Instance);

                case 18:
                    return(new DerNumericString(array));

                case 4:
                    return(new DerOctetString(array));

                case 19:
                    return(new DerPrintableString(array));

                case 20:
                    return(new DerT61String(array));

                case 28:
                    return(new DerUniversalString(array));

                case 23:
                    return(new DerUtcTime(array));

                case 12:
                    return(new DerUtf8String(array));

                case 21:
                    return(new DerVideotexString(array));

                case 26:
                    return(new DerVisibleString(array));

                default:
                    throw new IOException(string.Concat((object)"unknown tag ", (object)tagNo, (object)" encountered"));
                }
            }
            }
        }
        internal static Asn1Object CreatePrimitiveDerObject(int tagNo, DefiniteLengthInputStream defIn, byte[][] tmpBuffers)
        {
            switch (tagNo)
            {
            case 1:
                return(DerBoolean.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            case 10:
                return(DerEnumerated.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            case 6:
                return(DerObjectIdentifier.FromOctetString(GetBuffer(defIn, tmpBuffers)));

            default:
            {
                byte[] array = defIn.ToArray();
                switch (tagNo)
                {
                case 3:
                    return(DerBitString.FromAsn1Octets(array));

                case 30:
                    return(new DerBmpString(array));

                case 24:
                    return(new DerGeneralizedTime(array));

                case 27:
                    return(new DerGeneralString(array));

                case 22:
                    return(new DerIA5String(array));

                case 2:
                    return(new DerInteger(array));

                case 5:
                    return(DerNull.Instance);

                case 18:
                    return(new DerNumericString(array));

                case 4:
                    return(new DerOctetString(array));

                case 19:
                    return(new DerPrintableString(array));

                case 20:
                    return(new DerT61String(array));

                case 28:
                    return(new DerUniversalString(array));

                case 23:
                    return(new DerUtcTime(array));

                case 12:
                    return(new DerUtf8String(array));

                case 26:
                    return(new DerVisibleString(array));

                default:
                    throw new IOException("unknown tag " + tagNo + " encountered");
                }
            }
            }
        }