我有一个全新的代码签名证书,并且一直想知道我应该签署哪些文件。
显然,应该对 setup .msi 包和所有运行提升的 .exe 进行签名,以避免出现“未知发布者”警告,但我应该对其他可执行文件进行签名吗?不需要提升的.exe、.dll 或.oxc?
微软自己似乎并不一致地处理这个问题:
- 在 Office 2007 中,所有可执行文件都被分配
- 在 Visual Studio 2008 中,所有 .exe 和许多 .dll 都已签名,但是,还有许多未签名的 DLL(显然是强命名程序集,也许他们认为强命名就足够了)
- 在 Windows (7) 中,可执行文件和 dll 均未签名(甚至不需要 UAC 的可执行文件,如 mmc.exe!)
我认为您已经回答了自己的问题,仅在需要的地方签名以避免提示。
我会考虑签署所有内容的原因只有几个。
- 它可能有某种优势
与反病毒供应商一起处理
您的文件更值得信赖,
因此支持/安装较少
麻烦。
- 它标记该文件对一般用户来说更值得信赖,例如,当我使用 MS 的自动运行清理受病毒感染的系统时,我倾向于寻找没有签名的伪劣内容,它一目了然。
- 你想让自己看起来更专业。
但我不知道检查签名会产生什么开销,因此较旧的系统可能会更慢。另外,如果您的证书来自廉价证书供应商,那么根 CA 可能不包含在旧平台(XP SP2 之前的版本等)中。
哦,是的,我也只会将其作为构建的一部分(集成到 MSBuild 或构建服务器中),因为它可能会变得乏味。
请记住不要让其他人访问您的密钥,否则您的密钥将被撤销,并且安装可能会突然停止工作。因此,为开发人员使用自签名证书,并将真实密钥锁定在构建服务器上。
有点漫无目的,但我认为没有正确的答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)