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