由网友(愿你余生不孤寂)分享简介:我有一个全新的代码签名证书,一直在想我应该签署哪些文件。显然,应该对运行提升的安装程序.msi包和所有.exe进行签名,以避免出现"未知发行者"警告,但我是否应该签署其他可执行文件,例如不需要提升、.dll或.oxc的.exe?Microsoft自己似乎对此的处理不一致:在Office 2007中,所有可执行文件都经过...![文件格式的特征签名](https://p.xsw88.cn/allimgs/daicuo/20230903/4865.png)
我有一个全新的代码签名证书,一直在想我应该签署哪些文件。
显然,应该对运行提升的安装程序.msi包和所有.exe进行签名,以避免出现"未知发行者"警告,但我是否应该签署其他可执行文件,例如不需要提升、.dll或.oxc的.exe?
![文件格式的特征签名](https://p.xsw88.cn/allimgs/daicuo/20230903/4865.png)
Microsoft自己似乎对此的处理不一致:
在Office 2007中,所有可执行文件都经过签名 在Visual Studio 2008中,所有.exe和许多.dll都有签名,但也有许多未签名的DLL(显然是强名称程序集,可能他们认为强命名就足够了) 在Windows(7)中,既不签署可执行文件,也不签署dll(即使是需要UAC的可执行文件,如Mmc.exe!)推荐答案
我认为您回答了自己的问题,请只在需要的地方签名以避免提示。
我会考虑签署所有内容的原因只有几个。
它可能会有一些好处 与反病毒供应商合作 你的文件更值得信赖, 因此减少了支持/安装 麻烦。 它将文件标记为对普通用户更可信,例如,当我使用MS的Autoruns清理受病毒感染的系统时,我倾向于寻找没有签名的劣质文件,它非常明显。 您希望看起来更专业。我不知道检查签名的开销有多大,因此较旧的系统可能会较慢。此外,如果您的证书来自廉价的证书供应商,则根CA可能不包括在较旧的平台(XP SP2之前的版本等)中。
哦,是的,我只会将它作为构建的一部分(集成到MSBuild或构建服务器),因为它可能会变得单调乏味。
切记不要让其他人访问您的密钥,否则您的密钥将被吊销,安装可能会突然停止工作。因此,对DEVS使用自签名证书,并将真实密钥锁定在构建服务器上。有点杂乱无章,但我想没有正确的答案。
相关推荐
最新文章