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

CertificateValues

using Org.BouncyCastle.Asn1.X509; using System; using System.Collections.Generic; namespace Org.BouncyCastle.Asn1.Esf { public class CertificateValues : Asn1Encodable { private readonly Asn1Sequence m_certificates; public static CertificateValues GetInstance(object obj) { if (obj == null) return null; CertificateValues certificateValues = obj as CertificateValues; if (certificateValues != null) return certificateValues; return new CertificateValues(Asn1Sequence.GetInstance(obj)); } public static CertificateValues GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new CertificateValues(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static CertificateValues GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new CertificateValues(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private CertificateValues(Asn1Sequence seq) { m_certificates = seq; m_certificates.MapElements(X509CertificateStructure.GetInstance); } public CertificateValues(params X509CertificateStructure[] certificates) { m_certificates = DerSequence.FromElements(certificates); } public CertificateValues(IEnumerable<X509CertificateStructure> certificates) { if (certificates == null) throw new ArgumentNullException("certificates"); m_certificates = DerSequence.FromVector(Asn1EncodableVector.FromEnumerable(certificates)); } public CertificateValues(IReadOnlyCollection<X509CertificateStructure> certificates) { if (certificates == null) throw new ArgumentNullException("certificates"); m_certificates = DerSequence.FromCollection(certificates); } public X509CertificateStructure[] GetCertificates() { return m_certificates.MapElements(X509CertificateStructure.GetInstance); } public override Asn1Object ToAsn1Object() { return m_certificates; } } }