證書(shū)生成方法一
——————————————————————————–
準(zhǔn)備工作:
下載http://ftp./pub/security/authenticode.zip,,里面包含了由Microsoft,、OpenSSL和其它人提供的各種必要工具:
cabarc.exe: 制作.cab壓縮包
openssl.exe: 制作PEM格式公鑰、密鑰
pvk.exe: 將PEM格式的RSA密鑰轉(zhuǎn)換為PVK格式
makecert.exe: 制作證書(shū)
cert2spc.exe: 轉(zhuǎn)換證書(shū)格式
signcode.exe: 簽署二進(jìn)制代碼或.cab壓縮包
1.用openssl創(chuàng)建CA證書(shū)的RSA密鑰(PEM格式):
openssl genrsa -des3 -out ca.key 1024
//ca.key為生成的Key文件,1024為密鑰的長(zhǎng)度.也可以為2048或4096等,長(zhǎng)度越長(zhǎng),加密強(qiáng)度越高.
2.用openssl創(chuàng)建CA證書(shū)(PEM格式,假如有效期為一年):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf
//ca.crt為生成的證書(shū)文件,openssl.cnf為配置文件.
3.將PEM格式的ca.key轉(zhuǎn)換為Microsoft可以識(shí)別的pvk格式,。
pvk -in ca.key -out ca.pvk -nocrypt -topvk
證書(shū)生成方法二
——————————————————————————–
1.下載簽名工具包
http://msdn.microsoft.com/MSDN-FILES/027/000/219/codesign.exe
運(yùn)行
makecert -sk myNewKey -r -n “CN=JR21066 CA,OU=JR21066
CA,O=JR21066,[email protected]” -ss myNew.cer JR21066CA.cer
//myNewKey是私鑰,用于證明此證書(shū)屬于你.-n后邊是證書(shū)頒發(fā)者LDAP的路徑.JR21066CA.cer是證書(shū)文件.
//OU=后邊為頒發(fā)證書(shū)的機(jī)構(gòu)名,E=后邊是電子郵件地址.
給文件簽名
——————————————————————————–
現(xiàn)在你就可以給你的.EXE、 .CAB,、 .OCX、或者 .DLL文件簽名了,。范例如下:
signcode -prog myfilename -name displayname -info <a
href=”">http://www.</a> -spc mycredentials.spc
-pvk myprivatekey.pvk
myfilename:要簽名的文件名稱(chēng)
displayname:證書(shū)中對(duì)該文件的描述
<a href=”">http://example.microsoft.com</a> 提供給用戶關(guān)于下載文件的更詳細(xì)的信息,。
mycredentials:從CA獲得的證書(shū)文件
myprivatekey:在向CA申請(qǐng)過(guò)程期間生成的秘鑰,。
(注意如果你不帶任何參數(shù)運(yùn)行signcode,它將會(huì)激活一個(gè)向?qū)椭阋徊揭徊酵瓿珊灻^(guò)程)
測(cè)試簽名
——————————————————————————–
運(yùn)行chktrust文件名 測(cè)試.EXE,、 .DLL,、或 .OCX 文件的簽名
運(yùn)行chktrust -c cab文件名.cab測(cè)試cab文件的簽名
簽名進(jìn)程一旦工作,即會(huì)顯示一個(gè)證書(shū),。
好了,,現(xiàn)在你已經(jīng)完成了為文件簽名的工作。當(dāng)使用Internet Explorer從一個(gè)Web站點(diǎn)下載這個(gè)文件時(shí),,用戶將會(huì)看到一個(gè)相同的證書(shū),。如果這個(gè)文件在經(jīng)過(guò)簽名程序后被篡改,就會(huì)有提示出現(xiàn)告訴用戶不要安裝,。