我的公司订购了赛门铁克的代码签名证书,我被赋予了使用它的任务。我不知道该怎么做,即使在他们的网站上也没有明确的指示。我有一个.cer格式的证书,当我尝试在Visual Studio 2013中使用它 - 属性窗口时,它表示证书没有与之关联的私钥。我搜索并发现.pvk文件将存储在我们订购证书的系统注册表中。鉴于我可以获取.pvk文件,我想知道下一步该做什么。我有两个文件,我需要.pfx格式(包含私钥)。我知道这不是一个编程问题,但我希望有人像我一样有同样的问题,他们可以指导我。
我正在开发WPF应用程序。
答案 0 :(得分:4)
这实际上很容易做到。
解决方案
在用于订购新证书的相同机器上,右键单击.cer文件并进行安装。
接下来,转到订购证书时使用的同一浏览器,然后导出证书。
按照向导将证书导出到文件。请确认您选择“是,导出私钥”。使用“个人信息交换 - PKCS#12(.PFX)”选项,并选中“如果可能,请在证书路径中包括所有证书”和“导出所有扩展属性”复选框。
您现在可以将.PFX或.P12文件分发给开发人员。
详情
获取证书涉及创建CSR(证书签名请求)。此过程创建您的PK(私钥),并将其存储在该计算机的证书存储中。它还会创建实际的CSR,您的CA(证书颁发机构或颁发证书的公司)需要生成您的代码签名证书。整洁的是,CSR不包含您的私钥,因此您的CA永远不会得到PK。
您的CA使用CSR生成加密安全证书。因为他们没有PK,所以他们无法创建.PFX文件。他们只能创建.CER。通过在生成CSR的同一台计算机上安装.CER文件,证书存储将自动将CSR和关联的PK与.CER指纹进行匹配。安装证书后,您可以将证书和PK导出为单个.PFX。
答案 1 :(得分:0)
请确保使用Symantec证书,而不是文章中提到的自签名证书。
简单来说,signtool命令行实用程序保存了该过程中的密钥。
答案 2 :(得分:0)
你应该拥有的是来自赛门铁克的证书(我的证书来自ASCII文本块)。
签署二进制文件的一个例子是:
signtool sign /f your_exported.pfx /p <your_password> /t http://timestamp.verisign.com/scripts/timestamp.dll /v App-installer.msi