Freigeben über


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

Weitere Informationen

CPAcquireContext

VTableProvStruc