Share via


CertRetrieveLogoOrBiometricInfo 함수(wincrypt.h)

CertRetrieveLogoOrBiometricInfo 함수는 szOID_LOGOTYPE_EXT 또는szOID_BIOMETRIC_EXT 인증서 확장에 지정된 로고 또는 생체 인식 정보의 URL 검색을 수행합니다. szOID_BIOMETRIC_EXT 확장(IETF RFC 3739)은 인증서의 사용자 소유자에 대한 서명 또는 그림 표현의 추가를 지원합니다. szOID_LOGOTYPE_EXT 확장(IETF RFC 3709)은 인증서에 조직 그림 표현 추가를 지원합니다.

구문

BOOL CertRetrieveLogoOrBiometricInfo(
  [in]  PCCERT_CONTEXT pCertContext,
  [in]  LPCSTR         lpszLogoOrBiometricType,
  [in]  DWORD          dwRetrievalFlags,
  [in]  DWORD          dwTimeout,
  [in]  DWORD          dwFlags,
        void           *pvReserved,
  [out] BYTE           **ppbData,
  [out] DWORD          *pcbData,
  [out] LPWSTR         *ppwszMimeType
);

매개 변수

[in] pCertContext

인증서를 포함하는 CERT_CONTEXT 구조체의 주소입니다.

[in] lpszLogoOrBiometricType

검색할 정보의 형식을 식별하는 OID( 개체 식별자 ) 문자열이 포함된 null로 종료된 ANSI 문자열의 주소입니다.

이 매개 변수에는 다음과 같은 미리 정의된 값 중 하나가 포함될 수도 있습니다.

의미
CERT_RETRIEVE_ISSUER_LOGO
인증서 발급자 로고 유형을 검색합니다.
CERT_RETRIEVE_SUBJECT_LOGO
인증서 주체 로고 형식을 검색합니다.
CERT_RETRIEVE_COMMUNITY_LOGO
인증서 커뮤니티 로고 형식을 검색합니다.
CERT_RETRIEVE_BIOMETRIC_PICTURE_TYPE
인증서와 연결된 그림을 검색합니다.
CERT_RETRIEVE_BIOMETRIC_SIGNATURE_TYPE
인증서와 연결된 서명을 검색합니다.

[in] dwRetrievalFlags

정보를 검색하는 방법을 지정하는 플래그 집합입니다. 이 매개 변수는 CryptRetrieveObjectByUrl 함수에서 dwRetrievalFlags로 전달됩니다.

[in] dwTimeout

검색을 기다리는 최대 시간(밀리초)입니다.

[in] dwFlags

이 매개 변수는 사용되지 않으며 0이어야 합니다.

pvReserved

이 매개 변수는 사용되지 않으며 NULL이어야 합니다.

[out] ppbData

로고 형식 또는 생체 인식 데이터를 수신하는 BYTE 포인터의 주소입니다. 이 포인터를 CryptMemFree 함수에 전달하여 더 이상 필요하지 않은 경우 이 메모리를 해제해야 합니다.

[out] pcbData

ppbData 버퍼의 바이트 수를 수신하는 DWORD 변수의 주소입니다.

[out] ppwszMimeType

MIME(다목적 인터넷 메일 확장) 형식의 데이터를 수신하는 null로 끝나는 유니코드 문자열에 대한 포인터의 주소입니다. 이 정보가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다. 이 포인터를 CryptMemFree 함수에 전달하여 더 이상 필요하지 않은 경우 이 메모리를 해제해야 합니다.

이 주소는 항상 생체 인식 유형에 대해 NULL 을 받습니다. 메모리에 액세스하기 전에 항상 이 매개 변수에 유효한 메모리 주소가 포함되어 있는지 확인해야 합니다.

반환 값

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

확장된 오류 정보는 GetLastError를 호출합니다. GetLastError 함수에서 반환할 수 있는 오류 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.

반환 코드 설명
CRYPT_E_HASH_VALUE
계산된 해시 값이 인증서의 해시 값과 일치하지 않습니다.
CRYPT_E_NOT_FOUND
인증서에 szOID_LOGOTYPE_EXT 또는 szOID_BIOMETRIC_EXT 확장이 없거나 지정된 lpszLogoOrBiometricType 을 찾을 수 없습니다.
E_INVALIDARG
하나 이상의 매개 변수가 유효하지 않습니다.
ERROR_INVALID_DATA
인증서 확장에서 지정한 URL에서 데이터를 검색할 수 없습니다.
ERROR_NOT_SUPPORTED
인증서는 필요한 확장을 지원하지 않습니다.
NTE_BAD_ALGID
해시 알고리즘 OID를 알 수 없습니다.

요구 사항

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

추가 정보

CryptMemFree