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

CrlStatus

public class CrlStatus : Asn1Encodable
using Org.BouncyCastle.Asn1.X509; using System; namespace Org.BouncyCastle.Asn1.Cmp { public class CrlStatus : Asn1Encodable { private readonly CrlSource m_source; private readonly Time m_thisUpdate; public virtual CrlSource Source => m_source; public virtual Time ThisUpdate => m_thisUpdate; public static CrlStatus GetInstance(object obj) { if (obj == null) return null; CrlStatus crlStatus = obj as CrlStatus; if (crlStatus != null) return crlStatus; return new CrlStatus(Asn1Sequence.GetInstance(obj)); } public static CrlStatus GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new CrlStatus(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static CrlStatus GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new CrlStatus(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private CrlStatus(Asn1Sequence seq) { int count = seq.Count; int sequencePosition = 0; if (count < 1 || count > 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_source = CrlSource.GetInstance(seq[sequencePosition++]); m_thisUpdate = Asn1Utilities.ReadOptional(seq, ref sequencePosition, Time.GetOptional); if (sequencePosition != count) throw new ArgumentException("Unexpected elements in sequence", "seq"); } public CrlStatus(CrlSource source, Time thisUpdate) { if (source == null) throw new ArgumentNullException("source"); m_source = source; m_thisUpdate = thisUpdate; } public override Asn1Object ToAsn1Object() { if (m_thisUpdate != null) return new DerSequence(m_source, m_thisUpdate); return new DerSequence(m_source); } } }