[英]Create a PKCS#7 signed message in c# with a precomputed signature
我正在尝试在 C# 中创建一条 PKCS#7 签名消息。 数字签名是在 HSM 中单独计算的,所以我已经有了签名的值,我只想创建一个包含它的 PKCS#7 结构。
我已经研究过在 System.Security.Cryptography.Pkcs 命名空间中使用 SignedCms ,但这似乎没有提供预计算签名的选项。
当我已经拥有数字签名的值时,在 C# 中生成 PKCS#7 结构的最佳方法是什么?
AFAIK 你不能用“内置”.NET 类来做到这一点。
但是,我创建了一个示例应用程序 - Pkcs7SignatureGenerator - 用于使用Pkcs11Interop (我是其作者)和Bouncy Castle库创建 CMS 签名。
在此应用程序中,Pkcs11Interop 库通过 PKCS#11 API 使用存储在硬件设备中的私钥执行签名操作,BouncyCastle 库负责构建 CMS (PKCS#7) 签名结构。
我想你想要的是X509Certificate2
类,使用静态CreateFromSignedFile
函数从签名文件中检索证书,或者使用CreateFromCertFile
从指定的证书文件中创建:
X509Certificate2 cert = X509Certificate2.CreateFromSignedFile(filename);
CmsSigner signer = new CmsSigner(cert);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.