證書生成方法一  
   
   
  ——————————————————————————–  
   
  準(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:   制作證書    
  cert2spc.exe:   轉(zhuǎn)換證書格式    
  signcode.exe:   簽署二進制代碼或.cab壓縮包    
   
  1.用openssl創(chuàng)建CA證書的RSA密鑰(PEM格式):  
  openssl   genrsa   -des3   -out   ca.key   1024  
  //ca.key為生成的Key文件,1024為密鑰的長度.也可以為2048或4096等,長度越長,加密強度越高.  
   
  2.用openssl創(chuàng)建CA證書(PEM格式,假如有效期為一年):  
  openssl   req   -new   -x509   -days   365   -key   ca.key   -out   ca.crt   -config   openssl.cnf  
  //ca.crt為生成的證書文件,openssl.cnf為配置文件.  
   
  3.將PEM格式的ca.key轉(zhuǎn)換為Microsoft可以識別的pvk格式。  
  pvk   -in   ca.key   -out   ca.pvk   -nocrypt   -topvk  
     
   
     
   
  證書生成方法二  
   
   
  ——————————————————————————–  
   
  1.下載簽名工具包    
  http://msdn.microsoft.com/MSDN-FILES/027/000/219/codesign.exe    
     
   
  運行  
  makecert   -sk   myNewKey   -r   -n   “CN=JR21066   CA,OU=JR21066   CA,O=JR21066,E=jr@wn163.net”   -ss   myNew.cer   JR21066CA.cer  
  //myNewKey是私鑰,用于證明此證書屬于你.-n后邊是證書頒發(fā)者LDAP的路徑.JR21066CA.cer是證書文件.  
  //OU=后邊為頒發(fā)證書的機構(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:要簽名的文件名稱  
   
  displayname:證書中對該文件的描述  
   
  <a   href=”">http://example.microsoft.com</a>   提供給用戶關(guān)于下載文件的更詳細的信息。  
   
  mycredentials:從CA獲得的證書文件  
   
  myprivatekey:在向CA申請過程期間生成的秘鑰。  
   
  (注意如果你不帶任何參數(shù)運行signcode,它將會激活一個向?qū)椭阋徊揭徊酵瓿珊灻^程)    
   
     
   
   
  測試簽名  
   
   
  ——————————————————————————–  
   
   
  運行chktrust文件名   測試.EXE、   .DLL、或   .OCX   文件的簽名  
   
  運行chktrust   -c   cab文件名.cab測試cab文件的簽名  
   
  簽名進程一旦工作,即會顯示一個證書。  
   
  好了,現(xiàn)在你已經(jīng)完成了為文件簽名的工作。當(dāng)使用Internet   Explorer從一個Web站點下載這個文件時,用戶將會看到一個相同的證書。如果這個文件在經(jīng)過簽名程序后被篡改,就會有提示出現(xiàn)告訴用戶不要安裝。