代码之家  ›  专栏  ›  技术社区  ›  Johnny Egeland

在C语言中解密PKCS#7加密数据#

  •  4
  • Johnny Egeland  · 技术社区  · 16 年前

    我正在研究一种需要解密PKCS#7加密数据的解决方案,最好是用C。据我所见,.NET api通过System.Security.Cryptography.Pkcs命名空间对此提供了支持。然而,该实现似乎只能在字节数组上工作。那么,当我有一个无法放入内存的大型加密文件时,我该怎么办?

    我是否在这里遗漏了什么,或者是否有其他方法可以在流级别执行此操作,而不是使用ByteArray?

    4 回复  |  直到 16 年前
        1
  •  5
  •   Rasmus Faber    16 年前

    NET framework对PKCS#7/CMS只有基本的支持,因此它不支持数据流。

    他们的测试可能是寻找示例代码的好地方: EnvelopedDataStreamTest.cs

        2
  •  1
  •   Kredns    16 年前

    我发现 an example 如何在C中解密PKCS#7。这可能足以让你开始。

        3
  •  1
  •   Ngoc N. Truong    16 年前

    2.0中的.Net Framework提供了pkcs命名空间,帮助我们在pkcs#7标准中进行签名/加密/解密。请参阅此处了解概述 http://msdn.microsoft.com/en-us/library/bb885086.aspx 下面是一个很好的例子http:*msdn.microsoft.com/en-us/library/bb924565.aspx。

        4
  •  0
  •   James Black    16 年前

    您是否可以选择从更改为使用BouncyCastle API http://www.bouncycastle.org/csharp/ ,因为它使用流进行解密。

    但是,我不相信它可以使用PKCS#7加密数据,因此您还需要在加密端使用BouncyCastle。

    下面是使用此API的示例: http://elian.co.uk/post/2009/07/29/Bouncy-Castle-CSharp.aspx

    http://www.geekpedia.com/tutorial227_Encrypting-and-Decrypting-Files-with-Csharp.html

    推荐文章