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


структура 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
Используйте большой двоичный объект , на который указывает 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 Обозреватель 4.0.
WTD_NO_IE4_CHAIN_FLAG
2 (0x2)
Функция цепочки internet Обозреватель 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 8 и Windows Server 2012: начинается поддержка этого члена.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть wintrust.h