Поделиться через


структура WINTRUST_DATA (wintrust.h)

[Структура WINTRUST_DATA доступна для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях.]

Структура WINTRUST_DATA используется при вызове WinVerifyTrust для передачи необходимых сведений поставщикам доверия .

Синтаксис

typedef struct _WINTRUST_DATA {
  DWORD                               cbStruct;
  LPVOID                              pPolicyCallbackData;
  LPVOID                              pSIPClientData;
  DWORD                               dwUIChoice;
  DWORD                               fdwRevocationChecks;
  DWORD                               dwUnionChoice;
  union {
#if ...
    WINTRUST_FILE_INFO_                *pFile;
#else
    struct WINTRUST_FILE_INFO_         *pFile;
#endif
#if ...
    WINTRUST_CATALOG_INFO_             *pCatalog;
#else
    struct WINTRUST_CATALOG_INFO_      *pCatalog;
#endif
#if ...
    WINTRUST_BLOB_INFO_                *pBlob;
#else
    struct WINTRUST_BLOB_INFO_         *pBlob;
#endif
#if ...
    WINTRUST_SGNR_INFO_                *pSgnr;
#else
    struct WINTRUST_SGNR_INFO_         *pSgnr;
#endif
#if ...
    WINTRUST_CERT_INFO_                *pCert;
#else
    struct WINTRUST_CERT_INFO_         *pCert;
#endif
#if ...
    WINTRUST_DETACHED_SIG_INFO_        *pDetachedSig;
#else
    struct WINTRUST_DETACHED_SIG_INFO_ *pDetachedSig;
#endif
  };
  DWORD                               dwStateAction;
  HANDLE                              hWVTStateData;
  WCHAR                               *pwszURLReference;
  DWORD                               dwProvFlags;
  DWORD                               dwUIContext;
  struct WINTRUST_SIGNATURE_SETTINGS_ *pSignatureSettings;
} WINTRUST_DATA, *PWINTRUST_DATA;

Члены

cbStruct

Размер этой структуры в байтах.

pPolicyCallbackData

Указатель на буфер данных, используемый для передачи данных для конкретной политики поставщику политик. Этот элемент может быть null.

pSIPClientData

Указатель на буфер данных, используемый для передачи пакета интерфейса субъекта (SIP) в поставщик SIP. Этот элемент может быть null.

dwUIChoice

Указывает тип используемого пользовательского интерфейса. Этот элемент должен быть одним из следующих значений.

Ценность Значение
WTD_UI_ALL
1
Отображение всего пользовательского интерфейса.
WTD_UI_NONE
2
Не отображает пользовательский интерфейс.
WTD_UI_NOBAD
3
Не отображайте отрицательный пользовательский интерфейс.
WTD_UI_NOGOOD
4
Не отображайте положительный пользовательский интерфейс.

fdwRevocationChecks

Параметры проверки отзыва сертификата. Этот элемент можно задать для добавления проверки отзыва к этому выбранному поставщику политик. Этот элемент должен быть одним из следующих значений.

Ценность Значение
WTD_REVOKE_NONE
0
При использовании флага WTD_REVOKE_NONE в сочетании со значением HTTPSPROV_ACTION в параметре pgActionID функции WinVerifyTrust не будет выполнена дополнительная проверка отзыва. Чтобы функция WinVerifyTrust не пыталась получить какие-либо сетевые запросы при проверке подписей кода, WTD_CACHE_ONLY_URL_RETRIEVAL необходимо задать в параметре dwProvFlags.
WTD_REVOKE_WHOLECHAIN
1
Проверка отзыва будет выполнена во всей цепочке.

dwUnionChoice

Указывает используемый член объединения и, таким образом, тип объекта, для которого будет проверено доверие. Этот элемент должен быть одним из следующих значений.

Ценность Значение
WTD_CHOICE_FILE
1
Используйте файл, на который указывает pFile.
WTD_CHOICE_CATALOG
2
Используйте каталог, на который указывает pCatalog.
WTD_CHOICE_BLOB
3
Используйте BLOB, на которые указывает pBlob.
WTD_CHOICE_SIGNER
4
Используйте структуру [WINTRUST_SGNR_INFO](/windows/desktop/api/wintrust/ns-wintrust-wintrust_sgnr_info), на которую указывает pSgnr.
WTD_CHOICE_CERT
5
Используйте сертификат, на который указывает pCert.

pFile

Указатель на структуру WINTRUST_FILE_INFO.

pCatalog

Указатель на структуру WINTRUST_CATALOG_INFO.

pBlob

Указатель на структуру WINTRUST_BLOB_INFO.

pSgnr

Указатель на структуру WINTRUST_SGNR_INFO.

pCert

Указатель на структуру WINTRUST_CERT_INFO.

pDetachedSig

dwStateAction

Указывает действие, которое необходимо выполнить. Это может быть одно из следующих значений.

Ценность Значение
WTD_STATEACTION_IGNORE
0x00000000
Игнорируйте элемент hWVTStateData.
WTD_STATEACTION_VERIFY
0x00000001
Проверьте доверие объекта (обычно файла), указанного элементом dwUnionChoice. Элемент hWVTStateData получит дескриптор данных состояния. Этот дескриптор должен быть освобожден, указав действие WTD_STATEACTION_CLOSE в последующем вызове.
WTD_STATEACTION_CLOSE
0x00000002
Освободите элемент hWVTStateData , выделенный ранее с помощью действия WTD_STATEACTION_VERIFY. Это действие необходимо указать для каждого использования действия WTD_STATEACTION_VERIFY.
WTD_STATEACTION_AUTO_CACHE
0x00000003
Запишите данные каталога в структуру WINTRUST_DATA, а затем кэшируйте ее. Это действие применяется только в том случае, если элемент dwUnionChoice содержит WTD_CHOICE_CATALOG.
WTD_STATEACTION_AUTO_CACHE_FLUSH
0x00000004
Удалите все кэшированные данные каталога. Это действие применяется только в том случае, если элемент dwUnionChoice содержит WTD_CHOICE_CATALOG.

hWVTStateData

Дескриптор данных состояния. Содержимое этого элемента зависит от значения элемента dwStateAction.

pwszURLReference

Зарезервировано для дальнейшего использования. Установите значение NULL.

dwProvFlags

значение DWORD, указывающее параметры поставщика доверия. Это может быть побитовое сочетание нуля или более следующих значений.

Ценность Значение
WTD_USE_IE4_TRUST_FLAG
1 (0x1)
Доверие проверяется таким же образом, как и в Internet Explorer 4.0.
WTD_NO_IE4_CHAIN_FLAG
2 (0x2)
Функции цепочки Internet Explorer 4.0 не используются.
WTD_NO_POLICY_USAGE_FLAG
4 (0x4)
Проверка поставщика политик по умолчанию, например подписывание кода для Authenticode, не выполняется, и сертификат считается допустимым для всех использования.
WTD_REVOCATION_CHECK_NONE
16 (0x10)
Проверка отзыва не выполняется.
WTD_REVOCATION_CHECK_END_CERT
32 (0x20)
Проверка отзыва выполняется только для конечного сертификата.
WTD_REVOCATION_CHECK_CHAIN
64 (0x40)
Проверка отзыва выполняется во всей цепочке сертификатов.
WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
128 (0x80)
Проверка отзыва выполняется во всей цепочке сертификатов, за исключением корневого сертификата.
WTD_SAFER_FLAG
256 (0x100)
Не поддерживается.
WTD_HASH_ONLY_FLAG
512 (0x200)
Проверяется только хэш.
WTD_USE_DEFAULT_OSVER_CHECK
1024 (0x400)
Выполняется проверка версий операционной системы по умолчанию. Этот флаг используется только для проверки файлов, подписанных каталогом.
WTD_LIFETIME_SIGNING_FLAG
2048 (0x800)
Если этот флаг не задан, все подписи с метками времени считаются действительными навсегда. Установка этого флага ограничивает допустимое время существования подписи до времени существования сертификата подписи. Это позволяет истекать срок действия подписей с метками времени.
WTD_CACHE_ONLY_URL_RETRIEVAL
4096 (0x1000)
Используйте только локальный кэш для проверок отзыва. Запрещает проверку отзыва по сети.

Windows XP: это значение не поддерживается.

WTD_DISABLE_MD2_MD4
8192 (0x2000)
Отключите использование алгоритмов хэширования MD2 и MD4. Если файл подписан с помощью MD2 или MD4 и если этот флаг задан, возвращается ошибка NTE_BAD_ALGID.
Примечание Этот флаг поддерживается в Windows 7 с пакетом обновления 1 (SP1) и более поздними операционными системами.
 
WTD_MOTW
16384 (0x4000)
Если этот флаг указан, предполагается, что проверенный файл скачан из Интернета и имеет метку веб-атрибута. Политики, которые должны применяться к Марку веб-файлов, будут применяться.
Примечание Этот флаг поддерживается в операционных системах Windows 8.1 и более поздних версиях или в системах, установленных KB2862966.
 

dwUIContext

Значение DWORD , указывающее контекст пользовательского интерфейса для функции WinVerifyTrust. Это приводит к тому, что текст в диалоговом окне Authenticode соответствует действиям, выполненным в файле. Это может быть одно из следующих значений.

Ценность Значение
WTD_UICONTEXT_EXECUTE
0
Используйте при вызове WinVerifyTrust для запуска файла. Это значение по умолчанию.
WTD_UICONTEXT_INSTALL
1
Используйте при вызове WinVerifyTrust для установленного файла.

pSignatureSettings

Указатель на структуру WINTRUST_SIGNATURE_SETTINGS.

Windows 7 с KB3033929, Windows 8 и Windows Server 2012: начинается поддержка для этого члена.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
заголовка wintrust.h