Здравствуйте, x64, Вы писали:
x64>Вдогонку, не знаешь по случаю как из этой подписи извлечь имя подписавшего? Т.е. например строку типа "Microsoft Windows Component Publisher", "Mozilla Corporation" или "ACD Systems International Inc".
Wintrust.CryptCATAdminAcquireContext
kernel32.CreateFileA
Wintrust.CryptCATAdminCalcHashFromFileHandle
kernel32.CloseHandle
Wintrust.CryptCATAdminEnumCatalogFromHash
Wintrust.CryptCATAdminReleaseContext
Wintrust.WinVerifyTrust
WINTRUST_DATA WVTData;
if (WinVerifyTrust(NULL, WINTRUST_ACTION_GENERIC_VERIFY_V2, &WVTData) == NULL)
{
for (i ...)
{
Wintrust.WTHelperProvDataFromStateData
Wintrust.WTHelperGetProvSignerFromChain
//CRYPT32.CertNameToStrA - имя в формате LDAP т.е. "C=US, S=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Windows Component Publisher"
//далее идет разбор строки оставляют только "Microsoft Windows Component Publisher"
}
//потом еще раз вызываем
WinVerifyTrust(NULL, WINTRUST_ACTION_GENERIC_VERIFY_V2, NULL);
}