CryptHashCertificate 関数 (wincrypt.h)

大事な この API は非推奨です。 新規および既存のソフトウェアでは 、Cryptography Next Generation API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
 
CryptHashCertificate 関数は、署名を含む証明書のエンコードされたコンテンツ全体をハッシュします。

構文

BOOL CryptHashCertificate(
  [in]      HCRYPTPROV_LEGACY hCryptProv,
  [in]      ALG_ID            Algid,
  [in]      DWORD             dwFlags,
  [in]      const BYTE        *pbEncoded,
  [in]      DWORD             cbEncoded,
  [out]     BYTE              *pbComputedHash,
  [in, out] DWORD             *pcbComputedHash
);

パラメーター

[in] hCryptProv

このパラメーターは使用されず、 NULL に設定する必要があります。

Windows Server 2003 および Windows XP: ハッシュの計算に使用する 暗号化サービス プロバイダー (CSP) のハンドル。

このパラメーターのデータ型は HCRYPTPROV です

hCryptProv で特定の CSP を渡す強い理由がない限り、ゼロが渡されます。 0 を渡すと、ハッシュ、署名の検証、または受信者の暗号化操作を実行する前に、既定の RSA または Digital Signature Standard (DSS) プロバイダーが取得されます。

[in] Algid

使用するハッシュ アルゴリズムを指定するALG_ID構造体。 Algid が 0 の場合は、既定のハッシュ アルゴリズム SHA1 が使用されます。

[in] dwFlags

ハッシュ API に渡される値。 詳細については、「 CryptCreateHash」を参照してください。

[in] pbEncoded

ハッシュするエンコードされたコンテンツのアドレス。

[in] cbEncoded

エンコードされたコンテンツのサイズ (バイト単位)。

[out] pbComputedHash

計算されたハッシュを受け取るバッファーへのポインター。

メモリ割り当てのためにこの情報のサイズを設定するには、このパラメーターを NULL にすることができます。 詳細については、「不明な 長さのデータの取得」を参照してください。

[in, out] pcbComputedHash

pbComputedHash パラメーターが指すバッファーのサイズ (バイト単位) を含む DWORD へのポインター。 関数が戻るときに、 DWORD にはバッファーに格納されているバイト数が含まれます。

メモ バッファーで返されたデータを処理する場合、アプリケーションは返されるデータの実際のサイズを使用する必要があります。 実際のサイズは、入力時に指定されたバッファーのサイズよりも若干小さくすることができます。 入力では、バッファー サイズは通常、バッファーに収まる最大の出力データを確保するのに十分な大きさで指定されます。 出力時に、このパラメーターが指す変数は、バッファーにコピーされたデータの実際のサイズを反映するように更新されます。
 

戻り値

関数が成功した場合、関数は 0 以外 (TRUE) を返します。

関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。

メモ 呼び出された関数 CryptCreateHashCryptGetHashParamCryptHashData のエラーがこの関数に反映される可能性があります。
 

要件

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

関連項目

CryptHashPublicKeyInfo

CryptHashToBeSigned

データ管理関数