Função WinVerifyTrustEx (wintrust.h)
A função WinVerifyTrustEx executa uma ação de verificação de confiança em um objeto especificado e usa um ponteiro para uma estrutura WINTRUST_DATA . A função passa a consulta para um provedor de confiança, se houver, que dê suporte ao identificador de ação.
Para verificação de certificado, use as funções CertGetCertificateChain e CertVerifyCertificateChainPolicy .
Sintaxe
long WinVerifyTrustEx(
[in] HWND hwnd,
[in] GUID *pgActionID,
[in] WINTRUST_DATA *pWinTrustData
);
Parâmetros
[in] hwnd
Identificador opcional para uma janela de chamador. Um provedor de confiança pode usar esse valor para determinar se ele pode interagir com o usuário. No entanto, os provedores de confiança normalmente executam ações de verificação sem a entrada do usuário.
Esse parâmetro pode usar um dos valores a seguir.
[in] 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. Esse valor indica o tipo de ação de verificação a ser executada na estrutura apontada por pWinTrustData.
O serviço WinTrust foi projetado para trabalhar com provedores de confiança implementados por terceiros. Cada provedor de confiança fornece seu próprio conjunto exclusivo de identificadores de ação. Para obter informações sobre os identificadores de ação compatíveis com um provedor de confiança, consulte a documentação desse provedor de confiança.
Por exemplo, a Microsoft fornece um Provedor de Confiança do Publicador de Software que pode estabelecer a confiabilidade do software que está sendo baixado da Internet ou de alguma outra rede pública. O Provedor de Confiança do Publicador de Software dá suporte aos seguintes identificadores de ação. Essas constantes são definidas em Softpub.h.
Valor | Significado |
---|---|
|
Verifique a autenticidade de um driver assinado do WHQL (Hardware Quality Labs) do Windows. Esse é um provedor de política de complemento do Authenticode. |
|
Verifique uma conexão SSL/TLS por meio de Explorer da Internet. |
|
Não há suporte para essa ID de Ação. Verifique a autenticidade de um arquivo de armazenamento estruturado usando o provedor de política de complemento microsoft Office Authenticode.
Windows Server 2003 e Windows XP: Há suporte para essa ID de Ação. |
|
Verifique apenas uma cadeia de certificados. Isso só é válido ao passar um contexto de certificado nas estruturas de entrada WinVerifyTrust .
Nota Não recomendamos usar essa função para executar a verificação de certificado. Para executar a verificação de certificado, use as funções CertGetCertificateChain e CertVerifyCertificateChainPolicy .
|
|
Verifique as cadeias de certificados criadas a partir de qualquer tipo de objeto. Um retorno de chamada é fornecido para implementar a política de cadeia final usando o contexto de cadeia para cada signatário e signatário de contador. |
|
Verifique um arquivo ou objeto usando o provedor de política Authenticode. |
|
Escreva a estrutura CRYPT_PROVIDER_DATA em um arquivo depois de chamar o provedor de política Authenticode. |
[in] pWinTrustData
Um ponteiro para uma estrutura WINTRUST_DATA que contém informações de que o provedor de confiança precisa para processar o identificador de ação especificado. Normalmente, a estrutura inclui informações que identificam o objeto que o provedor de confiança deve avaliar.
O formato da estrutura depende do identificador de ação. Para obter informações sobre os dados necessários para um identificador de ação específico, consulte a documentação do provedor de confiança que dá suporte a essa ação.
Retornar valor
Observe que, embora o tipo de retorno seja declarado como HRESULT, essa API retorna códigos de erro Win32, não use SUCCEEDED() ou FAILED() para testar o resultado.
Se o provedor de confiança verificar se o assunto é confiável para a ação especificada, o valor retornado será ERROR_SUCCESS. Caso contrário, a função retornará um código status do provedor de confiança.
Por exemplo, um provedor de confiança pode indicar que o assunto não é confiável ou é confiável, mas com limitações ou avisos. O valor retornado pode ser um valor específico do provedor de confiança descrito na documentação de um provedor de confiança individual ou pode ser um dos seguintes códigos de erro.
Código de retorno | Descrição |
---|---|
|
O assunto falhou na ação de verificação especificada. A maioria dos provedores de confiança retorna um código de erro mais detalhado que descreve o motivo da falha.
Observação
O código de retorno TRUST_E_SUBJECT_NOT_TRUSTED pode ser retornado dependendo do valor da chave do Registro EnableCertPaddingCheck em HKLM\Software\Microsoft\Cryptography\Wintrust\Config. Se EnableCertPaddingCheck estiver definido como "1", um marcar adicional será executado para verificar se a estrutura WIN_CERTIFICATE não contém informações desnecessárias. O marcar valida que não há dados diferentes de zero além da estrutura PKCS nº 7. A chave EnableCertPaddingCheck será definida como "1" por padrão em 10 de junho de 2014. Para obter mais informações, consulte o seguinte aviso de segurança: http://technet.microsoft.com/security/advisory/2915720#section1. |
|
O provedor de confiança não é reconhecido nesse sistema. |
|
O provedor de confiança não dá suporte à ação especificada. |
|
O provedor de confiança não dá suporte ao formulário especificado para o assunto. |
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] |
Plataforma de Destino | Windows |
Cabeçalho | wintrust.h |
Biblioteca | Wintrust.lib |
DLL | Wintrust.dll |