CARD_SIGNING_INFO Structure
The CARD_SIGNING_INFO structure specifies data to be signed by the CardSignData function.
Syntax
typedef struct _CARD_SIGNING_INFO {
DWORD dwVersion;
BYTE bContainerIndex;
DWORD dwKeySpec;
DWORD dwSigningFlags;
ALG_ID aiHashAlg;
PBYTE pbData;
DWORD cbData;
PBYTE pbSignedData;
DWORD cbSignedData;
LPVOID pPaddingInfo;
DWORD dwPaddingType;
} CARD_SIGNING_INFO, *PCARD_SIGNING_INFO;
Members
dwVersion
The version number of the structure. You must set this member to 1.bContainerIndex
The key container index number. The container holds the keys used to sign the data.dwKeySpec
The purpose of the keys in the key container. This member can be one of the following values.Value Meaning AT_KEYEXCHANGE 1 The keys in the container are used to encrypt and decrypt session keys.
AT_SIGNATURE 2 The keys in the container are used to create and verify digital signatures.
dwSigningFlags
Specifies certain behavior of this structure. The following flags are defined.Value Meaning CARD_BUFFER_SIZE_ONLY 0x20000000 The card module returns only the size of the signed data in the cbSignedData member, and is not required to return the signed data in the pbSignedData member.
CARD_PADDING_INFO_PRESENT 0x400000000x40000000 The pPaddingInfo member points to a structure specified by the dwPaddingType member. Otherwise, the pPaddingInfo member is ignored.
aiHashAlg
A value of the ALG_ID enumeration that specifies the algorithm used to sign the data.pbData
A pointer to an array that contains the data to be signed.cbData
The size, in bytes, of the pbData array.pbSignedData
A pointer to an array that, on output, contains the signed data.cbSignedData
The size, in bytes, of the pbSignedData buffer.pPaddingInfo
A pointer to a structure that specifies padding scheme options. The value of the dwPaddingType member determines which padding structure is used.**Windows Server 2003, Windows 2000 Server with SP4 and later, Windows XP, and Windows 2000 Professional with SP4 and later: **This member is not supported.
dwPaddingType
The type of padding structure that the pPaddingInfo member points to. The following values are defined.**Windows Server 2003, Windows 2000 Server with SP4 and later, Windows XP, and Windows 2000 Professional with SP4 and later: **This member is not supported.
Value Meaning CARD_PADDING_NONE 10x1 No card padding structure is used.
CARD_PADDING_PKCS1 20x2 The pPaddingInfo member points to a BCRYPT_PKCS1_PADDING_INFO structure. PKCS1 version 1.5 padding is used, and the OID of the hash algorithm is embedded in the signature.
CARD_PADDING_PSS 40x4 The pPaddingInfo member points to a BCRYPT_PSS_PADDING_INFO structure. PKCS1 version 2.0 PSS padding is used. This value is supported only by card modules called by the smart card key storage provider (KSP).
Requirements
Minimum supported client | Windows XP, Windows 2000 Professional with SP4 |
Minimum supported server | Windows Server 2003, Windows 2000 Server with SP4 |
Header | Cardmod.h |
See Also
Microsoft Base Smart Card Cryptographic Service Provider
Send comments about this topic to Microsoft
Build date: 3/5/2009