Org.BouncyCastle.Asn1.DerExternal.GetObjFromVector C# (CSharp) Méthode

GetObjFromVector() private static méthode

private static GetObjFromVector ( Asn1EncodableVector v, int index ) : Asn1Object
v Asn1EncodableVector
index int
Résultat Asn1Object
		private static Asn1Object GetObjFromVector(Asn1EncodableVector v, int index)
		{
			if (v.Count <= index)
				throw new ArgumentException("too few objects in input vector", "v");

			return v[index].ToAsn1Object();
		}

Usage Example

Exemple #1
0
        public DerExternal(Asn1EncodableVector vector)
        {
            int        num           = 0;
            Asn1Object objFromVector = DerExternal.GetObjFromVector(vector, num);

            if (objFromVector is DerObjectIdentifier)
            {
                this.directReference = (DerObjectIdentifier)objFromVector;
                num++;
                objFromVector = DerExternal.GetObjFromVector(vector, num);
            }
            if (objFromVector is DerInteger)
            {
                this.indirectReference = (DerInteger)objFromVector;
                num++;
                objFromVector = DerExternal.GetObjFromVector(vector, num);
            }
            if (!(objFromVector is DerTaggedObject))
            {
                this.dataValueDescriptor = objFromVector;
                num++;
                objFromVector = DerExternal.GetObjFromVector(vector, num);
            }
            if (!(objFromVector is DerTaggedObject))
            {
                throw new InvalidOperationException("No tagged object found in vector. Structure doesn't seem to be of type External");
            }
            if (vector.Count != num + 1)
            {
                throw new ArgumentException("input vector too large", "vector");
            }
            if (!(objFromVector is DerTaggedObject))
            {
                throw new ArgumentException("No tagged object found in vector. Structure doesn't seem to be of type External", "vector");
            }
            DerTaggedObject derTaggedObject = (DerTaggedObject)objFromVector;

            this.Encoding = derTaggedObject.TagNo;
            if (this.encoding < 0 || this.encoding > 2)
            {
                throw new InvalidOperationException("invalid encoding value");
            }
            this.externalContent = derTaggedObject.GetObject();
        }