做了一个activex控件,准备在HTML中使用,现在要发布到网上。
但通过IE打开时,始终提示未签名、不安全,阻止使用。
没有出现是否安装的选项。使用修改IE的安全设置的方法就先不提了。在网上找到如下的签名办法:下面讲一下发布的问题: 
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浏览的时候能够弹出来一个窗口,问你是否安装,而不是直接禁止了。 
按照上面做了之后,有是否安装的提示了,不过还是没有安装运行。请问有什么办法吗?