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

RevAnnContent

public class RevAnnContent : Asn1Encodable
using Org.BouncyCastle.Asn1.Crmf; using Org.BouncyCastle.Asn1.X509; using System; namespace Org.BouncyCastle.Asn1.Cmp { public class RevAnnContent : Asn1Encodable { private readonly PkiStatusEncodable m_status; private readonly CertId m_certID; private readonly Asn1GeneralizedTime m_willBeRevokedAt; private readonly Asn1GeneralizedTime m_badSinceDate; private readonly X509Extensions m_crlDetails; public virtual PkiStatusEncodable Status => m_status; public virtual CertId CertID => m_certID; public virtual Asn1GeneralizedTime WillBeRevokedAt => m_willBeRevokedAt; public virtual Asn1GeneralizedTime BadSinceDate => m_badSinceDate; public virtual X509Extensions CrlDetails => m_crlDetails; public static RevAnnContent GetInstance(object obj) { if (obj == null) return null; RevAnnContent revAnnContent = obj as RevAnnContent; if (revAnnContent != null) return revAnnContent; return new RevAnnContent(Asn1Sequence.GetInstance(obj)); } public static RevAnnContent GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new RevAnnContent(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static RevAnnContent GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new RevAnnContent(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } public RevAnnContent(PkiStatusEncodable status, CertId certID, Asn1GeneralizedTime willBeRevokedAt, Asn1GeneralizedTime badSinceDate) : this(status, certID, willBeRevokedAt, badSinceDate, null) { } public RevAnnContent(PkiStatusEncodable status, CertId certID, Asn1GeneralizedTime willBeRevokedAt, Asn1GeneralizedTime badSinceDate, X509Extensions crlDetails) { if (status == null) throw new ArgumentNullException("status"); m_status = status; if (certID == null) throw new ArgumentNullException("certID"); m_certID = certID; if (willBeRevokedAt == null) throw new ArgumentNullException("willBeRevokedAt"); m_willBeRevokedAt = willBeRevokedAt; if (badSinceDate == null) throw new ArgumentNullException("badSinceDate"); m_badSinceDate = badSinceDate; m_crlDetails = crlDetails; } private RevAnnContent(Asn1Sequence seq) { int count = seq.Count; int sequencePosition = 0; if (count < 4 || count > 5) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_status = PkiStatusEncodable.GetInstance(seq[sequencePosition++]); m_certID = CertId.GetInstance(seq[sequencePosition++]); m_willBeRevokedAt = Asn1GeneralizedTime.GetInstance(seq[sequencePosition++]); m_badSinceDate = Asn1GeneralizedTime.GetInstance(seq[sequencePosition++]); m_crlDetails = Asn1Utilities.ReadOptional(seq, ref sequencePosition, X509Extensions.GetOptional); if (sequencePosition != count) throw new ArgumentException("Unexpected elements in sequence", "seq"); } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(5); asn1EncodableVector.Add(m_status, m_certID, m_willBeRevokedAt, m_badSinceDate); asn1EncodableVector.AddOptional(m_crlDetails); return new DerSequence(asn1EncodableVector); } } }