
步骤一:获取代码签名证书
访问全球知名CA机构(如DigiCert、GlobalSign),申请EV SSL证书并开通代码签名功能。提交企业营业执照、邓白氏编码等资质文件,完成域名所有权验证(DNS解析或邮件验证)。证书下载后,得到`.p12`密钥库文件和签名密码。
步骤二:配置SignTool签名工具
在Windows系统安装SignTool(可通过Windows SDK Manager获取)。打开命令行,输入以下命令
导入证书:
bash
"C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" p12import -c store MyCert.p12 -password [证书密码] -f "D:\MyCert.cer"
将`MyCert.cer`添加到受信任根证书存储区(运行`certmgr.msc`→右键“证书”→所有任务→导入)。
步骤三:对PE文件进行数字签名
在命令行进入待签名文件所在目录,执行:
bash
"C:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" sign /a /fd SHA256 /t http://timestamp.digicert.com [文件名].exe
`/a`参数表示自动查找匹配的证书,`/t`指定时间戳服务器,确保签名长期有效。签名成功后,文件属性中会显示“数字签名”信息。
步骤四:验证签名有效性
双击已签名文件,在“数字签名”选项卡查看详细信息。点击“详细信息”按钮,应显示完整的证书链及未被篡改提示。也可通过在线工具(如SSL Labs的[File Signature Checker](https://www.ssllabs.com/tools/file-checker.))上传文件验证状态。
步骤五:部署HTTPS安全下载链接
将签名后的文件上传至支持TLS 1.3的Web服务器(如Nginx),配置强制HTTPS访问(添加`strict-transport-security`头)。在HTML页面中嵌入下载按钮代码:
下载已认证文件
确保CDN节点启用了OCSP装订(OCSP Stamping),避免浏览器下载时出现证书验证警告。