如何使用Visual Studio 2012制作和部署自签名的ClickOnce清单

Wat*_*i02 9 clickonce certificate self-signed visual-studio

让我们解决这个问题......我:

  • 使用Visual Studio 2012

  • 开发VB.NET应用程序 - 主要是.NET framework 3.5,一些2.0.

  • 使用Windows 7进行开发(用户也使用Windows 7.有少量内部用户(少于40个).

我也将说明我是新手,并不完全理解这个过程.我确实理解加密/散列/密钥等的基本概念,但我不能告诉你为什么你可能需要一个.cer文件而不是一个.pfx文件.

接着...

我们有一个应用程序使用证书来签署已经工作了三年(或大约)年的清单.我们最近从Visual Studio 2008升级到Visual Studio 2012,基本上跳过了Visual Studio 2010.在该过程的某个地方,证书现在无效或已损坏.

建议的解决方案:用makecert.exe"就像我们上次做的那样" 制作新的解决方案.当我们需要它时,没有必要支付证书是我们自己的一小部分用户以及没有看到"你信任这个出版商吗?"的小便利.消息(我想?).

尝试发布时,确切的错误是:

无法发布,因为项目无法构建.

签名时出错:无法签署bin\Release\app.publish\setup.exe.SignTool错误:签名者的证书对签名无效.SignTool错误:尝试签名时发生错误:bin\Release\app.publish\setup.exe

现在,文章使用.NET Framework 2.0在您的应用程序中支持证书说:

对于桌面应用程序,通常在用户存储中安装证书.

因此,当我查看用户存储(通过带有证书管理单元的MMC)时,我看到:

在此输入图像描述

红线所在的是OLD/INVALID证书.另一个仍未过期,我的用户名(2013-06-20).

当我从商店中选择时,我看到了:

在此输入图像描述

在此输入图像描述

如果你很好奇,另一个直观的地方就是这样:

在此输入图像描述

那么如何添加另一个旧/坏的呢?

这是我尝试过的:

按照这些说明,我执行了

makecert -n "CN=TempCA" -r -sv TempCA.pvk TempCA.cer
Run Code Online (Sandbox Code Playgroud)

现在我有一个.pvk文件和一个.cer文件.然后我按照Pvk2Pfx(Windows驱动程序)中的说明运行

pvk2pfx.exe -pvk TempCA.pvk -spc TempCA.cer -pfx TempCA.pfx
Run Code Online (Sandbox Code Playgroud)

现在我有一个.pfx文件......(这是我需要的吗?),但是当我尝试使用MMC导入证书存储区时,无论如何我使用的密码都是错误的 - 即使我复制并粘贴它.(这听起来像导入程序中的一个错误...我可以重现这个.)

在导入.cer文件后尝试另一个路径,它将不会显示在Visual Studio的"从商店中选择"窗口中,因此没用.

我已经花了一天时间准备放弃,但我不能.我需要做什么?

Wat*_*i02 7

使用Makecert为开发创建证书的文章帮助了大约90%的方式......

其余的是理解我可以做两件事之一(这两个选项都要求证书必须在"受信任的根证书颁发机构"之类的"受信任的根"区域,或者必须由那里的一个签名):

  1. 在Visual Studio中,在"签名"选项卡下,我可以使用"从文件中选择"并使用该.cer文件.
  2. 如果我只是将我的.cer文件放在"个人"文件夹中,它将从"从商店中选择"按钮显示为一个选项(我可能需要重新启动计算机或Visual Studio).

  • 你是如何解决密码问题的?我有同样的问题,我知道我正确输入密码! (3认同)
  • @kyleb我也有完全相同的无效密码问题.你能指点一下吗? (2认同)
  • @kyleb我也遇到了无效的密码问题.您可以分享任何建议吗? (2认同)