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_SHOW_MESSAGE_FN )(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, const char *title, const char *msg)
int GWEN_CryptManager_BeginEnterPin (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt)
int GWEN_CryptManager_CheckToken (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN_DEVICE devt, GWEN_BUFFER *typeName, GWEN_BUFFER *subTypeName, GWEN_BUFFER *tokenName)
int GWEN_CryptManager_EndEnterPin (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token, GWEN_CRYPTTOKEN_PINTYPE pt, int ok)
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)
GWEN_PLUGIN_DESCRIPTION_LIST2GWEN_CryptManager_GetPluginDescrs (GWEN_PLUGIN_MANAGER *pm, GWEN_CRYPTTOKEN_DEVICE devt)
int GWEN_CryptManager_InsertCorrectToken (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token)
int GWEN_CryptManager_InsertToken (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTTOKEN *token)
GWEN_PLUGIN_MANAGERGWEN_CryptManager_new ()
void GWEN_CryptManager_SetBeginEnterPinFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_BEGIN_ENTER_PIN_FN fn)
void GWEN_CryptManager_SetEndEnterPinFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_END_ENTER_PIN_FN fn)
void GWEN_CryptManager_SetGetPinFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_GETPIN_FN fn)
void GWEN_CryptManager_SetInsertCorrectTokenFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_INSERT_CORRECT_TOKEN_FN fn)
void GWEN_CryptManager_SetInsertTokenFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_INSERT_TOKEN_FN fn)
void GWEN_CryptManager_SetShowMessageFn (GWEN_PLUGIN_MANAGER *cm, GWEN_CRYPTMANAGER_SHOW_MESSAGE_FN fn)
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)
int GWEN_CryptToken_Plugin_CheckToken (GWEN_PLUGIN *pl, GWEN_BUFFER *subTypeName, GWEN_BUFFER *name)
GWEN_CRYPTTOKENGWEN_CryptToken_Plugin_CreateToken (GWEN_PLUGIN *pl, const char *subTypeName, const char *name)
GWEN_CRYPTTOKEN_DEVICE GWEN_CryptToken_Plugin_GetDeviceType (const GWEN_PLUGIN *pl)
GWEN_PLUGINGWEN_CryptToken_Plugin_new (GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN_DEVICE devType, const char *typeName, const char *fileName)
void GWEN_CryptToken_Plugin_SetCheckTokenFn (GWEN_PLUGIN *pl, GWEN_CRYPTTOKEN_PLUGIN_CHECKTOKEN_FN fn)
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)
 

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_SHOW_MESSAGE_FN)(GWEN_PLUGIN_MANAGER *mgr, GWEN_CRYPTTOKEN *token, const char *title, const char *msg)
 

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)
 


Function Documentation

int GWEN_CryptManager_BeginEnterPin GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token,
GWEN_CRYPTTOKEN_PINTYPE  pt
 

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.

int GWEN_CryptManager_EndEnterPin GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token,
GWEN_CRYPTTOKEN_PINTYPE  pt,
int  ok
 

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
 

GWEN_PLUGIN_DESCRIPTION_LIST2* GWEN_CryptManager_GetPluginDescrs GWEN_PLUGIN_MANAGER pm,
GWEN_CRYPTTOKEN_DEVICE  devt
 

int GWEN_CryptManager_InsertCorrectToken GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token
 

int GWEN_CryptManager_InsertToken GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTTOKEN token
 

GWEN_PLUGIN_MANAGER* GWEN_CryptManager_new  ) 
 

void GWEN_CryptManager_SetBeginEnterPinFn GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_BEGIN_ENTER_PIN_FN  fn
 

void GWEN_CryptManager_SetEndEnterPinFn GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_END_ENTER_PIN_FN  fn
 

void GWEN_CryptManager_SetGetPinFn GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_GETPIN_FN  fn
 

void GWEN_CryptManager_SetInsertCorrectTokenFn GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_INSERT_CORRECT_TOKEN_FN  fn
 

void GWEN_CryptManager_SetInsertTokenFn GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_INSERT_TOKEN_FN  fn
 

void GWEN_CryptManager_SetShowMessageFn GWEN_PLUGIN_MANAGER cm,
GWEN_CRYPTMANAGER_SHOW_MESSAGE_FN  fn
 

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

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:

  • GWEN_SUCCESS: CryptToken is supported by this plugin, the buffers for typeName, subTypeName and name are updated accordingly
  • GWEN_ERROR_CT_NOT_IMPLEMENTED: function not implmented
  • GWEN_ERROR_CT_NOT_SUPPORTED: medium not supported by this plugin
  • GWEN_ERROR_CT_BAD_NAME: Medium is supported but the name doesn't match that of the currently checked medium
  • GWEN_ERROR_CT_IO_ERROR: any type of IO error occurred
  • other codes as appropriate

GWEN_CRYPTTOKEN* GWEN_CryptToken_Plugin_CreateToken GWEN_PLUGIN pl,
const char *  subTypeName,
const char *  name
 

GWEN_CRYPTTOKEN_DEVICE GWEN_CryptToken_Plugin_GetDeviceType const GWEN_PLUGIN pl  ) 
 

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

void GWEN_CryptToken_Plugin_SetCheckTokenFn GWEN_PLUGIN pl,
GWEN_CRYPTTOKEN_PLUGIN_CHECKTOKEN_FN  fn
 

void GWEN_CryptToken_Plugin_SetCreateTokenFn GWEN_PLUGIN pl,
GWEN_CRYPTTOKEN_PLUGIN_CREATETOKEN_FN  fn
 


Generated on Wed Jan 11 16:49:08 2006 for gwenhywfar by  doxygen 1.4.6