办公设备维修网
资讯中心 您所在的位置:网站首页 资讯中心 创建为ClickOnce清单签名的.pfx格式数字证书

创建为ClickOnce清单签名的.pfx格式数字证书

2023-11-24 14:07:08| 来源: 网络整理

1、ClickOnce 部署 客户端点"安装"后无反应的处理办法:

ClickOnce 部署方式在客户端是由此文件支持的 dfshim.dll.. 在.net 2.0 framework 安装时,与 .application文件类型相关联... 浏览器在下载 .application文件后,会由 dfshim.dll交由 dfsvc.exe 打开,我们就会看到ClickOnce的安装界面了.....

因此:若出现客户端点“安装”没有任何反应的情况,我们可以使用右键 另存为 功能下载 .application文件,然后选中.application文件使用右键 打开方式 选择 dfsvc.exe 打开此文件,即可进行客户端的安装....

 

2、创建为ClickOnce清单签名的.pfx格式数字证书

    使用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

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

(注解:CN(所有者的名称) , myselfName.pvk为签名的文件名)

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

cert2spc myselfName.cer myselfName.spc

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

pvkimprt -pfx myselfName.spc myselfName.pvk

(请将pvkimprt 下载解压至该目录:D:/Program Files/Microsoft Visual Studio 8/VC ,否则提示访问拒绝,即证书路径不对  ,  注,创建时证书也在该目录下)

按提示操作可导出.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

 

 

3、clickonce签名

场景:用于生产环境的项目进行系统升级,在发布ClickOnce过程中发现签名已过期,现场工程师重新生成了一个签名,然后进行发布,发布完成后,所有客户端无法更新,提示签名错误。问题:VS2005做年签名只有一年期限,所以很容易在维护期内就过期了,如果新做签名结果会造成客户端验证签名出错无法更新。解决办法:     1、新做一个签名,使用新的签名做ClickOnce,所有客户端将原来程序删除,重新使用新的ClickOnce安装程序进行安装。         (此方法太可耻了,如果再有升级的话,可能还会有这问题,同时ClickOnce也得改名叫ClickOneYear了)。     2、利用原有签名,延长有效时间。          (中文)http://support.microsoft.com/kb/925521/zh-cn           (英文)http://support.microsoft.com/kb/925521/en-us          有此朋友发现过这样的问题,也知道解决办法,但如果机器上没装VC++可能操作起来也不方便,现编译完成一份,各位可以下载:         http://files.cnblogs.com/spymaster/RenewCert.rar         使用方法:到命令窗口,输入         renewcert .pfx .pfx ""CN=""          好了,新签名的有限期是5年。      3、项目之初就做一个长效的签名。          http://www.cnblogs.com/cncxz/archive/2007/03/15/675937.html

 

 

 

 

 

创建为ClickOnce清单签名的.pfx格式数字证书

    使用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

 

 

 

问题解答:

 

到第三步时我的怎么不能执行呢? C:/pfxFile>pvkimprt -pfx c:/pfxFile/MyClickOnceCon.spc c:/pfxFile/MyClickOnce.pv k Error: 00000002,  

  试试这样 C:/pfxFile>pvkimprt -pfx MyClickOnceCon.spc MyClickOnce.pvk  

问题解决了,是偶到第三步时退出了.net的Dos界面,而使用cmd打开Dos界面的,而且自己的.net路径也没有添加到环境变量中,所以总出现那个错误



【本文地址】 转载请注明 

最新文章

推荐文章

CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备16040606号-1