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

Org.BouncyCastle.Cms.SignerInformation

public class SignerInformation
namespace Org.BouncyCastle.Cms { public class SignerInformation { protected SignerInfo info; protected AlgorithmIdentifier digestAlgorithm; protected AlgorithmIdentifier encryptionAlgorithm; protected readonly Asn1Set signedAttributeSet; protected readonly Asn1Set unsignedAttributeSet; public bool IsCounterSignature { get; } public DerObjectIdentifier ContentType { get; } public SignerID SignerID { get; } public int Version { get; } public AlgorithmIdentifier DigestAlgorithmID { get; } public string DigestAlgOid { get; } public Asn1Object DigestAlgParams { get; } public AlgorithmIdentifier EncryptionAlgorithmID { get; } public string EncryptionAlgOid { get; } public Asn1Object EncryptionAlgParams { get; } public Org.BouncyCastle.Asn1.Cms.AttributeTable SignedAttributes { get; } public Org.BouncyCastle.Asn1.Cms.AttributeTable UnsignedAttributes { get; } protected SignerInformation(SignerInformation baseInfo); public byte[] GetContentDigest(); public byte[] GetSignature(); public SignerInformationStore GetCounterSignatures(); public virtual byte[] GetEncodedSignedAttributes(); public bool Verify(AsymmetricKeyParameter pubKey); public bool Verify(X509Certificate cert); public SignerInfo ToSignerInfo(); public static SignerInformation ReplaceUnsignedAttributes(SignerInformation signerInformation, Org.BouncyCastle.Asn1.Cms.AttributeTable unsignedAttributes); public static SignerInformation AddCounterSigners(SignerInformation signerInformation, SignerInformationStore counterSigners); } }