设置 "Enable Strong Private Key protection" 时从 Windows 证书存储导出私钥

Export Private key from Windows Certificate Store when "Enable Strong Private Key protection" is set

我正在尝试使用 WinCrypt API 提取安装在 Windows 证书存储中的证书的私钥。 证书安装在 LocalMachine - “我的”商店中,默认情况下“启用强私钥保护”是灰色的(如预期的那样)。 我无法从本地计算机存储导出证书的私钥。当我尝试使用 powershell 命令时,我可以使用私钥导出证书,但我看到确认对话框弹出,如果选中“启用强私钥保护”,通常会出现该对话框。但这似乎不适合本地机器商店。有人可以阐明这一点吗?有没有办法为本地机器存储启用强私钥保护?

最终确定了与 Machine Key 文件夹权限相关的问题。将“完全控制”权限更新为“所有人”,现在我可以毫无问题地获取私钥。参考:https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2008/bb909654(v=vs.90)?redirectedfrom=MSDN 了解如何更改权限。