Мы должны проверить, что двоичные файлы подписываются правильно с цифровой подписью (Authenticode). Это может быть достигнуто с signtool.exe довольно легко. Однако нам нужен автоматический путь, который также проверяет имя подписывающего лица и метку времени. Это выполнимо в собственном C++ с CryptQueryObject()
API как показано в этом замечательном образце: Как Получить информацию от Authenticode Исполняемые файлы Со знаком
Однако мы живем в управляемом мире :) следовательно ища решение C# той же проблемы. Прямой подход был бы к pInvoke Crypt32.dll, и все сделано. Но существует подобный управляемый API в System.Security.Cryptography.X509Certificates
Пространство имен. X509Certificate2
Класс, кажется, предоставляет некоторую информацию, но никакую метку времени. Теперь мы пришли к исходному вопросу, как мы можем получить ту метку времени цифровой подписи в C sharp?
Поскольку я вижу, что вы все равно не получили ответов, позвольте мне предложить один.
Если вы не возражаете против использования сторонних компонентов, обратите внимание на компонент TElAuthenticodeVerifier нашего продукта SecureBlackbox. С помощью этого компонента вы можете проверить подпись и проверить метки времени.