starcos.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003                              -------------------
00004     cvs         : $Id: starcos.h 388 2007-05-02 19:24:12Z christian $
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 <chipcard3/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 
00060 CHIPCARD_API
00061 GWEN_KEYSPEC *LC_Starcos_GetKeySpec(LC_CARD *card, int kid);
00062 
00063 CHIPCARD_API
00064 LC_CLIENT_RESULT LC_Starcos_SetKeySpec(LC_CARD *card,
00065                                        int kid,
00066                                        const GWEN_KEYSPEC *ks);
00067 
00068 
00074 CHIPCARD_API
00075 LC_CLIENT_RESULT LC_Starcos_GenerateKeyPair(LC_CARD *card,
00076                                             int kid,
00077                                             int bits);
00078 
00079 CHIPCARD_API
00080 LC_CLIENT_RESULT LC_Starcos_ActivateKeyPair(LC_CARD *card,
00081                                             int srcKid,
00082                                             int dstKid,
00083                                             const GWEN_KEYSPEC *ks);
00084 
00085 CHIPCARD_API
00086 LC_CLIENT_RESULT LC_Starcos_WritePublicKey(LC_CARD *card, int kid,
00087                                            const GWEN_CRYPTKEY *key);
00088 
00089 CHIPCARD_API
00090 GWEN_CRYPTKEY *LC_Starcos_ReadPublicKey(LC_CARD *card, int kid);
00111 CHIPCARD_API
00112 LC_CLIENT_RESULT LC_Starcos_ReadInstituteData(LC_CARD *card,
00113                                               int idx,
00114                                               GWEN_DB_NODE *dbData);
00115 
00116 CHIPCARD_API
00117 LC_CLIENT_RESULT LC_Starcos_WriteInstituteData(LC_CARD *card,
00118                                                int idx,
00119                                                GWEN_DB_NODE *dbData);
00128 CHIPCARD_API
00129 GWEN_TYPE_UINT32 LC_Starcos_ReadSigCounter(LC_CARD *card, int kid);
00130 
00134 CHIPCARD_API
00135 LC_CLIENT_RESULT LC_Starcos_GetChallenge(LC_CARD *card, GWEN_BUFFER *mbuf);
00136 
00137 
00140 #ifdef __cplusplus
00141 }
00142 #endif
00143 
00144 #endif /* CHIPCARD_CARD_STARCOS_H */
00145 
00146 

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