CryptHashPublicKeyInfo 関数 (wincrypt.h)
構文
BOOL CryptHashPublicKeyInfo(
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] ALG_ID Algid,
[in] DWORD dwFlags,
[in] DWORD dwCertEncodingType,
[in] PCERT_PUBLIC_KEY_INFO pInfo,
[out] BYTE *pbComputedHash,
[in, out] DWORD *pcbComputedHash
);
パラメーター
[in] hCryptProv
このパラメーターは使用されず、 NULL に設定する必要があります。
Windows Server 2003 および Windows XP: ハッシュの計算に使用する 暗号化サービス プロバイダー (CSP) のハンドル。このパラメーターのデータ型は HCRYPTPROV です。
hCryptProv で特定の暗号化プロバイダーを渡す強い理由がない限り、ゼロが渡されます。 0 を渡すと、ハッシュ、署名の検証、または受信者の暗号化操作を実行する前に、既定の RSA または Digital Signature Standard (DSS) プロバイダーが取得されます。
[in] Algid
使用する CryptoAPI ハッシュ アルゴリズムを指定する ALG_ID 構造体。 Algid が 0 の場合は、既定のハッシュ アルゴリズム MD5 が使用されます。
[in] dwFlags
CryptCreateHash に渡される値。
[in] dwCertEncodingType
使用するエンコードの種類を指定します。 次の例に示すように、 証明書 と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pInfo
エンコードおよびハッシュされる公開キー情報を含むCERT_PUBLIC_KEY_INFO構造体へのポインター。
[out] pbComputedHash
計算されたハッシュを受け取るバッファーへのポインター。
メモリ割り当てのためにこの情報のサイズを設定するには、このパラメーターを NULL にすることができます。 詳細については、「不明な 長さのデータの取得」を参照してください。
[in, out] pcbComputedHash
pbComputedHash パラメーターが指すバッファーのサイズ (バイト単位) を含む DWORD へのポインター。 関数が戻るときに、 DWORD にはバッファーに格納されているバイト数が含まれます。
戻り値
関数が成功した場合、関数は 0 以外 (TRUE) を返します。
関数が失敗した場合は、0 (FALSE) を返します。 拡張エラー情報については、 GetLastError を呼び出します。
リターン コード | 説明 |
---|---|
|
pbComputedHash パラメーターで指定されたバッファーが、返されたデータを保持するのに十分な大きさでない場合、関数はERROR_MORE_DATA コードを設定し、必要なバッファー サイズをバイト単位で pcbComputedHash が指す変数に格納します。 |
|
証明書のエンコードの種類が無効です。 現在、X509_ASN_ENCODINGのみがサポートされています。 |
関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |