签署代码

写在前面
准备环境
创 建CA
建立证书并安装到apache
建立证书并安装到tomcat
建立证书和 导入到Thunderbird
建立证书并签名.net文件
建立证书并签名jar文件apache

前言


为了识别程序是谁发行的以及是否被篡改过,出现了代码签名技术。微软的签名工具能够对exe,dll,cab等文件进行签名。tomcat

要对代码签名,须要准备三个东西:服务器

  • 数字证书(pfx格式),
  • 签名工具,
  • 被签名文件。

获取PFX文件


“扩展名为 .pfx(我的信息交换,Personal Information Exchange)的文件。.pfx 文件包含一个证书和与之对应的私钥(PKCS #12 标准对该格式有所说明)。这类文件是高度敏感的,一般用于导入服务器上的密钥对或用于备份目的。在导出密钥对时,Windows 提供用密码加密 .pfx 文件;而在导入密钥对时,您必须再次提供此密码方可导入。”摘自:http://msdn.microsoft.com/zh-cn/magazine/cc163454.aspx#S1ide

在这里,咱们经过openssl把key文件和crt文件合并为pfx格式。命令是工具

openssl pkcs12 -export -out ${cert_user}.pfx -inkey ${cert_user}.key -in ${cert_user}.crtthis

openssl会让咱们指定pfx的密码,我指定为字符串“password”。加密

key文件和crt文件的作法,请参考本系列前面的文章。.net

准备签名工具


微软的.net sdk里包含了代码签名工具SignTool。关于该工具的详细用法,请参考orm

http://msdn.microsoft.com/zh-cn/library/8s9b9yaz%28v=VS.80%29.aspxblog

好比个人机器里(Windows7专业版,已安装Microsoft Visual C# 2010 Express) signtool位于C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\。

进行签名


在这里,经过/f指定pfx文件;经过/p指定pfx的密码;

S:\> signtool.exe sign /f ncowboy@qq.com.pfx /p password App0701.exe

Done Adding Additional Store

Successfully signed: App0701.exe

S:\>

签名以后,查看文件的属性的时候会多出一个选项卡”数字签名”。

clip_p_w_picpath002

相关文章
相关标签/搜索