CryptMsgSignCTL 関数 (wincrypt.h)
CryptMsgSignCTL 関数は、エンコードされた CTL を含む署名付きメッセージを作成します。
構文
BOOL CryptMsgSignCTL(
[in] DWORD dwMsgEncodingType,
[in] BYTE *pbCtlContent,
[in] DWORD cbCtlContent,
[in] PCMSG_SIGNED_ENCODE_INFO pSignInfo,
[in] DWORD dwFlags,
[out] BYTE *pbEncoded,
[in, out] DWORD *pcbEncoded
);
パラメーター
[in] dwMsgEncodingType
使用するエンコードの種類を指定します。 次の例に示すように、証明書と メッセージエンコードの両方の種類 をビットごとの OR 操作と組み合わせて指定することは、常に許容されます。
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING
現在定義されているエンコードの種類は次のとおりです。
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pbCtlContent
CTL_CONTEXT構造体のメンバーにすることも、CryptEncodeObject 関数を使用して作成することもできます。エンコードされたCTL_INFO。
[in] cbCtlContent
pbCtlContent が指すコンテンツのサイズ (バイト単位)。
[in] pSignInfo
CMSG_SIGNER_ENCODE_INFO構造体の配列を含むCMSG_SIGNED_ENCODE_INFO構造体へのポインター。
構造体の cbSize メンバーが構造体のサイズに設定され、他のすべてのメンバーが 0 に設定されている場合、署名者なしでメッセージをエンコードできます。
[in] dwFlags
CMS_PKCS7が定義されている場合は、 を CMSG_CMS_ENCAPSULATED_CTL_FLAG に設定して、CMS 互換の V3 SignedData メッセージをエンコードできます。
[out] pbEncoded
エンコードされたメッセージを受信するバッファーへのポインター。
このパラメーターは、メモリ割り当て目的でこの情報のサイズを取得するために NULL にすることができます 。 詳細については、「不明な 長さのデータの取得」を参照してください。
[in, out] pcbEncoded
pbEncoded バッファーのサイズ (バイト単位) を指定する DWORD へのポインター。 関数が戻ると、 DWORD には、格納されているバイト数、またはバッファーに格納されるバイト数が含まれます。
戻り値
関数が成功した場合、戻り値は 0 以外 (TRUE) になります。
関数が失敗した場合、戻り値は 0 (FALSE) になります。 拡張エラー情報については、 GetLastError を呼び出します。 この関数は、 CryptMsgOpenToEncode と CryptMsgUpdate の呼び出しから伝達されたエラー を返すことができます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |