gpt4 book ai didi

windows - X509 证书访问私钥被拒绝

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:52 25 4
gpt4 key购买 nike

我正在从计算机的个人存储中的 PKCS #12 文件(使用 PFXImportCertStore 加密 API)导入 X509。

问题:

在“本地服务”帐户或任何非管理员帐户下运行的任何进程都不能访问私钥(Windows 仅限管理员用户)。

如何向非管理员用户和本地服务授予对证书私钥的访问权限?

注意:

由于多个进程使用证书,我更喜欢使用计算机存储而不是用户存储。

最佳答案

这是一个有一些陷阱的棘手问题。当我终于在 this post 中找到拯救我的评论时,我遇到了同样的问题并且几乎绝望了。

我成功地为在 Network Service 帐户下运行的本地服务执行了此操作。

首先,可以选择授予其他用户访问 MS 证书库中证书私钥的权限。我已经将此归类为德鲁伊知识:此选项在上下文菜单中可用(右键单击证书),但如果证书位于 localMachine\Personal 商店。在那里,在条目 All tasks 中,您将找到子条目 Manage Private Keys。这在其他商店中可用,甚至在 CurrentUser\Personal 商店中也不可用。

此条目会打开一个对话框,允许您为其他用户添加对证书的访问权限。在这里,下一个障碍等着你:默认设置是在域中搜索用户,而不是在本地机器上。除非您更改搜索过滤器,否则可能找不到所需的用户。

我通过谷歌搜索很快就得到了这个结果,但没有帮助。我可以让服务运行,但前提是我将服务用户更改为登录帐户,这不是我想要的(顺便说一句,这导致解决方法:为服务创建一个本地用户帐户并从中导入证书该用户帐户。然后您可以将证书放在几乎任何商店中,它会正常工作)

这就是上面引用的帖子的用武之地,对我来说是最后一个障碍:只有当您从 MMC 管理单元中将证书导入证书存储区时,上述过程似乎才有效。选择商店 localMachine\Personal 并使用上下文菜单导入相关证书。 (我选择使私钥可导出,这在这里可能相关也可能不相关)。如果您通过在文件系统中双击证书来导入证书,它将被导入到 Current User 位置的某个商店中。我曾经这样做,然后将其移至 localMachine\Personal 文件夹并更改访问权限——这对我来说从未有用。只有在从 MMC 证书管理单元中的 localMachine\Personal 中导入它后,它才能立即工作...

(另请注意,您必须将证书放入服务用户可以找到的存储中。您当前的用户存储通常不允许这样做,因此 localMachine 是更好的选择,无论如何)

不知道以后能不能把证书搬来搬去,不过在系统里查起来很方便..

关于windows - X509 证书访问私钥被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com