CryptExportPublicKeyInfo

CryptExportPublicKeyInfo 関数は、プロバイダの対応する秘密鍵に関連付けられた公開鍵情報をエクスポートする。この関数の更新版については CryptExportPublicKeyInfoEx を参照。

CryptExportPublicKeyInfo hCryptProvOrNCryptKey, dwKeySpec, dwCertEncodingType, pInfo, pcbInfo

hCryptProvOrNCryptKey : [int] 公開鍵情報をエクスポートするときに使用する暗号サービスプロバイダ (CSP) のハンドル。このハンドルは CryptAcquireContext 関数を使用して作成された HCRYPTPROV ハンドル、または NCryptOpenKey 関数を使用して作成された NCRYPT_KEY_HANDLE ハンドルでなければならない。新しいアプリケーションでは常に CNG CSP の NCRYPT_KEY_HANDLE ハンドルを渡すこと。
dwKeySpec : [int] プロバイダのコンテナから使用する秘密鍵を識別する。AT_KEYEXCHANGE または AT_SIGNATURE を指定できる。hCryptProvOrNCryptKey パラメータに NCRYPT_KEY_HANDLE が使用されている場合、このパラメータは無視される。
dwCertEncodingType : [int] 使用するエンコーディングの型を指定する。証明書とメッセージのエンコーディング型の両方をビットごとの OR 演算で組み合わせて指定することも常に許容される。例: X509_ASN_ENCODING | PKCS_7_ASN_ENCODING。現在定義されているエンコーディング型は次のとおり。
pInfo : [var] エクスポートする公開鍵情報を受け取る CERT_PUBLIC_KEY_INFO 構造体へのポインタ。メモリ割り当て目的でこの情報のサイズを設定するには、このパラメータを NULL にできる。詳細は Retrieving Data of Unknown Length を参照。
pcbInfo : [var] pInfo パラメータが指すバッファのサイズ (バイト単位) を含む DWORD へのポインタ。関数が戻ると、DWORD には戻りバッファに必要なバイト数が格納される。注意 バッファ内で返されたデータを処理する際、アプリケーションは返されたデータの実際のサイズを使用する必要がある。実際のサイズは入力で指定されたバッファのサイズよりわずかに小さいことがある。出力時には、このパラメータが指す変数は実際のデータサイズを反映するよう更新される。

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

解説

CryptExportPublicKeyInfo
関数は、プロバイダの対応する秘密鍵に関連付けられた公開鍵情報をエクスポートする。この関数の更新版については
CryptExportPublicKeyInfoEx を参照。

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

情報

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