<PackageReference Include="System.Security.Cryptography.Pkcs" Version="10.0.11" />

Internal.Cryptography.PkcsPal

abstract class PkcsPal
namespace Internal.Cryptography { internal abstract class PkcsPal { public static PkcsPal Instance { get; } protected PkcsPal(); public abstract byte[] Encrypt(CmsRecipientCollection recipients, ContentInfo contentInfo, AlgorithmIdentifier contentEncryptionAlgorithm, X509Certificate2Collection originatorCerts, CryptographicAttributeObjectCollection unprotectedAttributes); public abstract DecryptorPal Decode(ReadOnlySpan<byte> encodedMessage, out int version, out ContentInfo contentInfo, out AlgorithmIdentifier contentEncryptionAlgorithm, out X509Certificate2Collection originatorCerts, out CryptographicAttributeObjectCollection unprotectedAttributes); public abstract Oid GetEncodedMessageType(ReadOnlySpan<byte> encodedMessage); public abstract void AddCertsFromStoreForDecryption(X509Certificate2Collection certs); public abstract Exception CreateRecipientsNotFoundException(); public abstract Exception CreateRecipientInfosAfterEncryptException(); public abstract Exception CreateDecryptAfterEncryptException(); public abstract Exception CreateDecryptTwiceException(); public abstract byte[] GetSubjectKeyIdentifier(X509Certificate2 certificate); public abstract T GetPrivateKeyForSigning<T>(X509Certificate2 certificate, bool silent) where T : class, IDisposable; public abstract T GetPrivateKeyForDecryption<T>(X509Certificate2 certificate, bool silent) where T : class, IDisposable; } }