[转]ClickOnce签名过期的问题

Posted on 2010-01-11 14:30  Rock Wang  阅读(363)  评论(0编辑  收藏  举报

[原文地址]http://www.cnblogs.com/cncxz/archive/2007/03/15/675937.html

使用vs2005自动创建的.pfx数字证书默认有效期只有一年,并且“颁发者”、“颁发给”均为当前机器名和当前登陆用户名的组合,其实我们完全可以创建更友好的.pfx数字证书。

打开Microsoft .NET Framework 的SDK命令提示,按以下步骤操作:

1、创建一个自我签署的X.509证书(.cer)和一个.pvk私钥文件,用到makecert工具,命令如下:

makecert -r -n "CN= cncxz " -b 01/01/2005 -e 01/01/2018 -sv myselfName.pvk myselfName.cer

按提示设置私钥密码(也可以不使用密码)即可在当前目录生成相关文件

2、利用X.509证书(.cer)创建发行者证书 (.spc),用到cert2spc工具,命令如下:

cert2spc myselfName.cer myselfName.spc

3、从.pvk和.spc格式转换成.pfx格式,用到pvkimprt工具,命令如下:

pvkimprt -pfx myselfName.spc myselfName.pvk

按提示操作可导出.pfx证书,若第1步设置了私钥密码,此处需要输入验证

4、在vs项目的ClickOnce清单签名的证书设置处点击“从文件选择”浏览定位到第3步导出的.pfx证书,此处需要验证第3步中设置的证书私钥密码。

=================================================
makecert工具和cert2spc工具.NET Framework自带,pvkimprt工具下载地址如下

http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe