Я хочу пройти по цепочке сертификатов двоичного файла PE, подписанного с помощью аутентификации, с помощью Windows API.
Чтобы получить хранилище сертификатов, я последовал примеру Microsoft:
https://support.microsoft.com/en-us/help/323809/how-to-get-information-from-authenticode-подписанныеисполняемыефайлы
При этом я получаю листовой сертификат и промежуточный сертификат, но не корневой сертификат. Протестировано с различными бинарными файлами Windows (например, explorer.exe)
Я попробовал следующие циклы для обхода хранилища:
while (pCertContext = CertFindCertificateInStore(hStore, ENCODING, 0, CERT_FIND_ANY, NULL, pCertContext));
while (pCertContext = CertEnumCertificatesInStore(hStore, pCertContext));
Корневой сертификат не включен в подпись аутентификации?
Я пропустил какую-то опцию?
CertGetCertificateChain
- person RbMm   schedule 16.07.2018CertGetCertificateChain
. Вы можете найтиpCertContext
вpChainContext->rgpChain[0]->rgpElement[i]->pCertContext
- person user2369952   schedule 16.07.2018