CryptHashPublicKeyInfo

CERT_PUBLIC_KEY_INFO 構造体内の公開鍵情報を符号化し、符号化されたバイト列のハッシュを計算する。

CryptHashPublicKeyInfo hCryptProv, Algid, dwFlags, dwCertEncodingType, pInfo, pbComputedHash, pcbComputedHash

hCryptProv : [int] このパラメータは使用されず、NULL に設定すべきである。Windows Server 2003 および Windows XP: ハッシュの計算に使用する暗号サービスプロバイダ (CSP) のハンドル。このパラメータのデータ型は HCRYPTPROV。hCryptProv で特定の暗号プロバイダを渡す強い理由がない限り、0 を渡す。0 を渡すと、ハッシュ、署名検証、または受信者暗号化操作を行う前に既定の RSA または Digital Signature Standard (DSS) プロバイダが取得される。
Algid : [int] 使用する CryptoAPI ハッシュアルゴリズムを指定する ALG_ID 構造体。Algid が 0 の場合、既定のハッシュアルゴリズムである MD5 が使用される。
dwFlags : [int] CryptCreateHash に渡される値。
dwCertEncodingType : [int] 使用するエンコーディングの型を指定する。証明書とメッセージのエンコーディング型の両方をビットごとの OR 演算で組み合わせて指定することも常に許容される。例: X509_ASN_ENCODING | PKCS_7_ASN_ENCODING。現在定義されているエンコーディング型は次のとおり。
pInfo : [var] 符号化およびハッシュ化する公開鍵情報を含む CERT_PUBLIC_KEY_INFO 構造体へのポインタ。
pbComputedHash : [var] 計算されたハッシュを受け取るバッファへのポインタ。メモリ割り当て目的でこの情報のサイズを設定するには、このパラメータを NULL にできる。詳細は Retrieving Data of Unknown Length を参照。
pcbComputedHash : [var] pbComputedHash パラメータが指すバッファのサイズ (バイト単位) を含む DWORD へのポインタ。関数が戻ると、DWORD にはバッファに格納されたバイト数が含まれる。注意 バッファ内で返されたデータを処理する際、アプリケーションは返されたデータの実際のサイズを使用する必要がある。実際のサイズは入力で指定されたバッファのサイズよりわずかに小さい場合がある。出力時には、このパラメータが指す変数は実際のデータサイズを反映するよう更新される。

(プラグイン / モジュール : crypt32.dll)

解説

CERT_PUBLIC_KEY_INFO 構造体内の公開鍵情報を符号化し、符号化されたバイト列のハッシュを計算する。

[戻り値]
関数が成功した場合、戻り値は 0 以外 (TRUE)。関数が失敗した場合は 0 (FALSE) を返す。拡張エラー情報を取得するには
GetLastError を呼び出す。注意 呼び出された
CryptCreateHashCryptGetHashParamCryptHashData
関数のエラーがこの関数に伝播することがある。この関数には次のエラーコードがある。
(以下省略)

情報

プラグイン / モジュールcrypt32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の crypt32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_crypt32_gen2.hs