大家好,又见面了,我是你们的朋友全栈君。
在VS2005或VS2008安装后发现路径**VC7\Common7\Tools\Bin\下有许多小工具,我对带有Cert的文件比较感兴趣。经过研究,发现是有关证书和签名的,当然,该证书未被证书认证机构认可。下面列出这些工具和我的使用心得。 1。Makecert.exe —证书创建工具 2。Cert2Spc.exe —发行者证书测试工具 3。Signcode.exe —文件签名工具 面对其众多参数,我只好一一尝试。经过不断的创建,我已经能够做好证书的自我创建,子证书的创建,文件签名。嘿嘿,这下ActiveX控件的自动下载问题也算解决了一大半,有事没事就给自己编的小软件签个名又何妨? 建立自己的根证书: 打开.net命令提示,输入以下
makecert -sk myPK -ss myName -n “CN=LUO31工作室” -r c:\ooofcu.cer
sk-表示主题的密钥容器位置,ss-主题的证书存储名称, n-证书颁发对象,r-证书存储位置;
如果你需要导出私钥文件,请不要使用sk,而换作s,eg:makecert -ss myName -n “CN=LUO31工作室” -sv c:\ooofcu.pvk -r c:\ooofcu.cer
建立自根跟证书授权的子证书:
makecert -sk “myPK” -is myName -n “CN=luo31” -$ commercial -ic c:\ooofcu.cer c:\ofcu.cer
sk-表示主题的密钥容器位置,is-颁发者的证书存储名称, n-证书颁发对象,ic-颁发者的证书存储位置,-$-授权范围(用于代码签名); 使用Cert2Spc生成spc发行者证书(可选):
cert2spc c:\ooofcu.cer c:\ooofcu.spc
使用signcode为你的程序,库或cab包签名: signtool signwizard 不带参数会启动签名向导。在第三步选择“自定义选项”,第四步选择“从文件选择”选择ooofcu.spc或ooofcu.cer,第五步选择“CSP中的私钥”,在密钥容器中选择我们定义的myPK,其他步骤默认 即可,如果想添加时间戳,请在时间戳服务器地址上键入:(免费时间戳认证) 完成后,观察你所签名的文件属性,应该已经添加数字签名项。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132512.html原文链接:https://javaforall.cn