Signtool 使用调试选项的输出

Signtool using output from debug option

我正在使用 SignTool 和数字证书来签署 dll。

dll 的签名是我构建过程的一个步骤。我使用 msbuild 构建我的应用程序,因此它是 Target 之一,并使用 Exec Command 对 dll 进行签名,如下所示 -

<Exec Command = "signtool sign /a /v /sha1 $(SHA1) $(binPath)\app.exe" />
where $(SHA) is the hash of the certificate 
$(binPath) is the path of the binaries

现在这不签署 dll 并给我一个错误说明

SignTool Error: No certificates were found that met all the given criteria.

我根据这个 post

尝试了 debug 个选项

我得到了以下输出

21:00:06,920 INFO  - The following certificates were considered:
21:00:06,923 INFO  - Issued to: <Issued to company name>
21:00:06,923 INFO  -
21:00:06,923 INFO  - Issued by: <Issued by company name>
21:00:06,923 INFO  -
21:00:06,924 INFO  - Expires: Mon Nov 28 05:29:59 2016
21:00:06,924 INFO  -
21:00:06,924 INFO  - SHA1 hash: D5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxDA
21:00:06,924 INFO  -
21:00:06,924 INFO  -
21:00:06,924 INFO  - Issued to: <Issued to company name>
21:00:06,924 INFO  -
21:00:06,924 INFO  - Issued by: <Issued by company name>
21:00:06,924 INFO  -
21:00:06,924 INFO  - Expires: Sun Dec 10 05:29:59 2023
21:00:06,924 INFO  -
21:00:06,924 INFO  - SHA1 hash: D0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxBC
21:00:06,924 INFO  -
21:00:06,924 INFO  -
21:00:06,925 INFO  - Issued to: <Issued to company name>
21:00:06,925 INFO  -
21:00:06,925 INFO  - Issued by: <Issued by company name>
21:00:06,925 INFO  -
21:00:06,925 INFO  - Expires: Thu Jul 17 05:29:59 2036
21:00:06,925 INFO  -
21:00:06,925 INFO  - SHA1 hash: 91xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx81
21:00:06,925 INFO  -
21:00:06,925 INFO  -
21:00:06,925 INFO  - After EKU filter, 3 certs were left.
21:00:06,925 INFO  - After expiry filter, 2 certs were left.
21:00:06,925 INFO  - After Hash filter, 0 certs were left.
21:00:06,925 INFO  - After Private Key filter, 0 certs were left.
21:00:06,925 INFO  - SignTool Error: No certificates were found that met all the given criteria.

获得此输出后,我不知道该如何继续。

然而还有一个观察,

SignTool 通过命令提示符 运行 成功签署 dll。

现在这件事让我发疯。

请求帮助。

我发现了问题,快速构建服务器是使用与我用来登录它的帐户不同的帐户启动的。

所以数字证书是用我用来登录我的构建计算机的帐户安装的。

现在由于 QuickBuild 使用不同的帐户来构建它无法找到数字证书。

然后我使用 QuickBuild 正在使用的帐户登录到构建计算机并安装了数字证书,一切都开始工作了。