windows下如何制作和应用数字签名证书 全流程

xingyun86 2022-12-5 1386

windows下如何制作和应用数字签名证书 全流程

需要准备的工具:makecert.exe、cert2spc.exe、pvk2pfx.exe、signtool.exe。下载

1、生成一个自签名的根证书(issuer,签发者)。

makecert.exe -sv c:\mykey.pvk -n "CN=Comapy Name" c:\myCert.cer

会弹出提示框,首先给RootIssuer.pvk文件设置私钥保护口令password ;

2、再次输入这个口令用私钥(在RootIssuer.pvk文件中)来给公钥(在RootIssuer.cer文件中)加密。

cert2spc.exe c:\mycert.cer c:\mycert.spc

3、 将公钥证书和私钥合并成一个PFX格式的证书文件

pvk2pfx.exe -pvk mykey.pvk -pi password -spc mykey.spc -pfx mykey.pfx -po password

4、签名(双签名)

SignTool sign /v /fd sha1 /f "mykey.pfx" /p "password" /t http://timestamp.digicert.com "myfile.exe"
SignTool sign /v /as /fd sha256 /f "mykey.pfx" /p "password" /tr http://timestamp.digicert.com "myfile.exe"

5、批处理

将文件夹下所有的文件进行签名

set DIR="%C:\Users\Lenovo\Desktop\signtest\file%"
echo DIR=%DIR%
for /R %DIR% %%f in (*.*) do ( 
	SignTool sign /v /fd sha1 /f "mykey.pfx" /p "password" /t http://timestamp.digicert.com %%f
 
	SignTool sign /v /as /fd sha256 /f "mykey.pfx" /p "password" /tr http://timestamp.digicert.com %%f
) 
pause

参考:

echo off & color 0A
::指定起始文件夹
set DIR="%cd%"
echo DIR=%DIR
:: 参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹
:: %%f 是一个变量,类似于迭代器,但是这个变量只能由一个字母组成,前面带上%%
:: 括号中是通配符,可以指定后缀名,*.*表示所有文件
for /R %DIR% %%f in (*.txt) do ( 
echo %%f
)
pause

补充:

【对自己的软件加盖时间戳】

可以使用WoSign提供的时间戳服务:http://timestamp.wosign.com/timestamp

SignTool timestamp /t http://timestamp.verisign.com/scripts/timstamp.dll abc.exe


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回