使用signtool.exe签署多个文件

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

我有一个从第三方 CA 购买的数字证书,我想用它来签署包含大量库文件/包 (.bpl) 的软件。然而,一一签署需要花费很多时间,我想知道有什么方法可以让我用更短的时间签署所有文件?

我当前用来签署文件的命令如下:

signtool.exe sign /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a  "Insert_path_to_the_file_you_wish_to_sign" 

windows certificate digital-signature signtool
1个回答
2
投票

我在并行循环中使用签名工具签署多个文件。它似乎有效,但我注意到我们的证书提供商 (DigiCert) 建议您避免并发请求。 https://dev.digicert.com/best-practices/

因此,我现在在一个命令中使用signtool - 在一个命令行参数中传递所有文件。根据微软的文档,您可以使用“|”每个文件之间。

signtool [命令] [选项] [文件名 | ...]

https://learn.microsoft.com/en-us/dotnet/framework/tools/signtool-exe


Digicert 的 DigiCertUtil 在每个文件之间使用“*”,这可能对某人有用。

Filenames 是要进行代码签名的文件列表。指定更多然后 一个文件,用星号分隔每个文件名或文件路径 特点 *。如果文件路径包含空格,请用引号将其括起来。

示例:

DigiCertUtil.exe sign /kernelDriverSigning "example.exe*driver.sys"
DigiCertUtil.exe sign /sha1 "054D9508B364A02A068FA5C6153847B6" "example.exe*driver.sys"

根据避免并发请求的建议,我假设即使在 SignTool 或 DigiCertUtil 中指定多个文件,这些文件仍将一次签名一个。

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