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

TimeStampAndCrl

using Org.BouncyCastle.Asn1.X509; namespace Org.BouncyCastle.Asn1.Cms { public class TimeStampAndCrl : Asn1Encodable { private ContentInfo timeStamp; private CertificateList crl; public virtual ContentInfo TimeStampToken => timeStamp; public virtual CertificateList Crl => crl; public static TimeStampAndCrl GetInstance(object obj) { if (obj == null) return null; TimeStampAndCrl timeStampAndCrl = obj as TimeStampAndCrl; if (timeStampAndCrl != null) return timeStampAndCrl; return new TimeStampAndCrl(Asn1Sequence.GetInstance(obj)); } public static TimeStampAndCrl GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new TimeStampAndCrl(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public TimeStampAndCrl(ContentInfo timeStamp) { this.timeStamp = timeStamp; } private TimeStampAndCrl(Asn1Sequence seq) { timeStamp = ContentInfo.GetInstance(seq[0]); if (seq.Count == 2) crl = CertificateList.GetInstance(seq[1]); } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(timeStamp); asn1EncodableVector.AddOptional(crl); return new DerSequence(asn1EncodableVector); } } }