如何给ActiveX控件制作有效数字签名

这几天因为因为要在网页嵌入ActiveX控件,按照网上的方法使用signtools创建自己的证书可以成功,但是不兼容。只能在较低版本的IE中使用。在网上找了很多资料,终于解决。

1、在www.ca365.com注册免费数字证书,注意IE的安全等级设置,如果还不成功的话肯呢个你没有将该网站设为信任站点。具体设置在官网上有,内容如下:

安装了根证书表示你相信这个通过CA认证机构确定的用户身份,即便是对方的身份是知道的,也不能允许他做任何事情,为了更详细的约束网络软件的行为,浏览器设置了一系列安全级别。也就是说,CA证书用来确定对方是谁?浏览器安全级别用来确定用户允许他做什么事情。
   通过执行浏览器的“工具”-“Internet选项”-“安全”可以设置浏览器的安全级别。
   
   浏览器定义了四个安全级别:“Internet”、“本地Intranet”、“可信站点”、“受限站点”。选择“可信站点”,点击“站点”按钮,可定义哪些站点是可信的。添加安全站点的时候,一定要去掉“对该区域中的所有站点要求服务器验证(https:)”选项,添加http://www.ca365.com为安全站点。
   
   浏览器为四种安全级别设置了缺省的安全策略,点击“自定义级别”按钮,可以详细定义安全策略的具体内容,指明哪些操作是被允许的,哪些操作是被禁止的。“禁用”选项会使浏览器阻止某些控件。
   


2、表格申请免费证书。成功之后下载安装。

3、用signcode签名即可使用了。

在申请证书时选择“代码签名证书”。
   
    安装代码签名证书后,可以通过执行浏览器的“工具”-“Internet选项”-“内容”-“证书”-“个人”可以看到你申请的证书。
   
    双击证书查看证书信息,可以看到证书的目的是“确保软件来自软件发行商”和“确保软件在发行后不被修改”。
   
   如果是对需要从网上自动下载安装的ActiveX控件进行签名,必须在ActiveX控件的程序代码中实现“初始化安全”和“脚本安全”两个接口,具体方法可查阅COM有关资料。
    ActiveX控件能否自动下载与“代码签名证书”的有效期有关,当“代码签名证书”失效后,ActiveX控件不能继续下载,但已经下载的ActiveX控件仍然可以继续有效使用,因此,用户应当根据需要确定代码签名证书的有效期(企业证书可以支持最长10年的有效期)。
    首先,下载代码签名工具“signcode.exe”。运行“signcode.exe”。
   
   选择要签名的文件,鼠标单击“下一步”。
   
   鼠标点击击“从存储区选择”。
   
   选择证书。
   
   鼠标单击“下一步”。
   
   输入必要的信息。
   
   如果需要添加时间戳,在“时间戳服务 URL”编辑框中填:“http://timestamp.verisign.com/scripts/timstamp.dll”。然后,按向导提示进行。



具体步骤参考网站上的用户手册。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Activex控件签名工具, 微软提供了两套签名工具, 1)signcode.exe, 从1998年开始使用,随.NET Framework SDK发布。 signcode.exe 数字签名工具 makecert.exe 创建数字证书 cert2spc.exe 将数字证书转化为软件发布者证书格式 2)signtool.exe,随visualstudio 2005及其以后的版本发布。 signtool.exe 数字签名工具 makecert.exe 创建数字证书 cert2spc.exe 将数字证书转化为软件发布者证书格式 pvk2pfx.exe(pvkimprt.exe) 将私有的密匙和软件发布者证书合并为pfx文件,此文件将被signtool.exe使用 上面2中工具的不同是signcode.exe需要输入私有密匙和软件发布者证书(pvk和spc文件),signtool.exe只需要输入由pvk和spc合并产生的一个个人信息交互文件(pfx)。 获得数字证书 数字证书,你可以创建自己的数字证书来测试数字签名的流程,但是正式的软件发布,你需要向可信赖的证书颁发机构购买数字证书和密码,例如你可以向以下的证书机构购买Comodo, Globalsign, Thawte and Verisign。 创建自己的数字证书(用来测试) 使用如下命令来创建自己的数字证书: makecert.exe -sv mykey.pvk -n "CN=Acme Software Inc." mycert.cer你可以将Acme Software Inc.替换为你自己公司的名字。如果mykey.pvk不存在的话,你会要求输入私有密匙的密码,密码可以为空。安全起见最好设置密码,否则别人拿到你的私有密匙后就可以签名了。在上面的命令后,产生了2个文件mykey.pvk和mycert.cer。接下来需要将数字证书(cer)转化为软件发布商证书(spc),命令如下:cert2spc.exe mycert.cer mycert.spc此过程中需要输入私有密匙的密码,创建完成后应该会生成mycert.spc文件,当数字签名时mycert.cer文件是不需要的。 时间戳服务器,你可以选择下列之一, - http://timestamp.verisign.com/scripts/timstamp.dll - http://timestamp.globalsign.com/scripts/timstamp.dll - http://timestamp.comodoca.com/authenticode 1)使用signcode.exe,如下: signcode.exe -t <timestamp URL> -spc mycert.spc -v mykey.pvk "<file to be signed>"进行数字签名的文件可以是.exe, .dll, .ocx 或者是其他的可执行文件。 2)使用signtool.exe,如下: 如果你没有pfx文件,需要使用以下的命令来将pvk和spc文件合并为pfx,如果没有设置密码的话必须使用pvkimprt.exe来合并。pvk2pfx.exe -pvk mykey.pvk -pi <password> -spc mycert.spc -pfx mycert.pfx -po <password>pvkimprt.exe -pfx mycert.spc mycert.pvksigntool.exe sign /f mycert.pfx /p <password> /t <timestamp URL> /v "<file to be signed>" 以下是使用signtool.exe签名的一个实例: signtool.exe sign /f mycert.pfx /p <password> /t <timestamp URL> /v "<file to be signed>"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值