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 で終わる Unicode 文字列へのポインターのアドレス。 この情報が不要な場合、このパラメーターは NULL にすることができます。 このメモリは、このポインターを CryptMemFree 関数に渡すことによって不要になった場合に解放する必要があります。

このアドレスは、生体認証の種類では常に NULL を 受け取ります。 メモリへのアクセスを試みる前に、必ずこのパラメーターに有効なメモリ アドレスが含まれていることを確認する必要があります。

戻り値

成功した場合は 0 以外、それ以外の場合は 0 を返します。

拡張エラー情報については、 GetLastError を呼び出します。 GetLastError 関数によって返される可能性のあるエラー コードには、次のものが含まれますが、これらに限定されません。

リターン コード 説明
CRYPT_E_HASH_VALUE
計算されたハッシュ値が証明書のハッシュ値と一致しません。
CRYPT_E_NOT_FOUND
証明書に szOID_LOGOTYPE_EXT または szOID_BIOMETRIC_EXT 拡張子が含まれていないか、指定された lpszLogoOrBiometricType が見つかりませんでした。
E_INVALIDARG
1 つ以上のパラメーターが無効です。
ERROR_INVALID_DATA
証明書拡張機能で指定された URL からデータを取得できませんでした。
ERROR_NOT_SUPPORTED
証明書は、必要な拡張機能をサポートしていません。
NTE_BAD_ALGID
ハッシュ アルゴリズム OID が不明です。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wincrypt.h
Library Crypt32.lib
[DLL] Crypt32.dll

関連項目

CryptMemFree