签名工具说明
SignTool.exe签名工具是一个命令行工具,用于对文件进行数字签名,验证文件和时间戳文件中的签名。
安装 Visual Studio 和 Windows SDK 时会自动安装此工具。要运行工具,我们建议您使用 Visual Studio 命令提示符或 Windows SDK 命令提示符(也称 CMD Shell)。您可以使用这些实用程序轻松运行工具,而不需要导航到安装文件夹。
打开Visual Studio 命令提示符
Visual Studio:在任务栏上依次单击 Start、All Programs、Visual Studio、Visual Studio Tools、Visual Studio Command Prompt。
创建 X.509 证书
在命令提示符中输入:
Makecert -sv D:\\123.pvk -r -n "CN=123" D:\\123.cer
备注:123.pvk密钥文件,来保存私钥,123.cer证书文件
回车后会提示输入秘钥,输入密码及确认密码:123465,点击ok
验证秘钥,输入上一步设置的秘钥123456
证书创建成功
创建发行者证书
使用命令:Cert2spc D:\\123.cer D:\\123.spc
导出pfx证书文件
使用pvk2pfx.exe工具从pvk文件中导出pfx文件:
pvk2pfx -pvk D:\\123.pvk -pi 123456 -spc D:\\123.spc -pfx D:\\123.pfx -f
进行软件签名
输入签名命令
signtool sign /f D:\\123.pfx /p 123456 D:\\Tcp.dll
软件加盖时间戳
signtool timestamp /t http://timestamp.digicert.com/scripts/timestamp.dll D:\\Tcp.dll
证书查看
数字证书签名说明
以上的数字证书是自己生成的不被认可,真正有用的证书还是要去专业机构申请
参考资料
https://blog.csdn.net/itjobtxq/article/details/9986795
https://www.jianshu.com/p/cc085fbb2a21
https://blog.csdn.net/joyous/article/details/8286314
https://docs.microsoft.com/zh-cn/dotnet/framework/tools/signtool-exe?redirectedfrom=MSDN#sign