【发布时间】:2017-12-18 11:10:34
【问题描述】:
我正在使用 Wiktor Zychla (http://www.wiktorzychla.com/2012/12/how-to-create-x509certificate2.html) 的这篇博文中的 CertificateGenerator.GenerateCertificate 创建 x509Certificate2
Bouncy Castle crypto library 用于生成证书文件。我需要使用更强的签名算法,所以我使用的是SHA256withRSA,而不是SHA1withRSA(示例中的一个)。
生成证书并成功导出到.pfx文件。稍后使用证书时出现错误Invalid algorithm specified。
运行 certutil -dump mycert.pfx 时,我看到设置了错误的加密服务提供程序 (CSP):Microsoft Base Cryptographic Provider v1.0
...
---------------- 结束嵌套级别 1 ----------------
Provider = Microsoft Base Cryptographic Provider v1.0
...
我如何告诉 Bouncy Castle API 使用不同的 CSP?Microsoft Enhanced RSA 和 AES Cryptographic Provider,实际上可以处理 SHA256withRSA。
Bouncy Castle 和C# 上的资源非常少,因此非常感谢任何指向一些文档或相关示例的链接。
CryptoAPI CSP 和算法列表,它们支持:
https://msdn.microsoft.com/en-us/library/windows/desktop/bb931357(v=vs.85).aspx
【问题讨论】:
标签: c# cryptography x509certificate bouncycastle x509certificate2