首页 > 解决方案 > 仅对真正的可执行文件进行数字签名,而不是覆盖/附加数据

问题描述

我想对我的可执行文件进行数字签名。到此为止,这一切听起来都是微不足道的。是否可以在不丢失数字签名有效性的情况下制作“可配置”的可执行文件的一部分?

例如,安装程序经常将数据存储在叠加层中。在他们的情况下,这是完全可以接受的,并且需要将覆盖包括在数字签名的计算中。

但在我的情况下,我很好奇是否有任何方法可以用于该用例,当我签署文件然后在结束后追加一个额外的一百个字节。我没有修改任何已经签名的字节,只是附加了几个字节。据我所知,它也会使数字签名无效。

我问的是完全故意和不可能做到的,还是有任何隐藏的开关或我不知道的东西?

标签: windowsexecutabledigital-signature

解决方案


规范

创建一个名为 FILE_SIZE 的值,它不是签名的一部分。将此值设置为从底层文件系统获取的图像文件大小。如果 FILE_SIZE 大于 SUM_OF_BYTES_HASHED,则文件包含必须添加到散列的额外数据。


推荐阅读