Как прочитать информацию о цифровой подписи из подписанной сборки.Net?

Я пишу приложение с информацией о сборке, которое будет использоваться в процессе сборки программного обеспечения, и пытаюсь прочитать информацию о цифровой подписи из подписанной сборки.Net.

Я хочу сделать в своем коде C# то, что может сделать проводник Windows, щелкнув правой кнопкой мыши подписанную сборку и выбрав вкладку "Цифровые подписи", а затем нажав кнопку "Подробности". например

Проводник Windows 7 можно сделать, щелкнув правой кнопкой мыши свойства файла

Детали цифровой подписи

Кто-нибудь понял, как это сделать программно в C#? В настоящее время я использую библиотеку Mono Cecil, чтобы получить остальную информацию из сборки. Ваша помощь будет наиболее ценной.

1 ответ

Проект Mono предоставляет исходный код для обоих signcode а также chktrust что вы можете повторно использовать внутри собственного приложения (с открытым исходным кодом, MIT X11 по лицензии).

Оба используют Mono.Security.dll сборка (которая работает под Windows, а не только под Linux и OSX) и включает в себя довольно полную поддержку Authenticode.

Из этого ответа:

SignCode (для.Net 1.0 и 1.1) использует подписывание Authenticode, в котором, насколько мне известно, отсутствует управляемый интерфейс.Net Framework.

Надеюсь, похоже, что какой-то пакет Nuget его реализует:

Другие вопросы по тегам