首先要有工具包,包括以下几个软件:
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=公司名称,E=email,O=作者" dream.cer
这里,Record.PVK表示新创建的私人密钥保存文件名
DreamCaptial是你想显示的公司名
dream.cer是你创建最后的证书文件名
这些根据你自己的要求填写,0HRIX教.nMel软hl(网最后得到Record.PVK和dream.cer两个文件。
其中,
mj!HA络iI1B
运行过程中需要输入私人密钥的保护密码,一定要输入一致,不要
出错。
2、转换cer格式为spc格式(可以省略)
cert2spc dream.cer dream.spc
得到dream.spc文件。
3、给ocx进行签名
运行signcode,命令行的我没有试验通过,我是通过界面实现的。
signcode运行后会出现数字签名向导,首先选择你要签名的ocx,
下一步后会出现签名选项,一种是典型,一种是自定义。选择自定义,教络i管kn*l,06;
这样才能从文件选择证书,选择前面制作的dream.spc,再下一步是
选择私钥文件,选择Record.PVK,输入私人密钥的保护密码,选择散
列算法,一般用md5就可以了,下一步是选择其他证书,直接下一步,
填写一下这个控件的声明,用户用ie浏览的时候,会弹出证书说明,
再下一步是加盖时间戳,我不会,直接下一步就完成了。
4、用chktrust检查是否正确
chktrust -v RecordProj.ocx
就这样,得到了一个测试证书,恩,虽然只是一个测试证书,但至
少保证这个ocx在ie浏览的时候能够弹出来一个窗口,问你是否安装,
而不是直接禁止了。
1、在你的机器上数字签名所需要的工具,叫什么名字不记得了,只晓得是个ZIP文件,叫codesigningx86,是WINDOWS下面使用的,正常解开后会有以下文件:
==============
cabarc.exe
cert2spc.exe
chktrust.exe
makecat.exe
makecert.exe (必须)
makectl.exe
setreg.exe
signcode.exe (必须)
================
以上的可以的微软的站点下载
以上根据需要来确定采用哪些工具,这里我采用了makecert.exe 来制作认证的证书,signcode.来进行数字签名
这时会在你的目录下生成个oranje.pvk和oranje.cer文件,打开.cer文件可以看到是证书信息
颁发给:王成
颁发者:Rooe Agenct
有效起始日期 2003-11-29 到 2040-1-1
好了,有了这个证书可以进一步搞你的DLL或CAB等的认证了
2、进入DOS状态,进入改目录
输入:makecert -sv oranje.pvk -n "CN=王成,E=homki@163.com,O=王成" oranje.cer
这个是制作证书 -sv是制作加密的文件(好象是的),CN是公司 E=EMail O=认证公司的名称 oranje.cer是生成文件的名称,好象都是以.cer为后缀的
这时制作的证书是没有任何认证公司认证的,听说认证一年需要好几百美金,俺没钱,所以只好自己做个使用了,功能都一样
3、运行Signcode.exe
出现一个数字签名向导
下一步 选择需要签名的文件(dll.ocx.cab等)
下一步 这里选择了自定义
下一步 选择签名证书 从文件选择 选择刚才做好的oranje.cer
下一步 私钥 磁盘上的私钥文件 点浏览选择刚才做好的oranje.pvk
下一步 输入密码
下一步 选择算法,这里我选择的是sha1
下一步 配置证书路径 这里我选择了“证书路径中所有证书,包括根证书”就是默认的
下一步 描述:输入安装证书时提示的文字,随便输入,这里我输入“公文编辑器” WEB位置是点了你输入的东西的链接,我这里输入http://www.cn2cn.com —> 下一步 时间 没做改动
下一步 完成
4、恭喜你,证书制作完毕,马上配置你的CAB或DLL等试试看,第一次运行会出现安装你的证书,以后再运行就不需要了,也不会出现“不安全的ACTIVEX,不让安装”等提示了
5、调试及运行环境
windows 2000 P
IIS 5
如何给activeX加数字签名
首先要有工具包,包括以下几个软件:
(以下软件在Microsoft Visual Studio .NET 2003/SDK/v1.1/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 -sk "photoup.PVK" -ss myName -n "CN=公司名称,E=email,O=作者" photoup.cer
这里,photoup.PVK表示新创建的私人密钥保存文件名
ss-主题的证书存储名称
photoup.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浏览的时候,会弹出证书说明,
再下一步是加盖时间戳,填入http://ti****mp.verisign.com/scripts/timstamp.dll(免费的),完成。
4、用chktrust检查是否正确
chktrust -v RecordProj.ocx
chktrust -v
就这样,得到了一个测试证书,恩,虽然只是一个测试证书,但至
少保证这个ocx在ie浏览的时候能够弹出来一个窗口,问你是否安装,
而不是直接禁止了。
了N久,找到制作签名的过程。下午试过,可以通过。好使。哈哈。。。整理一下~~~
制作签名的工具软件:(这个装了VS的话。全部工具都有了。呵~~~偶的VS.net2002的都有。)
1、makecert.exe 制作cer格式的证书,即X.509证书,同时可以创建私钥
2、cert2spc.exe 将cer格式证书转换成spc格式证书,即PKCS #7证书
3、signcode.exe 将证书签署到ocx上去
4、chktrust.exe 检查签署证书后的ocx是否正确
还有一个certmgr.exe,是管理证书用的。可以从这里面导出root.cer来。(这个倒还没有用,没有多大的影响。)
签名软件可以对dll、ocx以及VB的打包向导的.cab 文件进行签名
1、创建一个自己的证书文件:
(1)
makecert /sv "Record.PVK" /n "CN=ZqbaSoft" test.cer
这里,Record.PVK表示新创建的私人密钥保存文件名,ZqbaSoft是你想显示的公司名,test.cer是你创建最后的证书文件名。最后得到Record.PVK和test.cer两个文件。其中,运行过程中需要输入私人密钥的保护密码,一定要输入一致,不要出错。
(2)
a)建立自己的根证书:
makecert -sk "Record.PVK" -ss myName -n "CN=Zqba.com,E=zqba@zqba.com,O=XDK" test.cer
sk-表示主题的密钥容器位置,ss-主题的证书存储名称, n-证书颁发对象,r-证书存储位置;
如果你需要导出私钥文件,请不要使用sk,而换作sv,例:makecert -ss myName -n "CN=Zqba.com" -sv c:/Record.PVK -r c:/test.cer
b)建立自根证书授权的子证书:
makecert -sk "myPK" -is myName -n "CN=公Zqba.com" -$ commercial -ic c:/test.cer c:/xdk.cer
sk-表示主题的密钥容器位置,is-颁发者的证书存储名称, n-证书颁发对象,ic-颁发者的证书存储位置,-$-授权范围(用于代码签名);
2、使用Cert2Spc生成spc发行者证书(转换cer格式为spc格式,可以省略):
cert2spc c:/xdk.cer c:/xdk.spc
3、给ocx或cab包进行签名
运行signcode,命令行的我没有试验通过,我是通过界面实现的。signcode运行后会出现数字签名向导,首先选择你要签名的ocx,下一步后会出现签名选项,一种是典型,一种是自定义。选择自定义,这样才能从文件选择证书,选择前面制作的xdk.spc,再下一步是选择私钥文件,选择Record.PVK,输入私人密钥的保护密码,选择散列算法,一般用md5就可以了,下一步是选择其他证书,直接下一步,填写一下这个控件的声明,用户用ie浏览的时候,会弹出证书说明,再下一步是加盖时间戳,直接下一步就完成了。
4、用chktrust检查是否正确
chktrust -v test.cab
把这个CAB文件放到你的服务器上,用下列代码说明你的codebase,就会自动下载了。
ACTIVE制作数字签名
最新推荐文章于 2021-02-24 17:01:33 发布