C # проверка сертификата файла

Я хочу проверить сертификат файла. Подпись генерировалась с использованием sha1 и RSA. Щелкнув файл правой кнопкой мыши, выбрав Свойства, Цифровые подписи, Подробности, я вижу следующее:

введите описание изображения здесь

У меня есть код C ++, который проверяет такую ​​подпись, используя WinVerifyTrust.

Однако я погуглил - я просто не мог найти способ сделать это на C #. Я попытался экспортировать сертификат в файл, а затем взял из свойств файла Дайджест сообщения: введите описание изображения здесь Создайте X509 Certificate и проверьте хеш - ничего не получилось.

Любая помощь будет оценена по достоинству.

УТОЧНЕНИЕ

Вкратце: учитывая файл, как я могу проверить, что он подписан доверенным сертификатом?


person sara    schedule 19.11.2013    source источник
comment
X509Certificate2.Verify () См. Это: stackoverflow.com/questions / 3613615 /   -  person Oscar    schedule 19.11.2013
comment
@Oscar - но как мне получить сертификат, которым был подписан файл? Я хочу, чтобы весь процесс выполнялся программно ....   -  person sara    schedule 19.11.2013
comment
возможный дубликат Получить метку времени из файлов с подписью Authenticode в .NET   -  person Eugene Mayevski 'Callback    schedule 19.11.2013


Ответы (1)


Вы ищете: X509Certificate.CreateFromSignedFile

 try
  {
  X509Certificate theSigner = X509Certificate.CreateFromSignedFile("c:\\r\\1.dll");
  Console.Write("certificate info :"+ theSigner.GetCertHashString());
  }
  catch (Exception ex)
  {
         Console.WriteLine("No digital signature ");


  }
person Royi Namir    schedule 19.11.2013
comment
Проблема в том, что этот подход дает один сертификат, а не все сертификаты, включенные в подпись Authenticode. - person Eugene Mayevski 'Callback; 19.11.2013
comment
Нет возможности их перебрать? - person paulm; 03.03.2016