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

ProtectedPart

public class ProtectedPart : Asn1Encodable
using System; namespace Org.BouncyCastle.Asn1.Cmp { public class ProtectedPart : Asn1Encodable { private readonly PkiHeader m_header; private readonly PkiBody m_body; public virtual PkiHeader Header => m_header; public virtual PkiBody Body => m_body; public static ProtectedPart GetInstance(object obj) { if (obj == null) return null; ProtectedPart protectedPart = obj as ProtectedPart; if (protectedPart != null) return protectedPart; return new ProtectedPart(Asn1Sequence.GetInstance(obj)); } public static ProtectedPart GetInstance(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new ProtectedPart(Asn1Sequence.GetInstance(taggedObject, declaredExplicit)); } public static ProtectedPart GetTagged(Asn1TaggedObject taggedObject, bool declaredExplicit) { return new ProtectedPart(Asn1Sequence.GetTagged(taggedObject, declaredExplicit)); } private ProtectedPart(Asn1Sequence seq) { int count = seq.Count; if (count != 2) throw new ArgumentException("Bad sequence size: " + count.ToString(), "seq"); m_header = PkiHeader.GetInstance(seq[0]); m_body = PkiBody.GetInstance(seq[1]); } public ProtectedPart(PkiHeader header, PkiBody body) { if (header == null) throw new ArgumentNullException("header"); m_header = header; if (body == null) throw new ArgumentNullException("body"); m_body = body; } public override Asn1Object ToAsn1Object() { return new DerSequence(m_header, m_body); } } }