Могу ли я безопасно подписать файл DLL новым сертификатом (с помощью Microsoft SignTool), если DLL уже подписана без ее перекомпиляции?
После этого все выглядит кошерным, но я хочу быть уверен на 100%.
Могу ли я безопасно подписать файл DLL новым сертификатом (с помощью Microsoft SignTool), если DLL уже подписана без ее перекомпиляции?
После этого все выглядит кошерным, но я хочу быть уверен на 100%.
Цифровая подпись может быть добавлена к DLL, если SignTool, который следует ниже, используется для подписи:
/ as
Добавляет эту подпись. Если первичная подпись отсутствует, эта подпись становится первичной подписью.
Множественные операции подписи не перезаписывают / не заменяют подпись.
Возможно, вы захотите обратиться к Могу ли я удалить цифровую подпись из DLL? для получения дополнительной информации.
Unsigntool позволяет удалить подпись из раздела PE - я никогда не использовал она и не рекомендует использовать эту программу, поэтому используйте ее на свой страх и риск.
Разницу между файлами, дважды подписанными с использованием параметра /as
или без него, можно увидеть с помощью некоторых инструментов, таких как PE Explorer / PE Viewer, который позволяет видеть раздел PE исполняемого файла или DLL.
Вы можете подписывать с помощью SignTool
сколько угодно раз, и если вы не используете флаг /as
(добавить подпись), новая подпись заменит все старые. Мы использовали его много раз для повторной подписи двоичного файла, исходная подпись которого не имела контрподписи с меткой времени.
Проверить новую подпись можно в свойствах файла на вкладке Digital Signatures
.
signtool verify
или signtool verify /pa
.
- person staafl; 19.04.2018