使用privateKey从文件中解密c#或.net中的p7m文件

本文关键字:文件 net 中的 p7m 解密 privateKey 使用 | 更新日期: 2023-09-27 18:17:27

希望有人能帮助我的代码,因为我在它的工作3个月没有任何成功。我试了网上几乎所有的东西,但没有一个不工作。

问题:我已经加密文件p7m(大小158KB)(它是加密文本)。我有证书文件pfx,密码"a"。此证书中包含解密p7m文件所需的公钥。

我需要读xyyv的东西。p7m文件,用公钥解密,保存为XYZ.xyz

我没有把我的任何代码在这里,以免混淆你。由于

使用privateKey从文件中解密c#或.net中的p7m文件

pkcs# 7结构可能非常混乱(实际上对于大多数ASN.1结构来说都是如此)。如果我们不知道这个文件是用什么产生的,我们就不能给出太多具体的建议。

一般来说,System.Security.Cryptography.Pkcs中有读取它们的代码,但很容易创建无法正确处理的文件(有效或无效)。如果它们是使用不同的工具生成的,则更多。

Mono在Mono.Security中提供了读取它们的类。它们是非常低级的API(有一些助手),所以,理论上,它们应该能够读取任何东西……只要你不介意编码处理你的格式本身。

其他库,如BouncyCastle,将提供类似的(低级或高级)API来处理pkcs# 7文件。