c# – 在没有私钥的情况下导出X.509证书

我认为这很简单,但显然不是.我安装了一个具有私钥,可导出的证书,我想以编程方式仅使用公钥导出它.换句话说,我想要一个等效于在通过certmgr导出并导出到.CER时选择“不导出私钥”的结果.

似乎所有X509Certificate2.Export方法都会导出私钥(如果存在),如PKCS#12,这与我想要的相反.

有没有办法使用C#来实现这一目标,还是我需要开始深入了解CAPICOM?

最佳答案
对于其他可能偶然发现的人,我想通了.如果将X509ContentType.Cert指定为X509Certificate.Export的第一个(也是唯一的)参数,则它仅导出公钥.另一方面,指定X509ContentType.Pfx包括私钥(如果存在).

我本来可以发誓我上周看到了不同的行为,但我在测试时必须已经安装了私钥.当我今天删除该证书并从头开始时,我看到导出的证书中没有私钥.

转载注明原文:c# – 在没有私钥的情况下导出X.509证书 - 代码日志