4

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

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

部署标识与订阅不匹配。

我最好的猜测是,事实上,基于 MSDN 论坛问题和响应的不同证书导致此错误,部署身份与描述不匹配。然而,值得注意的是,我们既更改了部署代码的机器,也将解决方案更新到了 Visual Studio 2010(尽管平台和配置相同)。

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

4

1 回答 1

3

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

在此处输入图像描述

访问导出向导的另一种方法是通过MMC 管理单元

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

于 2013-09-01T13:26:32.723 回答