証明書の秘密鍵を取得する。
CryptAcquireCertificatePrivateKey pCert, dwFlags, pvParameters, phCryptProvOrNCryptKey, pdwKeySpec, pfCallerFreeProvOrNCryptKey
pCert : [var] 秘密鍵を取得する対象の証明書コンテキストを含む CERT_CONTEXT 構造体のアドレス。 dwFlags : [int] pvParameters : [intptr] CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG が設定されている場合、これは HWND のアドレスとなる。CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG が設定されていない場合、このパラメーターは NULL でなければならない。 phCryptProvOrNCryptKey : [var] CryptoAPI プロバイダーまたは CNG 鍵のハンドルを受け取る HCRYPTPROV_OR_NCRYPT_KEY_HANDLE 変数のアドレス。pdwKeySpec 変数が CERT_NCRYPT_KEY_SPEC フラグを受け取った場合、これは NCRYPT_KEY_HANDLE 型の CNG 鍵ハンドルとなり、そうでなければ HCRYPTPROV 型の CryptoAPI プロバイダーハンドルとなる。このハンドルをいつどのように解放するかについては、pfCallerFreeProvOrNCryptKey パラメーターの説明を参照。 pdwKeySpec : [var] pfCallerFreeProvOrNCryptKey : [var] phCryptProvOrNCryptKey 変数に返されたハンドルを呼び出し元が解放する必要があるかを示す値を受け取る BOOL 変数のアドレス。次のいずれかが真であれば FALSE が返される。
(プラグイン / モジュール : crypt32.dll)
証明書の秘密鍵を取得する。 [戻り値] 関数が成功した場合、戻り値は 0 以外 (TRUE) となる。関数が失敗した場合、戻り値は 0 (FALSE) となる。拡張エラー情報を取得するには GetLastError を呼び出す。考えられるエラーコードの一つを以下に示す。 (以下省略) [備考] CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG が設定されている場合、呼び出し元は HWND が有効であることを保証しなければならない。HWND が有効でなくなった場合、CSP では呼び出し元が CryptSetProvParam を PP_CLIENT_HWND フラグ、HWND に NULL、HCRYPTPROV に NULL を指定して呼び出す必要がある。KSP では呼び出し元が ncrypt 鍵の NCRYPT_WINDOW_HANDLE_PROPERTY を NULL に設定する必要がある。CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG が KSP に対して設定されている場合、NCRYPT_WINDOW_HANDLE_PROPERTY はストレージプロバイダーと鍵の双方に設定される。両呼び出しとも失敗した場合、関数は失敗する。片方だけ失敗した場合、関数は成功する。HWND を NULL に設定すると、実質的に HCRYPTPROV または ncrypt 鍵から HWND が取り除かれる点に注意。
| プラグイン / モジュール | crypt32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の crypt32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_crypt32_gen2.hs |