小赖子的英国生活和资讯

微软的文件数字签名

阅读 桌面完整版

文件数字签名就是对可执行文件进行签名认证, 原理有点和网站的SSL类似, 主要是用来保障用户拿到的文件(安装文件, 通过下载的)是原始的, 是未被更改的, 这样就能很大程度的避免了病毒的感染. 文件数字签名主要分两种, 一种是微软的可执行文件, 一种则是 Java 程序 (可能其它平台上的也有类似, 比如MAC, LINUX). 微软的和JAVA的文件认证很不一样. 我们公司最近花了 500 美元一年买到了一年对任意文件进行签名的服务. 因为作为一个商业的公司, 有信誉的, 别人就期望你所发布的程序(文件)都是经过签名的.

首先, 在购买完之后, 你会收到邮件, 里面有一个 pickup 链接, 需要在 IE 浏览器下 (其它的不行) 打开, 并安装证书. 安装完之后, 就可以到IE的配置选项里, 找到 内容这一页, 点击证书.

certificates-ssl-internet-explorer-pickup-link

选择相应的证书, 如果在这里没有, 那么要么证书无效, 要么就是已经在别的浏览器(或者别的电脑)上已经安装过了.

pfx-export

点击导出, 就会出来一个向导, 这是用来一步一步配置导出到PFX证书文件的.

pfx-export-wizard-yes-private-key-plz

一定要勾选包括所有子证书.

pfx-export-wizard-yes-private-key-plz-pkcs12

然后对每一个证书都需要设置一个密码.

pfx-export-with-password

然后就可以导出到PFX格式的证书了.

pfx-export-wizard-confirmation

有了PFX, 就可以使用微软的工具 signtool.exe 比如在这个目录下(SDK) C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe

推荐把所有参数都写在一个批处理里

@echo off
:: sign.bat
:: helloacm.com
signtool.exe sign /f export.pfx /p 密码填这里 /t http://timestamp.verisign.com/scripts/timstamp.dll /du https://helloacm.com %1

把一个目录下的所有文件*.exe, *.dll 都签名了, 可以这么写批处理:

@echo off
:: helloacm.com
for /R %1 %%g in (*.dll, *.exe) do (
	echo 正在对文件进行数字签名 "%%g" ..
	sign.bat "%%g"
)

当文件已经被签名了, 你可以右键查看数字签名那一栏.

digital-sign-file-ok-tab

digital-sign-file-ok

也可以使用第三方工具sigcheck来核实 : [点击下载] sigcheck 签名验证工具

sigcheck

英文同步: https://helloacm.com/code-digital-sign-for-microsoft-executables-including-dlls-quick-tutorial/

强烈推荐

微信公众号: 小赖子的英国生活和资讯 JustYYUK

阅读 桌面完整版
Exit mobile version