WINDOWS对文件签名,算法如何由sha1改为sha256/sha512
Posted 柳鲲鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WINDOWS对文件签名,算法如何由sha1改为sha256/sha512相关的知识,希望对你有一定的参考价值。
默认算法是sha1。自己测试还行,如果正式发布显然是有点……怎么办?经过一番反复折腾、搜索、验证,终于完成了。
- 下载正确的签名包
https://download.csdn.net/download/quantum7/36133788
- 使用压缩包中提供的bat
操作有点麻烦,所以提供了三个bat,一个是配置,一个初始化,一个签名操作。两个文件的密码、文件等要做适当修改。
三个文件的具体内容如下。
- 配置文件TaishanSignatureConfig.bat
@ECHO OFF
SET TSIT_NAME=taishan-it
SET PASSWORD=TaishanQuantum6
SET ALGORITHM=sha512
SET START_DATE=01/01/2021
SET END_DATE=12/31/2050
SET SIGN_INFO="CN=柳鲲鹏,EMAIL=quantum6@yeah.net"
SET HTTP_TIMESTAMP=http://timestamp.digicert.com/scripts/timestamp.dll
- TaishanSignatureInitiator.bat:使用sha512初始化签名相关
@ECHO OFF
CALL TaishanSignatureConfig.bat
DEL %TSIT_NAME%.pvk
DEL %TSIT_NAME%.cer
DEL %TSIT_NAME%.spc
DEL %TSIT_NAME%.pfx
REM 会要求输入密码
Makecert -r -a %ALGORITHM% -sv %TSIT_NAME%.pvk ^
-b %START_DATE% ^
-e %END_DATE% ^
-n %SIGN_INFO% ^
%TSIT_NAME%.cer
Cert2spc %TSIT_NAME%.cer %TSIT_NAME%.spc
Pvk2Pfx -pvk %TSIT_NAME%.pvk -pi %PASSWORD% ^
-spc %TSIT_NAME%.spc -pfx %TSIT_NAME%.pfx -f
- TaishanSignatureWorker.bat:签名时指定sha512
@ECHO OFF
CALL TaishanSignatureConfig.bat
SET DEST_DIR=.
ECHO -
for %%i in (Office.exe ^
TPlayerCore.dll ^
) ^
do (
ECHO Sign %%i now!
IF EXIST %DEST_DIR%\\%%i (
REM 一个命令也可以完成
REM SignTool sign /v /as /f %TSIT_NAME%.pfx ^
REM /p %PASSWORD% /fd %NEW_ALGORITHM% ^
REM /tr %HTTP_TIMESTAMP% ^
REM %DEST_DIR%\\%%i
REM 为了方便察看,使用两个命令
SignTool sign /v /as /f %TSIT_NAME%.pfx ^
/p %PASSWORD% /fd %ALGORITHM% ^
%DEST_DIR%\\%%i
SignTool timestamp /tr %HTTP_TIMESTAMP% ^
%DEST_DIR%\\%%i
)
ECHO -
)
以上是关于WINDOWS对文件签名,算法如何由sha1改为sha256/sha512的主要内容,如果未能解决你的问题,请参考以下文章
PDF签名 提示windows加密服务提供程序报告了错误 指定的算法无效