我有一个全新的代码签名证书,并且一直想知道我应该签署哪些文件。
显然,安装 .msi 包和所有运行提升的 .exe 都应该签名以避免“未知发布者”警告,但我是否应该签署其他可执行文件,例如不需要提升、.dll 或 .oxc 的 .exe?
微软自己似乎对此处理不一致:
我想你已经回答了你自己的问题,只在需要的地方签名以避免提示。
我会考虑签署所有内容的原因只有几个。
我不知道检查签名有什么开销,所以旧系统可能会更慢。此外,如果您的证书来自便宜的证书供应商,则根 CA 可能不包含在旧平台(XP pre SP2 等)中。
哦,是的,我也只会将它作为构建的一部分(集成到 MSBuild 或构建服务器中),因为它可能会变得乏味。
请记住不要让其他任何人访问您的密钥,否则您将被撤销它,并且安装可能会突然停止工作。因此,请为开发人员使用自签名证书,并将真正的密钥锁定在构建服务器上。
有点啰嗦,但我认为没有正确的答案。