puntero de función CRYPT_VERIFY_IMAGE

Un proveedor de servicios criptográficos (CSP) usa la función de devolución de llamada FuncVerifyImage para comprobar la firma de un archivo DLL.

Todos los archivos DLL auxiliares en los que un CSP realiza llamadas de función deben iniciar sesión de la misma manera (y con la misma clave) que el archivo DLL de CSP principal. Para garantizar esta firma, los archivos DLL auxiliares se deben cargar dinámicamente mediante la función LoadLibrary . Pero antes de cargar el archivo DLL, se debe comprobar la firma del archivo DLL. El CSP realiza esta comprobación llamando a la función FuncVerifyImage , como se muestra en el ejemplo siguiente.

Sintaxis

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

Parámetros

lpszImage [in]

Dirección de una cadena terminada en null que contiene la ruta de acceso y el nombre de archivo del archivo DLL para comprobar la firma.

pbSigData [in]

Dirección de un búfer que contiene la firma.

Valor devuelto

Devuelve TRUE si la función se realiza correctamente, FALSE si se produce un error.

Ejemplos

En el ejemplo siguiente se muestra cómo usar la función de devolución de llamada FuncVerifyImage para comprobar la firma de un archivo DLL antes de cargarla un 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 Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
Cspdk.h

Vea también

CPAcquireContext

VTableProvStruc