制作cab与数字签名

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

制作cab包与数字签名

文档作者:______冯光强__________ 日期:2010/01/28 开发/测试经理:______________________ 日期:___/___/___ 产品经理:______________________ 日期:___/___/___ 管理办:______________________ 日期:___/___/___

目录

1概述 (1)

1 .1Active控件 (1)

1 .2Cab打包 (2)

1 .3数字签名 (2)

2工具作用及其参数 (3)

2 .1工具 (3)

2 .2证书创建工具参数 (3)

2 .3文件签名工具参数 (6)

3构建cab包 (8)

4生成证书文件 (8)

5进行数字签名 (8)

6OCX在网页上显示.............................................................................. 错误!未定义书签。参考资料 (15)

附件1 (15)

制作cab 与数字签名,/ifenggq

第 1 页 共 16 页

1 概述 1 .1Active 控件

ActiveX 控件是使用 OBJECT 标记嵌入到网页中的。OBJECT 标记的 CODEBASE 属性指定从中下载控件的位置。CODEBASE 可以成功地指向一组不同的文件类型。

例如,CODEBASE 可以直接指向 .ocx 文件,如下所示:

因为这将仅下载和安装 .ocx 文件,所以这种解决方案依赖于客户机上已有的任何必要的支持 DLL 。在多数情况下,应该假设这些 DLL 不会存在于客户端上,而且不是正确的版本。

另一种可供选择的方法是将 CODEBASE 指向

.inf 文件,例如:

.inf 文件控制 .ocx 文件及其支持文件的安装。不推荐使用这种方法,因为这种方法不能对 .inf 文件进行签名(请参见“参考资源”一节以获得有关代码签名的参考资料)。

最佳的解决方案是 CODEBASE 指向 CAB 文件。使用这种方法,可以引用支持 DLL 并对 CAB 文件进行签名。

注意:如果遵循以下引用 MFC DLL 的说明,当客户端上已有 MFC DLL 时,则不对它们进行下载。CODEBASE 行类似如下内容:

注意,其中的 #Version 信息适用于 OBJECT 标记的 CLASSID 参数所指定的控件版本。

1 .2Cab打包

在 Cabinet 软件开发工具包(也称为 Cabinet SDK 或 CAB 开发工具包)中,可以找到构造 CAB (.cab) 文件所需的工具。请参见以下 Microsoft 网站:

Microsoft Cabinet SDK

/library/default.asp?url=/library/en-us/dncabsdk/html/ cabdl.asp

CODEBASE 指向的 CAB 文件应当包含 .ocx 文件和控制 ActiveX 控件安装的 .inf 文件。在此 CAB 文件中,不应包含系统中已有的相关 DLL(如 MFC DLL)。相反,MFC DLL 和其他相关 DLL 应当包装在单独的 CAB 文件中,并且可以由控件的 .inf 文件引用。以下示例说明如何打包 MFC Spindial 示例控件。

将 Spindial 控件包含到网页中的 OBJECT 标记类似以下内容:

1 .3数字签名

任何软件提供商要想通过网络来发布代码或程序,都会面临着软件被仿冒和篡改的风险。通过数字证书使用代码签名技术就可以有效地防范这些风险。代码签名证书是CA中心签发给软件提供商的数字证书,包含软件提供商的身份信息、公钥及签名。软件提供商使用代码签名证书对软件进行签名后放到Internet上,当用户在Internet上下载该软件时,将会得到提示,从而可以确信软件的来源和软件自签名后到下载前没有遭到修改或破坏。

对于用户来说,使用代码签名证书可以清楚了解软件的来源和可靠性,增强了用户使用Internet获取软件的决心。万一用户下载的是有害软件,也可以根据证书追踪到软件的来

源。对于软件提供商来说,使用代码签名证书,其软件产品更难以被仿造和篡改,增强了软件提供商与用户间的信任度和软件商的信誉。

2 工具作用及其参数

2 .1工具

⏹CabMaker:用于制作cab包,下载地址:/source/2030553

⏹makecert.exe:制作cer格式的证书,即X.509证书,同时可以创建私钥

⏹signtool.exe:将证书签署到ocx上去

2 .2证书创建工具参数

证书创建工具(Makecert.exe)

证书创建工具生成仅用于测试目的的X.509 证书。它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。此工具还将密钥对与指定发行者的名称相关联,并创建一个X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。

Makecert.exe 包含基本选项和扩展选项。基本选项是最常用于创建证书的选项。扩展选项提供更多的灵活性。

下面的命令创建一个测试证书,并将其写入testCert.cer。

makecert testCert.cer

下面的命令使用主题的密钥容器和证书主题的X.500 名称创建一个测试证书,并将其写入textXYZ.cer。

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer

2 .3文件签名工具参数

文件签名工具(Signcode.exe)

文件签名工具使用Authenticode 数字签名对可移植可执行(PE) 文件(.dll 或 .exe 文件)进行签名。可以对多文件程序集中包含的某个程序集或个别的文件进行签名。如果要分发某个程序集,则应该对该程序集而不是对个别文件签名。不指定任何选项运行Signcode.exe 将启动帮助签名的向导。

相关文档
最新文档