windows下如何制作和应用数字签名证书 全流程
目前我们在发布应用程序时,有时用户下载后会被360杀毒当做木马直接隔离。为应用程序可执行文件打上数字签名可以让360杀毒放宽检测规则。下文是讲述如何制作数字签名证书的过程。 需要准备的工具:makecert.exe、cert2spc.exe、pvk2pfx.exe、signtool.exe。 在MS的SDK6.0中有个证书生成工具makecert.exe, 你可以使用这个工具来生成测试用的证书。 第一步,生成一个自签名的根证书(issuer,签发者)。 >makecert -n "CN=Root" -r -sv RootIssuer.pvk RootIssuer.cer 这个时候,会弹出提示框,首先给RootIssuer.pvk文件设置私钥保护口令; 然后,再次输入这个口令用私钥(在RootIssuer.pvk文件中)来给公钥(在RootIssuer.cer文件中)加密。 第二步,使用这个证书签发一个子证书(使用者,subject)。 >makecert -n "CN=Child" -iv RootIssuer.pvk -ic RootIssuer.cer -sv ChildSubject.pvk ChildSubject.cer 此时,会弹出提示框先给这个子证书的私钥文件ChildSubject.pvk设置保护口令; 然后,输入这个子证书的私钥(在ChildSubject.pvk中)口令来保护子证书的公钥(在ChildSubject.cer中)。 接下来会提示输入根证书私钥(在RootIssuer.pvk中)口令来签发整个子证书(公钥和用户信息)。 如果你还要签发更多的子证书,类似的,使用这个证书来签发再下层的证书,前提是ChildSubject证书也可以用于签发(作为Issuer)用途。 备注: (1)如果你需要一个交互证书,用于安全通信,那么,加入选项 -sky exchange; (2)如果你需要一个签名证书来签发证书或者二进制文件,那么,加入选项 -sky signature. (3)如果你需要一个客户端证书来标志你的身份,或者个人信息保护(电子邮件),那么,选项-n 中的E字段是不可缺少的。 举例:-n "CN=公司名称,E=E-MAIL地址,O=组织名称,OU=组织单位,C=国家,S=省份(州),?P=县城" 参数为:makecert -r -pe -n "cn=MyCA" -$ commercial -a sha1 -b 08/05/2010 -e 01/01/2012 -cy authority -ss my -sr currentuser 其中各部分的意义: -r: 自签名 ? ? 查看该生成的证书并导出: ? 然后导出为PFX格式的证书,PKCS#12规范的证书,包含了公钥和私钥,导出时需要提供一个私钥的保护密码,在导出时设置即可 其他辅助工具: 1) 公钥证书格式转换成SPC。 cert2spc.exe >cert2spc TestRoot.cer TestRoot.spc .spc 意思是 软件发布者证书(Software Pulisher Cerificate). 2) 将公钥证书和私钥合并成一个PFX格式的证书文件。pvk2pfx.exe >pvk2pfx -pvk TestRoot.pvk -spc TestRoot.spc -pfx TestRoot.pfx 输入TestRoot.pvk的保护口令来合并.pvk和.spc文件,如果你不设置即将合并出来的TestRoot.pfx的保护口令的话,这个保护口令和输入文件TestRoot.pvk的保护口令一样。(备注:直接从cer文件也可以,不一定要得到SPC文件). 3) 签名工具。signtool.exe 二进制文件数字签名.为了保证二进制文件的完整性,数字签名是一个好的方法。 以下命令启动一个有图形界面的文件签名工具向导: >signtool wizard 以下是命令行方式的签名: >signtool ?sign /f "pfx文件的全路径" /p "pfx文件的保护口令" /t "http://timestamp.verisign.com/scripts/timstamp.dll" /d "本次签名的描述" "被签名的程序的全路径"
?
转载地址:
http://www.jizhuomi.com/software/349.html
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- maccms V10后门
- windows-server-2003 – windows服务器共享打印机,为什么本
- 虚拟化 – 在Windows上通过OpenVPN TAP适配器桥接VirtualBo
- windows-phone-7 – 在扩展程序视图中删除垂直行Windows Ph
- Meteor作为本机OSX或Windows 8应用程序
- 如何判断文件是EXE还是DLL?
- active-directory – Windows域帐户遭到入侵后的下一步是什
- microsoft-graph – 如何在特定时间段内获取microsoft grap
- microsoft-office-365-将office365企业办公室2013更新至201
- 在基于Windows的VPS中从Java访问Ubuntu服务器中托管的MS Ac