windows - 来自 signtool 的错误 80096005 - 我怎么签名错了?
问题描述
我正在尝试签署一个可执行文件。我用来签名的命令行是signtool sign -fd SHA256 -tr http://freetsa.org/tsr -td SHA256
.
运行signtool verify -v -pa
声称时间戳格式错误:
SignTool Warning: An error has been found with the timestamp.
CERT_TRUST_STATUS.dwErrorStatus: 0x00000020
CERT_TRUST_STATUS.dwInfoStatus: 0x00000020
SignTool Error: WinVerifyTrust returned error: 0x80096005
The timestamp signature and/or certificate could not be verified or is malformed.
运行signtool verify -v
声明而不是根证书不受信任:
SignTool Warning: An error has been found with the timestamp.
CERT_TRUST_STATUS.dwErrorStatus: 0x00000020
CERT_TRUST_STATUS.dwInfoStatus: 0x00000020
SignTool Error: A certificate chain processed, but terminated in a root
certificate which is not trusted by the trust provider.
有问题的根证书是:
Issued to: AAA Certificate Services
Issued by: AAA Certificate Services
Expires: Sun Dec 31 16:59:59 2028¹
SHA1 Hash: D1EB23A46D17D68FD92564C2F1F1601764D8E349
¹我不确定为什么要在这个特定时间。如果是当地时间,那就是 2100 UTC。如果它是针对 DST 更正的当地时间,则为 2200。这并不是说这有什么不同。
无论如何,我检查了受信任的证书。实际上,有问题的根证书受到计算机的信任。
怎么了?
解决方案
原来问题在于它freetsa.org
实际上并没有签署它的时间戳。切换服务器解决了这个问题。
推荐阅读
- c - C - 复制字符串数组
- c++ - C++ 在线程运行时按下箭头键
- xmlhttprequest - Gartic.io - 它是如何工作的?XHR 请求
- android - Android 构建错误:程序类型已存在:android.support.v7.app.**
- javascript - 为什么事件处理程序会在 Firefox 中引发错误?
- java - 哪个资源限定符用于 android 布局屏幕?
- firebase-cloud-messaging - 无需选择加入即可推送到网络
- spring - Websphere 9.0.7 上的 Spring Boot 2 扩展失败
- javascript - 如何在使用 axios 和 ReactJS 做出反应选择后获取数据?
- r - R中服务器函数内的聚合函数闪亮