Internal.Cryptography.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;
}
}