windows - 仅对真正的可执行文件进行数字签名,而不是覆盖/附加数据
问题描述
我想对我的可执行文件进行数字签名。到此为止,这一切听起来都是微不足道的。是否可以在不丢失数字签名有效性的情况下制作“可配置”的可执行文件的一部分?
例如,安装程序经常将数据存储在叠加层中。在他们的情况下,这是完全可以接受的,并且需要将覆盖包括在数字签名的计算中。
但在我的情况下,我很好奇是否有任何方法可以用于该用例,当我签署文件然后在结束后追加一个额外的一百个字节。我没有修改任何已经签名的字节,只是附加了几个字节。据我所知,它也会使数字签名无效。
我问的是完全故意和不可能做到的,还是有任何隐藏的开关或我不知道的东西?
解决方案
从规范:
创建一个名为 FILE_SIZE 的值,它不是签名的一部分。将此值设置为从底层文件系统获取的图像文件大小。如果 FILE_SIZE 大于 SUM_OF_BYTES_HASHED,则文件包含必须添加到散列的额外数据。
推荐阅读
- python - 是否可以在 AWS S3 Select 的“where”子句中提及所有列?
- angular - 生成发布文件时不进行更改。角 8
- javascript - Strapi 关系,返回除 id 以外的其他字段
- reactjs - `getScriptTags` 上的可加载/组件 React SSR 抛出错误
- machine-learning - 如何在 Julia 中将矩阵附加到向量
- python - 对于 N dim numpy 数组中的每个元素,将其添加到 1D numpy 数组并返回 N+1 dim 数组
- c# - C# Outlook MailItem 对象到字节数组,而不将 Outlook MailItem 保存为 msg 文件
- pip - 如何确定 OSX pip3 版本是否是最新的?
- php - Twig 中的 Symfony 3.4 DateTime 对象无法正确显示
- rest - 仅针对表单/小数据或大数据发布