CRYPT_VERIFY_IMAGE ponteiro de função

A função de retorno de chamada FuncVerifyImage é usada por um provedor de serviços criptográficos (CSP) para verificar a assinatura de uma DLL.

Todas as DLLs auxiliares nas quais um CSP faz chamadas de função devem ser assinadas da mesma maneira (e com a mesma chave) que a DLL do CSP primário. Para garantir essa assinatura, as DLLs auxiliares devem ser carregadas dinamicamente usando a função LoadLibrary . Mas antes que a DLL seja carregada, a assinatura da DLL deve ser verificada. O CSP executa essa verificação chamando a função FuncVerifyImage , conforme mostrado no exemplo abaixo.

Sintaxe

typedef BOOL ( WINAPI *CRYPT_VERIFY_IMAGE)(
  _In_       LPCTSTR lpszImage,
  _In_ const BYTE    *pbSigData
);

Parâmetros

lpszImage [in]

O endereço de uma cadeia de caracteres terminada em nulo que contém o caminho e o nome do arquivo da DLL para verificar a assinatura.

pbSigData [in]

O endereço de um buffer que contém a assinatura.

Valor retornado

Retornará TRUE se a função for bem-sucedida, FALSE se falhar.

Exemplos

O exemplo a seguir mostra como usar a função de retorno de chamada FuncVerifyImage para verificar a assinatura de uma DLL antes de ser carregada por um CSP.

BOOL (FARPROC *ProvVerifyImage)(LPCSTR lpszImage, BYTE *pSigData);


//  "ProvVerifyImage" has been set to "pVTable->FuncVerifyImage"
//  within the CPAcquireContext function.

//  bSignature is a previously assigned BYTE array that contains the
//  signature that is stored in the C:\Winnt40\System32\signature.sig
//  file. During development, this file is created with the 
//  Sign.exe tool.
...


//  Verify the signature in the
//  C:\Winnt40\System32\Signature.dll file.
if(RCRYPT_FAILED(ProvVerifyImage
    ("c:\\winnt40\\system32\\signature.dll",
        bSignature)) {
    SetLastError(NTE_BAD_SIGNATURE);
    return CRYPT_FAILED;
}

//  Load the DLL with the LoadLibrary function, then acquire pointers 
//  to the functions with the GetProcAddress function.
//...

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
Cspdk.h

Confira também

CPAcquireContext

VTableProvStruc