Visual studio 如何将数字签名应用于Visual Studio项目?

Visual studio 如何将数字签名应用于Visual Studio项目?,visual-studio,binary,certificate,signing,Visual Studio,Binary,Certificate,Signing,可执行文件和DLL可以进行数字签名。它向用户建议信任 然而,我对这一课题的研究进展缓慢。我想我需要一个完整的一步一步的傻瓜指南,指导如何直接在编译时对二进制文件进行数字签名。我的意思是:点击“构建”并检索一个签名的可执行文件。我真的不想自己手动签名 VisualStudio在项目属性中有一个“签名”选项卡,所以我想我必须查看一下。似乎我需要一个.pfx文件来实现这一点。但是,我到底从哪里得到一个包含我名字的名字,我如何正确使用它呢 另外,这需要花钱吗?每二进制文件一次/仅一次/根本不需要 有符号

可执行文件和DLL可以进行数字签名。它向用户建议信任

然而,我对这一课题的研究进展缓慢。我想我需要一个完整的一步一步的傻瓜指南,指导如何直接在编译时对二进制文件进行数字签名。我的意思是:点击“构建”并检索一个签名的可执行文件。我真的不想自己手动签名

VisualStudio在项目属性中有一个“签名”选项卡,所以我想我必须查看一下。似乎我需要一个.pfx文件来实现这一点。但是,我到底从哪里得到一个包含我名字的名字,我如何正确使用它呢

另外,这需要花钱吗?每二进制文件一次/仅一次/根本不需要

有符号二进制文件的示例:


我总是手动签署我的DLL和应用程序。要使签名在代码签名证书过期后仍然有效,您需要向签名添加时间戳

要签署dll/exe,您需要购买codesign证书,但有CA(即,如果您是开源开发人员),您可以免费获得它。其中之一是Cetrum CA(我目前正在使用)。看一看。获得证书的过程是一种折磨,但证书本身是可以的。(它不适用于所有浏览器-使用FF,需要在每个页面上进行单点登录,邮件使用波兰语。)


可以免费获得时间戳(即,从中的链接或您可以找到免费的符合RFC 3161的时间戳颁发机构列表)

您需要从证书颁发机构购买“代码签名证书”。它们的价格从50美元到500美元不等,如果您希望能够通过Microsoft获得崩溃转储,则还有其他要求。只要证书有效,价格就有效,您可能需要长期续订。另请参见:检索崩溃转储听起来很不错,但支付500美元购买一年有效证书对于非营利开发人员来说是令人厌恶的。是否可以在没有反签名的情况下(或不管它叫什么)对二进制文件进行签名?只能使用显示为不可信的证书。或者有其他人的证书。好吧,我没有选择。我还是把这个答案留在这里。也许这会有帮助。我能用一个证书签署我所有的二进制文件吗?当然可以。我使用的是
signtool.exe
,其中要签名的是最后一个参数。我使用了
*.dll*.exe
。请注意,如果一年后您想要签署新的应用程序,您仍然需要有效的证书。时间戳仅保护已签名的应用程序,但您不能使用过期证书对应用程序进行签名。@jessehouwing True,您需要在上一个过期后获得另一个代码签名,才能再次对任何二进制文件进行签名。可能是一两年。但是,如果您没有向签名添加时间戳,并且没有发布任何新版本的应用程序,那么旧版本将在codesign证书过期后停止工作。