winform安装包签名

起因:
本人菜鸡一个 第一次正儿八经的上线winform应用 然后就用的 innosetup 进行的打包 其他的啥都没管
本地不知道为啥 没任何问题 正常安装使用

但是勒 发到客户那边 第一步安装就出了问题 (虽然不会影响使用吧 但看着烦不是)
在这里插入图片描述

好家伙 这可咋整
到处查文档 说是要数字签名 然后进微软白名单啥的 咋办 只能弄个签名先试试看

抱着能白嫖就白嫖的原则 用自签名证书

自签名证书:

完全免费的Windows代码签名证书

  1. 获取工具

    制作自己的代码签名证书需要的工具有:

     	cert2spc.exe
     	makecert.exe
     	signcode.exe
     	certmgr.exe
     	pvk2pfx.exe
    

    BD网盘链接:传送门 提取码:324d

    蓝奏云链接:传送门 提取码:DNick


  2. 按步骤 走完前两步
    也就拥有了 root.cerroot.spcroot.pvk 三个文件
    在这里插入图片描述

  3. 如果不是安装包 直接发文件的话 走完后面的流程 也就ok 了

  4. 如果是安装包

接着看到 捣腾数字签名 中的
在这里插入图片描述

直接第三步 前两步 已经在另一边完成

  1. 在innosetup 中 配置签名工具
    InnoSetup - Code Signing Certificate

    看不了stackoverflow 看这个 一样的内容
    https://www.it1352.com/2131737.html

在这里插入图片描述
一步步往下走 我的签名工具命令:

“E:\代码签名证书制作工具\signtool.exe” sign /f “E:\代码签名证书制作工具\文件\root.pfx” /td sha256 /fd sha256 $p

在这里插入图片描述
最后执行编译 打包成安装包 就自带签名了

到这里 打包出的安装包 运行的时候已经能正常显示开发者的信息了 但是客户那边还会不会报提示 有待验证


360…

走到这里又出现了另一个问题 我在虚拟机中装了个360病毒 然后安装应用时 会报 tmp 文件

在这里插入图片描述

如果部点击允许呢 就会这样
在这里插入图片描述
这个问题怎么解决 过段时间吧(我也不知道 等了知道了再说…)


参考资料:

捣腾数字签名

完全免费的Windows代码签名证书

InnoSetup - Code Signing Certificate

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字签名过程: (1) 发方A用自己的私钥PVA,采用非对称RSA算法,将原文信息进行哈希(hash)运算,并对hash值进行加密,即得数字签名DS;(RSACryptoServiceProvider.SignData()) (3) 发方A用对称算法AES的对称密钥SK对原文信息、数字签名SD及发方A证书的公钥PBA采用对称算法加密,得加密信息E;(Rijndael.CreateEncryptor()) (4) 发方用收方B的公钥PBB,采用RSA算法对对称密钥SK加密,形成数字信封DE,就好像将对称密钥SK装到了一个用收方公钥加密的信封里;(RSACryptoServiceProvider.Encrypt()) (5) 发方A将加密信息E和数字信封DE一起发送给收方B; (6) 收方B接受到数字信封DE后,首先用自己的私钥PVB解密数字信封,取出对称密钥SK;(RSACryptoServiceProvider.Decrypt()) (7) 收方B用对称密钥SK通过AES算法解密加密信息E,还原出原文信息、数字签名SD及发方A证书的公钥PBA;(Rijndael.CreateDecryptor()) (8) 收方B验证数字签名,先用发方A的公钥解密数字签名得数字摘要MD; (9) 收方B同时将原文信息用同样的哈希运算,求得一个新的数字摘要MD`;(RSACryptoServiceProvider.VerifyData()) (10)将两个数字摘要MD和MD`进行比较,验证原文是否被修改。如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的;否则拒绝该签名。 程序用法: “生成证书”按钮,生成发送方、接收方对应的公钥证书和私钥证书。 “签名”按钮,使用发送方私钥、发送方公钥、接收方公钥对文本框中的文本进行数字签名。得到签名后的文本。 “还原验证”按钮,使用接收方私钥将签名后的文本还原,并进行验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值