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

NoticeReference

using Org.BouncyCastle.Math; using System; using System.Collections.Generic; namespace Org.BouncyCastle.Asn1.X509 { public class NoticeReference : Asn1Encodable { private readonly DisplayText organization; private readonly Asn1Sequence noticeNumbers; public virtual DisplayText Organization => organization; private static Asn1EncodableVector ConvertVector(IList<object> numbers) { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(numbers.Count); foreach (object number in numbers) { DerInteger element; if (number is BigInteger) element = new DerInteger((BigInteger)number); else { if (!(number is int)) throw new ArgumentException(); element = new DerInteger((int)number); } asn1EncodableVector.Add(element); } return asn1EncodableVector; } public NoticeReference(string organization, IList<object> numbers) : this(organization, ConvertVector(numbers)) { } public NoticeReference(string organization, Asn1EncodableVector noticeNumbers) : this(new DisplayText(organization), noticeNumbers) { } public NoticeReference(DisplayText organization, Asn1EncodableVector noticeNumbers) { this.organization = organization; this.noticeNumbers = new DerSequence(noticeNumbers); } private NoticeReference(Asn1Sequence seq) { if (seq.Count != 2) throw new ArgumentException("Bad sequence size: " + seq.Count.ToString(), "seq"); organization = DisplayText.GetInstance(seq[0]); noticeNumbers = Asn1Sequence.GetInstance(seq[1]); } public static NoticeReference GetInstance(object obj) { if (obj is NoticeReference) return (NoticeReference)obj; if (obj == null) return null; return new NoticeReference(Asn1Sequence.GetInstance(obj)); } public virtual DerInteger[] GetNoticeNumbers() { return noticeNumbers.MapElements(DerInteger.GetInstance); } public override Asn1Object ToAsn1Object() { return new DerSequence(organization, noticeNumbers); } } }