Можно ли подписать двоичный код через код .NET? (нет signtool.exe)

У меня есть следующее требование: подпишите двоичный файл с сертификатом, но без signtool.exe; идея заключалась бы в том, чтобы сделать это с помощью кода.

Знаете ли вы, возможно ли это?

1 ответ

Вам нужно будет использовать SignerSign или SignerSignEx, которые экспортируются из mssign32.dll.

Чтобы использовать их, вам необходимо определить управляемые версии структур SIGNER_SUBJECT_INFO, SIGNER_FILE_INFO, SIGNER_CERT, SIGNER_SIGNATURE_INFO и т.д., а затем правильно указать подпись P/Invoke для собственного метода.

На полпути через это сообщение в блоге, есть пример С++ вызова SignerSignEx; Mark портировал его на С# в этом qaru.site/questions/521520/....

licensed under cc by-sa 3.0 with attribution.