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

Pkcs7ProcessableObject

using Org.BouncyCastle.Asn1; using System.IO; namespace Org.BouncyCastle.Cms { public class Pkcs7ProcessableObject : CmsProcessable { public DerObjectIdentifier ContentType { get; } public Asn1Encodable Content { get; } public Pkcs7ProcessableObject(DerObjectIdentifier contentType, Asn1Encodable content) { ContentType = contentType; Content = content; } public void Write(Stream outStream) { Asn1Sequence optional = Asn1Sequence.GetOptional(Content); if (optional != null) { foreach (Asn1Encodable item in optional) { item.EncodeTo(outStream, "DER"); } } else { byte[] encoded = Content.GetEncoded("DER"); int i; for (i = 1; (encoded[i] & 128) != 0; i++) { } i++; outStream.Write(encoded, i, encoded.Length - i); } } public object GetContent() { return Content; } } }