使用 .cer 文件签署 .exe(signtool.exe 要求的证书名称是什么?)

2023-12-24

我已经为我的课程购买了证书。

我购买它的网站给我发了一份.cer file (43-一些-真的很长-名称-9962812767788.cer)。没有发送任何其他文件,但我几乎 100% 确定我不需要更多文件。

当我点击它时.cer文件中,有如下信息:

  • 对于:(我的数据)
  • 作者:Certum 代码签名 CA
  • 到期时间: 2014-10-24

所有这些信息似乎都很好。

我有我的.exe文件,我想用它签名(因此,当用户在 Windows 上以管理员身份运行它时,他将能够看到证书信息)。

我发现我可以使用签名工具对于它,但它总是返回一个错误,指出未找到满足所有条件的证书。

So, 如何签署我的程序 (add .cer to my .exe) 仅使用.cer file(以及我可以从中生成的所有文件.cer file)?

我在证书、.cer 和所有证书术语方面没有经验,所以请在回答时考虑到这一点(我是一个简单的人......;)


到目前为止,我已经安装了(我认为我以正确的方式完成了).cer受信任的根证书颁发机构存储在您的计算机帐户上,根据MSDN 博客 http://blogs.msdn.com/b/winsdk/archive/2009/11/13/steps-to-sign-a-file-using-signtool-exe.aspx:

  1. 开始->运行->MMC
  2. 文件 -> 添加/删除管理单元...
  3. 从“添加或删除管理单元”窗口中选择“证书”,然后单击“添加>”。选择“计算机帐户”,然后单击“下一步”。
  4. 选择“本地计算机”并单击“完成”。
  5. 打开左侧窗格中的“受信任的根证书颁发机构”存储并单击“证书”,如图7所示。然后右键单击右侧窗格并选择“所有任务->导入”。
  6. 导入以上内容.cer您创建的文件并安装它。

I indeed see my cer at the MMC now: enter image description here

不过,我不知道如何正确使用signtool.exe。 命令:

Signtool sign /v 
/t http://timestamp.verisign.com/scripts/timstamp.dll 
/n CER_NAME_HERE FileToSign.exe

失败,因为我不知道我的证书的“CER_NAME_HERE”是什么。


将证书保存在证书存储中是正确的方法。使用的想法.pfx直接文件只会导致密钥被盗。我确信提供此类答案的同一个人也会保留密码,以保护某些批处理文件中公开的私钥,以方便使用。无论如何,我敦促每个人都使用证书商店,这就是它们最初创建的原因。

您只需要导入.pfx与私钥进入Personal店铺。将私钥标记为不可导出以提高安全性。然后你可以调用signtool.exe/n开关和值Issued To场地。不再需要密码。如果您使用了machine scope而不是一个user scope,你必须包括/sm也可以切换。

signtool.exe sign /a /n "<Issued_To>" /t "<TimeStamp_Server>" <File_Name>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 .cer 文件签署 .exe(signtool.exe 要求的证书名称是什么?) 的相关文章

随机推荐