50 |
DWORD GET_KEY_PRESSED; |
DWORD GET_KEY_PRESSED; |
51 |
} FEATURES, *PFEATURES; |
} FEATURES, *PFEATURES; |
52 |
|
|
53 |
|
#define KEYMAX 3 |
54 |
typedef struct _OPENPGP_CONTEXT |
typedef struct _OPENPGP_CONTEXT |
55 |
{ |
{ |
56 |
OPENPGP_AID Aid; |
OPENPGP_AID Aid; |
57 |
FEATURES SmartCardReaderFeatures; |
FEATURES SmartCardReaderFeatures; |
58 |
BOOL fSupportCommandChaining; |
BOOL fSupportCommandChaining; |
59 |
BOOL fExtentedLeLcFields; |
BOOL fExtentedLeLcFields; |
60 |
DWORD dwMaxLength; |
BYTE bSecureMessagingAlgorithm; |
61 |
BOOL fHasSignature; |
DWORD dwMaxChallengeLength; |
62 |
BOOL fHasDecryption; |
DWORD dwMaxCertificateLength; |
63 |
BOOL fHasAuthentication; |
DWORD dwMaxCommandDataLength; |
64 |
|
DWORD dwMaxResponseLength; |
65 |
|
BOOL fHasKey[KEYMAX]; |
66 |
|
BOOL fIsReadOnly; |
67 |
|
BYTE bFingerPrint[60]; |
68 |
|
PBYTE pbKeyCache[KEYMAX]; |
69 |
|
DWORD dwKeyCacheSize[KEYMAX]; |
70 |
} OPENPGP_CONTEXT, *POPENPGP_CONTEXT ; |
} OPENPGP_CONTEXT, *POPENPGP_CONTEXT ; |
71 |
|
|
72 |
DWORD CreateContext(__in PCARD_DATA pCardData); |
DWORD CreateContext(__in PCARD_DATA pCardData, __in DWORD dwFlags); |
73 |
DWORD CheckContext(__in PCARD_DATA pCardData); |
DWORD CheckContext(__in PCARD_DATA pCardData); |
74 |
DWORD CleanContext(__in PCARD_DATA pCardData); |
DWORD CleanContext(__in PCARD_DATA pCardData); |