如何在VS2013中配置Comodo代码签名证书实现强名称签名及构建后事件?
配置Comodo代码签名证书用于Visual Studio 2013强名称签名
我之前刚好处理过类似的配置需求,结合你的操作进度,给你梳理完整的落地步骤:
一、从Firefox导出带私钥的证书
你已经走到选中目标Comodo证书的环节了,接下来继续:
- 点击证书右侧的「...」按钮,选择「备份」选项
- 在弹出的保存窗口中,选择格式为PKCS #12 (.p12),指定好保存路径和文件名(比如
MyComodoCodeSign.p12) - 设置一个高强度的密码保护这个证书文件,务必记住这个密码,后续导入和签名都会用到
二、将证书导入Windows系统证书存储
Visual Studio依赖Windows的证书存储来调用签名证书,所以需要把导出的.p12文件导入系统:
- 找到刚才导出的.p12文件,右键选择「安装PFX」
- 按照向导完成导入:
- 选择「本地计算机」(推荐,这样所有用户都能访问该证书)
- 输入你设置的证书密码,勾选「标记此密钥为可导出」(可选但建议,方便后续备份)
- 将证书放入「个人」证书存储,完成导入流程
三、配置VS2013项目的强名称签名
现在证书已经在系统里了,接下来给项目配置签名:
- 打开你的VS2013项目,右键项目→「属性」→切换到「签名」选项卡
- 勾选「为程序集签名」,然后点击「选择强名称密钥文件」下拉框里的「<浏览...>」
- 不要选普通的.snk文件,点击窗口里的「从存储区选择」按钮
- 在弹出的「选择强名称密钥」窗口中,切换到「证书」选项卡,找到你导入的Comodo代码签名证书,点击确定
- VS会自动生成一个关联该证书的.snk引用文件,保存项目设置即可
四、设置构建后自动签名(可选)
如果希望每次构建完成后自动用证书签名(比如给非程序集文件补充签名),可以配置构建后事件:
- 回到项目属性→「生成事件」→「生成后事件命令行」
- 输入类似以下的命令(根据你的实际路径和证书信息调整):
小说明:"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /f "C:\你的证书路径\MyComodoCodeSign.p12" /p "你的证书密码" /t http://timestamp.comodoca.com/authenticode "$(TargetPath)"signtool.exe的路径可能因Windows SDK版本略有差异,VS2013通常搭配Win8.1 SDK,路径如上/t参数指定时间戳服务器,用Comodo官方的时间戳地址即可$(TargetPath)是VS内置宏,自动指向当前项目生成的目标文件
五、验证签名是否生效
构建项目后,你可以通过两种方式验证:
- 找到生成的文件,右键→「属性」→「数字签名」选项卡,应该能看到你的Comodo证书签名记录
- 用命令行验证:
signtool verify /pa "$(TargetPath)"
小提醒:如果导入证书时遇到权限问题,右键以管理员身份运行证书导入向导;另外要确认你的Comodo证书是代码签名(Code Signing)类型,别用成SSL证书了。
内容的提问来源于stack exchange,提问作者Meloviz
相关产品推荐
相关产品推荐

