cab被IE拦截的问题

 
为什么 Internet Explorer 阻止使用某些 ActiveX 控件?
如果网站尝试使用 ActiveX 控件的方式不是设计应采用的方式, Internet Explorer 将阻止网站在您计算机上使用该 ActiveX 控件。应该立即离开该网站。
在这种情况下,您将看到以下消息(单击下面的文字以了解详细信息):
“Internet Explorer 已经阻止此站点用不安全方式使用 ActiveX 控件。因此,此页可能显示不正确。
当网站尝试使用对您计算机上的特定 ActiveX 控件不安全的方法访问该控件时,该消息将出现。通常这意味着该网站正在使用脚本(一种小的计算机程序)来访问对脚本不安全的 ActiveX 控件。 Internet Explorer 将阻止该操作。要避免破坏您的计算机,您不应该尝试解决这一问题。而应该离开该网站。
Code Signing for Digital IDs
VeriSign Code Signing Digital IDs enable software developers to add a digital signature to software and macros including Microsoft Authenticode, Microsoft Office and VBA Signing, Sun Java Signing, Netscape Object Signing, Macromedia Shockwave, and Marimba Castanet Channel Digital IDs for secure delivery over the Internet. Digital IDs are virtual "shrinkwrap" for your software; if your code is tampered with in any way after it is signed, the digital signature will break and alert customers that the code is not trustworthy.
 CodeSigner Standard CodeSigner Pro
 3-Year*  $431/year (over $200 total savings)  N/A*
 2-Year* $447/year (over $100 total savings) N/A*
 1-Year $499 $695
 * Not applicable to Macromedia Shockwave and Marimba Castanet Channel.
Authenticode ActiveX 控件
  现在 Windows IE 默认阻止非法签名的 ActiveX 控件的安装。你可以改变你所管理的系统的这项设置,但你不能指望互联网用户会克服这个问题。
WindowsXPServicePack2(SP2) 中, ActiveX 控件的模式安装提示最初由 信息栏 阻止。如果满足下列条件,则对已安装在计算机上的控件进行升级时,就会引发一个异常:
注册为 ActiveX 控件的文件必须使用 Authenticode 技术签名。(该文件引用自 HKEY_CLASSES_ROOT/CLSID/{ control_clsid }/InProcServer32 ,其中 control_clsid CLSID ,由 OBJECT 标记指定。)
新控件的发布者名称以数字签名表示,它与现有控件数字签名中的发布者名称相匹配。
如果 ActiveX 控件打包为一个 CAB 文件,则该 CAB 文件必须经过签名。要安装的 DLL OCX 也应该进行签名,以便随后的升级可以跳过 信息栏
如果 信息栏 阻止某个 ActiveX 控件,并且该控件会占用页面上的区域,则 InternetExplorer 将显示一个嵌入式图标和文本(而不是控件),表示需要安装 ActiveX 控件。最终用户将能够单击该区域或 信息栏 ,以安装 ActiveX 控件。
ActiveX 控件是否以 CAB 文件的形式分发?
如果是,请注意有关升级该控件的未来安装提示也会被 信息栏 阻止,除非您对要注册为 ActiveX 控件的 DLL OCX 进行签名。
 jiangsheng( 蒋晟 .Net[MVP]) ( ) 信誉: 290  2006-4-4 14:28:23  得分 : 0 
记得 WinXPSp2 里面 ActievX 的限制更加严格,没有数字签名的控件会被禁用。对实现了 IObjectSafety 的控件也会有警告
 
 
实现了 ISafeObject 接口或是使用分组管理器 (Component Categories Manager) 标记安全控件后还是无法在某些 XP 的客户机上显示出我的控件。整理了一下出现问题的机器状况:
前提:
1
。在 Ax 控件中已经实现了 ISafeObject 接口 ( 或是修改了注册表 )
2
。客户 IE 出现控件下载提示,确认下载。
3
。查看注册表,发现我的 CAB 中的控件 (ocx) 及其依赖的 DLL 已经成功的注册到机器中。 ( 这点很重要,因为这说明了我的 cab 没有问题,即使在本机上用 regsvr32 手动注册这台机器也无法使用控件 )
4
。控件的签名是使用工具 “makecert.exe” “cert2spc.exe” 工具生成的采用的 不安全的根证书 生成的签名证书和密钥,并使用了 “signcode.exe” 对控件进行了签名。
症状:
无法在某些 XP SP2 IE 上显示控件 ( 实际上控件已经注册成功了 )
结果:
上网搜索后,有微软关于 XP SP2 的说明,说是 SP2 补丁导致很多控件的无法正常的使用,提供了一个办法,将访问服务器的站点添加到 受信任的站点 ”(IE “Internet 选项 中,注意不要选择 对改区域内的所有站点都要求验证 (https://)”) ,这时某些有问题的 SP2 机器上显示出来。
疑问猜想:
1
。有些机器可以显示,有些不能显示,这可能和系统的某些未知补丁有关系
2
。花钱注册了控件签名是否能够解决这一问题
3
。在有的 ( 只有一台,正版 XP sp2 经常升级补丁 ) ,使用 regsvr32 来注册 OCX 都不可以?
Windows Sever 2003 证书服务自己申请证书服务:
1
  插入 Win2003 的安装光盘,添加 Windows 组件 证书服务 。(安装 证书服务 前最好确认你的系统是否安装好了 IIS 服务,如果没有先安装好 IIS )。
2
  安装好 证书服务 ,你的 IIS 增加一个 certsrv 的站点,这时候你访问
http://www.shengfang.org /certsrv
(例如我的机器名为 SLife-ML servername 就是 SLife-ML
3
  访问页面后就可以申请证书
4
  然后点击 开始 >“ 管理工具 >“ 证书颁发机构 ,在 挂起的证书 中就会出现你刚才申请的证书编码,右键点击后同意颁发。
5
  从新访问 http://www.shengfang.org /certsrv ,然后选择 查看挂起的证书申请的状态 ,就可以下载安装你需要的证书了
注意:
1
  如果安装前没有安装 IIS ,安装 证书服务 后再安装 IIS 不会有 certsrv 站点
2
  我们申请的证书(用于 ActiveX 控件的认证)申请证书时需要申请 高级证书 >“ 创建并向此 CA 提交一个申请 这边有以下几点需要注意:
1)        “
国家(地区) 填入 “CN”
2)       
要勾选 标记密钥为可导出 以及勾选 导出密钥到文件 ,最后给你的密钥起个名字,这时你下载证书时,就会同时下载一个密钥到你指定的目录了
3)        “
证书服务 只能在 Windows Server 2003 中使用。
可参见:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/ServerHelp/590fcc3e-c54f-48b7-95f2-45ee2255fc11.mspx?mfr=true
没有看到 蒋晟大师的这个文章前 我真是郁闷了很长时间 呵呵 安全往往是双刃剑啊
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IE下页面打印控件 类似于ScriptX控件,但本控件可免费使用 控件使用OCX技术,使控件加载到IE浏览器中 首次使用需要用户加载Activex控件,以后将自动加载运行 控件功能: 1.屏蔽IE打印时出现的打印设置框。 2.自动设置各打印控制参数。 3.实现自动打印。 使用方法 控件的ID为clsid:AE1A309B-6FFA-4FCF-B07F-CB97FFD56B1B 使用Object标签包裹即可。 如 <OBJECT ID="TestAX" classid="clsid:AE1A309B-6FFA-4FCF-B07F-CB97FFD56B1B" codebase="IEprint.ocx#version=" width=0 height=0 align=center hspace=0 vspace=0 ></OBJECT> 使用Javascript或VBScript程序进行调用 使用使,先得到打印控件Object对象实例如 a=document.getElementById("TestAX"); 参数内容 接着对a进行操作即可 a.Mar_left=0.0075; //左边界 a.Mar_Top=0.0075; //上边界 a.Mar_Right=0.0075; //右边界 a.Mar_Bottom=0.0075; //下边界 a.Orientation="纵向";//打印方向 a.Paper_Size="Folio"; //纸张大小 a.Header_Html="Headeraaaaaaaa"; //头部标注 a.Footer_Html="Footerssssssss"; //尾部标注 a.ApplySetup(); //应用上面的设置 函数方法 a.PrintWithOutSetup(); //无需设置即打印内容 a.PrintWithOutSetupPrintWithOutByID("cnnb"); //打印除ID为cnnb的其他内容。即过滤id为cnnb的所有内容 a.PrintWithOutSetupPrintByID("163");//打印id为163的内容。即过滤id为163以外的所有内容 a.PrintWithSetup(); //有设置选项的打印 a.PrintPreView();//打印预览 对本控件有建议的可以联系我,一般隐身存在。。。 chatop QQ948905
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值