CryptMsgSignCTL

CryptMsgSignCTL 関数は、符号化された CTL を含む署名済みメッセージを作成する。

CryptMsgSignCTL dwMsgEncodingType, pbCtlContent, cbCtlContent, pSignInfo, dwFlags, pbEncoded, pcbEncoded

dwMsgEncodingType : [int] 使用するエンコーディングの型を指定する。証明書とメッセージのエンコーディング型の両方をビットごとの OR 演算で組み合わせて指定することも常に許容される。例: X509_ASN_ENCODING | PKCS_7_ASN_ENCODING。現在定義されているエンコーディング型は次のとおり。
pbCtlContent : [var] 符号化された CTL_INFO。CTL_CONTEXT 構造体のメンバであるか、CryptEncodeObject 関数を使用して作成されたものでもよい。
cbCtlContent : [int] pbCtlContent が指すコンテンツのサイズ (バイト単位)。
pSignInfo : [var] CMSG_SIGNER_ENCODE_INFO 構造体の配列を含む CMSG_SIGNED_ENCODE_INFO 構造体へのポインタ。構造体の cbSize メンバを構造体のサイズに設定し、他のすべてのメンバを 0 に設定すると、署名者なしでメッセージを符号化することができる。
dwFlags : [int] CMS_PKCS7 が定義されている場合、CMSG_CMS_ENCAPSULATED_CTL_FLAG に設定して、CMS 互換の V3 SignedData メッセージを符号化することができる。
pbEncoded : [var] 符号化されたメッセージを受け取るバッファへのポインタ。メモリ割り当て目的でこの情報のサイズを取得するには、このパラメータを NULL にできる。詳細は Retrieving Data of Unknown Length を参照。
pcbEncoded : [var] pbEncoded バッファのサイズ (バイト単位) を指定する DWORD へのポインタ。関数が戻ると、DWORD にはバッファに格納された、または格納されるバイト数が含まれる。

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

解説

CryptMsgSignCTL 関数は、符号化された CTL を含む署名済みメッセージを作成する。

[戻り値]
関数が成功した場合、戻り値は 0 以外 (TRUE)。関数が失敗した場合は 0 (FALSE) を返す。拡張エラー情報を取得するには
GetLastError を呼び出す。この関数は CryptMsgOpenToEncode および CryptMsgUpdate
の呼び出しから伝播したエラーを返すことがある。

情報

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