證書(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,E=jr@wn163.net”   -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>   提供給用戶(hù)關(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í),用戶(hù)將會(huì)看到一個(gè)相同的證書(shū)。如果這個(gè)文件在經(jīng)過(guò)簽名程序后被篡改,就會(huì)有提示出現(xiàn)告訴用戶(hù)不要安裝。

 
                         
                                
 
                                

 
                        

