estrutura CRYPT_PROVIDER_DATA (wintrust.h)

[A estrutura CRYPT_PROVIDER_DATA está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele pode estar alterado ou indisponível em versões subsequentes.]

A estrutura CRYPT_PROVIDER_DATA é usada para passar dados entre WinVerifyTrust e provedores de confiança.

Sintaxe

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;

Membros

cbStruct

O tamanho, em bytes, dessa estrutura.

pWintrustData

Um ponteiro para uma estrutura WINTRUST_DATA que contém as informações a serem verificadas.

fOpenedFile

Um valor booliano que indica se o provedor de confiança abriu o identificador de arquivo, se aplicável.

hWndParent

Um identificador para a janela pai. Se não for especificado, um identificador para a janela da área de trabalho será usado.

pgActionID

Um ponteiro para uma estrutura GUID que identifica uma ação e o provedor de confiança que dá suporte a essa ação.

hProv

Um identificador para o provedor de serviços criptográficos (CSP). Se esse parâmetro for NULL, o sistema operacional fornecerá um CSP padrão.

dwError

Um nível de erro se um erro de sistema de baixo nível foi encontrado.

dwRegSecuritySettings

As configurações de segurança do Registro.

dwRegPolicySettings

As configurações da política do Registro.

psPfns

Um ponteiro para uma estrutura CRYPT_PROVIDER_FUNCTIONS .

cdwTrustStepErrors

O número de elementos na matriz padwTrustStepErrors .

padwTrustStepErrors

Uma matriz de valores DWORD que especificam erros de etapa de confiança.

chStores

O número de elementos na matriz pahStores .

pahStores

Uma matriz de identificadores de repositório de certificados.

dwEncoding

Um valor que especifica o tipo de codificação.

hMsg

Um identificador para a mensagem criptográfica.

csSigners

O número de elementos na matriz pasSigners .

pasSigners

Um ponteiro para uma matriz de estruturas CRYPT_PROVIDER_SGNR .

csProvPrivData

O número de elementos na matriz pasProvPrivData .

pasProvPrivData

Um ponteiro para uma matriz de estruturas CRYPT_PROVIDER_PRIVDATA .

dwSubjectChoice

Um valor que especifica a escolha do assunto.

pPDSip

Um ponteiro para uma estrutura _PROVDATA_SIP .

pszUsageOID

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o OID ( identificador de objeto de uso ).

fRecallWithState

Um valor booliano que indica se o estado foi mantido para arquivos de catálogo.

sftSystemTime

A hora do sistema.

pszCTLSignerUsageOID

Um ponteiro para uma cadeia de caracteres terminada em nulo que representa o OID de uso do signatário da CTL ( lista de certificados confiáveis ).

dwProvFlags

Uma combinação bit a bit de um ou mais dos sinalizadores a seguir.

Valor Significado
CPD_USE_NT5_CHAIN_FLAG
0x80000000
Use o encadeamento do Windows 2000.
CPD_REVOCATION_CHECK_NONE
0x00010000
Nenhuma verificação de revogação é executada.
CPD_REVOCATION_CHECK_END_CERT
0x00020000
A verificação de revogação do certificado final é executada.
CPD_REVOCATION_CHECK_CHAIN
0x00040000
A verificação de revogação para a cadeia de certificados é executada.
CPD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
0x00080000
A verificação de revogação da cadeia de certificados, excluindo o certificado raiz, é executada.

dwFinalError

Um valor para o erro final.

pRequestUsage

Um ponteiro para uma estrutura CERT_USAGE_MATCH .

dwTrustPubSettings

Um valor para as configurações do editor confiável.

dwUIStateFlags

Um valor DWORD que especifica os dados de estado passados entre um provedor de confiança e a interface do usuário.

Windows XP com SP1 e Windows XP: Esse membro é ignorado.

pSigState

pSigSettings

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho wintrust.h