0
我正在嘗試使用BouncyCastle來使用PKCS 7文件標準來加密文件。這是我輸出一個p7m文件的代碼。當我去解密文件時(使用Entrust),系統提示我輸入密鑰存儲密碼,所以它知道使用AES 128爲我加密了文件,但它無法解密文件正文。加密時必須出錯。BouncyCastle創建PKCS 7加密文件? C#
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的當我通過文件內容到CMSEnveloped對象我得到這個錯誤解密文件:
IOException converting stream to byte array: Attempted to read past the end of the stream.
任何想法,這裏發生了什麼?