我正在尝试用C#创建PKCS#7签名邮件。数字签名是在HSM中单独计算的,所以我已经有了签名的值,我只想创建一个包含它的PKCS#7结构。
我已经研究过在System.Security.Cryptography.Pkcs名称空间中使用SignedCms,但似乎没有提供预先计算的签名的选项。
当我已经有了数字签名的值时,在C#中生成PKCS#7结构的最佳方法是什么?
发布于 2017-01-22 18:14:32
你不能用“内置”的.NET类做到这一点。
然而,我已经创建了一个示例应用程序- Pkcs7SignatureGenerator -用于使用Pkcs11Interop (我是它的作者)和Bouncy Castle库创建内容管理系统签名。
在此应用中,Pkcs11Interop库使用存储在硬件设备中的私钥通过CMS执行签名操作,BouncyCastle库负责构建PKCS#11 (PKCS#7)签名结构。
发布于 2017-01-21 21:21:42
我认为您需要的是X509Certificate2类,使用静态CreateFromSignedFile函数从签名文件中检索证书,或者使用CreateFromCertFile从指定的证书文件创建:
X509Certificate2 cert = X509Certificate2.CreateFromSignedFile(filename);
CmsSigner signer = new CmsSigner(cert);https://stackoverflow.com/questions/41779669
复制相似问题