<PackageReference Include="BouncyCastle.Cryptography" Version="2.7.0-beta.98" />

OriginatorInfo

public class OriginatorInfo : Asn1Encodable
using System; namespace Org.BouncyCastle.Asn1.Cms { public class OriginatorInfo : Asn1Encodable { private readonly Asn1Set m_certs; private readonly Asn1Set m_crls; public Asn1Set Certificates => m_certs; public Asn1Set Crls => m_crls; public static OriginatorInfo GetInstance(object obj) { if (obj == null) return null; OriginatorInfo originatorInfo = obj as OriginatorInfo; if (originatorInfo != null) return originatorInfo; return new OriginatorInfo(Asn1Sequence.GetInstance(obj)); } public static OriginatorInfo GetInstance(Asn1TaggedObject obj, bool explicitly) { return new OriginatorInfo(Asn1Sequence.GetInstance(obj, explicitly)); } public static OriginatorInfo GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new OriginatorInfo(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } public OriginatorInfo(Asn1Set certs, Asn1Set crls) { m_certs = certs; m_crls = crls; } [Obsolete("Use 'GetInstance' instead")] public OriginatorInfo(Asn1Sequence seq) { int count = seq.Count; int sequencePosition = 0; if (count < 0 || count > 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_certs = Asn1Utilities.ReadOptionalContextTagged(seq, ref sequencePosition, 0, false, Asn1Set.GetTagged); m_crls = Asn1Utilities.ReadOptionalContextTagged(seq, ref sequencePosition, 1, false, Asn1Set.GetTagged); if (sequencePosition != count) throw new ArgumentException("Unexpected elements in sequence", "seq"); } public override Asn1Object ToAsn1Object() { Asn1EncodableVector asn1EncodableVector = new Asn1EncodableVector(2); asn1EncodableVector.AddOptionalTagged(false, 0, m_certs); asn1EncodableVector.AddOptionalTagged(false, 1, m_crls); return new DerSequence(asn1EncodableVector); } } }