00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef CHIPCARD_CARD_DDVCARD_H
00015 #define CHIPCARD_CARD_DDVCARD_H
00016
00017 #include <chipcard/client/card.h>
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00036
00046 CHIPCARD_API int LC_DDVCard_ExtendCard(LC_CARD *card);
00047
00054 CHIPCARD_API int LC_DDVCard_UnextendCard(LC_CARD *card);
00055
00062 CHIPCARD_API LC_CLIENT_RESULT LC_DDVCard_Reopen(LC_CARD *card);
00072 CHIPCARD_API LC_CLIENT_RESULT LC_DDVCard_VerifyPin(LC_CARD *card,
00073 const char *pin);
00078 CHIPCARD_API LC_CLIENT_RESULT LC_DDVCard_SecureVerifyPin(LC_CARD *card);
00085
00089 CHIPCARD_API LC_CLIENT_RESULT LC_DDVCard_GetChallenge(LC_CARD *card,
00090 GWEN_BUFFER *mbuf);
00091
00096 CHIPCARD_API LC_CLIENT_RESULT LC_DDVCard_CryptBlock(LC_CARD *card,
00097 GWEN_BUFFER *ibuf,
00098 GWEN_BUFFER *obuf);
00099
00103 CHIPCARD_API
00104 LC_CLIENT_RESULT LC_DDVCard_CryptCharBlock(LC_CARD *card,
00105 const char *data,
00106 unsigned int dlen,
00107 GWEN_BUFFER *obuf);
00108
00112 CHIPCARD_API LC_CLIENT_RESULT LC_DDVCard_SignHash(LC_CARD *card,
00113 GWEN_BUFFER *hbuf,
00114 GWEN_BUFFER *obuf);
00125 CHIPCARD_API GWEN_DB_NODE *LC_DDVCard_GetCardDataAsDb(const LC_CARD *card);
00126
00132 CHIPCARD_API GWEN_BUFFER *LC_DDVCard_GetCardDataAsBuffer(const LC_CARD *card);
00143 CHIPCARD_API
00144 LC_CLIENT_RESULT LC_DDVCard_ReadInstituteData(LC_CARD *card,
00145 int idx,
00146 GWEN_DB_NODE *dbData);
00147
00151 CHIPCARD_API
00152 LC_CLIENT_RESULT LC_DDVCard_WriteInstituteData(LC_CARD *card,
00153 int idx,
00154 GWEN_DB_NODE *dbData);
00169 CHIPCARD_API int LC_DDVCard_GetSignKeyVersion(LC_CARD *card);
00170
00174 CHIPCARD_API int LC_DDVCard_GetSignKeyNumber(LC_CARD *card);
00175
00179 CHIPCARD_API int LC_DDVCard_GetCryptKeyVersion(LC_CARD *card);
00180
00184 CHIPCARD_API int LC_DDVCard_GetCryptKeyNumber(LC_CARD *card);
00187
00188
00189
00190 #ifdef __cplusplus
00191 }
00192 #endif
00193
00194
00195 #endif
00196
00197