用于代码签名的时间戳服务器和戳记协议
2023年2月27日
要签署您的代码和文档,您需要通过散列算法传递要验证的代码和文档,然后使用您的私钥对散列进行签名,从而生成数字签名。然后构建一个签名块,其中包含数字签名和代码签名证书。
Microsoft 的SignTool等工具可让您根据时间戳服务提供商(例如 Sectigo)提供的当前日期和时间为签名块添加时间戳。最后,您将带有时间戳的签名块绑定到原始代码或文档,您现在可以将其发布在您的网站上以供下载。
Sectigo的时间戳服务器:http://timestamp.sectigo.com
目前时间戳服务器支持的Sectigo时间戳协议有两种:
1)SignTool(使用“/tr”参数)和其他应用程序(例如 jarsigner)使用RFC 3161时间戳。时间戳服务器会根据您指定的哈希算法(例如,通过SignTool的“/td”参数)。
2)旧版本的SignTool(使用“/t”参数)和SignCode使用Authenticode时间戳。由于此协议的设计,时间戳服务器不可能自动选择适当的签名算法。目前默认使用 RSA/SHA-384。但是,您可以通过将“?td=<hash_algorithm>”附加到 URL 来请求不同的签名算法。例如,http://timestamp.sectigo.com?td =sha256
如果您需要符合 eIDAS 的时间戳服务,请改用以下时间戳服务器:http://timestamp.sectigo.com/qualified。