使用自签证书给自己的程序签名

前因

由于Golang编写的程序总是在Windows平台下报毒,网上查阅以后,发现通过签名可以缓解此类问题(并没有根治,总之Windows Defender很迷就是了)。

过程

需要先安装VisualStudio,因为签名相关工具被包含在VisualStudio的开发工具里。

  1. 创建CA:

    makecert -r -pe -n "CN=My CA" -ss CA -sr CurrentUser -a sha256 -cy authority -sky signature -sv MyCA.pvk MyCA.cer

  2. 导入CA(也可以忽略):

    certutil -user -addstore Root MyCA.cer

  3. 创建代码签名证书:

    makecert -pe -n "CN=My SPC" -a sha256 -cy end -sky signature -ic MyCA.cer -iv MyCA.pvk -sv MySPC.pvk MySPC.cer

  4. 转为PFX文件:

    pvk2pfx -pvk MySPC.pvk -spc MySPC.cer -pfx MySPC.pfx

如果需要加密码,则增加 -po fess 参数

  1. 给可执行文件签名:

    signtool sign /v /f MySPC.pfx /t http://timestamp.digicert.com /fd SHA256 MyExecutable.exe

其中http://timestamp.digicert.com可替换为以下值:

标签: none

添加新评论