编程语言
首页 > 编程语言> > c# – 我可以从ClickOnce部署文件中检索证书信息吗?

c# – 我可以从ClickOnce部署文件中检索证书信息吗?

作者:互联网

我有一个ClickOnce应用程序,该应用程序已部署到许多用户,这些用户使用位于以前开发人员计算机上的证书进行签名.自该开发人员离开公司以来,证书已过期.为了从另一台机器重新发布应用程序,我们需要能够找到原始证书并使用扩展名进行更新.我可以访问以前的开发人员的计算机,但我找不到原始的.pfx文件来复制和更新证书.我也可以访问所有以前部署的文件.

我们尝试部署应用程序并收到错误:

The deployment identity does not match the subscription.

我最好的猜测是,它实际上是基于MSDN论坛问题和响应,Deployment identity does not match the description导致此错误的不同证书.但是,值得注意的是,我们已经更改了部署代码的机器以及将解决方案更新到Visual Studio 2010(虽然平台和配置相同).

如何从以前的开发人员的计算机或部署文件中检索原始证书信息?或者我们是否可能试图解决这个问题?

解决方法:

如果对计算机/用户帐户的物理访问可用,则检索证书应该不是问题,前提是它在导入时未使用自定义密码进行保护.可以从Internet Explorer选项启动导出向导,如图所示.在其中一个选项卡中查找所需的证书(通常在“个人”选项卡中).使用PFX格式导出私钥和公钥.

访问“导出”向导的另一种方法是通过MMC snap-in.

[更新]为了答案的完整性,不可能从签名的部署文件中检索私钥,因为它只包含加密密钥的公共部分.也许,在OP的情况下,私钥仍然存在,埋在开发机器的文件系统中(作为.PVK文件),尽管将它存储起来是一种不好的做法.有关证书文件类型的更多详细信息可以在here找到.我希望在机器的证书存储中找到私钥和公钥,如上所述.

标签:c,certificate,deployment,clickonce
来源: https://codeday.me/bug/20190629/1329259.html