starcos.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: starcos.h 189 2006-06-16 01:30:37Z martin $
00005     begin       : Mon Mar 01 2004
00006     copyright   : (C) 2004 by Martin Preuss
00007     email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *          Please see toplevel file COPYING for license details           *
00011  ***************************************************************************/
00012 
00013 
00014 #ifndef CHIPCARD_CARD_STARCOS_H
00015 #define CHIPCARD_CARD_STARCOS_H
00016 
00017 #include <chipcard2-client/client/card.h>
00018 #include <gwenhywfar/keyspec.h>
00019 #include <gwenhywfar/crypt.h>
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00025 
00026 #define LC_STARCOS_KEY_STATUS_ACTIVE            0x10
00027 #define LC_STARCOS_KEY_STATUS_INACTIVE_CERT     0x0a
00028 #define LC_STARCOS_KEY_STATUS_INACTIVE_FREE     0x08
00029 #define LC_STARCOS_KEY_STATUS_INACTIVE_NEW      0x07
00030 #define LC_STARCOS_KEY_STATUS_ACTIVE_NEW        0x02
00031 #define LC_STARCOS_KEY_STATUS_ACTIVE_INCOMPLETE 0x01
00032 #define LC_STARCOS_KEY_STATUS_ACTIVE_INILETTER  0x00
00033 #define LC_STARCOS_KEY_STATUS_INTERNAL_UNUSED   0xff
00034 
00035 
00036 CHIPCARD_API
00037 int LC_Starcos_ExtendCard(LC_CARD *card);
00038 CHIPCARD_API
00039 int LC_Starcos_UnextendCard(LC_CARD *card);
00040 CHIPCARD_API
00041 LC_CLIENT_RESULT LC_Starcos_Reopen(LC_CARD *card);
00042 
00043 
00044 CHIPCARD_API
00045 GWEN_DB_NODE *LC_Starcos_GetCardDataAsDb(const LC_CARD *card);
00046 CHIPCARD_API
00047 GWEN_BUFFER *LC_Starcos_GetCardDataAsBuffer(const LC_CARD *card);
00048 
00049 
00050 void LC_Starcos_SetAppName(LC_CARD *card, const char *s);
00051 
00052 
00053 
00058 CHIPCARD_API
00059 LC_CLIENT_RESULT LC_Starcos_GetPinStatus(LC_CARD *card,
00060                                          unsigned int pid,
00061                                          int *maxErrors,
00062                                          int *currentErrors);
00075 CHIPCARD_API
00076 GWEN_KEYSPEC *LC_Starcos_GetKeySpec(LC_CARD *card, int kid);
00077 
00078 CHIPCARD_API
00079 LC_CLIENT_RESULT LC_Starcos_SetKeySpec(LC_CARD *card,
00080                                        int kid,
00081                                        const GWEN_KEYSPEC *ks);
00082 
00083 
00089 CHIPCARD_API
00090 LC_CLIENT_RESULT LC_Starcos_GenerateKeyPair(LC_CARD *card,
00091                                             int kid,
00092                                             int bits);
00093 
00094 CHIPCARD_API
00095 LC_CLIENT_RESULT LC_Starcos_ActivateKeyPair(LC_CARD *card,
00096                                             int srcKid,
00097                                             int dstKid,
00098                                             const GWEN_KEYSPEC *ks);
00099 
00100 CHIPCARD_API
00101 LC_CLIENT_RESULT LC_Starcos_WritePublicKey(LC_CARD *card, int kid,
00102                                            const GWEN_CRYPTKEY *key);
00103 
00104 CHIPCARD_API
00105 GWEN_CRYPTKEY *LC_Starcos_ReadPublicKey(LC_CARD *card, int kid);
00126 CHIPCARD_API
00127 LC_CLIENT_RESULT LC_Starcos_ReadInstituteData(LC_CARD *card,
00128                                               int idx,
00129                                               GWEN_DB_NODE *dbData);
00130 
00131 CHIPCARD_API
00132 LC_CLIENT_RESULT LC_Starcos_WriteInstituteData(LC_CARD *card,
00133                                                int idx,
00134                                                GWEN_DB_NODE *dbData);
00143 CHIPCARD_API
00144 GWEN_TYPE_UINT32 LC_Starcos_ReadSigCounter(LC_CARD *card, int kid);
00145 
00149 CHIPCARD_API
00150 LC_CLIENT_RESULT LC_Starcos_GetChallenge(LC_CARD *card, GWEN_BUFFER *mbuf);
00151 
00152 
00155 #ifdef __cplusplus
00156 }
00157 #endif
00158 
00159 #endif /* CHIPCARD_CARD_STARCOS_H */
00160 
00161 

Generated on Sat Sep 22 04:38:38 2007 for libchipcard2 by  doxygen 1.5.3