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에 포함된 메시지 인코딩 형식 식별자는 이 함수에서 무시됩니다.
이 매개 변수는 현재 정의된 다음 인증서 인코딩 형식일 수 있습니다.
값 | 의미 |
---|---|
|
X.509 인증서 인코딩을 지정합니다. |
[in] pbEncoded
서명을 확인할 CERT_SIGNED_CONTENT_INFO 콘텐츠의 인코딩된 BLOB에 대한 포인터입니다.
[in] cbEncoded
pbEncoded로 인코딩된 콘텐츠의 크기(바이트)입니다.
[in] pPublicKey
서명을 확인할 때 사용할 공개 키가 포함된 CERT_PUBLIC_KEY_INFO 구조체에 대한 포인터입니다.
반환 값
성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.
확장 오류 정보는 GetLastError를 호출합니다.
반환 코드 | 설명 |
---|---|
|
인증서 인코딩 유형이 잘못되었습니다. 현재 는 X509_ASN_ENCODING 만 지원됩니다. |
|
서명 알고리즘의 OID( 개체 식별자 )는 알려진 해시 알고리즘 또는 지원되는 해시 알고리즘에 매핑되지 않습니다. |
|
서명이 잘못되었습니다. |
함수가 실패하면 GetLastError 는 추상 구문 표기법 1(ASN.1) 인코딩/디코딩 오류를 반환할 수 있습니다. 이러한 오류에 대한 자세한 내용은 ASN.1 반환 값 인코딩/디코딩을 참조하세요.
설명
이 함수는 현재 CryptVerifyCertificateSignatureEx 함수를 호출하여 확인을 수행합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |