BouncyCastle是否创建PKCS 7加密文件?C#

BouncyCastle是否创建PKCS 7加密文件?C#,c#,bouncycastle,encryption-asymmetric,pkcs#7,C#,Bouncycastle,Encryption Asymmetric,Pkcs#7,我正在尝试使用BouncyCastle使用PKCS 7文件标准对文件进行加密。下面是我的代码,它输出一个p7m文件。当我去解密文件(使用委托)时,系统会提示我输入密钥存储密码,因此它知道该文件是使用AES 128为我加密的,但它无法解密文件体。加密系统一定出了问题 byte[] fileContent = readFile(filename); FileStream outStream = null; Stream cryptoStream = null; BinaryWriter binWr

我正在尝试使用BouncyCastle使用PKCS 7文件标准对文件进行加密。下面是我的代码,它输出一个p7m文件。当我去解密文件(使用委托)时,系统会提示我输入密钥存储密码,因此它知道该文件是使用AES 128为我加密的,但它无法解密文件体。加密系统一定出了问题

byte[] fileContent = readFile(filename);

FileStream outStream = null;
Stream cryptoStream = null;
BinaryWriter binWriter = null;

try
{
    CmsEnvelopedDataStreamGenerator dataGenerator = new CmsEnvelopedDataStreamGenerator();
    dataGenerator.AddKeyTransRecipient(cert); //cert is the user's x509cert that i am encrypting for
    outStream = new FileStream(filename + ".p7m", FileMode.Create);
    cryptoStream = dataGenerator.Open(outStream, CmsEnvelopedGenerator.Aes128Cbc);
    binWriter = new BinaryWriter(cryptoStream);

    binWriter.Write(fileContent);
}
当我尝试使用BouncyCastle解密文件时,当我将文件内容传递给CMSEDeveloped对象时,会出现以下错误:

IOException converting stream to byte array: Attempted to read past the end of the stream.

有什么想法吗?

我使用EnvelopedCMS类来完成这个任务