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