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


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

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

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

Синтаксис

typedef struct _CRYPT_PROVIDER_DATA {
  DWORD                               cbStruct;
  WINTRUST_DATA                       *pWintrustData;
  BOOL                                fOpenedFile;
  HWND                                hWndParent;
  GUID                                *pgActionID;
  HCRYPTPROV                          hProv;
  DWORD                               dwError;
  DWORD                               dwRegSecuritySettings;
  DWORD                               dwRegPolicySettings;
  struct _CRYPT_PROVIDER_FUNCTIONS    *psPfns;
  DWORD                               cdwTrustStepErrors;
  DWORD                               *padwTrustStepErrors;
  DWORD                               chStores;
  HCERTSTORE                          *pahStores;
  DWORD                               dwEncoding;
  HCRYPTMSG                           hMsg;
  DWORD                               csSigners;
  struct _CRYPT_PROVIDER_SGNR         *pasSigners;
  DWORD                               csProvPrivData;
  struct _CRYPT_PROVIDER_PRIVDATA     *pasProvPrivData;
  DWORD                               dwSubjectChoice;
  union {
#if ...
    _PROVDATA_SIP        *pPDSip;
#else
    struct _PROVDATA_SIP *pPDSip;
#endif
  };
  char                                *pszUsageOID;
  BOOL                                fRecallWithState;
  FILETIME                            sftSystemTime;
  char                                *pszCTLSignerUsageOID;
  DWORD                               dwProvFlags;
  DWORD                               dwFinalError;
  PCERT_USAGE_MATCH                   pRequestUsage;
  DWORD                               dwTrustPubSettings;
  DWORD                               dwUIStateFlags;
  struct _CRYPT_PROVIDER_SIGSTATE     *pSigState;
  struct WINTRUST_SIGNATURE_SETTINGS_ *pSigSettings;
} CRYPT_PROVIDER_DATA, *PCRYPT_PROVIDER_DATA;

Члены

cbStruct

Размер данной структуры (в байтах).

pWintrustData

Указатель на структуру WINTRUST_DATA , содержащую проверяемые сведения.

fOpenedFile

Логическое значение, указывающее, открыл ли поставщик доверия дескриптор файла, если применимо.

hWndParent

Дескриптор родительского окна. Если не указано, используется дескриптор окна рабочего стола.

pgActionID

Указатель на структуру GUID , которая идентифицирует действие, и поставщик доверия, поддерживающий это действие.

hProv

Дескриптор поставщика служб шифрования (CSP). Если этот параметр имеет значение NULL, операционная система предоставит поставщик служб CSP по умолчанию.

dwError

Уровень ошибки при обнаружении системной ошибки низкого уровня.

dwRegSecuritySettings

Параметры безопасности реестра.

dwRegPolicySettings

Параметры политики реестра.

psPfns

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

cdwTrustStepErrors

Количество элементов в массиве padwTrustStepErrors .

padwTrustStepErrors

Массив значений DWORD , указывающих ошибки шага доверия.

chStores

Количество элементов в массиве pahStores .

pahStores

Массив дескрипторов хранилища сертификатов.

dwEncoding

Значение типа , указывающее тип кодирования.

hMsg

Дескриптор криптографического сообщения.

csSigners

Количество элементов в массиве pasSigners .

pasSigners

Указатель на массив CRYPT_PROVIDER_SGNR структур.

csProvPrivData

Количество элементов в массиве pasProvPrivData .

pasProvPrivData

Указатель на массив CRYPT_PROVIDER_PRIVDATA структур.

dwSubjectChoice

Значение типа , указывающее выбор субъекта.

pPDSip

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

pszUsageOID

Указатель на строку, завершающуюся null, которая содержит идентификатор объекта использования (OID).

fRecallWithState

Логическое значение, указывающее, было ли сохранено состояние для файлов каталога.

sftSystemTime

Системное время.

pszCTLSignerUsageOID

Указатель на строку, завершающуюся null, которая представляет идентификатор использования подписывающий список сертификатов (CTL).

dwProvFlags

Побитовая комбинация одного или нескольких следующих флагов.

Значение Значение
CPD_USE_NT5_CHAIN_FLAG
0x80000000
Используйте цепочки Windows 2000.
CPD_REVOCATION_CHECK_NONE
0x00010000
Проверка отзыва не выполняется.
CPD_REVOCATION_CHECK_END_CERT
0x00020000
Выполняется проверка отзыва конечного сертификата.
CPD_REVOCATION_CHECK_CHAIN
0x00040000
Выполняется проверка отзыва цепочки сертификатов.
CPD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
0x00080000
Выполняется проверка отзыва для цепочки сертификатов, за исключением корневого сертификата.

dwFinalError

Значение конечной ошибки.

pRequestUsage

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

dwTrustPubSettings

Значение для параметров издателя доверия.

dwUIStateFlags

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

Windows XP с пакетом обновления 1 (SP1) и Windows XP: Этот элемент игнорируется.

pSigState

pSigSettings

Требования

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