- 安装Windows SDK路径通常为`C:Program Files (x86)Windows Kits10bin10.0.xxx.0x64signtool.exe`;
- 安装Visual Studio,勾选“Windows SDK”组件。
确认工具可用:打开命令提示符,输入`signtool /?`,显示帮助信息即安装成功。
三、执行DLL签名操作
1. 测试环境自签名证书
若使用自签名证书,执行以下命令需替换路径: `signtool sign /f "C:证书路径test_cert.pfx" /p 证书密码 "C:目标路径example.dll"`- `/f`:指定证书文件路径;
- `/p`:证书密码若证书密码可省略;
- 最后为待签名DLL文件路径。
2. 正式环境权威CA证书
使用商业证书时,需添加时间戳服务确保签名长期有效,避免证书过期后签名失效,命令格式: `signtool sign /f "C:证书路径ca_cert.pfx" /p 证书密码 /t http://timestamp.digicert.com "C:目标路径example.dll"`- `/t`:指定时间戳服务器地址常用:DigiCert `http://timestamp.digicert.com`、VeriSign `http://timestamp.verisign.com`。 四、验证签名有效性 签名成后,需确认是否成功,执行验证命令: `signtool verify /pa "C:目标路径example.dll"`
- `/pa`:验证“代码签名”证书DLL常用类型;
- 输出显示“成功”即表示签名有效;若提示“签名效”,需检查证书是否过期、时间戳是否添加或DLL文件是否被篡改。
五、关键意事项
- 证书安全:私钥文件需加密存储,避免泄露;
- 时间戳必填:正式发布必须添加时间戳,否则证书过期后签名失效;
- 位数匹配:32位/64位DLL签名差异,工具自动适配。
怎样给DLL文件添加数字签名?
如何对DLL文件添加数字签名
一、获取数字证书
数字签名的核心是数字证书,需提前准备有效证书。测试场景可使用自签名证书通过OpenSSL等工具生成;正式发布需从权威CA机构如VeriSign、DigiCert申请商业证书。证书格式通常为PFX或P12,包含私钥和公钥,需妥善保管私钥及密码。
二、准备签名工具
Windows系统中,signtool.exe是官方签名工具,需提前安装。可通过以下方式获取:
