CertRetrieveLogoOrBiometricInfo 函式 (wincrypt.h)

CertRetrieveLogoOrBiometricInfo函式會執行szOID_LOGOTYPE_EXTszOID_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

Null 終止的 ANSI 字串位址,其中包含 物件識別碼 (OID) 字串,可識別要擷取的資訊類型。

此參數也可能包含下列其中一個預先定義的值。

意義
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

這個參數不會使用,而且必須是零。

pvReserved

不會使用此參數,而且必須是 Null

[out] ppbData

接收標誌類型或生物特徵辨識資料的 BYTE 指標位址。 將這個指標傳遞至 CryptMemFree 函式時,必須釋放此記憶體。

[out] pcbData

接收ppbData緩衝區中位元組數目的DWORD變數位址。

[out] ppwszMimeType

以 Null 終止之 Unicode 字串的指標位址,該字串會接收多用途網際網路郵件延伸模組 (MIME) 資料類型。 如果不需要此資訊,這個參數可以是 Null 。 將這個指標傳遞至 CryptMemFree 函式時,必須釋放此記憶體。

此位址一律會收到 生物 特徵辨識類型的 Null。 您一律必須確定此參數包含有效的記憶體位址,才能嘗試存取記憶體。

傳回值

如果成功或零,則傳回非零。

如需擴充的錯誤資訊,請呼叫 GetLastErrorGetLastError函式所傳回的可能錯誤碼包括但不限於下列各項。

傳回碼 描述
CRYPT_E_HASH_VALUE
計算的雜湊值不符合憑證中的雜湊值。
CRYPT_E_NOT_FOUND
憑證不包含 szOID_LOGOTYPE_EXTszOID_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