windows - Signtool.exe 成功但零签名添加到文件
问题描述
我正在编写一个自定义 CNG 提供程序(密钥存储提供程序)以允许在 Signtool.exe 中使用我们的私有 HSM API 进行签名我在我的 CNG 提供程序中实现了 API 并成功安装在我的 Windows 10 系统中。
命令:
signtool.exe sign /v /debug /f cert.cer /csp "Sample Key Storage Provider" /k "keyid" /t http://timestamp.digicert.com /fd sha256 helloworld.exe
Signtool.exe 成功并返回代码 0,但最终没有向文件添加任何签名。
验证输出:
signtool.exe verify /v /pa helloworld.exe
Verifying: helloworld.exe
Signature Index: 0 (Primary Signature)
Hash of file (sha256): 3338A11DDAB9CBB7B39E65C30F235C2DF8EDE17BB5BE759A3213D25EC286F390
Signing Certificate Chain:
Issued to: Sample Certificate Authority
Issued by: Sample Certificate Authority
Expires: Fri Feb 07 21:37:36 2070
SHA1 hash: 2B5B37DADFCBD018BDB2789176A69708FFCA25E0
Issued to: Sample test certificate
Issued by: Sample Certificate Authority
Expires: Thu May 28 13:40:10 2020
SHA1 hash: A679DF5E89B9C23E57E89AEB434CA98230F52DC3
The signature is timestamped: Sun Mar 29 16:44:01 2020
Timestamp Verified by:
Issued to: DigiCert Assured ID Root CA
Issued by: DigiCert Assured ID Root CA
Expires: Sun Nov 09 17:00:00 2031
SHA1 hash: 0563B8630D62D75ABBC8AB1E4BDFB5A899B24D43
Issued to: DigiCert SHA2 Assured ID Timestamping CA
Issued by: DigiCert Assured ID Root CA
Expires: Tue Jan 07 05:00:00 2031
SHA1 hash: 3BA63A6E4841355772DEBEF9CDCF4D5AF353A297
Issued to: TIMESTAMP-SHA256-2019-10-15
Issued by: DigiCert SHA2 Assured ID Timestamping CA
Expires: Wed Oct 16 17:00:00 2030
SHA1 hash: 0325BD505EDA96302DC22F4FA01E4C28BE2834C5
SignTool Error: No signature found.
Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1
但是,当我查看文件属性中的数字签名选项卡时,它确实显示了一个条目。当我选择条目时,它说“主题中没有签名”。
我在这里想念什么?
解决方案
signtool.exe sign
/v
/debug
/f cert.cer
/csp "Sample Key Storage Provider"
/k "keyid"
/t http://timestamp.digicert.com
/fd sha256
helloworld.exe
使用时文档说/f
SignCertFile
:
- 如果文件是 a
.pfx
,则必须使用/p
来指定密码 - 如果文件不包含私钥,则必须指定
/csp
CSPName
/kc
PrivKeyContainerName
我看到你确实指定/csp
:
/csp "Sample Key Storage Provider"
但是您没有指定/kc
.
我确实看到你指定/k
- 这没什么。
推荐阅读
- javascript - 避免自动完成下拉多次附加相同值的最佳方法?
- android - Glide,可以获得图像文件大小(不是尺寸)吗?
- mysql - MySQL用子分区重新组织分区
- opencv - 如何计算每个通道值的 RGB 图像标准偏差
- python - Django不导入CSS
- javascript - React - 未使用回调中设置的道具表达式重新渲染的子组件数组
- python - 项目 Euler #12 - 两种代码的性能差异
- python - 如何基于计时器迭代数据帧?
- javascript - 单击链接或导航外部时如何关闭导航?
- asp.net - HttpClient.SendAsync exeption:底层连接已关闭:连接意外关闭