【问题标题】:BouncyCastle create PKCS 7 Encrypted File? C#BouncyCastle 创建 PKCS 7 加密文件? C#
【发布时间】:2011-03-16 23:21:38
【问题描述】:

我正在尝试使用 BouncyCastle 使用 PKCS 7 文件标准加密文件。这是我输出p7m文件的代码。当我去解密文件(使用 Entrust)时,系统会提示我输入我的密钥存储密码,因此它知道文件是使用 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 解密文件时,当我将文件内容传递给 CMSEnveloped 对象时出现此错误:

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

有什么想法吗?

【问题讨论】:

    标签: c# bouncycastle encryption-asymmetric pkcs#7


    【解决方案1】:

    我使用 EnvelopedCMS 类来完成这项工作。

    http://msdn.microsoft.com/en-us/library/bb924575(VS.90).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 2020-07-29
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多