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

CertificateList

using System; using System.Collections.Generic; namespace Org.BouncyCastle.Asn1.X509 { public class CertificateList : Asn1Encodable { private readonly TbsCertificateList tbsCertList; private readonly AlgorithmIdentifier sigAlgID; private readonly DerBitString sig; public TbsCertificateList TbsCertList => tbsCertList; public AlgorithmIdentifier SignatureAlgorithm => sigAlgID; public DerBitString Signature => sig; public int Version => tbsCertList.Version; public X509Name Issuer => tbsCertList.Issuer; public Time ThisUpdate => tbsCertList.ThisUpdate; public Time NextUpdate => tbsCertList.NextUpdate; public static CertificateList GetInstance(Asn1TaggedObject obj, bool explicitly) { return GetInstance(Asn1Sequence.GetInstance(obj, explicitly)); } public static CertificateList GetInstance(object obj) { if (obj == null) return null; CertificateList certificateList = obj as CertificateList; if (certificateList != null) return certificateList; return new CertificateList(Asn1Sequence.GetInstance(obj)); } private CertificateList(Asn1Sequence seq) { if (seq.Count != 3) throw new ArgumentException("sequence wrong size for CertificateList", "seq"); tbsCertList = TbsCertificateList.GetInstance(seq[0]); sigAlgID = AlgorithmIdentifier.GetInstance(seq[1]); sig = DerBitString.GetInstance(seq[2]); } public CrlEntry[] GetRevokedCertificates() { return tbsCertList.GetRevokedCertificates(); } public IEnumerable<CrlEntry> GetRevokedCertificateEnumeration() { return tbsCertList.GetRevokedCertificateEnumeration(); } public byte[] GetSignatureOctets() { return sig.GetOctets(); } public override Asn1Object ToAsn1Object() { return new DerSequence(tbsCertList, sigAlgID, sig); } } }