gwenhywfar  5.11.1beta
Typedefs | Enumerations
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_CONTEXTGWEN_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_KEYINFOGWEN_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

Definition at line 1 of file ct.h.

Enumeration Type Documentation

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

◆ GWEN_Crypt_Token_AddModes()

GWENHYWFAR_API void GWEN_Crypt_Token_AddModes ( GWEN_CRYPT_TOKEN ct,
uint32_t  f 
)

◆ GWEN_Crypt_Token_ChangePin()

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

◆ GWEN_Crypt_Token_Close()

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

◆ GWEN_Crypt_Token_Create()

GWENHYWFAR_API int GWEN_Crypt_Token_Create ( GWEN_CRYPT_TOKEN ct,
uint32_t  gid 
)

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

◆ GWEN_Crypt_Token_Device_fromString()

GWENHYWFAR_API GWEN_CRYPT_TOKEN_DEVICE GWEN_Crypt_Token_Device_fromString ( const char *  s)

◆ GWEN_Crypt_Token_Device_toString()

GWENHYWFAR_API const char* GWEN_Crypt_Token_Device_toString ( GWEN_CRYPT_TOKEN_DEVICE  d)

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

◆ GWEN_Crypt_Token_free()

GWENHYWFAR_API void GWEN_Crypt_Token_free ( GWEN_CRYPT_TOKEN ct)

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

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

◆ GWEN_Crypt_Token_GetContextIdList()

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

◆ GWEN_Crypt_Token_GetDevice()

GWENHYWFAR_API GWEN_CRYPT_TOKEN_DEVICE GWEN_Crypt_Token_GetDevice ( const GWEN_CRYPT_TOKEN ct)

◆ GWEN_Crypt_Token_GetFlags()

GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetFlags ( const GWEN_CRYPT_TOKEN ct)

◆ GWEN_Crypt_Token_GetFriendlyName()

GWENHYWFAR_API const char* GWEN_Crypt_Token_GetFriendlyName ( const GWEN_CRYPT_TOKEN ct)

◆ GWEN_Crypt_Token_GetKeyIdList()

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

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

◆ GWEN_Crypt_Token_GetModes()

GWENHYWFAR_API uint32_t GWEN_Crypt_Token_GetModes ( const GWEN_CRYPT_TOKEN ct)

◆ GWEN_Crypt_Token_GetTokenName()

GWENHYWFAR_API const char* GWEN_Crypt_Token_GetTokenName ( const GWEN_CRYPT_TOKEN ct)

◆ GWEN_Crypt_Token_GetTypeName()

GWENHYWFAR_API const char* GWEN_Crypt_Token_GetTypeName ( const GWEN_CRYPT_TOKEN ct)

◆ GWEN_Crypt_Token_IsOpen()

GWENHYWFAR_API int GWEN_Crypt_Token_IsOpen ( const GWEN_CRYPT_TOKEN ct)

◆ GWEN_Crypt_Token_Open()

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

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

◆ GWEN_Crypt_Token_SetFriendlyName()

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

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

◆ GWEN_Crypt_Token_SetModes()

GWENHYWFAR_API void GWEN_Crypt_Token_SetModes ( GWEN_CRYPT_TOKEN ct,
uint32_t  f 
)

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

◆ GWEN_Crypt_Token_SubModes()

GWENHYWFAR_API void GWEN_Crypt_Token_SubModes ( GWEN_CRYPT_TOKEN ct,
uint32_t  f 
)

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