html注册cab包,OCX控件打包成CAB并实现数字签名过程

html注册cab包,OCX控件打包成CAB并实现数字签名过程OCX打包CAB并签名过程一、打包cab制作cab文件时需要将所有的相关文件都包含进去,可以通过Depends(VC自带的)检查需要的文件。使用inf文件将这些东西都写进去。1、制作inf文件default.INF最开始一般是[Version]区:eg:[Version]signature=”$CHICAGO$”AdvancedINF=2.0接下来就是最重要的[Add.Code]区:eg:…

大家好,又见面了,我是你们的朋友全栈君。

OCX打包CAB并签名过程

一、打包cab

制作cab文件时需要将所有的相关文件都包含进去,可以通过Depends(VC自带的)检查需要的文件。使用inf文件将这些东西都写进去。

1、制作inf文件

default.INF

最开始一般是[Version]区:

eg: [Version]

signature=” $CHICAGO$ “

AdvancedINF=2.0

接下来就是最重要的[Add.Code]区:

eg: [Add.Code]

getcertocx.ocx=getcertocx.ocx

前面是要下载的文件名,后面是对应这个文件的区域名,可以是任何名字,不过一般都是和文件的名字相同,这样方便维护。

再接下来是各个文件的区域了

[getcertocx.ocx]

file-win32-x86=thiscab

RegisterServer=yes

clsid={0A0488CF-F9AB-4AC4-AD8F-CD893553DD22}

DestDir=11

FileVersion=1,0,0,1

[getcertocx.ocx]区域中的第一个file值告诉ie到哪里去得到这个ocx,file一共包括三个部分,第一部分是file,这个永远都是这样的;第二部分告诉声明支持的OS,win32表示windows,mac就是苹果MAC OX了;第三部分是CPU类型,比如说x86、mips等

file的值可以取三个:一个URL、ignore和thiscab,如果是URL则说明到URL所在的位置去下;如果是ignore说明对于这种OS和CPU,不需要下载这个文件;如果是thiscab就在当前的cab文件中了。

第二部分是RegisterServer,可以取两个值yes和no,如果为yes则说明ie要注册该ocx,如果是no就不必了;

接下来是clsid,需要填写该ocx的class guid。

再下来是DestDir,它的值是ocx将要存到本地硬盘的位置,如果它的值是10,则将ocx放到\Windows或者\WinNT下;如果是11,则放到\Windows\System或者

\WinNT\System32下;如果是空(就是没有值)则会放到\Windows或者\WinNT下的Downloaded Program Files目录下;

最后是FileVersion,说明了ocx的版本号。

2、制作cab文件

利用iexpress.exe(windows提供的一个向导式cab制作工具)

0818b9ca8b590ca3270a3433284dd417.png

选“创建新的自解压缩指定文件”,点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

选“仅创建压缩文件(ActiveX安装)”,点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

点“添加”将上边制作好的default.inf和getcertocx.ocx文件添加进来,点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

点“浏览”输入要生成的CAB文件名称,并选中“在软件包中使用长文件名保存文件”,之后点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

选“不保存”,点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

点“完成”退出向导,cab文件生成。

0818b9ca8b590ca3270a3433284dd417.png

二、签名证书的申请

0818b9ca8b590ca3270a3433284dd417.png

点“用表格申请证书”,弹出“申请免费证书页面”,“识别信息”可以随意填写,“证书用途”要选择“代码签名证书”,“加密服务提供”是用微软提供的“Microsoft String Cryptographic Prover”,其他默认,点“提交”即可。

0818b9ca8b590ca3270a3433284dd417.png

三、对cab文件进行签名

利用signtool.exe对cab文件进行签名,通过后缀参数:signwizard可以显示数字签名向导界面。

0818b9ca8b590ca3270a3433284dd417.png

点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

点“浏览”选要签名的cab文件,文件类型选“Cabinet 文件(*.cab)”,选完以后点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

选“典型”,点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

点“从存储区选择”,选择预期目的为“代码签名”的证书,然后点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

“描述”和“Web位置(可选)”填写签名数据的描述,点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

选中“将时间戳添加到数据中”,在时间戳服务URL栏写入:

点“下一步”。

0818b9ca8b590ca3270a3433284dd417.png

点“完成”。

0818b9ca8b590ca3270a3433284dd417.png

点“确定”。

0818b9ca8b590ca3270a3433284dd417.png

点“确定”退出数字签名向导,对应的getcert.CAB文件已被签名。

可以右键点击“getcert.cab”,选“属性”,查看“数字签名”信息。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

四,html页面

function buttonopen_click()

{

}

height=”100%” VIEWASTEXT>

转自:http://www.cnblogs.com/rushoooooo/archive/2011/06/22/2087542.html

ps:1.也可以自己制作证书,需要makecert.exe

cmd里面执行

makecert -n “CN=TESTKK” -sv testkk.pvk testkk.cer

2.使用时必须开启浏览器”对没有标记为安全的ActiveX控件进行初始化和脚本运行”和”下载未签名的ActiveX控件”,否则浏览器将阻止ActiveX的下载,并显示”windows 已经阻止此软件因为无法验证发行者”,点击开发商信息你会看到提示”由于当前的策略设置,该测试根不受信任;证书路径因此而终止”。 3.例子下载http://download.csdn.net/detail/dragoo1/5307021

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158603.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Cutout Standard扣图软件「建议收藏」

    Cutout Standard扣图软件「建议收藏」CutoutStandard是款功能强大且专业的抠图工具。内置强大的功能,可以从相片背景中将您需要的对象抠出和制作蒙太奇图片,且提供Photoshop的抠图插件,非常方便实用。感兴趣的朋友快来下载使用吧。软件功能  【更改背景】CutoutStandard最新版允许您将新剪切的对象与您选择的另一个图像组合在一起。例如,您可以将剪切对象放在“其他位置”。  【模糊背景】选择此功能时,程序切换到模糊模式。您可以将图像的背景模糊到不同程度。此外,背景将被保留,并且唯一的组件会受到模糊效果的影响。这

    2022年9月24日
    2
  • ubuntu下为lazarus添加sqlite3开发环境

    ubuntu下为lazarus添加sqlite3开发环境

    2021年8月18日
    48
  • getelementbyid属性与用法[通俗易懂]

    getelementbyid属性与用法[通俗易懂]语法:oElement=document.getElementById(sID)参数:sID――必选项。字符串 (String) 。返回值:oElemen――对象 (Element) 。说明:根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。 如果无符合条件的对象,则返回 nul

    2022年7月15日
    45
  • linux下卸载jdk1.7安装jdk1.8「建议收藏」

    linux下卸载jdk1.7安装jdk1.8「建议收藏」卸载jdk1.7查询java安装版本java-version查询java的安装目录echo$JAVA_HOME我以前在/etc/profile里配置了全局的JAVA_HOME、CLASSPATH和PATH,针对我这种情况想卸载的话,必须把下边这些语句删除vi/etc/profile/i进入编辑,删除之后:wq保存退出.这样的话,你的jdk1.7实际…

    2022年9月25日
    2
  • mt4下载和安装好后如何使用呢「建议收藏」

    mt4下载和安装好后如何使用呢「建议收藏」首先要了解一些基本的功能,先来认识一下工具栏。mt4的工具栏有市场报价、导航、新订单、数据窗口以及终端,这些都是很重要的工具。在MT4的窗口上,有交易产品的展示,哪些是可以销售和购买的,以及当前对应产品的价格。另外一个还要经常用到的就是图标数据分析的功能,例如选择图标的形态,时间的管理周期,缩放功能等等。常用的分析工具是K线图的时间周期,可以根据自己需要的时间周期,在工具栏的图标上进行选择,从而对交易产品进行研究观测和分析。另外如果想更加精确,还需要十字光标、划线工具、文字及文字标签进行辅助。.

    2022年8月15日
    4
  • 关于数据库逻辑删除(伪删除)的设计方案探讨

    关于数据库逻辑删除(伪删除)的设计方案探讨项目上碰到过关于数据采用了逻辑删除导致的问题,情况是这样:原先的代码中,对于表T中的数据的删除采用的是逻辑删除,但是其他使用该数据的地方并没有针对逻辑删除进行配套的处理。该表T中存在字段A要求不能重复,其实就是说字段A是uniquekey。那么问题就来了,逻辑删除只是将数据的status字段更新为删除状态,所以字段A的旧值依然存在,导致插入新数据时,就不能使用已经删除的字段A的值,这明显是…

    2022年5月12日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号