X509Certificate2有私钥不可导出?

Sno*_*owy 4 .net c# security ssl-certificate x509certificate

在Win Server 2008上,我可以执行下面的代码,当我尝试通过MMC GUI导出证书时,我也没有选择导出私钥的选项.但是,如果我使用GUI导入证书,我也可以导出私钥.我的代码中缺少什么?

string certfile = @"mycert.p12";
SecureString secString = new SecureString();
foreach (char c in "password")
{
    secString.AppendChar(c);
}

X509Certificate2 cert = new X509Certificate2(certfile, secString, X509KeyStorageFlags.Exportable);
var store = new X509Store(StoreName.My , StoreLocation.CurrentUser);
store.Add(cert);
Run Code Online (Sandbox Code Playgroud)

Sno*_*owy 9

啊哈.密钥存储标志应该是可导出持久的.

X509KeyStorageFlags.Exportable | X509KeyStorageFlags.PersistKeySet
Run Code Online (Sandbox Code Playgroud)

  • 应该是X509KeyStorageFlags.PersistKeySet吗?我似乎无法看到X509KeyStorageFlags.Persisted! (2认同)