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

OcspIdentifier

public class OcspIdentifier : Asn1Encodable
using Org.BouncyCastle.Asn1.Ocsp; using Org.BouncyCastle.Asn1.X509; using System; namespace Org.BouncyCastle.Asn1.Esf { public class OcspIdentifier : Asn1Encodable { private readonly ResponderID m_ocspResponderID; private readonly Asn1GeneralizedTime m_producedAt; public ResponderID OcspResponderID => m_ocspResponderID; public Asn1GeneralizedTime ProducedAtData => m_producedAt; public DateTime ProducedAt => m_producedAt.ToDateTime(); public static OcspIdentifier GetInstance(object obj) { if (obj == null) return null; OcspIdentifier ocspIdentifier = obj as OcspIdentifier; if (ocspIdentifier != null) return ocspIdentifier; return new OcspIdentifier(Asn1Sequence.GetInstance(obj)); } public static OcspIdentifier GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new OcspIdentifier(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static OcspIdentifier GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new OcspIdentifier(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private OcspIdentifier(Asn1Sequence seq) { int num = 2; if (num != 2) throw new ArgumentException("Bad sequence size: " + num.ToString(), "seq"); m_ocspResponderID = ResponderID.GetInstance(seq[0]); m_producedAt = Asn1GeneralizedTime.GetInstance(seq[1]); } public OcspIdentifier(ResponderID ocspResponderID, DateTime producedAt) : this(ocspResponderID, Rfc5280Asn1Utilities.CreateGeneralizedTime(producedAt)) { } public OcspIdentifier(ResponderID ocspResponderID, Asn1GeneralizedTime producedAt) { if (ocspResponderID == null) throw new ArgumentNullException("ocspResponderID"); m_ocspResponderID = ocspResponderID; if (producedAt == null) throw new ArgumentNullException("producedAt"); m_producedAt = producedAt; } public override Asn1Object ToAsn1Object() { return new DerSequence(m_ocspResponderID, m_producedAt); } } }