如何处理代码签名证书?

4
我的公司向Symantec订购了一个代码签名证书,我被分配了使用它的任务。我不知道如何操作,即使在他们的网站上也没有清晰的说明。我有一个.cer格式的证书,但当我尝试从Visual Studio 2013的属性窗口使用它时,它显示该证书没有与之关联的私钥。我搜索并发现.pvk文件将存储在我们订购证书的系统注册表中。如果我可以获得.pvk文件,我想知道下一步该怎么做。我有两个文件,需要一个.pfx格式(其中包含私钥)。我知道这不是一个编程问题,但希望有人像我一样遇到过类似的问题并可以指导我。
我正在开发一个WPF应用程序。
3个回答

5

这实际上非常容易做到。

解决方案

在用于订购新证书的同一台计算机上,右键单击 .cer 文件并安装它。

接下来,转到订购证书时使用的同一浏览器,并导出证书。

  • 在 IE 中,转到菜单(齿轮图标) -> Internet 选项 -> 内容。选择证书,然后单击“导出...”。
  • 在 Chrome 中,转到菜单(3 条杠) -> 设置 -> 高级 -> 管理证书。选择证书,然后单击“导出...”。
  • 在 Firefox 中,转到 Firefox(下拉菜单) -> 选项 -> 选项 -> 高级 -> 加密 -> 查看证书。选择证书,然后单击“备份...”。

按照向导将证书导出到文件中。确保选择“是,请导出私钥”。使用“个人信息交换 - PKCS#12(.PFX)”选项,并选中“如果可能,请包括所有证书路径中的所有证书”和“导出所有扩展属性”复选框。

现在,您将拥有一个 .PFX 或 .P12 文件,可以将其分发给您的开发人员。

详细信息

获取证书涉及创建 CSR(证书签名请求)。此过程会创建您的 PK(私钥),并将其存储在计算机的证书存储中。它还创建实际的 CSR,您的 CA(证书颁发机构,或发出您的证书的公司)需要生成您的代码签名证书。有趣的是,CSR 不包含您的私钥,因此您的 CA 永远不会接触到 PK。

您的 CA 使用 CSR 生成加密安全证书。因为他们没有您的 PK,所以他们无法创建 .PFX 文件。他们只能创建 .CER。通过在生成 CSR 的同一台计算机上安装 .CER 文件,证书存储将自动将 CSR 和关联的 PK 与 .CER 指纹匹配。安装了证书后,您可以将证书和 PK 导出为单个 .PFX。


0

你需要的是来自Symantec的证书(我的证书以ASCII文本块的形式出现)。

  1. 创建一个扩展名为.cer的文本文件,并将文本添加到文件中。
  2. 右键单击该文件,将.cer文件安装到您的计算机证书存储中。让向导选择最佳选项。
  3. 打开证书管理器(通过在搜索框中键入certmgr.msc)。
  4. 右键单击并查找发给您的证书(不是由谁颁发的)。
  5. 右键单击证书以导出它。
  6. 您需要将其导出为PFX扩展名。如果此选项被禁用,则需要重新颁发证书,因为在创建时未启用导出功能。
  7. 一旦您拥有了PFX文件,就可以使用Microsoft signtool.exe(您可以在Windows SDK中找到它):

签署二进制文件的示例:

signtool sign /f your_exported.pfx /p <your_password> /t http://timestamp.verisign.com/scripts/timestamp.dll /v App-installer.msi

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接