我使用vc++编写了一个ocx控件,用wincab打成了cab包,没有错误。使用如下命令行生成.spc和.pvk
MAKECERT -u:dareway -n:CN=dareway -k:DAREWAY.PVK DAREWAYCERT.CER
CERT2SPC C:\CAB_SIGN\ROOT.CER DAREWAYCERT.CER DAREWAYSPC.SPC使用如下命令行对cab进行签名
signcode /spc DAREWAYSPC.SPC /v DAREWAY.PVK  VerCtrl.cab完成后签名没有出来,使用chktrust 测试该cab包结果无有效签名。
请问那位大大能指教如何给cab包加上测试数字签名,只要ie默认安全级别能提示下载就行。
   多谢啦!!!!!!!

解决方案 »

  1.   

    创建PVK文件[私人密匙文件]makecert -sk DigitalTitan DigitalTitan.pvk
    makecert -n CN=TelStar TelStar创建CER文件[公司证书]makecert -sk DigitalTitan.pvk TelStar.cer创建SPC测试软件出版商证明书cert2spc root.cer TelStar.cer TelStar.spc创建INF文件[version]
    signature="$CHINA$"
    AdvancedINF=2.0[Add.Code]
    WebOffice.ocx=WebOffice.ocx
    mfc70.dll=mfc70.dll
    msvcrt.dll=msvcrt.dll
    olepro32.dll=olepro32.dll[mfc70.dll]
    file-win32-x86=thiscab
    FileVersion=7,0,9466,0
    DestDir=11
    RegisterServer=yes[msvcrt.dll]
    file-win32-x86=thiscab
    FileVersion=6,1,9844,0
    DestDir=11
    RegisterServer=yes[olepro32.dll]
    file-win32-x86=thiscab
    FileVersion=5,0,4522,0
    DestDir=11
    RegisterServer=yes[WebOffice.ocx]
    file-win32-x86=http://10.70.151.253:9003/ActiveX/WebOffice.cab
    clsid={05430EC0-69CA-437A-B1F9-4B78B8647BEA} 
    FileVersion=1,0,0,1
    RegisterServer=yes
    ;创建CAB文件
    cabarc -s 6144 n WebOffice.cab mfc70.dll msvcrt.dll olepro32.dll ASYCFILT.DLL STDOLE2.TLB WebOffice.ocx WebOffice.inf使用Code Signing Wizard签署一个CAB文件
    SIGNCODE.exe
    另:
    makeCert -sk DigitalTitanKey -n "CN=TelStar" -ss TelStar TelStar.cer
    makecert -is TelStar -ic TelStar.cer -ss TelStarCompany.cerCert2SPC MyCert.cer MyCert.spc
      

  2.   

    打包工具包:
    申请证书:Win2000:控制面板-管理工具-证书颁发机构[没有则更新组件]Http://127.0.0.1/CertSrv/
    签名工具包:http://download.microsoft.com/download/b/e/f/bef2551b-401d-4311-ab8f-13d3892b8154/codesigningx86.exe
      

  3.   

    你的Root证书如果是测试证书应该
    参照如下
    http://www.kaoshi.net/damboo/signcode.htm
      

  4.   

    多谢 gjd111686(数字金刚)兄,现在就去试试!