CryptSignAndEncryptMessage

CryptSignAndEncryptMessage 関数は、指定されたコンテンツのハッシュを作成し、ハッシュに署名し、コンテンツを暗号化し、暗号化されたコンテンツと署名済みハッシュをハッシュし、次に暗号化されたコンテンツと署名済みハッシュの両方を符号化する。

CryptSignAndEncryptMessage pSignPara, pEncryptPara, cRecipientCert, rgpRecipientCert, pbToBeSignedAndEncrypted, cbToBeSignedAndEncrypted, pbSignedAndEncryptedBlob, pcbSignedAndEncryptedBlob

pSignPara : [var] 署名パラメータを含む CRYPT_SIGN_MESSAGE_PARA 構造体へのポインタ。
pEncryptPara : [var] 暗号化パラメータを含む CRYPT_ENCRYPT_MESSAGE_PARA 構造体へのポインタ。
cRecipientCert : [int] rgpRecipientCert の配列要素数。
rgpRecipientCert : [var] CERT_CONTEXT 構造体へのポインタの配列。各構造体はメッセージの意図された受信者の証明書である。
pbToBeSignedAndEncrypted : [var] 署名および暗号化するコンテンツを含むバッファへのポインタ。
cbToBeSignedAndEncrypted : [int] pbToBeSignedAndEncrypted バッファのサイズ (バイト単位)。
pbSignedAndEncryptedBlob : [var] 暗号化および符号化されたメッセージを受け取るバッファへのポインタ。
pcbSignedAndEncryptedBlob : [var] pbSignedAndEncryptedBlob が指すバッファのサイズ (バイト単位) を指定する DWORD へのポインタ。関数が戻ると、この変数には *pbSignedAndEncryptedBlob にコピーされた署名および暗号化されたメッセージのサイズ (バイト単位) が含まれる。

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

解説

CryptSignAndEncryptMessage
関数は、指定されたコンテンツのハッシュを作成し、ハッシュに署名し、コンテンツを暗号化し、暗号化されたコンテンツと署名済みハッシュをハッシュし、次に暗号化されたコンテンツと署名済みハッシュの両方を符号化する。

[戻り値]
関数が成功した場合、戻り値は 0 以外 (TRUE)。関数が失敗した場合、戻り値は 0 (FALSE)。拡張エラー情報を取得するには
GetLastError を呼び出す。GetLastError 関数で最も一般的に返されるエラーコードを以下に示す。
(以下省略)

情報

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