CertGetCertificateContextProperty

証明書コンテキストの拡張プロパティに含まれる情報を取得する。

CertGetCertificateContextProperty pCertContext, dwPropId, pvData, pcbData

pCertContext : [var] 取得対象のプロパティを含む証明書の CERT_CONTEXT 構造体へのポインター。
dwPropId : [int] 取得するプロパティ。現在定義されている識別子と pvData に返されるデータ型を次の表に示す。
pvData : [intptr] dwPropId によって決まるデータを受け取るバッファーへのポインター。返される構造体のメンバーが指す構造体も、基底構造体に続けて返される。したがって pcbData に含まれるサイズは基底構造体のサイズを超えることが多い。このパラメーターを NULL に設定すると、メモリ割り当て用に情報サイズを取得できる。詳細は「長さ不明のデータの取得」を参照。
pcbData : [var] pvData パラメーターが指すバッファーのサイズをバイト単位で指定する DWORD 値へのポインター。関数から戻ると、DWORD 値はバッファーに格納されるバイト数を含む。実行時に必要なバッファーサイズを取得するには、pvData に NULL を渡し、このパラメーターが指す値を 0 に設定する。pvData が NULL でなく、pcbData に指定したサイズがデータを格納するのに必要なバイト数より小さい場合、関数は失敗し、GetLastError は ERROR_MORE_DATA を返し、必要なサイズが pcbData が指す変数に格納される。注意: バッファーに返されたデータを処理する際、アプリケーションは実際に返されたデータのサイズを使用しなければならない。実際のサイズは入力で指定したバッファーサイズよりわずかに小さいことがある。(入力時には通常、最大出力データが収まるように十分大きなサイズを指定する。)出力時には、このパラメーターが指す変数はバッファーにコピーされた実際のデータサイズを反映するよう更新される。

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

解説

証明書コンテキストの拡張プロパティに含まれる情報を取得する。

[戻り値]
関数が成功した場合、戻り値は TRUE となる。関数が失敗した場合、戻り値は FALSE となる。拡張エラー情報を取得するには
GetLastError を呼び出す。考えられるエラーコードを以下に示す。
(以下省略)

[備考]

プロパティは証明書の内部には格納されない。通常、証明書応答を受け取った後に証明書に関連付けられ、ストアに証明書とともに保存される。セキュリティ上の理由から、プロパティ値は保存前に検証し、CERT_FRIENDLY_NAME_PROP_ID
のような情報系プロパティのみをユーザーストアに保存することを推奨する。その他のプロパティ型はローカルコンピューターストアに保存すべきである。コードはマクロを用いて証明書コンテキストのハッシュクラスを評価できる。詳細は
CertSetCertificateContextProperty を参照。

情報

プラグイン / モジュール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