非管理员用户的SignTool证书位置

3
我正在尝试使用SignTool.exe使用已安装到Windows证书存储区的证书对可执行文件进行代码签名。通过将证书安装到“本地计算机/个人”部分并以管理员身份运行,我可以使其正常工作,但是我似乎无法确定需要安装证书的正确位置以便作为当前用户运行。
我已将证书安装到“当前用户/个人”中,当我执行以下操作时:
Get-ChildItem -Path Cert:\CurrentUser\My

证书已经在列表中。但当我尝试签名时:
& "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\signtool.exe" 
     sign /v /n "West Wind Technologies" 
     /s MY
     /tr "http://timestamp.digicert.com" /td SHA256 /fd SHA256          
     ".\Builds\CurrentRelease\MarkdownMonsterSetup.exe"

以非管理员用户身份运行时无法工作。我得到了以下错误:

SignTool 错误: 找不到符合所有给定条件的证书。

如果我添加 /sm 标志并以管理员身份运行,并且将其放入个人存储中,则可以正常工作。

我必须将证书放在哪个证书存储中才能在没有管理员权限的情况下运行它?

1个回答

0

对于当前用户,您可以使用Certmgr将其导入到个人文件夹中。 我使用signtool /n选项。

如果您在自动化环境中使用signtool,则会更加困难(如果您的安全设置正确),因为构建代理正在运行受限服务帐户。那么一个选项就是使用文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接