【问题标题】:Exporting X509Certificate2 (with public key only) to .CER file将 X509Certificate2(仅使用公钥)导出到 .CER 文件
【发布时间】:2026-01-11 23:15:01
【问题描述】:

我可以访问内存中 X509Certicate2 类型的对象(它同时具有私钥和公钥)。我需要生成一个物理 .CER 文件,最终用户可以双击该文件并将其导入证书存储区。

到目前为止,我这样做的尝试都失败了。我尝试了各种方法将证书的公钥转储到文件中,但证书工具无法导入。

有什么建议吗?

【问题讨论】:

  • 您要导出的不仅仅是证书的公钥,而是整个证书。 (它不包含私钥。X509Certificate2 只是为了方便而关联了私钥。)
  • 谢谢,重新编辑主题。感谢任何建议。

标签: .net x509certificate public-key-encryption


【解决方案1】:

事实证明,正如 Bruno 所说,我需要做的就是在对象本身上调用 Export 方法,并且只包含公钥的字节数组已准备好保存为 *.cer 文件

【讨论】:

    【解决方案2】:

    您可以查看 Mono 源代码并学习它的 makecert,

    https://github.com/mono/mono/blob/master/mcs/tools/security/makecert.cs

    【讨论】: