certutil -addstore -user -f Root 给出 error_access_denied,尽管以管理员身份运行

问题描述 投票:0回答:1

尝试使用以下命令将证书文件(xxx.cer)安装到用户的根证书列表中

certutil -addstore -user -f Root .\xxx.cer

导致错误消息

CertUtil: -addstore command FAILED: 0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED)

我正在从提升的管理提示符下运行此命令。尝试通过 mmc-gui 安装证书会导致相同的错误消息。通过

psexec -i -s
作为系统帐户运行它可以工作,但是,当然,证书不在用户的上下文中。

尝试在任何其他电脑上安装证书都可以正常工作,因此文件没问题。

sfc /scannow
也不会出现任何错误。

知道我能做些什么来解决这个问题吗?

windows certificate certutil
1个回答
0
投票

问题出在注册表项 Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\SystemCertificates\Root\ProtectedRoots 上,用户无权访问 - 需要读取。由于某种原因,此密钥的访问权限中有一个“未知”的用户 SID。删除它并添加正确的用户解决了问题。

我通过在 certutil.exe 上运行 procmon 发现了这一点。当它尝试读取此注册表项时,这会显示“访问被拒绝”结果。

© www.soinside.com 2019 - 2024. All rights reserved.