Как проверить (программно), был ли испорчен exe или нет?

Контекст: exe стороннего производителя пытается связаться с моим приложением. Мое приложение должно гарантировать, что сторонний exe-файл не будет подделан или изменен кем-либо, кроме его владельца. Внешний PE и мое приложение работают на одном компьютере, а внешний PE использует интерфейс COM для получения необходимых данных из моего приложения.

Я в определенной степени осознаю, что единственная цель подписания исполняемого файла сертификатом CA — обеспечить подлинность и целостность. Поэтому мне нужно будет проверить сертификат внешнего PE, чтобы подтвердить его личность. Однако у меня все еще есть следующие сомнения.

1) Win-API предоставляет функции WinVerifyTrust и CertVerifyCertificateChainPolicy. Обе эти функции могут использоваться для проверки достоверности исполняемого файла. Так в чем же разница? В каком случае я должен какой функции?

2) Даже если мы используем эти функции для проверки сертификатов, возможно ли, что вредоносное приложение может подделать сертификаты (выдать себя за действительный exe-файл) или обмануть его другими способами и подключиться к моему приложению?

Заранее благодарю за любую помощь.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …