簽署代碼

寫在前面
準備環境
創 建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

相關文章
相關標籤/搜索