Автор: eav Добрый день.
Вы приложили подписанный файл, а где зашифрованный?
Я ориентировался на код из примера class StreamSign
Я полагал, что это и есть шифрование
Что в этом коде нужно поменять, чтобы он не подписывал (подпись мне не нужна) а шифровал?
/// <summary>
/// Кодирование CMS в поточном режиме.
/// </summary>
/// <param name="cert">сертификат, на котором шифровать. Если не указывать, то должна быть заполнена коллекция commonX509Certificale2Collection</param>
/// <param name="inFile">файл, который подлежит шифрованию</param>
/// <param name="outFile">зашифрованный файл</param>
/// <param name="detached">отсоединенная подпись (FALSE по умолчанию)</param>
public void
Encode(X509Certificate2 cert, FileStream inFile,
FileStream outFile, bool detached = false)
{
CMSWin32.CMSG_SIGNER_ENCODE_INFO SignerInfo;
CMSWin32.CMSG_SIGNED_ENCODE_INFO SignedInfo;
CMSWin32.CMSG_STREAM_INFO StreamInfo;
CMSWin32.CERT_CONTEXT[] CertContexts = null;
CMSWin32.BLOB[] CertBlobs;
X509Chain chain = null;
X509ChainElement[] chainElements = null;
X509Certificate2[] certs = null;
AsymmetricAlgorithm key = null;
ICspAsymmetricAlgorithm ikey = null;
GCHandle gchandle = new GCHandle();