本篇是技术类。
做vsto开发的知道,发布程序最简单的方式是clickonce,也是visual studio默认支持的。clickonce做网络发布非常好,自动安装缺席的控件,自动更新,简洁明了,用户体验佳。但毛病是需要数字签名,否则通过网络发布后,会提示用户没有认证,然后就安装不上去了。
数字证书是一套安全机制。具体啥机制的我也没搞懂,哈哈。大家自行搜索吧。
进入正题。数字签名,要么通过CA机构买,要么自建一个。
自建的数字证书,需要用户先安装证书才行;购买的就不需要。想想容易理解。自建证书本质上是不被网络信任的,用户主动安装你才算信任对吧。
本篇就讲如何自建数字证书。
visual studio 2017 发布clickonce时需要用pfx文件去签名。pfx是一种软证书。我们的目标就是做一个pfx出来。
我们需要
signtools
。做pfx的签名工具。里面真实有用的,只有三个文件。
pvkimp文件需要安装。双击安装。
makecert -r -n "CN=苏州通商软件" -b 01/01/2017 -e 01/01/2050 -sv my.pvk my.cer
过程中会出现要输入密码,输入一摸一样的密码即可。CN= 后面的内容改成自己公司名称。 -b和-e分别是证书有效期,你可以搞大一点。最后他会生成两个文件my.pvk和my.cer。待用。
cert2spc my.cer my.spc
把cer文件转成spc文件。没啥说的。
pvkimprt -pfx my.spc my.pvk
过程中也要输入密码,用前面的密码即可。这样他就导出一个pfx文件了。这就是我们自建的,有三十年有效期的数字证书。
另外网上大量查到用pvk2pfx工具的,这个工具在本环境下没有,不知道为什么。
Visual studio 内导入签名