我有一个从第三方 CA 购买的数字证书,我想用它来签署包含大量库文件/包 (.bpl) 的软件。然而,一一签署需要花费很多时间,我想知道有什么方法可以让我用更短的时间签署所有文件?
我当前用来签署文件的命令如下:
signtool.exe sign /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a "Insert_path_to_the_file_you_wish_to_sign"
我在并行循环中使用签名工具签署多个文件。它似乎有效,但我注意到我们的证书提供商 (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 中指定多个文件,这些文件仍将一次签名一个。