PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC 콜백 함수(wincrypt.h)
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC 콜백 함수는 인코딩된 서명을 해독하고 계산된 해시와 비교하기 위해 호출됩니다.
구문
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC PfnCryptVerifyEncodedSignatureFunc;
BOOL PfnCryptVerifyEncodedSignatureFunc(
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pPubKeyInfo,
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
[in, optional] void *pvDecodedSignPara,
[in] LPCWSTR pwszCNGPubKeyAlgid,
[in] LPCWSTR pwszCNGHashAlgid,
[in] BYTE *pbComputedHash,
[in] DWORD cbComputedHash,
[in] BYTE *pbSignature,
[in] DWORD cbSignature
)
{...}
매개 변수
[in] dwCertEncodingType
사용되는 인코딩 유형을 지정합니다. 다음 예제와 같이 비트 OR 작업과 결합하여 인증서 및 메시지 인코딩 형식을 모두 지정할 수 있습니다.
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING 현재 정의된 인코딩 형식은 다음과 같습니다.
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pPubKeyInfo
서명을 확인하는 데 사용할 공개 키가 포함된 CERT_PUBLIC_KEY_INFO 구조체의 주소입니다. 이를 CryptImportPublicKeyInfoEx2와 함께 사용하여 BCRYPT_KEY_HANDLE 가져올 수 있습니다.
[in] pSignatureAlgorithm
OID(서명 개체 식별자) 및 선택적 인코딩 매개 변수를 포함하는 CRYPT_ALGORITHM_IDENTIFIER 구조체에 대한 포인터입니다.
[in, optional] pvDecodedSignPara
이전에 PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC 함수에서 반환한 디코딩된 서명 매개 변수 데이터 구조에 대한 선택적 포인터입니다.
[in] pwszCNGPubKeyAlgid
pSignatureAlgorithm-pszObjId>에 해당하는 CNG(Cryptography API: Next Generation) 공개 키 알고리즘 식별자를 포함하는 유니코드 문자열입니다.
[in] pwszCNGHashAlgid
pSignatureAlgorithm-pszObjId> 또는 pvDecodedSignPara의 해시 알고리즘 식별자에 해당하는 CNG 해시 알고리즘 식별자를 포함하는 유니코드 문자열입니다.
[in] pbComputedHash
pwszCNGHashAlgid에 해당하는 BCryptFinishHash 함수에서 반환된 계산된 해시 바이트에 대한 포인터입니다.
[in] cbComputedHash
계산된 해시의 길이(바이트)를 나타내는 값입니다.
[in] pbSignature
인코딩된 서명 바이트에 대한 포인터입니다.
[in] cbSignature
인코딩된 서명의 길이(바이트)를 나타내는 값입니다.
반환 값
함수가 성공하면 함수는 0이 아닌 값(TRUE)을 반환합니다.
함수가 실패하면 0(FALSE)을 반환합니다. 확장 오류 정보는 GetLastError를 호출합니다.
이 콜백 함수가 서명 알고리즘을 지원하지 않는 경우 FALSE를 반환하고 ERROR_NOT_SUPPORTED사용하여 SetLastError를 호출해야 합니다.
설명
OID 지원 함수를 사용하여 이 콜백 함수를 배포할 수 있습니다. Wincrypt.h는 이 목적을 위해 다음 상수를 정의합니다.
상수 | 정의 |
---|---|
CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC | "CryptDllVerifyEncodedSignature" |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |