<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" />

Request

public class Request : Asn1Encodable
using Org.BouncyCastle.Asn1.X509; using System; namespace Org.BouncyCastle.Asn1.Ocsp { public class Request : Asn1Encodable { private readonly CertID m_reqCert; private readonly X509Extensions m_singleRequestExtensions; public CertID ReqCert => m_reqCert; public X509Extensions SingleRequestExtensions => m_singleRequestExtensions; public static Request GetInstance(object obj) { if (obj == null) return null; Request request = obj as Request; if (request != null) return request; return new Request(Asn1Sequence.GetInstance(obj)); } public static Request GetInstance(Asn1TaggedObject obj, bool explicitly) { return new Request(Asn1Sequence.GetInstance(obj, explicitly)); } public static Request GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new Request(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } public Request(CertID reqCert, X509Extensions singleRequestExtensions) { if (reqCert == null) throw new ArgumentNullException("reqCert"); m_reqCert = reqCert; m_singleRequestExtensions = singleRequestExtensions; } private Request(Asn1Sequence seq) { int count = seq.Count; if (count < 1 || count > 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); int sequencePosition = 0; m_reqCert = CertID.GetInstance(seq[sequencePosition++]); m_singleRequestExtensions = Asn1Utilities.ReadOptionalContextTagged(seq, ref sequencePosition, 0, true, X509Extensions.GetTagged); if (sequencePosition != count) throw new ArgumentException("Unexpected elements in sequence", "seq"); } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(2); asn1EncodableVector.Add(m_reqCert); asn1EncodableVector.AddOptionalTagged(true, 0, m_singleRequestExtensions); return new DerSequence(asn1EncodableVector); } } }