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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java如何快速入门?

    Java如何快速入门?转自:微点阅读https://www.weidianyuedu.com一、掌握静态方法和属性静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。二、重视接口..

    2022年6月1日
    37
  • eigen使用教程_kafka简单使用

    eigen使用教程_kafka简单使用Eigen是可以用来进行线性代数、矩阵、向量操作等运算的C++库,它里面包含了很多算法。它的License是MPL2。它支持多平台。Eigen采用源码的方式提供给用户使用,在使用时只需要包含Eigen的头文件即可进行使用。之所以采用这种方式,是因为Eigen采用模板方式实现,由于模板函数不支持分离编译,所以只能提供源码而不是动态库的方式供用户使用。矩阵的定义:E…

    2022年10月18日
    4
  • QT5.11下载与安装教程[通俗易懂]

    QT5.11下载与安装教程[通俗易懂]一、QT软件下载Qt5.9之后的安装包与之前相比,不再区分VS版本和MinGW版本,而是全都整合到了一个安装包中。因此,与之前的安装包相比,体积也是大了不少,以前是1G多,现在是2G多。QT5.9.0安装包QT5.8.0安装包下载地址:http://download.qt.io/archive/qt/各目录说明如下: ①gdb是针对Android开发的调试器。 ②jom可以百度…

    2022年5月17日
    43
  • vue使用md5_vuepress在线编辑文档

    vue使用md5_vuepress在线编辑文档1,需求一直在找一个好用的富文本编辑器,但是发现现在富文本已经不流行了,现在流行md所以找md编辑器找到一个好用的:mavon-editorgithub:https://github.com/hinesboy/mavonEditor2,配置main.jsimportVuefrom”vue”;importAppfrom”./App.vue”;import…

    2022年9月2日
    4
  • unittest详解(七) 自动生成测试报告

    unittest详解(七) 自动生成测试报告

    2021年6月6日
    126
  • SQL语句中 left join 后用 on 还是 where,区别大了!

    SQL语句中 left join 后用 on 还是 where,区别大了!

    2022年2月19日
    48

发表回复

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

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