다음을 통해 공유


CryptVerifyCertificateSignature 함수(wincrypt.h)

CryptVerifyCertificateSignature 함수는 CERT_PUBLIC_KEY_INFO 구조에서 공개 키를 사용하여 인증서, CRL(인증서 해지 목록) 또는 인증서 요청의 서명을 확인합니다. 함수는 프라이빗 키에 액세스할 필요가 없습니다.

구문

BOOL CryptVerifyCertificateSignature(
  [in] HCRYPTPROV_LEGACY     hCryptProv,
  [in] DWORD                 dwCertEncodingType,
  [in] const BYTE            *pbEncoded,
  [in] DWORD                 cbEncoded,
  [in] PCERT_PUBLIC_KEY_INFO pPublicKey
);

매개 변수

[in] hCryptProv

이 매개 변수는 사용되지 않으며 NULL로 설정해야 합니다.

Windows Server 2003 및 Windows XP: 서명을 확인하는 데 사용되는 CSP( 암호화 서비스 공급자 )에 대한 핸들입니다. 이 매개 변수의 데이터 형식은 HCRYPTPROV입니다.

특정 암호화 공급자를 전달하는 강력한 이유가 없는 한 NULL이 전달됩니다. NULL을 전달하면 기본 RSA 또는 DSS 공급자가 획득됩니다.

[in] dwCertEncodingType

주체를 암호화하는 데 사용된 인증서 인코딩 형식 입니다. 이 값의 높은 WORD에 포함된 메시지 인코딩 형식 식별자는 이 함수에서 무시됩니다.

이 매개 변수는 현재 정의된 다음 인증서 인코딩 형식일 수 있습니다.

의미
X509_ASN_ENCODING
1(0x1)
X.509 인증서 인코딩을 지정합니다.

[in] pbEncoded

서명을 확인할 CERT_SIGNED_CONTENT_INFO 콘텐츠의 인코딩된 BLOB에 대한 포인터입니다.

[in] cbEncoded

pbEncoded로 인코딩된 콘텐츠의 크기(바이트)입니다.

[in] pPublicKey

서명을 확인할 때 사용할 공개 키가 포함된 CERT_PUBLIC_KEY_INFO 구조체에 대한 포인터입니다.

반환 값

성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.

확장 오류 정보는 GetLastError를 호출합니다.

참고 호출된 함수 CryptCreateHash, CryptImportKey, CryptVerifySignatureCryptHashData 의 오류가 이 함수로 전파될 수 있습니다.
 
실패 시 이 함수는 GetLastError에서 다음 오류 코드를 반환합니다.
반환 코드 설명
ERROR_FILE_NOT_FOUND
인증서 인코딩 유형이 잘못되었습니다. 현재 는 X509_ASN_ENCODING 만 지원됩니다.
NTE_BAD_ALGID
서명 알고리즘의 OID( 개체 식별자 )는 알려진 해시 알고리즘 또는 지원되는 해시 알고리즘에 매핑되지 않습니다.
NTE_BAD_SIGNATURE
서명이 잘못되었습니다.
 

함수가 실패하면 GetLastError추상 구문 표기법 1(ASN.1) 인코딩/디코딩 오류를 반환할 수 있습니다. 이러한 오류에 대한 자세한 내용은 ASN.1 반환 값 인코딩/디코딩을 참조하세요.

설명

이 함수는 현재 CryptVerifyCertificateSignatureEx 함수를 호출하여 확인을 수행합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CryptVerifyCertificateSignatureEx