已经发了200分了,问题还没解决,继续问!!

zjp899 2003-11-24 10:11:13
1.怎么样能让客户端下载activex控件?
2.怎么给控件签名?

有人说打成cab包下载,怎么打呀,我试了也不行.能不能说得具体些!

我申请了一个签名证书,但是签名后在控件属性里有数字签名的信息,但是在网页中的提示还是和原来一样,谁能说得详细些!!

两个问题,300分,解决了绝对给分!
...全文
99 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级大笨狼 2003-12-06
  • 打赏
  • 举报
回复
8412230(阿朋) 说的好!!
8412230 2003-11-26
  • 打赏
  • 举报
回复
要去掉那个提示可以去改注册表,具体的那个项,在你的另外一个帖子里有答案了!!不过这样对用户不是太好,自己看着办吧!
monkeys 2003-11-24
  • 打赏
  • 举报
回复
学习 up
swich 2003-11-24
  • 打赏
  • 举报
回复
帮你顶,学习
zjp899 2003-11-24
  • 打赏
  • 举报
回复
我给我得控件签上名了,但是ie还是提示activex控件不安全,怎么样不改变ie的设置而不让它出这样的提示呢!!
aner 2003-11-24
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=2419453
8412230 2003-11-24
  • 打赏
  • 举报
回复
自动下载安装activex控件
如下是flash控件的网页代码
<OBJECT
codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0
height=350 width=680 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>
.......
......
</OBJECT>
把http地址改成你的控件下载地址
把classid改成你的控件的classid
这样客户第一次打开你的网页时就会自动出现对话框

签名控件:

首先去MS的网站上下载CODESIGN.EXEP这个文件,这是个自解压文件,然后按以下示例做。
工具包包括以下几个软件:
makecert.exe 制作cer格式的证书,即X.509证书,同时可以创建私钥
cert2spc.exe 将cer格式证书转换成spc格式证书,即PKCS #7证书
signcode.exe 将证书签署到ocx上去

下面是具体的步骤:
1、创建一个自己的证书文件:
makecert /sv "Record.PVK" /n "CN=DreamCaptial" dream.cer
这里,Record.PVK表示新创建的私人密钥保存文件名
DreamCaptial是你想显示的公司名
dream.cer是你创建最后的证书文件名
这些根据你自己的要求填写,最后得到Record.PVK和dream.cer两个文件。
其中,运行过程中需要输入私人密钥的保护密码,一定要输入一致,不要出错。

2、给ocx进行签名
运行signcode,命令行的我没有试验通过,我是通过界面实现的。
signcode运行后会出现数字签名向导,首先选择你要签名的ocx,
下一步后会出现签名选项,一种是典型,一种是自定义。选择自定义,
这样才能从文件选择证书,选择前面制作的dream.spc,再下一步是
选择私钥文件,选择Record.PVK,输入私人密钥的保护密码,选择散
列算法,一般用md5就可以了,下一步是选择其他证书,直接下一步,
填写一下这个控件的声明,用户用ie浏览的时候,会弹出证书说明

zjp899 2003-11-24
  • 打赏
  • 举报
回复
有人吗,救命!!!
youxuesifang 2003-11-24
  • 打赏
  • 举报
回复
标记
zjp899 2003-11-24
  • 打赏
  • 举报
回复
lovehwq21(winson) :这个方法是可以,但是客户端下载了控件后还是会出现一个activex不安全的提示,只有把"对没有标记为安全的activex控件进行初始化和脚本运行"设置为"启用"才可以,不知道能不能不修改这个而去掉那个提示!
superdullwolf(超级大笨狼):那个提示是有,我现在是在下载完控件后还有一个提示,其他的都是仅有一个下载时候的提示!
xmanvictor 2003-11-24
  • 打赏
  • 举报
回复
说的真好,学到不少,帮忙顶一下先,呵呵
anantnt203120 2003-11-24
  • 打赏
  • 举报
回复

lovehwq21 2003-11-24
  • 打赏
  • 举报
回复
1. 下载数字签名工具
在m$的网站上下载:codesigningx86.exe 文件。解压缩

2. 使用VB的打包向导将主要使用的dll,ocx 文件等打包为 .cab 文件。
3. 使用说明



首先去MS的网站上下载CODESIGN.EXEP这个文件,这是个自解压文件,然后按以下示例做。
工具包包括以下几个软件:
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=北京美髯公科技发展有限公司" dream.cer
这里,Record.PVK表示新创建的私人密钥保存文件名
DreamCaptial是你想显示的公司名
dream.cer是你创建最后的证书文件名
这些根据你自己的要求填写,最后得到Record.PVK和dream.cer两个文件。
其中,运行过程中需要输入私人密钥的保护密码,一定要输入一致,不要出错。

2、转换cer格式为spc格式(可以省略)
cert2spc dream.cer dream.spc
得到dream.spc文件。

3、给ocx进行签名
运行signcode,命令行的我没有试验通过,我是通过界面实现的。
signcode运行后会出现数字签名向导,首先选择你要签名的ocx,
下一步后会出现签名选项,一种是典型,一种是自定义。选择自定义,
这样才能从文件选择证书,选择前面制作的dream.spc,再下一步是
选择私钥文件,选择Record.PVK,输入私人密钥的保护密码,选择散
列算法,一般用md5就可以了,下一步是选择其他证书,直接下一步,
填写一下这个控件的声明,用户用ie浏览的时候,会弹出证书说明,
再下一步是加盖时间戳,我不会,直接下一步就完成了。

4、用chktrust检查是否正确
chktrust -v RecordProj.ocx



用下列批命令做证书
makecert -sv "denghan.pvk" -n "CN=KinSoft" test.cer
cert2spc test.cer test.spc
---------------------------------------------
用下列命令给CAB文件签名
signcode -spc test.spc -v denghan.pvk -n "这个是CAB数字签名" -t

'添加时间戳

http://timestamp.verisign.com/scripts/timstamp.dll rx80.cab

rx80.CAB文件用rx80.inf的内容

[version]
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
test.dll=test.dll
rx80.inf=rx80.inf

[test.dll]
file=rx80.cab
RegisterServer=yes
clsid={7E0CDEE7-DC80-4F37-9410-790BB5E9270E}
DestDir=10
FileVersion=1,0,0,1

[rx80.inf]
file=rx80.cab

把这个CAB文件放到你的服务器上,用下列代码说明你的codebase,就会自动下载了。
<object classid="clsid:7E0CDEE7-DC80-4F37-9410-790BB5E9270E" codebase="http://yourHostURL/rx80.cab#version=1,0,0,1" width="800" height="191">
...


4. 参考资料

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaxctrl/html/msdn_deplactx.asp
http://www.verisign.com
超级大笨狼 2003-11-24
  • 打赏
  • 举报
回复
你这个问题再发20000分也解决不了,因为浏览器的安全功能就是为了干这个的,flash插件都提示下载安装安全性问题,你能避免吗?但是你可以拐弯解决,可以绕开大多数机器的安全检测,思路是:
1,先修改客户端注册表,降低安全级别,修改其他设置,让客户察觉不到安装。
2,运行远程安装程序cab包
Windows 脚本宿主

RegWrite 方法
请参阅
WshShell 对象 | RegDelete 方法 | RegRead 方法
语言
JScript

VBScript

显示所有语言
创建新项、将另一个值名添加到现有的项中(为其指派一个值),或更改现有值名的值。

object.RegWrite(strName, anyValue [,strType])
参数
object
WshShell 对象。
strName
表示要创建、添加或更改的项名、值名或值的字符串值。
anyValue
要创建的新项名称、要添加到现有项中的值名或要指派给现有值名的新值。
strType
可选。表示值的数据类型的字符串值。
说明
可通过用最后的反斜线终止 strName 来指定项名。指定值名时最后不要包括反斜线。RegWrite 方法自动将 anyValue 参数转换成字符串或整数。strType 的值确定它的数据类型(字符串或整数)。下表列出用于 strType 的选项。

转换成 strType
字符串 REG_SZ
字符串 REG_EXPAND_SZ
整数 REG_DWORD
字符串 REG_BINARY

注意 RegWrite 方法不支持 REG_MULTI_SZ 类型。
提示 RegWrite 最多会将一个 DWORD 写入一个 REG_BINARY 值。该方法不支持 Larger 值。
完全限定的项名和值名的前缀为根项。可以将缩写版本的根项名称用于 RegWrite 方法。下表中列出了五个根项。
根项名 缩写
HKEY_CURRENT_USER HKCU
HKEY_LOCAL_MACHINE HKLM
HKEY_CLASSES_ROOT HKCR
HKEY_USERS HKEY_USERS
HKEY_CURRENT_CONFIG HKEY_CURRENT_CONFIG

下表列出了用 strType 指定的四个可能的数据类型。

类型 说明 形式
REG_SZ 字符串 字符串
REG_DWORD 数字 整数
REG_BINARY 二进制值 整数
REG_EXPAND_SZ 可扩展的字符串(例如,"%windir%\\calc.exe") 字符串

示例
下面的代码创建一个项和两个值,读取它们,然后删除它们。

[VBScript]
Dim WshShell, bKey
Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ"

bKey = WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
WScript.Echo WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\MindReader")

WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\"
WshShell.RegDelete "HKCU\Software\ACME\"
[JScript]
var WshShell = WScript.CreateObject("WScript.Shell");

WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");

var bKey = WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");
WScript.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));

WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");
WshShell.RegDelete ("HKCU\\Software\\ACME\\");
请参阅
WshShell 对象 | RegDelete 方法 | RegRead 方法



--------------------------------------------------------------------------------

© 2001 Microsoft Corporation. 保留所有权利。



tuoshi 2003-11-24
  • 打赏
  • 举报
回复
帮你顶一下,呵呵!~~
zjp899 2003-11-24
  • 打赏
  • 举报
回复
在线等,各位高手帮忙呀!
english218 2003-11-24
  • 打赏
  • 举报
回复
用vb吧

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧