puntatore a funzione CRYPT_VERIFY_IMAGE
La funzione di callback FuncVerifyImage viene usata da un provider di servizi di crittografia (CSP) per verificare la firma di una DLL.
Tutte le DLL ausiliarie in cui un CSP effettua chiamate di funzione devono essere firmate nello stesso modo (e con la stessa chiave) della DLL CSP primaria. Per garantire questa firma, le DLL ausiliarie devono essere caricate dinamicamente tramite la funzione LoadLibrary . Ma prima del caricamento della DLL, è necessario verificare la firma della DLL. Il CSP esegue questa verifica chiamando la funzione FuncVerifyImage , come illustrato nell'esempio seguente.
Sintassi
typedef BOOL ( WINAPI *CRYPT_VERIFY_IMAGE)(
_In_ LPCTSTR lpszImage,
_In_ const BYTE *pbSigData
);
Parametri
-
lpszImage [in]
-
Indirizzo di una stringa con terminazione Null contenente il percorso e il nome file della DLL per verificare la firma.
-
pbSigData [in]
-
Indirizzo di un buffer che contiene la firma.
Valore restituito
Restituisce TRUE se la funzione ha esito positivo, FALSE se ha esito negativo.
Esempio
L'esempio seguente illustra come usare la funzione di callback FuncVerifyImage per verificare la firma di una DLL prima che venga caricata da 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.
//...
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows XP [solo app desktop] |
Server minimo supportato |
Windows Server 2003 [solo app desktop] |
Intestazione |
|
Vedi anche