【问题标题】:SignTool Certificate Location for non-Admin user非管理员用户的 SignTool 证书位置
【发布时间】:2016-10-06 00:20:33
【问题描述】:

我正在尝试使用 SignTool.exe 对带有安装到 Windows 证书存储中的证书的可执行文件进行代码签名。我可以通过将证书安装到 Local Machine/Personal 部分然后以管理员身份运行来使其工作,但我似乎无法确定需要安装证书以作为当前运行的正确位置用户。

我已将证书安装到 Current User/Personal 中,当我这样做时:

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 标志并以管理员身份运行将它放在个人商店中 - 它可以工作。

在没有管理员权限的情况下,我必须将证书放在证书存储的什么位置才能使其运行?

【问题讨论】:

    标签: windows code-signing code-signing-certificate


    【解决方案1】:

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

    当您在自动化环境中使用 signtool 时会有点困难,因为(如果您的安全设置正确)构建代理在有限的服务帐户下运行。一个选项可能是使用文件。

    【讨论】:

      猜你喜欢
      • 2014-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-02
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      相关资源
      最近更新 更多