Visual Studio项目的自签名证书未编译

时间:2019-04-29 19:12:41

标签: visual-studio winforms visual-studio-2017 certificate self-signed

我在Visual Studio 2017中有多个WinForms项目,其中一年的自动证书已过期(或将要过期)。创建了一个新的自签名证书,其有效期为2119。

多个网站指示创建证书的相同步骤。其中之一是:

我已经尝试在对程序集进行签名时添加PFX以及对ClickOnce清单进行签名,但是在编译时仍会收到相同的错误消息:

  • 导入密钥文件“ CompanyFile100.pfx”被取消。 MyApplicationName
  • 无法导入以下密钥文件:CompanyFile100.pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_C0AA3FA6F491AC23 MyApplicationName

在VS Developer命令提示符中,手动安装的命令产生了一条消息,提示密钥对已经存在,因此我删除并重新添加了VS_KEY,但是编译仍然没有运气。

  • 错误:“无法安装密钥对-对象已存在。”

  • sn -i CompanyFile100.pfx VS_KEY_C0AA3FA6F491AC23

  • sn -d VS_KEY_C0AA3FA6F491AC23

VS解决方案已关闭并清洗了多次。在尝试重新创建证书之间,已通过证书管理器删除了证书。

任何对解决问题的智慧都将受到赞赏。应该在个人或受信任的根CA级别加载证书吗?在ClickOnce清单或程序集级别是否有使用限制?

谢谢。

1 个答案:

答案 0 :(得分:0)

一个有趣的解决方案,尽管对我有点疏忽。 VS2017解决方案包含多个项目。尽管已将过期的证书从系统中删除,但在解决方案资源管理器中显示的多个项目中,有多个对PFX文件定义的对象引用。尽管PFX文件已在后台删除,但尚未找到解决方案资源管理器的参考。清理了损坏的前端引用后,编译就顺利完成了。