CRYPT_VERIFY_IMAGE Funktionszeiger
Die FuncVerifyImage-Rückruffunktion wird von einem Kryptografiedienstanbieter (CSP) verwendet, um die Signatur einer DLL zu überprüfen.
Alle Hilfs-DLLs, in die ein CSP Funktionsaufrufe durchführt, müssen auf die gleiche Weise (und mit demselben Schlüssel) wie die primäre CSP-DLL signiert werden. Um diese Signatur sicherzustellen, müssen die Hilfs-DLLs mithilfe der LoadLibrary-Funktion dynamisch geladen werden. Bevor die DLL jedoch geladen wird, muss die Signatur der DLL überprüft werden. Der CSP führt diese Überprüfung durch Aufrufen der FuncVerifyImage-Funktion aus, wie im folgenden Beispiel gezeigt.
Syntax
typedef BOOL ( WINAPI *CRYPT_VERIFY_IMAGE)(
_In_ LPCTSTR lpszImage,
_In_ const BYTE *pbSigData
);
Parameter
-
lpszImage [in]
-
Die Adresse einer NULL-beendeten Zeichenfolge, die den Pfad und dateinamen der DLL enthält, für die die Signatur überprüft werden soll.
-
pbSigData [in]
-
Die Adresse eines Puffers, der die Signatur enthält.
Rückgabewert
Gibt TRUE zurück, wenn die Funktion erfolgreich ist, FALSE , wenn sie fehlschlägt.
Beispiele
Das folgende Beispiel zeigt, wie Sie die Rückruffunktion FuncVerifyImage verwenden, um die Signatur einer DLL zu überprüfen, bevor sie von einem CSP geladen wird.
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.
//...
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Header |
|
Weitere Informationen