我正在尝试see this question with 50% success以避免使用Windows对话框并通过我自己的代码输入证书私钥的密码。
我可以使用存储在智能卡上的证书来做到这一点,但是对于存储在PC中的证书没有成功。我的问题是为什么?
我在this article it is explained the required process.看到我们的团体政策为我们的儿童用户设定了。当我们导入证书时,我们会看到这个窗口。
当我们使用Outlook的证书时,可以看到这一点
此外,在安全选项下的组策略中,“强制保护计算机上存储的用户密钥”具有“用户必须在每次使用密钥时输入密码”这意味着每次我阅读电子邮件时都需要这样的证书我需要输入密码。
对我来说,一个卑微的.net程序员这些东西意味着用户每次都必须输入一个密码,但在Windows /安全人员说话这也意味着Windows必须提供UI才能做到这一点吗?换句话说,当我尝试为其证书存储在PC上的密钥添加密码时,它会失败。
如果到目前为止我是正确的,那么解决方法是什么。证书可以以文件形式保存并使用吗?它可以保存在数据库中并检索吗?或者是存储在智能卡上的唯一真正的替代方案,然后政策似乎是不同的。
这是否也意味着Windows必须提供UI来做到这一点?
是的,操作系统将显示私钥访问对话框(同意提示或密码输入对话框)。
换句话说,当我尝试为其证书存储在PC上的密钥添加密码时,它会失败。
目前还不清楚究竟是什么失败了。你得到什么错误信息?在什么条件下?
IIRC,您无法在策略实施后为已安装的证书添加密码。强制执行策略时,只有新生成/请求的证书才需要用户输入。从PFX导入时,可以选择指定密钥保护标志。但是,一旦安装了证书,您就无法更改此设置。