CryptMsgSignCTL function
The CryptMsgSignCTL function creates a signed message containing an encoded CTL.
Syntax
BOOL WINAPI CryptMsgSignCTL( _In_ DWORD dwMsgEncodingType, _In_ BYTE *pbCtlContent, _In_ DWORD cbCtlContent, _In_ PCMSG_SIGNED_ENCODE_INFO pSignInfo, _In_ DWORD dwFlags, _Out_ BYTE *pbEncoded, _Inout_ DWORD *pcbEncoded );
Parameters
- dwMsgEncodingType [in]
-
Specifies the encoding type used. It is always acceptable to specify both the certificate and message encoding types by combining them with a bitwise-OR operation as shown in the following example:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Currently defined encoding types are:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
- pbCtlContent [in]
-
The encoded CTL_INFO that can be a member of a CTL_CONTEXT structure or can be created using the CryptEncodeObject function.
- cbCtlContent [in]
-
The size, in bytes, of the content pointed to by pbCtlContent.
- pSignInfo [in]
-
A pointer to a CMSG_SIGNED_ENCODE_INFO structure containing an array of a CMSG_SIGNER_ENCODE_INFO structures.
The message can be encoded without signers if the cbSize member of the structure is set to the size of the structure and all of the other members are set to zero.
- dwFlags [in]
-
If CMS_PKCS7 is defined, can be set to CMSG_CMS_ENCAPSULATED_CTL_FLAG to encode a CMS compatible V3 SignedData message.
- pbEncoded [out]
-
A pointer to a buffer to receives the encoded message.
This parameter can be NULL to get the size of this information for memory allocation purposes. For more information, see Retrieving Data of Unknown Length.
- pcbEncoded [in, out]
-
A pointer to a DWORD specifying the size, in bytes, of the pbEncoded buffer. When the function returns, the DWORD contains the number of bytes stored or to be stored in the buffer.
Return value
If the function succeeds, the return value is nonzero (TRUE).
If the function fails, the return value is zero (FALSE). For extended error information, call GetLastError. This function can return errors propagated from calls to CryptMsgOpenToEncode and CryptMsgUpdate.
Requirements
|
Minimum supported client |
Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
See also
- Verification Functions Using CTLs
- CMSG_SIGNED_ENCODE_INFO
- CryptMsgEncodeAndSignCTL
- CryptMsgOpenToEncode