ocx数字签名成功,但是客户端出现无法决定发行商

ljc407 2005-07-15 10:00:57
使用ATL做了一个ocx控件(release版)。
然后使用以下方法对该控件加上数字签名。
makecert -n "CN=Company" newcert.cer -sv privatekey.pvk
cert2spc newcert.cer newcert.spc

然后使用signcode.exe为控件加上数字签名(使用文件newcert.spc和privatekey.pvk)

在其它自己上浏览,安全级别为默认。
可以出现安装提示,但是提示为:由于以下问题无法决定发行商,测试根尚未当作已受信任的根所启用。

这个可能是我的证书不是有ca机构发的,所以其他机子认不了。
所以我到www.ca365.com注册了一个免费版的。下载了一个证书文件NewCert.der,这个可以安装证书,但是不能导出私钥。所以我不知道怎么用signcode为控件加上数字签名,因为导不出一个*.pvk文件。

我也看到一些文章说是由于代码没有注册为安全类别,所以我也加上了

BEGIN_CATEGORY_MAP(MYCLASSNAME)
IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
END_CATEGORY_MAP()
但是还是一样

另外还有一个问题,就是控件修改重新生成后,客户端不会自动下载。我已经在项目中的资源改变了软件的版本。并且也改变了网页中控件的版本,但是客户端都没有响应。只有删除了C:\WINDOWS\Downloaded Program Files文件下的该控件文件后,才会自动下载。
网页中控件的标记为:
<object id="Contact" classid="clsid:B5D3855B-A2E9-49CC-BEFE-E1C514419E92" codebase="http://192.168.5.122/xxx/xxx.ocx#Version=1.0.1.4" name="xxx" width="253" height="202">
</object>

我没有包装为*.cab,但是我看到有不少网站都是可以直接使用ocx来实现正常的数字签名的。
我搜索了不少文章,还是不能解决,希望各位大哥帮忙帮忙
...全文
335 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljc407 2005-07-27
  • 打赏
  • 举报
回复
这样每修改一次控件不是要重新换一个名字。^_^!不然客户端不自动下载
nelsonc 2005-07-16
  • 打赏
  • 举报
回复
==>所以我不知道怎么用signcode为控件加上数字签名,因为导不出一个*.pvk文件。
这个问题,你要询问证书发行商。另外,你这个发行商是不是IE信任的发行商?

==>我已经在项目中的资源改变了软件的版本。并且也改变了网页中控件的版本,但是客户端都没有响应
使用OCX形式下载是不记录版本号的。这里的version并不是ocx的文件版本,而是安装版本。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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