当前位置: 首页 > 编程语言 > C#

如何对可执行文件进行数字签名?分享

时间:2023-04-10 17:00:40 C#

如何对可执行文件进行数字签名?我正在编写需要管理权限的软件。当UAC对话框弹出时,它会显示与未签名软件不同的数字签名软件的弹出窗口。我相信对我的软件进行数字签名将使用户更容易信任我的软件。数字签名软件要花几千美元,还是免费的?有简单的方法吗?我搜索过谷歌,我得到的只是如何签署PHP、XML和PDF文件,这不是我要找的。我需要签署我的软件可执行文件。刚刚看到有关sigtool.exe的信息?这是正确的方向吗?那些复杂的.pfx文件和Authenticode呢?正如其他答案中提到的,您首先需要购买适合代码签名的证书。这将花费几百美元,远不及一千美元。当我最近用Globalsign更新我公司的证书时,还有一项调查来检查公司是否合法-因为我在注册时使用了手机号码,他们需要公司会计师的来信来验证我们是一家真实的公司。为了签署可执行文件,我使用MSBuild任务。以下是相关部分的摘录:为此,您需要将证书安装到您的个人证书库中(请参阅上例中的CertificateStoreName="My")。在Globalsign网站上,此安装是证书下载过程的自动部分。注意:我发现在下载证书时使用InternetExplorer很有帮助,因为它与Windows证书存储区集成在一起。一旦它位于下载机器上的证书存储中,您就可以将其导出为pfx文件,将其传输到构建机器,然后将其导入那里。如果你导出它,我建议用密码保护导出的文件,以防止它落入坏人之手。当您使用上述SignToolMSBuild任务时,它会从与当前Windows用户帐户关联的个人存储(“我的”)中读取证书。这意味着您可以控制谁可以使用您的证书签署代码,这是一件好事。您应该只将证书导入您信任的开发人员的个人商店。签署代码时使用时间戳服务器是个好主意,这样证书过期时就不需要重新签署代码。您需要Microsoft的代码签名命令行实用程序。然后:signtool.exesign/v/f"MyCertificate.pfx"-t"http://timestamp.verisign.com/scripts/timstamp.dll""MyApp.exe"或者signcode.exe-a"sha1"-spc"MySoftwarePublishingCertificate.spc"-v"MyPrivateKeyFile.pvk"-t"http://timestamp.verisign.com/scripts/timstamp.dll""MyApp.exe"我不是在这里推销任何人,但试试VeriSign。他们提供代码签名,这正是您要找的。您可能希望阅读使用Authenticode签名和检查代码。以上就是C#学习教程:Howtodigitallysignexecutablefiles?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: