科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Internet上用ActiveX发布软件

Internet上用ActiveX发布软件

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

互连网的广泛应用使得基于网络的软件成为现今软件应用的主流......

作者:Micronet 来源:yesky 2007年10月21日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
二、基于Internet发布软件的具体实现

  2.1 制作测试软件出版商证书:

  使用Visual C++ 5.0 光盘中CAB&SIGN目录下的 MAKECERT和 CERT2SPC 公用程序。举例来说,制作分两步:

  (1)做一个私人密匙文件MYKEY.PVK 和一个公司证书CERT.CER,运行公用程序MAKECERT,命令为:

MAKECERT -u:MyKey -n:CN=Company -k:MYKEY.PVK CERT.CER

  其中MyKey是密匙名,Company是公司名。注意:公用程序 MAKECERT 在命令行选项中区分大小写,因此必须使用小写的-u、-n以及-k,对于-n选项的值必须是大写的CN。

  (2)完成名为CERT.SPC测试软件出版商证书的制作,运行CERT2SPC,命令如下:
CERT2SPC ROOT.CER CERT.CER CERT.SPC

  其中CERT.SPC文件是利用第一步创建的CERT.CER文件以及CAB&SIGN目录下提供的ROOT.CER文件创建的。

  2.2 打包待发布的ActiveX控件和相关链接库:

  使用CAB&SIGN目录下的CABARC.EXE,举例来说,过程分两步:

  (1) 创建一个INF文件:

  INF文件是一个文本文件,指定运行控件所需要下载和注册的组件(比如DLL或其它OCX)。一个INF文件描述了CAB压缩包中所有必须的文件。在缺省情况下,若客户端系统中有压缩包中的文件,则版本号相同的文件不被下载。一个INF文件(texture.inf)的示例为:

[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Cards.ocx=Cards.ocx
mfc42.dll=mfc42.dll
opengl32.dll=opengl32.dll
glu32.dll=glu32.dll
[Cards.ocx]
file-win32-x86=thiscab
clsid={26E6AD0A-ACEF-11D4-B58D-FA8AFE1FC3B9}
FileVersion=1,0,0,1
RegisterServer=yes
[mfc42.dll]
file-win32-x86=thiscab
RegisterServer=yes
[opengl32.dll]
FileVersion=4,0,0,0
hook=openglinstaller
[glu32.dll]
FileVersion=4,0,0,0
hook=openglinstaller
[openglinstaller]
file-win32-x86=OpenGL95.cab
run=%EXTRACT_DIR%\OpenGL95.exe

  其中条目[version]固定,条目[Add.Code]将需要下载的动态链接库和ActiveX 组件填写其中作为下载清单,其他以[Add.Code]中的文件名为条目名的表项是对这些文件的来源、版本、下载路径和是否需客户端系统注册的具体说明--关键字"file-win32-x86"指定平台是x86,其值"thiscab"也是一个关键字,意指包含该INF的CAB文件,也可以是其他同时被下载的cab文件名或者是一个网址;"clsid"是指待注册控件的CLSID;"RegisterServer=yes"表示对应文件需要系统注册;"hook"表示该文件位置要去hook语句所指示的条目里寻找;

  (2) 运行公用程序CABARC.EXE,对应于以上INF文件有如下命令行:

CABARC -s 6144 n texturemap.cab cards.ocx mfc42.dll texture.inf

  执行后创建了一个名为texturemap.cab的CAB文件。其中,CAB包中的文件需要在命令行列出,次序同它们在INF文件中的完全一致,-s选项为代码签署保留空间,n 命令指定创建的是CAB文件。

  2.3 对打包得到的文件进行数字签名:

  使用CAB&SIGN目录下的SIGNCODE.EXE,步骤如下:

  (1) 运行该程序,在需填写属性的第一页,选择打包好的文件(也可以直接是ActiveX控件所对应的文件,如OCX/DLL),填写发布软件名和发布商的网址(方便用户根据这些资料直观的判断是否运行该控件);

  (2) 第二页是证书发放机构的列表,选择软件发布商所获得证书的所属机构;

  (3) 第三个用户填写页,选定软件开发商证书(SPC)文件名,另外,因为需在该证书的一个文件中查找密码、密匙,所以还需选定私人密匙(PVK)文件名;

  (4) 确认所填写的信息后,SIGNCODE就对文件进行签署。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章