本帖最后由 Spring 于 2015-9-26 23:33 编辑
EXE需要的是代码签名证书,得去有权限的颁发机构(国内的比如天威诚信)申请,基本都是要收钱的(一年期大概几千块),一般会给你一个 pfx 格式的文件并告诉你密码,然后你自己使用签名工具可视化操作就可以完成签名了。
当然,要在自己电脑上随便玩玩,可以自己生成一个证书,导入到受信任的区域,用这个给程序签名就可以了
我把这些操作写到一个批处理里面:
MakeCertAndSign.bat- @echo off
- REM 几个时间戳服务器
- REM http://timestamp.verisign.com/scripts/timstamp.dll
- REM http://timestamp.globalsign.com/scripts/timstamp.dll
- REM http://timestamp.wosign.com/timestamp
-
- :Default
- set fn=我叫叶良辰
- set CN=Spring
- set O=Bathome
- set C=CN
- set EMAIL=Sprint@bathome.net
- set b=10/25/2007
- set e=10/24/2048
-
- :Customize
- set /p fn=生成的证书文件名(例如 "%fn%"):
- set /p CN=签名人(例如 "%CN%"):
- set /p O=组织(例如 "%O%"):
- set /p C=国家(例如 "%C%"):
- set /p EMAIL=电子邮件(例如 "%EMAIL%"):
- set /p b=证书生效日(例如 "%b%"):
- set /p e=证书失效日(例如 "%e%"):
-
- :MakeCert
- makecert -n "CN=%CN%,O=%O%,C=%CN%,EMAIL=%EMAIL%" -r -b %b% -e %e% -sv %fn%.pvk %fn%.cer
- cert2spc %fn%.cer %fn%.spc
-
- if %errorlevel% neq 0 goto :Exception
-
- :SignWizard
- echo 已经生成名为 %fn% 的证书,按任意键启动签名工具进行签名。
- pause>nul
- start /w signtool signwizard
- echo 完成。
- pause>nul
-
- goto :EOF
-
- :Exception
- echo 操作失败。
- pause>nul
复制代码 下面是一个签好的VBS代码,保存为文件之后,你可以在属性里面看到数字签名标签
SignedScripts.vbs复制代码 (代码末尾有一个空行,是必须的。编辑几次帖子都不行,给吃掉了,手动加上把。。。)
http://www.ungeiliable.com/transhcan/MakeCertAndSign.zip |