http://www.microsoft.com/china/msdn/visualc/technical/articles/cab/default.htm

解决方案 »

  1.   

    给代码签名的六个步骤
    微软公司通过微软的 Internet Explorer, Microsoft Authenticode™ 技术允许最终用户在从网上下载软件之前,能够确认这个软件的出版者,并且能验证这个软件是否被篡改。Authenticode 提供了证明软件可用性的方法。一旦软件出版商申请到他们的数字证书时,Microsoft ActiveX™ SDK就提供给他们根据工业标准数字签名技术给代码签名的工具。对于软件出版商,代码签名需要六个步骤:下载最新版本的Internet Explorer在http://www.microsoft.com/windows/ie/download/ 网址可以得到最新版本的Internet Explorer。你需要用它来申请你的证书以及浏览你的签名代码。 
    向证书权威机构申请证书软件出版者可在http://www.microsoft.com/intdev/security/authcode/ 网址向证书权威机构 (CA)申请证书,通过访问CA的Web站点可进行在线申请并填写相应表格。你可以选择申请个人的或商业的软件出版者证书。如果是商业机构,就申请商业出版商证书,反之,则申请个人软件发行人证书。完成申请工作以后,CA需要大约一周的时间来调查申请者的信息。最后,申请者会得到CA签发的证书和一个需要你妥善保存的秘钥,你需要使用这两者完成为代码签名的工作。 
    下载最新版本的 ActiveX SDK从http://www.microsoft.com/intdev/sdk/ 网址可以下载最新版本的ActiveX SDK。为代码签名的工具就在这个工具箱中,其中还提供了相关文档。 
    准备好要被签名的文件如果这个文件是可执行文件,如.EXE、 .OCX、 .DLL等,就不需要做特殊的工作。对于 cab 文件,你需要在创建这个cab文件以前把下面的入口加到你的.DDF 文件中。.Set ReservePerCabinetSize=6144 
    给文件签名现在你就可以给你的.EXE、 .CAB、 .OCX、或者 .DLL文件签名了。范例如下:signcode -prog myfilename -name displayname -info <a href="">http://www.mycompany.com</a> -spc mycredentials.spc -pvk myprivatekey.pvkmyfilename:要签名的文件名称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站点下载这个文件时,用户将会看到一个相同的证书。如果这个文件在经过签名程序后被篡改,就会有提示出现告诉用户不要安装。 
    如果有更多问题,请与微软产品支持服务部门联系,或者访问Web站点http://www.microsoft.com/intdev/security/authcode/