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加密服务提供程序报告了错误 指定的算法无效

Android签名文件jks中的sha1值是怎么来的

Android签名文件jks中的sha1值是怎么来的

什么是SHA1加密技术

signtool 无法使用时间戳对 SHA2 和 SHA1 进行双重签名

获取APK/签名文件的SHA1证书,MD5