如何签署视觉C#可执行文件?

Signtool.exe找不到证书。

我将如何创建一个自签名的密钥和证书,并让Signtool能够查看证书并使用它?

OpenSSL和Visual Studio 2010 Express已安装。运行Windows 7 Ultimate X64。

使用Windows驱动程序套件的Signtool.exe。

有帮助吗?

解决方案

使用自签名的证书以数字方式签署您的二进制文件几乎与 使用数字证书的概念 与程序。基本思想是证明代码是由您创建的(真实性),并且自您发布(诚信)以来没有修改。这必须通过使用由受信任证书授权(CA)签名的签名证书来完成。

使用.NET,当二进制数字签名时,它是 自动地 在启动过程中验证了完整性和真实性。尽管我没有亲自测试过这一点,但使用自签名证书可能会导致您很多问题。

如果您想以数字方式签署程序,则需要投资于CA的代码签名证书。有许多公司可以提供此服务(Verisign, 融化), 需另付费。

虽然费用的价格似乎有些极端,但请记住,您不仅要购买数字证书,还要购买该证书的24/7验证。每当有人启动您的程序时,都会确保该程序是由您编写的,并且自发布以来该程序没有更改。

获得证书后,您可以按照步骤进行数字签名 如何:签名申请和部署表现.

更新: 如果该程序严格是内部应用程序(仅限于您或您的业务), 您可以创建自己的CA. 。由于您将是唯一运行它的人,因此只有您需要验证它。 CA证书需要安装为 受信任的根证书 在所有运行程序的机器上(或者如果您可以访问Windows Server,则可以设置一个真正的工作CA)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top