示例#1
0
        /**
         * Parse a {@link OcspStatusRequest} from a {@link Stream}.
         *
         * @param input
         *            the {@link Stream} to parse from.
         * @return an {@link OcspStatusRequest} object.
         * @throws IOException
         */
        public static OcspStatusRequest Parse(Stream input)
        {
            IList responderIDList = Org.BouncyCastle.Utilities.Platform.CreateArrayList();
            {
                int length = TlsUtilities.ReadUint16(input);
                if (length > 0)
                {
                    byte[]       data = TlsUtilities.ReadFully(length, input);
                    MemoryStream buf  = new MemoryStream(data, false);
                    do
                    {
                        byte[]      derEncoding = TlsUtilities.ReadOpaque16(buf);
                        ResponderID responderID = ResponderID.GetInstance(TlsUtilities.ReadDerObject(derEncoding));
                        responderIDList.Add(responderID);
                    }while (buf.Position < buf.Length);
                }
            }

            X509Extensions requestExtensions = null;

            {
                int length = TlsUtilities.ReadUint16(input);
                if (length > 0)
                {
                    byte[] derEncoding = TlsUtilities.ReadFully(length, input);
                    requestExtensions = X509Extensions.GetInstance(TlsUtilities.ReadDerObject(derEncoding));
                }
            }

            return(new OcspStatusRequest(responderIDList, requestExtensions));
        }
示例#2
0
        public static OcspStatusRequest Parse(Stream input)
        {
            //IL_001b: Unknown result type (might be due to invalid IL or missing references)
            //IL_0021: Expected O, but got Unknown
            global::System.Collections.IList list = Platform.CreateArrayList();
            int num = TlsUtilities.ReadUint16(input);

            if (num > 0)
            {
                byte[]       array = TlsUtilities.ReadFully(num, input);
                MemoryStream val   = new MemoryStream(array, false);
                do
                {
                    byte[]      encoding = TlsUtilities.ReadOpaque16((Stream)(object)val);
                    ResponderID instance = ResponderID.GetInstance(TlsUtilities.ReadDerObject(encoding));
                    list.Add((object)instance);
                }while (((Stream)val).get_Position() < ((Stream)val).get_Length());
            }
            X509Extensions requestExtensions = null;
            int            num2 = TlsUtilities.ReadUint16(input);

            if (num2 > 0)
            {
                byte[] encoding2 = TlsUtilities.ReadFully(num2, input);
                requestExtensions = X509Extensions.GetInstance(TlsUtilities.ReadDerObject(encoding2));
            }
            return(new OcspStatusRequest(list, requestExtensions));
        }
示例#3
0
		public static OcspStatusRequest Parse(Stream input)
		{
			IList list = Platform.CreateArrayList();
			int num = TlsUtilities.ReadUint16(input);
			if (num > 0)
			{
				byte[] buffer = TlsUtilities.ReadFully(num, input);
				MemoryStream memoryStream = new MemoryStream(buffer, writable: false);
				do
				{
					byte[] encoding = TlsUtilities.ReadOpaque16(memoryStream);
					ResponderID instance = ResponderID.GetInstance(TlsUtilities.ReadDerObject(encoding));
					list.Add(instance);
				}
				while (memoryStream.Position < memoryStream.Length);
			}
			X509Extensions requestExtensions = null;
			int num2 = TlsUtilities.ReadUint16(input);
			if (num2 > 0)
			{
				byte[] encoding2 = TlsUtilities.ReadFully(num2, input);
				requestExtensions = X509Extensions.GetInstance(TlsUtilities.ReadDerObject(encoding2));
			}
			return new OcspStatusRequest(list, requestExtensions);
		}
示例#4
0
 private OcspIdentifier(Asn1Sequence seq)
 {
     if (seq == null)
     {
         throw new ArgumentNullException("seq");
     }
     if (seq.Count != 2)
     {
         throw new ArgumentException("Bad sequence size: " + seq.Count, "seq");
     }
     this.ocspResponderID = ResponderID.GetInstance(seq[0].ToAsn1Object());
     this.producedAt      = (DerGeneralizedTime)seq[1].ToAsn1Object();
 }
示例#5
0
 private OcspIdentifier(Asn1Sequence seq)
 {
     //IL_000e: Unknown result type (might be due to invalid IL or missing references)
     //IL_0037: Unknown result type (might be due to invalid IL or missing references)
     if (seq == null)
     {
         throw new ArgumentNullException("seq");
     }
     if (seq.Count != 2)
     {
         throw new ArgumentException(string.Concat((object)"Bad sequence size: ", (object)seq.Count), "seq");
     }
     ocspResponderID = ResponderID.GetInstance(seq[0].ToAsn1Object());
     producedAt      = (DerGeneralizedTime)seq[1].ToAsn1Object();
 }
        public static OcspStatusRequest Parse(Stream input)
        {
            IList responderIDList = Platform.CreateArrayList();
            int   length          = TlsUtilities.ReadUint16(input);

            if (length > 0)
            {
                MemoryStream stream = new MemoryStream(TlsUtilities.ReadFully(length, input), false);
                do
                {
                    ResponderID instance = ResponderID.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadOpaque16(stream)));
                    responderIDList.Add(instance);
                }while (stream.Position < stream.Length);
            }
            X509Extensions requestExtensions = null;
            int            num2 = TlsUtilities.ReadUint16(input);

            if (num2 > 0)
            {
                requestExtensions = X509Extensions.GetInstance(TlsUtilities.ReadDerObject(TlsUtilities.ReadFully(num2, input)));
            }
            return(new OcspStatusRequest(responderIDList, requestExtensions));
        }