【发布时间】:2016-02-17 14:58:08
【问题描述】:
我已经尝试了所有方法,通过 .NET X509Certificate2 + RSACryptoServiceProvider 实例导入基于 BouncyCastle 的 X509Certificate 实例和关联的私钥 (RsaPrivateCrtKeyParameters),并将其保存到证书存储中(.NET 的 X509Store,My/CurrentUser) .
在证书存储 MMC 管理单元中,似乎有一个与证书关联的私钥,并且我已经验证在磁盘上的适当位置创建了一个新的密钥容器,但是当我尝试导出证书时,我收到可怕的“注意:找不到关联的私钥。只能导出证书”消息。
如果我运行 certutil -user -repairstore my THUMBPRINT,我会收到以下错误:
错误:证书公钥与存储的密钥集不匹配
从它吐出的其他信息中,我可以清楚地看到公钥不同,并且算法参数在证书公钥上等于“05 00”,而不是在容器公钥上。
事实上,我不知道有容器公钥的概念,所以我现在很困惑。有没有人有一些工作代码可以做到这一点?
【问题讨论】:
-
不确定您的代码是什么样子,但我的(从 Bouncy Castle 导出为 .pfx 文件,然后通过 BCL 类导入商店)可以完美运行。私钥和证书的合并是在 Bouncy Castle 端进行的,而不是在 BCL 中。
标签: c# x509certificate bouncycastle