
756
|
第
18
章
18.4.1.2 利用 signtool.exe 进行签名
Visual Studio 附带的 signtool.exe 工具可对程序进行认证代码签名。如果在调用时添加
signwizard 标志,则该工具会显示一个用户界面;否则可以使用以下命令行的形式进
行调用:
signtool sign /sha1
(thumbprint) filename
证书的指纹就是在计算机的证书库中展示的证书指纹。如果证书是一个文件,则可以利
用 /f 指定文件名,使用 /p 指定密码。例如:
signtool sign /sha1 ff813c473dc93aaca4bac681df472b037fa220b3 LINQPad.exe
也可以使用 /d 和 /du 来提供描述信息或产品的 URL。例如:
...
/d
LINQPad
/du
http://www.linqpad.net
大多数情况下还要指定时间戳服务器。
18.4.1.3 时间戳
在证书过期之后,就不能再对程序进行签名。但是如果在签名时使用 /t 开关指定了时
间戳服务器,那么在过期之前的签名仍然是有效的。CA 还会为此提供一个 URI。以下
就是 Comodo(或 者 Ksoftware)提供的 URI:
...
/t
http://timestamp.comodoca.com/authenticode
18.4.1.4 验证一个程序是否已经被签名
查看文件的认证代码签名最容易的方式是在 Windows 资源管理其中查看文件的属性(在