다음을 통해 공유


CRYPT_VERIFY_IMAGE 함수 포인터

FuncVerifyImage 콜백 함수는 CSP(암호화 서비스 공급자)에서 DLL의 서명을 확인하는 데 사용됩니다.

CSP가 함수 호출을 만드는 모든 보조 DLL은 기본 CSP DLL과 동일한 방식으로(및 동일한 키로) 서명되어야 합니다. 이 서명을 보장하려면 LoadLibrary 함수를 사용하여 보조 DLL을 동적으로 로드해야 합니다. 그러나 DLL이 로드되기 전에 DLL의 서명을 확인해야 합니다. CSP는 아래 예제와 같이 FuncVerifyImage 함수를 호출하여 이 확인을 수행합니다.

구문

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

매개 변수

lpszImage [in]

서명을 확인할 DLL의 경로 및 파일 이름을 포함하는 null로 끝나는 문자열의 주소입니다.

pbSigData [in]

서명을 포함하는 버퍼의 주소입니다.

반환 값

함수가 성공하면 TRUE 를 반환하고 실패하면 FALSE 를 반환합니다.

예제

다음 예제에서는 FuncVerifyImage 콜백 함수를 사용하여 CSP에 의해 로드되기 전에 DLL의 서명을 확인하는 방법을 보여 줍니다.

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.
//...

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
헤더
Cspdk.h

추가 정보

CPAcquireContext

VTableProvStruc