Certificate and Message Encoding Types
Many of the functions require certificate or message encoding types. This encoding type is a DWORD, possibly containing both the certificate and message encoding types. The certificate encoding type is stored in the low-order word. The message encoding type is stored in the high-order word. Some functions or structure fields require only one of the encoding types, but it is always acceptable to specify both encoding types. For an example specifying both encoding types, see #includes and #defines.
The following parameter naming convention is used to indicate the encoding types required.
Name | Comments |
---|---|
dwMsgAndCertEncodingType | Both encoding types are required. |
dwMsgEncodingType | Only the message encoding type is required. |
dwCertEncodingType | Only the certificate encoding type is required. |
dwEncodingType | Either a message or certificate encoding type is required. If the low-order word containing the certificate encoding type is nonzero, then it is used. Otherwise, the high-order word containing the message encoding type is used. If both are specified, the certificate encoding type in the low-order word is used. |
Currently defined encoding types are shown in the following table.
Encoding type | Value |
---|---|
CRYPT_ASN_ENCODING | 0x00000001 |
X509_ASN_ENCODING | 0x00000001 |
PKCS_7_ASN_ENCODING | 0x00010000 |