使用自签证书给自己的程序签名
前因
由于Golang编写的程序总是在Windows平台下报毒,网上查阅以后,发现通过签名可以缓解此类问题(并没有根治,总之Windows Defender很迷就是了)。
过程
需要先安装VisualStudio,因为签名相关工具被包含在VisualStudio的开发工具里。
创建CA:
makecert -r -pe -n "CN=My CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv MyCA.pvk MyCA.cer
导入CA(也可以忽略):
certutil -user -addstore Root MyCA.cer
创建代码签名证书:
makecert -pe -n "CN=My SPC" -a sha256 -cy end -sky signature -ic MyCA.cer -iv MyCA.pvk -sv MySPC.pvk MySPC.cer
转为PFX文件:
pvk2pfx -pvk MySPC.pvk -spc MySPC.cer -pfx MySPC.pfx
如果需要加密码,则增加 -po fess
参数
给可执行文件签名:
signtool sign /v /f MySPC.pfx /t http://timestamp.digicert.com /fd SHA256 MyExecutable.exe
其中http://timestamp.digicert.com可替换为以下值: