【原创】Windows平台下对自签代码签名的实现

本文每一个字都是kiwen手敲出来的,原创文章,未经许可,禁止转载

话不多说,直接开始

首先准备好软件:cert2spc.exemakecert.exepvk2pfx.exesigntool.exe

(点击上面的软件名称应该就可以跳到下载页)

将他们放到一个文件夹里

地址栏改成cmd如下图

开始输入代码了

第一行签署一个根证书

makecert -n "CN=SkyStudios,O=SkyStudios,OU=sky233.com,C=China" -r -sv RootIssuer.pvk RootIssuer.cer

例如这样,其中CN,O,OU,C的值都可以改, RootIssuer.cer 的名字是指生成一个名为 RootIssuer.cer 的证书,按下回车

自己填密码,如果不想用密码可以直接点无

第二部,用这个 RootIssuer.cer 根证书发布一个证书

代码如下

makecert -n "CN=SkyStudios-kiwen" -iv RootIssuer.pvk -ic RootIssuer.cer -sv Subject.pvk Subject.cer

这里就不多说了

下面两行代码是把 Subject.cer 转为可以signtool可以看得懂的格式

代码如下

cert2spc RootIssuer.cer TestRoot.spc
pvk2pfx -pvk RootIssuer.pvk -spc TestRoot.spc -pfx TestRoot.pfx

之后打开signtool,这里给的是GUI版

vs里面自带signtool也可以

按照上面的提示搞就好了,匙包是TestRoot.pfx文件

时间戳选COMODO,别问问什么,问就是其他的都不好用了

之后就点代码签名,最后签时间戳,不出意外的话,你的软件就数字签名成功了

但是这只是你自己签的,然而,微软的数据库里面没有你

这就需要去专业签发机构购买证书了,通常价格不菲

最后发个SkyStudios的证书(没密码):SkyStudios CA.zip

THE END
喜欢就支持一下吧
点赞26
分享
讨论 抢沙发

请登录后发表评论