【发布时间】:2015-11-28 01:23:57
【问题描述】:
var store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);
var certificates = store.Certificates.Find(
X509FindType.FindByThumbprint, thumbprint, false);
X509Certificate2 cert = certificates[0];
现在我们有了 X509Certificate2 实例。如何检查可导出的私钥? (最好不要尝试显式导出)
【问题讨论】:
-
使用什么机制和参数导出?该代码仅显示查找证书。
-
没关系。例如,使用充气城堡:
var key = DotNetUtilities.GetKeyPair(GetCertificate(thumbprint).PrivateKey).Private;。如果证书不可导出,此代码将引发异常。或者在 windows 证书 mmc 管理单元中,您可以选择证书,右键单击它,所有任务,导出。当证书不可导出时,可以禁用出现的窗口私钥无线电。我想以编程方式检测它:是否可导出。
标签: c# .net certificate