CryptSignCertificate

CryptSignCertificate 関数は、符号化署名済みコンテンツ内の「署名される」情報に署名する。

CryptSignCertificate hCryptProvOrNCryptKey, dwKeySpec, dwCertEncodingType, pbEncodedToBeSigned, cbEncodedToBeSigned, pSignatureAlgorithm, pvHashAuxInfo, pbSignature, pcbSignature

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

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

解説

CryptSignCertificate 関数は、符号化署名済みコンテンツ内の「署名される」情報に署名する。

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

情報

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