http://blog.163.com/chen6666@126/blog/static/280436742009918114017744/
一个pdf也可参考
http://kingshow.bokee.com/6812363.html
http://blog.sina.com.cn/s/blog_458983150100esga.html
http://it.china-b.com/wdyh/455789_2.html
http://www.cnblogs.com/yilin/archive/2009/09/15/1567332.html
http://www.cnblogs.com/answercard/archive/2009/10/26/1590058.html
http://www.cnblogs.com/homer/archive/2005/01/04/86473.html
http://www.cnblogs.com/ZHF/archive/2008/11/26/1341737.html
http://www.cnblogs.com/ZHF/archive/2009/03/02/1401299.html
http://lwchome.spaces.live.com/blog/cns!791B533443007D37!234.entry
---------2010-01-08-----------
INF文件:
http://www.cppblog.com/killsound/archive/2007/01/25/17970.aspx
http://blog.csdn.net/immc1979/archive/2007/04/20/1572222.aspx
cab文件:
http://blog.csdn.net/jxnucsb2008/archive/2006/07/27/986007.aspx
http://www.baidu.com/s?wd=msiexec.exe
http://www.cnblogs.com/WonKerr/archive/2009/03/17/1413908.html
http://kingshow.bokee.com/6812363.html
9、发布ActiveX控件。
建立安装程序,将Register属性改为vsdrpCOM,在引用是将CodeBase引用至Setup.exe。
10、控件安装程序的签名。生成安装程序时进行签名或使用SN.EXE进行签名。
11、打包使用Cabarc或者Makecab,在Cabinet SDK中有:http://msdn.microsoft.com/workshop/management/cab/cabdl.asp
12、当ie下载了一个cab文件,如果文件中没有[Add.Code],则处理[Setup Hooks]区域,运行run所指定程序
[Setup Hooks]
hookname=section-name
[section-name]
run=%EXTRACT_DIR%\setup.exe
2)编译该项目并得到MSI 安装文件 ClassroomViewerControl.msi
3)创建并编写INF 文件 ClassroomViewerControl.inf
ClassroomViewerControl.inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%/ClassroomViewerControl.msi" /qn
4) 创建CAB 文件 使用CAB SDK 中的工具CABARC.EXE (下载地址 http://support.microsoft.com/kb/310618)
CABARC.EXE -s 6144 n ClassroomViewerControl.cab ClassroomViewerControl.msi ClassroomViewerControl.inf
-s 6144:为签名留下6k的空间 n 创建cab
5) 签名,col.pfx 为密钥
signtool sign /f col.pfx ClassroomViewerControl.cab
#——————————————————————————————————****
下面讲一下发布的问题:
1、数字签名。使用SignCode.exe进行数字签名,步骤如下:
首先要有工具包,包括以下几个软件:(c:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\Bin目录下都有)
makecert.exe 制作cer格式的证书,即X.509证书,同时可以创建私钥
cert2spc.exe 将cer格式证书转换成spc格式证书,即PKCS #7证书
signcode.exe 将证书签署到ocx上去
chktrust.exe 检查签署证书后的ocx是否正确
还有一个certmgr.exe,是管理证书用的。可以从这里面导出root.cer来,
网上很多文章写到这个证书,但是在VC的安装盘中却找不到。其实,没
有也没关系的。这几个软件可以从VC的安装盘中找到。
下面是具体的步骤:
1、创建一个自己的证书文件:
makecert /sv "Record.PVK" /n "CN=test" test.cer
这里,Record.PVK表示新创建的私人密钥保存文件名
DreamCaptial是你想显示的公司名
test.cer是你创建最后的证书文件名
这些根据你自己的要求填写,最后得到Record.PVK和test.cer两个文件。
其中,运行过程中需要输入私人密钥的保护密码,一定要输入一致,不要
出错。
2、转换cer格式为spc格式(可以省略)
cert2spc test.cer test.spc
得到test.spc文件。
3、给ocx进行签名
运行signcode,命令行的我没有试验通过,我是通过界面实现的。
signcode运行后会出现数字签名向导,首先选择你要签名的ocx,
下一步后会出现签名选项,一种是典型,一种是自定义。选择自定义,
这样才能从文件选择证书,选择前面制作的dream.spc,再下一步是
选择私钥文件,选择Record.PVK,输入私人密钥的保护密码,选择散
列算法,一般用md5就可以了,下一步是选择其他证书,直接下一步,
填写一下这个控件的声明,用户用ie浏览的时候,会弹出证书说明,
再下一步是加盖时间戳,如果需要,用以下地址:
http://timestamp.verisign.com/scripts/timstamp.dll
要求已经上网并能出国,然后直接下一步就完成了。
4、用chktrust检查是否正确
chktrust -v RecordProj.ocx
就这样,得到了一个测试证书,恩,虽然只是一个测试证书,但至
少保证这个ocx在ie浏览的时候能够弹出来一个窗口,问你是否安装,
而不是直接禁止了。
(三)签名发布
C#开发的ActiveX控件发布方式有三种:
1.制作客户端安装包,分发给客户机安装;
2.制作在线安装包,客户机联机安装;
3.使用html中object的codebase指向安装包地址。
前两个比较简单,适合在局域网内实施;最后一种方式,需要在安装包上进行数字签名,以保证客户机的安全信任。受信任的签名证书应该向证书提供商(如Versign)购买,然后使用签名工具对安装包进行签名。
下面利用Visual Studio 2008自带的测试证书创建工具MakeCert和签名工具SignTool进行测试,首先创建一个带有公司信息的测试证书,在Visual Studio命令提示符后输入:
makecert -sk ABC -n "CN=ABC Corporation" f:\abccorptest.cer
在F盘上创建了测试证书。然后输入
signtool signwizard
在Signing Options页面上,选择Custom,定义证书文件的位置,再下一步选择一个加密算法(MD5或SHA1),指定应用程序的名称和描述URL,确认。
此时ActiveX控件安装包有了一个被标记为未信任的测试证书,需要将IE设置为启用未信任安装程序,在html中引用
<object id="controlbyid" classid="clsid:{94882155-3B7C-48e3-B357-234D56D8F15E}" codebase="setup.exe" ></object>
客户机安装之后就可以使用ActiveX控件了。
****————————————————————————————————#
6) 修改WEB PAGE hello.html并将CAB 拷贝到codebase指定的URL
<object id="Monitor" classid="clsid:627AD403-FA50-4a08-B875-770520865DD6" Width="640" Height="360" codebase="ClassroomViewerControl.cab"> </object>
我们可以通过下面的DOS命令创建CAB文件。
这里需要注意的是:OCX文件和INF文件必须跟你所执行的cabarc.exe在同一个目录,
否则CAB文件在被下载后将无法正确的解压缩。这也是一个导致ActiveX控件被显示为红色叉叉的重要原因。
cabarc -s 6144 N myactivex.cab myactivex.ocx myactivex.inf
其次,为了让ActiveX控件获得客户端的信任,
控件类还需要实现一个名为“IObjectSafety”的接口。
先创建该接口(注意,不能修改该接口的GUID值):
安装:
在该解决方案中添加一个安装项目,选择项目输出->主输出,确认ActiveX的dll文件的属性Register:vsdrpCOM,在调整下其他的属性(文件名..)编译就好。
cab的安装制作:
下载cabsdk的工具,微软网站上有的下。
下载后执行如下:
C:\cabsdk\BIN\MyTreeActiveX>cabarc.exe n TreeActiveX.cab TreeActiveXSetup.msi My
TreeActiveX.inf
Microsoft (R) Cabinet Tool - Version 1.00.0601 (03/18/97)
Copyright (c) Microsoft Corp 1996-1997. All rights reserved.
Creating new cabinet 'TreeActiveX.cab' with compression 'MSZIP':
-- adding TreeActiveXSetup.msi
-- adding MyTreeActiveX.inf
Completed successfully
会生成一个TreeActiveX.cab的文件,网页上就可以使用了。
对了。inf的定义:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1
[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\TreeActiveXSetup.msi" /qn
通过以上步骤完成ActiveX的编写,cab的制作和网页的部分。部署好后,会正常使用。
不过该ActiveX没有签名,所有需要设定一下ie,允许下载为签名的activex才可以正常下载和使用。
如何对ActiveX进行签名我还不知道,等有时间使用Google大法好好再查查看。
五.总结:
签名:
使用指南:http://www.wotrust.com/support/signcode_guide.htm
这是转换指南 http://www.wosign.com/support/PVK_SPC2PFX.htm
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
VS2008 C#ActiveX控件的开发 (107个子文件)
Default.aspx 739B
ActiveX.cab 153KB
ActiveX.cab 153KB
ActiveX.csproj.GenerateResource.Cache 776B
ActiveX.csproj.UnmanagedRegistration.cache 505B
Web.config 8KB
ActiveX.cs 4KB
ActiveX.Designer.cs 3KB
AssemblyInfo.cs 1KB
AssemblyInfo.cs 1KB
Default.aspx.designer.cs 851B
IObjectSafety.cs 771B
Default.aspx.cs 508B
ActiveXWebApp.csproj 4KB
ActiveX.csproj 3KB
Thumbs.db 226KB
ActiveX.dll 9KB
ActiveX.dll 9KB
ActiveXWebApp.dll 4KB
ActiveXWebApp.dll 4KB
VS2008C#ActiveX.doc 1.84MB
cabsdk.exe 463KB
setup.exe 450KB
setup.exe 450KB
CABARC.EXE 112KB
ActiveX.inf 145B
32.JPG 77KB
46.JPG 70KB
11.JPG 69KB
17.JPG 63KB
53.JPG 59KB
14.JPG 57KB
4.JPG 55KB
26.JPG 54KB
22.JPG 52KB
20].JPG 52KB
9.JPG 50KB
2.JPG 48KB
7.JPG 45KB
1.JPG 42KB
aaaaaaaaaaa.JPG 42KB
13.JPG 38KB
21.JPG 38KB
58.JPG 35KB
57.JPG 35KB
12.JPG 34KB
51.JPG 34KB
25.JPG 33KB
19.JPG 32KB
45.JPG 32KB
16.JPG 30KB
29.JPG 30KB
8.JPG 29KB
28.JPG 28KB
56.JPG 27KB
55.JPG 27KB
35.JPG 27KB
39.JPG 27KB
50.JPG 27KB
61.JPG 26KB
bbbbbbbbbbbbbbbbbbb.JPG 25KB
49.JPG 25KB
3.JPG 24KB
6.JPG 23KB
33.JPG 23KB
36.JPG 22KB
38.JPG 22KB
60.JPG 22KB
37.JPG 22KB
42.JPG 22KB
15.JPG 21KB
24.JPG 21KB
34.JPG 20KB
47.JPG 20KB
43.JPG 19KB
54.JPG 19KB
23.JPG 19KB
62.JPG 18KB
44.JPG 18KB
30.JPG 18KB
27.JPG 18KB
40.JPG 16KB
10.JPG 12KB
31.JPG 12KB
18.JPG 12KB
48.JPG 11KB
5.JPG 11KB
41.JPG 8KB
59.JPG 7KB
ActiveXSetup.msi 326KB
ActiveXSetup.msi 326KB
ActiveX.pdb 14KB
ActiveX.pdb 14KB
ActiveXWebApp.pdb 12KB
ActiveXWebApp.pdb 12KB
ActiveX.UserControl1.resources 180B
ActiveX.resx 6KB
ActiveXTest.sln 2KB
ActiveXTest.suo 16KB
ActiveX.tlb 2KB
共 107 条
- 1
- 2
资源评论
yangbing694383929
- 粉丝: 146
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- mmqrcode1714153659780.png
- Screenshot_2024-04-27-06-08-58-486_com.baidu.xin.aiqicha.jpg
- 基于Javaweb+Tomcat+MySQL的大学生公寓管理系统+sql文件.zip
- 实训作业基于javaweb的订单管理系统源码+数据库+实训报告.zip
- 多机调度问题贪心算法基于最小堆和贪心算法求解多机调度问题.zip
- 基于同态加密技术的匿名电子投票系统源码.zip
- Pyqt5项目框架-PyQt项目开发实践
- 基于C通过MQTT的智能农业大棚管理系统(本科毕业设计)
- python+CNN的网络入侵检测算法源码.zip
- js 实现记住密码功能 js.cookie.min.js
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功