ct.h File Reference

#include <gwenhywfar/list1.h>
#include <gwenhywfar/list2.h>
#include <gwenhywfar/ct_keyinfo.h>
#include <gwenhywfar/ct_context.h>
#include <gwenhywfar/paddalgo.h>
#include <gwenhywfar/hashalgo.h>
#include <gwenhywfar/cryptalgo.h>
#include <gwenhywfar/cryptdefs.h>

Go to the source code of this file.

Defines

#define GWEN_CRYPT_TOKEN_FLAGS_MANAGES_SIGNSEQ   0x00000001
#define GWEN_CRYPT_TOKEN_MODE_ALLOW_UPDATE   0x00000004
#define GWEN_CRYPT_TOKEN_MODE_DIRECT_SIGN   0x00000010
#define GWEN_CRYPT_TOKEN_MODE_EXP_65537   0x00000008
#define GWEN_CRYPT_TOKEN_MODE_FORCE_PIN_ENTRY   0x00000002
#define GWEN_CRYPT_TOKEN_MODE_SECURE_PIN_ENTRY   0x00000001

Typedefs

typedef struct GWEN_CRYPT_TOKEN GWEN_CRYPT_TOKEN

Enumerations

enum  GWEN_CRYPT_TOKEN_DEVICE {
  GWEN_Crypt_Token_Device_Unknown = -1, GWEN_Crypt_Token_Device_None = 0, GWEN_Crypt_Token_Device_File, GWEN_Crypt_Token_Device_Card,
  GWEN_Crypt_Token_Device_Any = 999
}

Functions

Basic Informations about a CryptToken

GWENHYWFAR_API void GWEN_Crypt_Token_AddModes (GWEN_CRYPT_TOKEN *ct, uint32_t f)
GWENHYWFAR_API void GWEN_Crypt_Token_free (GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API
GWEN_CRYPT_TOKEN_DEVICE 
GWEN_Crypt_Token_GetDevice (const GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetFlags (const GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API const char * GWEN_Crypt_Token_GetFriendlyName (const GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetModes (const GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API const char * GWEN_Crypt_Token_GetTokenName (const GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API const char * GWEN_Crypt_Token_GetTypeName (const GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API void GWEN_Crypt_Token_SetFriendlyName (GWEN_CRYPT_TOKEN *ct, const char *s)
GWENHYWFAR_API void GWEN_Crypt_Token_SetModes (GWEN_CRYPT_TOKEN *ct, uint32_t f)
GWENHYWFAR_API void GWEN_Crypt_Token_SubModes (GWEN_CRYPT_TOKEN *ct, uint32_t f)
Administrative Operations

GWENHYWFAR_API int GWEN_Crypt_Token_ChangePin (GWEN_CRYPT_TOKEN *ct, int admin, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_GenerateKey (GWEN_CRYPT_TOKEN *ct, uint32_t keyId, const GWEN_CRYPT_CRYPTALGO *a, uint32_t gid)
Open, Create and Close

GWENHYWFAR_API int GWEN_Crypt_Token_Close (GWEN_CRYPT_TOKEN *ct, int abandon, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_Create (GWEN_CRYPT_TOKEN *ct, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_IsOpen (const GWEN_CRYPT_TOKEN *ct)
GWENHYWFAR_API int GWEN_Crypt_Token_Open (GWEN_CRYPT_TOKEN *ct, int admin, uint32_t gid)
Cryptographic Operations

GWENHYWFAR_API int GWEN_Crypt_Token_Decipher (GWEN_CRYPT_TOKEN *ct, uint32_t keyId, GWEN_CRYPT_PADDALGO *a, const uint8_t *pInData, uint32_t inLen, uint8_t *pOutData, uint32_t *pOutLen, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_Encipher (GWEN_CRYPT_TOKEN *ct, uint32_t keyId, GWEN_CRYPT_PADDALGO *a, const uint8_t *pInData, uint32_t inLen, uint8_t *pOutData, uint32_t *pOutLen, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_Sign (GWEN_CRYPT_TOKEN *ct, uint32_t keyId, GWEN_CRYPT_PADDALGO *a, const uint8_t *pInData, uint32_t inLen, uint8_t *pSignatureData, uint32_t *pSignatureLen, uint32_t *pSeqCounter, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_Verify (GWEN_CRYPT_TOKEN *ct, uint32_t keyId, GWEN_CRYPT_PADDALGO *a, const uint8_t *pInData, uint32_t inLen, const uint8_t *pSignatureData, uint32_t signatureLen, uint32_t seqCounter, uint32_t gid)
Converting Device Types to and from Strings

GWENHYWFAR_API
GWEN_CRYPT_TOKEN_DEVICE 
GWEN_Crypt_Token_Device_fromString (const char *s)
GWENHYWFAR_API const char * GWEN_Crypt_Token_Device_toString (GWEN_CRYPT_TOKEN_DEVICE d)
Cryptographic Objects

GWENHYWFAR_API const
GWEN_CRYPT_TOKEN_CONTEXT
GWEN_Crypt_Token_GetContext (GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_GetContextIdList (GWEN_CRYPT_TOKEN *ct, uint32_t *pIdList, uint32_t *pCount, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_GetKeyIdList (GWEN_CRYPT_TOKEN *ct, uint32_t *pIdList, uint32_t *pCount, uint32_t gid)
GWENHYWFAR_API const
GWEN_CRYPT_TOKEN_KEYINFO
GWEN_Crypt_Token_GetKeyInfo (GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t flags, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_SetContext (GWEN_CRYPT_TOKEN *ct, uint32_t id, const GWEN_CRYPT_TOKEN_CONTEXT *ctx, uint32_t gid)
GWENHYWFAR_API int GWEN_Crypt_Token_SetKeyInfo (GWEN_CRYPT_TOKEN *ct, uint32_t id, const GWEN_CRYPT_TOKEN_KEYINFO *ki, uint32_t gid)

Define Documentation

#define GWEN_CRYPT_TOKEN_FLAGS_MANAGES_SIGNSEQ   0x00000001

Definition at line 67 of file ct.h.

#define GWEN_CRYPT_TOKEN_MODE_ALLOW_UPDATE   0x00000004

this flag allows updating of old CryptToken files to newer versions

Definition at line 61 of file ct.h.

#define GWEN_CRYPT_TOKEN_MODE_DIRECT_SIGN   0x00000010

Definition at line 63 of file ct.h.

Referenced by GWEN_Crypt_TokenFile__GenerateKey().

#define GWEN_CRYPT_TOKEN_MODE_EXP_65537   0x00000008

Definition at line 62 of file ct.h.

Referenced by GWEN_Crypt_TokenFile__GenerateKey().

#define GWEN_CRYPT_TOKEN_MODE_FORCE_PIN_ENTRY   0x00000002

Definition at line 59 of file ct.h.

#define GWEN_CRYPT_TOKEN_MODE_SECURE_PIN_ENTRY   0x00000001

Definition at line 58 of file ct.h.


Typedef Documentation

Definition at line 19 of file ct.h.


Enumeration Type Documentation

Enumerator:
GWEN_Crypt_Token_Device_Unknown 
GWEN_Crypt_Token_Device_None 
GWEN_Crypt_Token_Device_File 
GWEN_Crypt_Token_Device_Card 
GWEN_Crypt_Token_Device_Any 

Definition at line 35 of file ct.h.


Function Documentation

GWENHYWFAR_API void GWEN_Crypt_Token_AddModes ( GWEN_CRYPT_TOKEN ct,
uint32_t  f 
)

Definition at line 189 of file ct.c.

GWENHYWFAR_API int GWEN_Crypt_Token_ChangePin ( GWEN_CRYPT_TOKEN ct,
int  admin,
uint32_t  gid 
)

Definition at line 504 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API int GWEN_Crypt_Token_Close ( GWEN_CRYPT_TOKEN ct,
int  abandon,
uint32_t  gid 
)

Definition at line 248 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

GWENHYWFAR_API int GWEN_Crypt_Token_Create ( GWEN_CRYPT_TOKEN ct,
uint32_t  gid 
)

Definition at line 230 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

GWENHYWFAR_API int GWEN_Crypt_Token_Decipher ( GWEN_CRYPT_TOKEN ct,
uint32_t  keyId,
GWEN_CRYPT_PADDALGO a,
const uint8_t *  pInData,
uint32_t  inLen,
uint8_t *  pOutData,
uint32_t *  pOutLen,
uint32_t  gid 
)

Definition at line 463 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API GWEN_CRYPT_TOKEN_DEVICE GWEN_Crypt_Token_Device_fromString ( const char *  s  ) 
GWENHYWFAR_API const char* GWEN_Crypt_Token_Device_toString ( GWEN_CRYPT_TOKEN_DEVICE  d  ) 
GWENHYWFAR_API int GWEN_Crypt_Token_Encipher ( GWEN_CRYPT_TOKEN ct,
uint32_t  keyId,
GWEN_CRYPT_PADDALGO a,
const uint8_t *  pInData,
uint32_t  inLen,
uint8_t *  pOutData,
uint32_t *  pOutLen,
uint32_t  gid 
)

Definition at line 441 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API void GWEN_Crypt_Token_free ( GWEN_CRYPT_TOKEN ct  ) 

Definition at line 56 of file ct.c.

References GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, and GWEN_LIST_FINI.

GWENHYWFAR_API int GWEN_Crypt_Token_GenerateKey ( GWEN_CRYPT_TOKEN ct,
uint32_t  keyId,
const GWEN_CRYPT_CRYPTALGO a,
uint32_t  gid 
)

Definition at line 486 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API const GWEN_CRYPT_TOKEN_CONTEXT* GWEN_Crypt_Token_GetContext ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
uint32_t  gid 
)

Definition at line 356 of file ct.c.

References DBG_INFO, GWEN_LOGDOMAIN, and NULL.

GWENHYWFAR_API int GWEN_Crypt_Token_GetContextIdList ( GWEN_CRYPT_TOKEN ct,
uint32_t *  pIdList,
uint32_t *  pCount,
uint32_t  gid 
)

Definition at line 338 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API GWEN_CRYPT_TOKEN_DEVICE GWEN_Crypt_Token_GetDevice ( const GWEN_CRYPT_TOKEN ct  ) 

Definition at line 75 of file ct.c.

Referenced by GWEN_Crypt_Token_InsertCorrectToken(), and GWEN_Crypt_Token_InsertToken().

GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetFlags ( const GWEN_CRYPT_TOKEN ct  ) 

Definition at line 135 of file ct.c.

GWENHYWFAR_API const char* GWEN_Crypt_Token_GetFriendlyName ( const GWEN_CRYPT_TOKEN ct  ) 
GWENHYWFAR_API int GWEN_Crypt_Token_GetKeyIdList ( GWEN_CRYPT_TOKEN ct,
uint32_t *  pIdList,
uint32_t *  pCount,
uint32_t  gid 
)

Definition at line 282 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API const GWEN_CRYPT_TOKEN_KEYINFO* GWEN_Crypt_Token_GetKeyInfo ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
uint32_t  flags,
uint32_t  gid 
)

Definition at line 300 of file ct.c.

References DBG_INFO, GWEN_LOGDOMAIN, and NULL.

GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetModes ( const GWEN_CRYPT_TOKEN ct  ) 

Definition at line 171 of file ct.c.

Referenced by GWEN_Crypt_TokenFile__GenerateKey().

GWENHYWFAR_API const char* GWEN_Crypt_Token_GetTokenName ( const GWEN_CRYPT_TOKEN ct  ) 
GWENHYWFAR_API const char* GWEN_Crypt_Token_GetTypeName ( const GWEN_CRYPT_TOKEN ct  ) 

Definition at line 84 of file ct.c.

Referenced by GWEN_Crypt_Token__CreatePasswordName(), and GWEN_Crypt_TokenFile__Write().

GWENHYWFAR_API int GWEN_Crypt_Token_IsOpen ( const GWEN_CRYPT_TOKEN ct  ) 

Definition at line 273 of file ct.c.

GWENHYWFAR_API int GWEN_Crypt_Token_Open ( GWEN_CRYPT_TOKEN ct,
int  admin,
uint32_t  gid 
)

Definition at line 207 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED.

GWENHYWFAR_API int GWEN_Crypt_Token_SetContext ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
const GWEN_CRYPT_TOKEN_CONTEXT ctx,
uint32_t  gid 
)

Definition at line 375 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API void GWEN_Crypt_Token_SetFriendlyName ( GWEN_CRYPT_TOKEN ct,
const char *  s 
)

Definition at line 123 of file ct.c.

GWENHYWFAR_API int GWEN_Crypt_Token_SetKeyInfo ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
const GWEN_CRYPT_TOKEN_KEYINFO ki,
uint32_t  gid 
)

Definition at line 320 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API void GWEN_Crypt_Token_SetModes ( GWEN_CRYPT_TOKEN ct,
uint32_t  f 
)

Definition at line 180 of file ct.c.

GWENHYWFAR_API int GWEN_Crypt_Token_Sign ( GWEN_CRYPT_TOKEN ct,
uint32_t  keyId,
GWEN_CRYPT_PADDALGO a,
const uint8_t *  pInData,
uint32_t  inLen,
uint8_t *  pSignatureData,
uint32_t *  pSignatureLen,
uint32_t *  pSeqCounter,
uint32_t  gid 
)

Definition at line 393 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.

GWENHYWFAR_API void GWEN_Crypt_Token_SubModes ( GWEN_CRYPT_TOKEN ct,
uint32_t  f 
)

Definition at line 198 of file ct.c.

GWENHYWFAR_API int GWEN_Crypt_Token_Verify ( GWEN_CRYPT_TOKEN ct,
uint32_t  keyId,
GWEN_CRYPT_PADDALGO a,
const uint8_t *  pInData,
uint32_t  inLen,
const uint8_t *  pSignatureData,
uint32_t  signatureLen,
uint32_t  seqCounter,
uint32_t  gid 
)

Definition at line 417 of file ct.c.

References GWEN_ERROR_NOT_IMPLEMENTED, and GWEN_ERROR_NOT_OPEN.


Generated by  doxygen 1.6.2