PFXExportCertStoreEx

参照された証明書ストアから証明書、および利用可能であれば関連する秘密鍵をエクスポートする。

PFXExportCertStoreEx hStore, pPFX, szPassword, pvPara, dwFlags

hStore : [int] エクスポートする証明書を含む証明書ストアのハンドル。
pPFX : [var] エクスポートされた証明書と鍵を含む PFX パケットを含む CRYPT_DATA_BLOB 構造体へのポインタ。pPFX->pbData が NULL の場合、関数は符号化された BLOB に必要なバイト数を計算し、これを pPFX->cbData に返す。pPFX->pbData が必要なサイズの割り当て済みバッファを指す状態で関数が呼び出されると、関数は符号化済みバイトをバッファにコピーし、pPFX->cbData を符号化バイト長で更新する。
szPassword : [wstr] PFX パケットを暗号化および検証するために使用される文字列パスワード。パスワードの使用が終了したら、SecureZeroMemory 関数を呼び出してパスワードをメモリからクリアする。パスワードの保護に関する詳細は Handling Passwords を参照。
pvPara : [intptr] dwFlags パラメータに PKCS12_PROTECT_TO_DOMAIN_SIDS または PKCS12_EXPORT_PBES2_PARAMS が含まれていない場合、このパラメータは NULL でなければならない。したがって Windows 8 および Windows Server 2012 より前では、このパラメータは NULL でなければならない。Windows 8 および Windows Server 2012 以降、dwFlags パラメータに PKCS12_PROTECT_TO_DOMAIN_SIDS が含まれている場合、pvPara パラメータが NCRYPT_DESCRIPTOR_HANDLE 値を指すように設定して、PFX パスワードを PFX BLOB 内でどの Active Directory プリンシパルに対して保護するかを識別できる。現在、パスワードは Active Directory のユーザー、コンピュータ、またはグループに対して保護できる。保護記述子の詳細については NCryptCreateProtectionDescriptor を参照。Windows 10 1709 (Fall Creators update) および Windows Server 2019 以降、dwFlags パラメータに PKCS12_EXPORT_PBES2_PARAMS が含まれている場合、pvPara を PKCS12_EXPORT_PBES2_PARAMS 値に設定して、使用するパスワードベースの暗号化アルゴリズムを選択する必要がある。
dwFlags : [int] フラグ値は次の任意の組み合わせに設定できる。

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

解説

参照された証明書ストアから証明書、および利用可能であれば関連する秘密鍵をエクスポートする。

[戻り値]
関数が成功した場合は TRUE (0 以外)、失敗した場合は FALSE (0) を返す。拡張エラー情報を取得するには
GetLastError を呼び出す。

[備考]
Windows 8 および Windows Server 2012 以降、PFX パスワードを Active Directory
のユーザー、コンピュータ、またはグループに対して保護できる。そうすることを選択したがパスワードを作成しない場合、一時的なパスワードがランダムに選択される。パスワードは
Active Directory プリンシパルを使用して暗号化され、PFX BLOB に埋め込まれる。詳細は pvPara
パラメータおよび PKCS12_PROTECT_TO_DOMAIN_SIDS フラグを参照。Windows 10 1709 (Fall
Creators update) および Windows Server 2019 以降、次のレジストリキーを使用して
PFXExportCertStoreEx 関数がパスワード上でハッシュ関数を実行する反復回数を制御できる。このキーの値は
REG_DWORD
型である。HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\PFX\PasswordIterationCount

情報

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