为什么要用自己的证书呢 ,VS 自动创建的证书只有一年时间,如果改变时间后发布2017又不能发布
好吧
那我们就新建一个属于自己的证书
1.用makecert命令生成一个证书文件my.cer,并且附带一个密钥my.pvk。输入以下命令(vs开发人员命令窗口)
makecert -r -n "CN="test" -b 06/25/2019 -e 06/25/2100 -sv my.pvk my.cer
输入密码
点击OK按钮,然后又弹出一个窗口,注意,这个和上面那个不同,上面那个是创建密码,下面这个是用刚才创建的密码来创建证书。刚才我设置了1,所以这里还是要输入1,不要输错密码,不然要从头再来了
ps: -r参数表示自签名,说白了就是自己给自书颁发证书,一定要加上-r,-n是证书的名字,通常用你的大名或者你公司的名字,以CN开头,格式为CN=<your name>
-b是证书有效期的开始日期,格式mm/dd/yyyy,注意,别写错,哪怕你是1月份也不要写成1,应该写成01;-e是证书有效期的过期日期,格式和前面一样。
-sv是创建密钥文件,文件名为*.pvk,-sv要加上,后面你会发现,有用的。
最后就是证书文件的名字,文件名为*.cer。
2.证书是生成了,但你会看到VS要的.pfx文件,不是.cer文件,所以我们必须转换,但是没有工具可以一部到位,所以,我们依次用两个工具来转换。
先是用cert2spc,把.cer文件转换为.spc文件,不要问为什么,到了后面一步你就知道为什么要转为.spc文件了。继续在命令行中输入:
Cert2spc my.cer my.spc
3.最后一个,我们的.pfx证书就要完工了。最后一步就是把.pvk文件转为.pfx文件。所以用pvk2pfx,继续在命令行中输入以下命令:
pvk2pfx -pvk my.pvk -spc my.spc -pfx my.pfx -pi 1 -po 1 -f
4.my.pfx 就是我们生成的证书
导入证书
在"受信任的发布者"节上的也用同样的方法导入一次。随后我们再发布一次ClickOnce部署包,现在就真正ClickOnce了,一点击就全自动安装了,没有安全提示了