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

9

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

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

Windows 7 Explorer can do by right-clicking file properties

Digital signature details

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

Possibly related вопросы. shambulator
Это сделало свое дело, X509Certificate.CreateFromSignedFile (exe) работает как шарм. Однако это вызывает исключение, довольно пустое, как показано в разделе «Как прочитать открытый ключ из подписанного C # exe». ссылка на сайт. VinceJS
возможный дубликатHow do I read the public key from a signed C# exe Hans Passant
Что вы показываетеAuthenticode подпись, применимая ко всем файлам PE. Там также существуетstrongnaming.NET-специфичный формат подписи. Сильное имя выполняется с помощью пары ключей, а не сертификата, следовательно, вы не можете извлечь любую полезную информацию из сборки с сильным именем. Делать поиск дляAuthenticode на StackOverflow даст вам много полезной информации. Eugene Mayevski 'Allied Bits

Ваш Ответ

1   ответ
6

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

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

Похожие вопросы