crypttoken_plugin.h File Reference

#include <gwenhywfar/keyspec.h>
#include <gwenhywfar/crypt.h>
#include <gwenhywfar/buffer.h>
#include <gwenhywfar/db.h>
#include <gwenhywfar/xml.h>
#include <gwenhywfar/plugin.h>

Go to the source code of this file.

CryptManager

typedef int(*) GWEN_CRYPTMANAGER_BEGIN_ENTER_PIN_FN (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt)
typedef int(*) GWEN_CRYPTMANAGER_END_ENTER_PIN_FN (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, int ok)
typedef int(*) GWEN_CRYPTMANAGER_GETPIN_FN (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, GWEN_CRYPTTOKEN_PINENCODING pe, GWEN_TYPE_UINT32 flags, unsigned char *buffer, unsigned int minLength, unsigned int maxLength, unsigned int *pinLength)
typedef int(*) GWEN_CRYPTMANAGER_INSERT_CORRECT_TOKEN_FN (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token)
typedef int(*) GWEN_CRYPTMANAGER_INSERT_TOKEN_FN (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token)
typedef int(*) GWEN_CRYPTMANAGER_SETPINSTATUS_FN (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, GWEN_CRYPTTOKEN_PINENCODING pe, GWEN_TYPE_UINT32 flags, unsigned char *buffer, unsigned int pinLength, int isOk)
typedef int(*) GWEN_CRYPTMANAGER_SHOW_MESSAGE_FN (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, const char *title, const char *msg)
GWENHYWFAR_API int GWEN_CryptManager_BeginEnterPin (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt)
GWENHYWFAR_API int GWEN_CryptManager_CheckToken (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN_DEVICE devt, GWEN_BUFFER *typeName, GWEN_BUFFER *subTypeName, GWEN_BUFFER *tokenName)
GWENHYWFAR_API int GWEN_CryptManager_EndEnterPin (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, int ok)
GWENHYWFAR_API int GWEN_CryptManager_GetPin (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, GWEN_CRYPTTOKEN_PINENCODING pe, GWEN_TYPE_UINT32 flags, unsigned char *buffer, unsigned int minLength, unsigned int maxLength, unsigned int *pinLength)
GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION_LIST2GWEN_CryptManager_GetPluginDescrs (GWEN_PLUGIN_MANAGER *pm, GWEN_CRYPTTOKEN_DEVICE devt)
GWENHYWFAR_API int GWEN_CryptManager_InsertCorrectToken (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token)
GWENHYWFAR_API int GWEN_CryptManager_InsertToken (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token)
GWENHYWFAR_API GWEN_PLUGIN_MANAGERGWEN_CryptManager_new ()
GWENHYWFAR_API void GWEN_CryptManager_SetBeginEnterPinFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_BEGIN_ENTER_PIN_FN fn)
GWENHYWFAR_API void GWEN_CryptManager_SetEndEnterPinFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_END_ENTER_PIN_FN fn)
GWENHYWFAR_API void GWEN_CryptManager_SetGetPinFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_GETPIN_FN fn)
GWENHYWFAR_API void GWEN_CryptManager_SetInsertCorrectTokenFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_INSERT_CORRECT_TOKEN_FN fn)
GWENHYWFAR_API void GWEN_CryptManager_SetInsertTokenFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_INSERT_TOKEN_FN fn)
GWENHYWFAR_API int GWEN_CryptManager_SetPinStatus (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, GWEN_CRYPTTOKEN_PINENCODING pe, GWEN_TYPE_UINT32 flags, unsigned char *buffer, unsigned int pinLength, int isOk)
GWENHYWFAR_API void GWEN_CryptManager_SetSetPinStatusFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_SETPINSTATUS_FN fn)
GWENHYWFAR_API void GWEN_CryptManager_SetShowMessageFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_SHOW_MESSAGE_FN fn)
GWENHYWFAR_API int GWEN_CryptManager_ShowMessage (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token, const char *title, const char *msg)

CryptToken_Plugin

typedef int(*) GWEN_CRYPTTOKEN_PLUGIN_CHECKTOKEN_FN (GWEN_PLUGIN *pl, GWEN_BUFFER *subTypeName, GWEN_BUFFER *name)
typedef GWEN_CRYPTTOKEN *(*) GWEN_CRYPTTOKEN_PLUGIN_CREATETOKEN_FN (GWEN_PLUGIN *pl, const char *subTypeName, const char *name)
GWENHYWFAR_API int GWEN_CryptToken_Plugin_CheckToken (GWEN_PLUGIN *pl, GWEN_BUFFER *subTypeName, GWEN_BUFFER *name)
GWENHYWFAR_API GWEN_CRYPTTOKENGWEN_CryptToken_Plugin_CreateToken (GWEN_PLUGIN *pl, const char *subTypeName, const char *name)
GWENHYWFAR_API GWEN_CRYPTTOKEN_DEVICE GWEN_CryptToken_Plugin_GetDeviceType (const GWEN_PLUGIN *pl)
GWENHYWFAR_API GWEN_PLUGINGWEN_CryptToken_Plugin_new (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN_DEVICE devType, const char *typeName, const char *fileName)
GWENHYWFAR_API void GWEN_CryptToken_Plugin_SetCheckTokenFn (GWEN_PLUGIN *pl, GWEN_CRYPTTOKEN_PLUGIN_CHECKTOKEN_FN fn)
GWENHYWFAR_API void GWEN_CryptToken_Plugin_SetCreateTokenFn (GWEN_PLUGIN *pl, GWEN_CRYPTTOKEN_PLUGIN_CREATETOKEN_FN fn)


Typedef Documentation

typedef int(*) GWEN_CRYPTMANAGER_BEGIN_ENTER_PIN_FN(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt)

Definition at line 128 of file crypttoken_plugin.h.

typedef int(*) GWEN_CRYPTMANAGER_END_ENTER_PIN_FN(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, int ok)

Definition at line 131 of file crypttoken_plugin.h.

typedef int(*) GWEN_CRYPTMANAGER_GETPIN_FN(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, GWEN_CRYPTTOKEN_PINENCODING pe, GWEN_TYPE_UINT32 flags, unsigned char *buffer, unsigned int minLength, unsigned int maxLength, unsigned int *pinLength)

Definition at line 108 of file crypttoken_plugin.h.

typedef int(*) GWEN_CRYPTMANAGER_INSERT_CORRECT_TOKEN_FN(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token)

Definition at line 137 of file crypttoken_plugin.h.

typedef int(*) GWEN_CRYPTMANAGER_INSERT_TOKEN_FN(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token)

Definition at line 135 of file crypttoken_plugin.h.

typedef int(*) GWEN_CRYPTMANAGER_SETPINSTATUS_FN(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, GWEN_CRYPTTOKEN_PINENCODING pe, GWEN_TYPE_UINT32 flags, unsigned char *buffer, unsigned int pinLength, int isOk)

Definition at line 119 of file crypttoken_plugin.h.

typedef int(*) GWEN_CRYPTMANAGER_SHOW_MESSAGE_FN(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, const char *title, const char *msg)

Definition at line 139 of file crypttoken_plugin.h.

typedef int(*) GWEN_CRYPTTOKEN_PLUGIN_CHECKTOKEN_FN(GWEN_PLUGIN *pl, GWEN_BUFFER *subTypeName, GWEN_BUFFER *name)

Definition at line 41 of file crypttoken_plugin.h.

typedef GWEN_CRYPTTOKEN*(*) GWEN_CRYPTTOKEN_PLUGIN_CREATETOKEN_FN(GWEN_PLUGIN *pl, const char *subTypeName, const char *name)

Definition at line 36 of file crypttoken_plugin.h.


Function Documentation

GWENHYWFAR_API int GWEN_CryptManager_BeginEnterPin ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token,
GWEN_CRYPTTOKEN_PINTYPE  pt 
)

GWENHYWFAR_API int GWEN_CryptManager_CheckToken ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN_DEVICE  devt,
GWEN_BUFFER typeName,
GWEN_BUFFER subTypeName,
GWEN_BUFFER tokenName 
)

This function tries to find a token plugin which is able to handle the token given by the device type and name.

GWENHYWFAR_API int GWEN_CryptManager_EndEnterPin ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token,
GWEN_CRYPTTOKEN_PINTYPE  pt,
int  ok 
)

GWENHYWFAR_API int GWEN_CryptManager_GetPin ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token,
GWEN_CRYPTTOKEN_PINTYPE  pt,
GWEN_CRYPTTOKEN_PINENCODING  pe,
GWEN_TYPE_UINT32  flags,
unsigned char *  buffer,
unsigned int  minLength,
unsigned int  maxLength,
unsigned int *  pinLength 
)

GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION_LIST2* GWEN_CryptManager_GetPluginDescrs ( GWEN_PLUGIN_MANAGER pm,
GWEN_CRYPTTOKEN_DEVICE  devt 
)

GWENHYWFAR_API int GWEN_CryptManager_InsertCorrectToken ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token 
)

GWENHYWFAR_API int GWEN_CryptManager_InsertToken ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token 
)

GWENHYWFAR_API GWEN_PLUGIN_MANAGER* GWEN_CryptManager_new (  ) 

GWENHYWFAR_API void GWEN_CryptManager_SetBeginEnterPinFn ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_BEGIN_ENTER_PIN_FN  fn 
)

GWENHYWFAR_API void GWEN_CryptManager_SetEndEnterPinFn ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_END_ENTER_PIN_FN  fn 
)

GWENHYWFAR_API void GWEN_CryptManager_SetGetPinFn ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_GETPIN_FN  fn 
)

GWENHYWFAR_API void GWEN_CryptManager_SetInsertCorrectTokenFn ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_INSERT_CORRECT_TOKEN_FN  fn 
)

GWENHYWFAR_API void GWEN_CryptManager_SetInsertTokenFn ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_INSERT_TOKEN_FN  fn 
)

GWENHYWFAR_API int GWEN_CryptManager_SetPinStatus ( GWEN_PLUGIN_MANAGER mgr,
GWEN_CRYPTTOKEN token,
GWEN_CRYPTTOKEN_PINTYPE  pt,
GWEN_CRYPTTOKEN_PINENCODING  pe,
GWEN_TYPE_UINT32  flags,
unsigned char *  buffer,
unsigned int  pinLength,
int  isOk 
)

GWENHYWFAR_API void GWEN_CryptManager_SetSetPinStatusFn ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_SETPINSTATUS_FN  fn 
)

GWENHYWFAR_API void GWEN_CryptManager_SetShowMessageFn ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_SHOW_MESSAGE_FN  fn 
)

GWENHYWFAR_API int GWEN_CryptManager_ShowMessage ( GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token,
const char *  title,
const char *  msg 
)

GWENHYWFAR_API int GWEN_CryptToken_Plugin_CheckToken ( GWEN_PLUGIN pl,
GWEN_BUFFER subTypeName,
GWEN_BUFFER name 
)

This function is used to let a crypt token plugin check whether it supports a given plugin.

Initially the given buffers may contain some values to narrow the search. For chip cards the name argument may contain the serial number of the card (if known). For file based crypt tokens this argument must contain the path to the file to check.

This function should return one of the following error codes:

GWENHYWFAR_API GWEN_CRYPTTOKEN* GWEN_CryptToken_Plugin_CreateToken ( GWEN_PLUGIN pl,
const char *  subTypeName,
const char *  name 
)

GWENHYWFAR_API GWEN_CRYPTTOKEN_DEVICE GWEN_CryptToken_Plugin_GetDeviceType ( const GWEN_PLUGIN pl  ) 

GWENHYWFAR_API GWEN_PLUGIN* GWEN_CryptToken_Plugin_new ( GWEN_PLUGIN_MANAGER mgr,
GWEN_CRYPTTOKEN_DEVICE  devType,
const char *  typeName,
const char *  fileName 
)

GWENHYWFAR_API void GWEN_CryptToken_Plugin_SetCheckTokenFn ( GWEN_PLUGIN pl,
GWEN_CRYPTTOKEN_PLUGIN_CHECKTOKEN_FN  fn 
)

GWENHYWFAR_API void GWEN_CryptToken_Plugin_SetCreateTokenFn ( GWEN_PLUGIN pl,
GWEN_CRYPTTOKEN_PLUGIN_CREATETOKEN_FN  fn 
)


Generated on Thu Nov 9 22:06:49 2006 for gwenhywfar by  doxygen 1.5.1