38 |
#define OPENPGP_SUPPORTED_CYPHER_ALGORITHM L"\0" |
#define OPENPGP_SUPPORTED_CYPHER_ALGORITHM L"\0" |
39 |
#define OPENPGP_SUPPORTED_ASYMETRIC_ALGORITHM L"RSA\0" |
#define OPENPGP_SUPPORTED_ASYMETRIC_ALGORITHM L"RSA\0" |
40 |
|
|
41 |
DWORD SCardReadPublicKey(PCARD_DATA pCardData, |
#pragma pack(push,1) |
42 |
|
typedef struct _OPENPGP_ALGORITHM_ATTRIBUTE |
43 |
|
{ |
44 |
|
BYTE bAlgoId; |
45 |
|
unsigned short wModulusLengthInBit; |
46 |
|
unsigned short wExponentLengthInBit; |
47 |
|
BYTE bFormat; |
48 |
|
} OPENPGP_ALGORITHM_ATTRIBUTE, *POPENPGP_ALGORITHM_ATTRIBUTE; |
49 |
|
#pragma pack(pop) |
50 |
|
|
51 |
|
DWORD OCardReadPublicKey(PCARD_DATA pCardData, |
52 |
OPENPGP_CONTAINER dwContainer, |
OPENPGP_CONTAINER dwContainer, |
53 |
PBYTE *pbPublicKey, PDWORD pdwPublicKeySize); |
PBYTE *pbPublicKey, PDWORD pdwPublicKeySize); |
54 |
|
|
55 |
DWORD SCardCreateKey(PCARD_DATA pCardData, OPENPGP_CONTAINER dwContainer, DWORD dwBitLen); |
DWORD OCardCreateKey(PCARD_DATA pCardData, OPENPGP_CONTAINER dwContainer, DWORD dwBitLen); |
56 |
|
|
57 |
DWORD SCardImportKey(PCARD_DATA pCardData, |
DWORD OCardImportKey(PCARD_DATA pCardData, |
58 |
OPENPGP_CONTAINER dwContainer, |
OPENPGP_CONTAINER dwContainer, |
59 |
PBYTE pBlob, |
PBYTE pBlob, |
60 |
DWORD dwKeySize); |
DWORD dwKeySize); |
61 |
|
|
62 |
DWORD SCardSign(PCARD_DATA pCardData, |
DWORD OCardSign(PCARD_DATA pCardData, |
63 |
PCARD_SIGNING_INFO pInfo); |
PCARD_SIGNING_INFO pInfo); |
64 |
|
|
65 |
DWORD SCardAuthenticate(PCARD_DATA pCardData, |
DWORD OCardAuthenticate(PCARD_DATA pCardData, |
66 |
PCARD_SIGNING_INFO pInfo); |
PCARD_SIGNING_INFO pInfo); |
67 |
|
|
68 |
DWORD SCardDecrypt(PCARD_DATA pCardData, |
DWORD OCardDecrypt(PCARD_DATA pCardData, |
69 |
PCARD_RSA_DECRYPT_INFO pInfo); |
PCARD_RSA_DECRYPT_INFO pInfo); |
70 |
|
|
|
DWORD GetPinInfo(DWORD __in bContainerIndex, __inout PPIN_INFO pPinInfo); |
|