寫在前面
準備環境
創 建CA
建立證書並安裝到apache
建立證書並安裝到tomcat
建立證書和 導入到Thunderbird
建立證書並簽名.net文件
建立證書並簽名jar文件apache
爲了識別程序是誰發行的以及是否被篡改過,出現了代碼簽名技術。微軟的簽名工具能夠對exe,dll,cab等文件進行簽名。tomcat
要對代碼簽名,須要準備三個東西:服務器
「擴展名爲 .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:\>
簽名以後,查看文件的屬性的時候會多出一個選項卡」數字簽名」。