导航

[转]数字证书生成方法

Posted on 2015-02-11 15:04  FryFish  阅读(705)  评论(0)    收藏  举报

转自:http://www.360doc.com/content/11/0411/17/5718989_108872989.shtml

参见:http://www.cnblogs.com/bearhb/archive/2012/07/03/2574206.html

 

另外,这篇文章《SSL证书生成方法》介绍了详细的SSL证书生成步骤:

http://blog.csdn.net/fyang2007/article/details/6180361

 

证书生成方法一  
——————————————————————————–   
  准备工作:

  OpenSSL:http://www.openssl.org/related/binaries.html
  下载 http://ftp.intron.ac/pub/security/authenticode.zip,里面包含了由Microsoft、OpenSSL和其它人提供的各种必要工具:   
    
  cabarc.exe:   制作.cab压缩包     
  openssl.exe:   制作PEM格式公钥、密钥     
  pvk.exe:   将PEM格式的RSA密钥转换为PVK格式     
  makecert.exe:   制作证书     
  cert2spc.exe:   转换证书格式     
  signcode.exe:   签署二进制代码或.cab压缩包     
    
  1.用openssl创建CA证书的RSA密钥(PEM格式):   
  openssl   genrsa   -des3   -out   ca.key   1024   
  //ca.key为生成的Key文件,1024为密钥的长度.也可以为2048或4096等,长度越长,加密强度越高.   
    
  2.用openssl创建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转换为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后边是证书颁发者LDAP的路径.JR21066CA.cer是证书文件.   
  //OU=后边为颁发证书的机构名,E=后边是电子邮件地址.   
    
    
      
    
  给文件签名   
    
    
  ——————————————————————————–   
    
    
  现在你就可以给你的.EXE、   .CAB、   .OCX、或者   .DLL文件签名了。范例如下:   
    
  signcode   -prog   myfilename   -name   displayname   -info   <a   href=”">http://www.mycompany.com</a>   -spc   mycredentials.spc   -pvk   myprivatekey.pvk   
    
  myfilename:要签名的文件名称   
    
  displayname:证书中对该文件的描述   
    
  <a   href=”">http://example.microsoft.com</a>   提供给用户关于下载文件的更详细的信息。   
    
  mycredentials:从CA获得的证书文件   
    
  myprivatekey:在向CA申请过程期间生成的秘钥。   
    
  (注意如果你不带任何参数运行signcode,它将会激活一个向导帮助你一步一步完成签名过程)     
    
      
    
    
  测试签名   
    
    
  ——————————————————————————–   
    
    
  运行chktrust文件名   测试.EXE、   .DLL、或   .OCX   文件的签名   
    
  运行chktrust   -c   cab文件名.cab测试cab文件的签名   
    
  签名进程一旦工作,即会显示一个证书。   
    
  好了,现在你已经完成了为文件签名的工作。当使用Internet   Explorer从一个Web站点下载这个文件时,用户将会看到一个相同的证书。如果这个文件在经过签名程序后被篡改,就会有提示出现告诉用户不要安装