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.

## 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)
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 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)
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)
Administrative Operations
GWENHYWFAR_API int | GWEN_Crypt_Token_ActivateKey (GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t gid)
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)

## 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)
#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

## Macro Definition Documentation

## GWEN_CRYPT_TOKEN_FLAGS_MANAGES_SIGNSEQ

#define GWEN_CRYPT_TOKEN_FLAGS_MANAGES_SIGNSEQ 0x00000001

Definition at line 67 of file ct.h.

## GWEN_CRYPT_TOKEN_MODE_ALLOW_UPDATE

#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.

## GWEN_CRYPT_TOKEN_MODE_DIRECT_SIGN

#define GWEN_CRYPT_TOKEN_MODE_DIRECT_SIGN 0x00000010

Definition at line 63 of file ct.h.

## GWEN_CRYPT_TOKEN_MODE_EXP_65537

#define GWEN_CRYPT_TOKEN_MODE_EXP_65537 0x00000008

Definition at line 62 of file ct.h.

## GWEN_CRYPT_TOKEN_MODE_FORCE_PIN_ENTRY

#define GWEN_CRYPT_TOKEN_MODE_FORCE_PIN_ENTRY 0x00000002

Definition at line 59 of file ct.h.

## GWEN_CRYPT_TOKEN_MODE_SECURE_PIN_ENTRY

#define GWEN_CRYPT_TOKEN_MODE_SECURE_PIN_ENTRY 0x00000001

Definition at line 58 of file ct.h.

## Typedef Documentation

## GWEN_CRYPT_TOKEN

typedef struct GWEN_CRYPT_TOKEN GWEN_CRYPT_TOKEN

Definition at line 19 of file ct.h.

## Enumeration Type Documentation

## GWEN_CRYPT_TOKEN_DEVICE

enum GWEN_CRYPT_TOKEN_DEVICE

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

## GWEN_Crypt_Token_ActivateKey()

GWENHYWFAR_API int GWEN_Crypt_Token_ActivateKey | ( | GWEN_CRYPT_TOKEN * | ct,
|  | uint32_t | id,
|  | uint32_t | gid )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_AddModes()

GWENHYWFAR_API void GWEN_Crypt_Token_AddModes | ( | GWEN_CRYPT_TOKEN * | ct,
|  | uint32_t | f )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_ChangePin()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Close()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Create()

GWENHYWFAR_API int GWEN_Crypt_Token_Create | ( | GWEN_CRYPT_TOKEN * | ct,
|  | uint32_t | gid )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Decipher()

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 )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Device_fromString()

GWENHYWFAR_API GWEN_CRYPT_TOKEN_DEVICE GWEN_Crypt_Token_Device_fromString | ( | const char * | s | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Device_toString()

GWENHYWFAR_API const char * GWEN_Crypt_Token_Device_toString | ( | GWEN_CRYPT_TOKEN_DEVICE | d | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Encipher()

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 )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_free()

GWENHYWFAR_API void GWEN_Crypt_Token_free | ( | GWEN_CRYPT_TOKEN * | ct | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GenerateKey()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetContext()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetContextIdList()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetDevice()

GWENHYWFAR_API GWEN_CRYPT_TOKEN_DEVICE GWEN_Crypt_Token_GetDevice | ( | const GWEN_CRYPT_TOKEN * | ct | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetFlags()

GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetFlags | ( | const GWEN_CRYPT_TOKEN * | ct | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetFriendlyName()

GWENHYWFAR_API const char * GWEN_Crypt_Token_GetFriendlyName | ( | const GWEN_CRYPT_TOKEN * | ct | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetKeyIdList()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetKeyInfo()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetModes()

GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetModes | ( | const GWEN_CRYPT_TOKEN * | ct | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetTokenName()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_GetTypeName()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_IsOpen()

GWENHYWFAR_API int GWEN_Crypt_Token_IsOpen | ( | const GWEN_CRYPT_TOKEN * | ct | ) |

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Open()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_SetContext()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_SetFriendlyName()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_SetKeyInfo()

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

References GWENHYWFAR_API.

## GWEN_Crypt_Token_SetModes()

GWENHYWFAR_API void GWEN_Crypt_Token_SetModes | ( | GWEN_CRYPT_TOKEN * | ct,
|  | uint32_t | f )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Sign()

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 )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_SubModes()

GWENHYWFAR_API void GWEN_Crypt_Token_SubModes | ( | GWEN_CRYPT_TOKEN * | ct,
|  | uint32_t | f )

References GWENHYWFAR_API.

## GWEN_Crypt_Token_Verify()

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 )

References GWENHYWFAR_API.