gwenhywfar  4.3.3
Defines | Functions
ctfile.c File Reference
#include "ctfile_p.h"
#include "i18n_l.h"
#include <gwenhywfar/ctf_context_be.h>
#include <gwenhywfar/misc.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/padd.h>
#include <gwenhywfar/cryptkeyrsa.h>
#include <gwenhywfar/text.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>

Go to the source code of this file.

Defines

#define DISABLE_DEBUGLOG

Functions

int GWENHYWFAR_CB GWEN_Crypt_TokenFile__ActivateKey (GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t gid)
int GWEN_Crypt_TokenFile__CloseFile (GWEN_CRYPT_TOKEN *ct, uint32_t gid)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__GenerateKey (GWEN_CRYPT_TOKEN *ct, uint32_t keyId, const GWEN_CRYPT_CRYPTALGO *a, uint32_t gid)
const GWEN_CRYPT_TOKEN_CONTEXT
*GWENHYWFAR_CB 
GWEN_Crypt_TokenFile__GetContext (GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t gid)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__GetContextIdList (GWEN_CRYPT_TOKEN *ct, uint32_t *pIdList, uint32_t *pCount, uint32_t gid)
GWEN_CRYPT_KEYGWEN_Crypt_TokenFile__GetKey (GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t gid)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__GetKeyIdList (GWEN_CRYPT_TOKEN *ct, uint32_t *pIdList, uint32_t *pCount, uint32_t gid)
const GWEN_CRYPT_TOKEN_KEYINFO
*GWENHYWFAR_CB 
GWEN_Crypt_TokenFile__GetKeyInfo (GWEN_CRYPT_TOKEN *ct, uint32_t id, uint32_t flags, uint32_t gid)
int GWEN_Crypt_TokenFile__OpenFile (GWEN_CRYPT_TOKEN *ct, int wr, uint32_t gid)
int GWEN_Crypt_TokenFile__Read (GWEN_CRYPT_TOKEN *ct, uint32_t gid)
int GWEN_Crypt_TokenFile__ReadFile (GWEN_CRYPT_TOKEN *ct, uint32_t gid)
int GWEN_Crypt_TokenFile__ReloadIfNeeded (GWEN_CRYPT_TOKEN *ct, uint32_t gid)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__SetContext (GWEN_CRYPT_TOKEN *ct, uint32_t id, const GWEN_CRYPT_TOKEN_CONTEXT *nctx, uint32_t gid)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__SetKeyInfo (GWEN_CRYPT_TOKEN *ct, uint32_t id, const GWEN_CRYPT_TOKEN_KEYINFO *ski, uint32_t gid)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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)
int GWEN_Crypt_TokenFile__Write (GWEN_CRYPT_TOKEN *ct, int cr, uint32_t gid)
int GWEN_Crypt_TokenFile__WriteFile (GWEN_CRYPT_TOKEN *ct, int cr, uint32_t gid)
void GWEN_Crypt_TokenFile_AddContext (GWEN_CRYPT_TOKEN *ct, GWEN_CRYPT_TOKEN_CONTEXT *ctx)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile_Close (GWEN_CRYPT_TOKEN *ct, int abandon, uint32_t gid)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile_Create (GWEN_CRYPT_TOKEN *ct, uint32_t gid)
GWENHYWFAR_CB void GWEN_Crypt_TokenFile_freeData (GWEN_UNUSED void *bp, void *p)
GWEN_CRYPT_TOKEN_CONTEXTGWEN_Crypt_TokenFile_GetContext (GWEN_CRYPT_TOKEN *ct, int idx)
GWEN_CRYPT_TOKENGWEN_Crypt_TokenFile_new (const char *typeName, const char *tokenName)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile_Open (GWEN_CRYPT_TOKEN *ct, GWEN_UNUSED int admin, uint32_t gid)
GWEN_CRYPT_TOKEN_FILE_READ_FN GWEN_Crypt_TokenFile_SetReadFn (GWEN_CRYPT_TOKEN *ct, GWEN_CRYPT_TOKEN_FILE_READ_FN f)
GWEN_CRYPT_TOKEN_FILE_WRITE_FN GWEN_Crypt_TokenFile_SetWriteFn (GWEN_CRYPT_TOKEN *ct, GWEN_CRYPT_TOKEN_FILE_WRITE_FN f)

Define Documentation

Definition at line 14 of file ctfile.c.


Function Documentation

int GWENHYWFAR_CB GWEN_Crypt_TokenFile__ActivateKey ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
uint32_t  gid 
)
int GWEN_Crypt_TokenFile__CloseFile ( GWEN_CRYPT_TOKEN ct,
uint32_t  gid 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__GenerateKey ( GWEN_CRYPT_TOKEN ct,
uint32_t  keyId,
const GWEN_CRYPT_CRYPTALGO a,
uint32_t  gid 
)

Definition at line 1946 of file ctfile.c.

References DBG_DEBUG, DBG_INFO, GWEN_Crypt_CryptAlgo_GetChunkSize(), GWEN_Crypt_CryptAlgo_GetId(), GWEN_Crypt_CryptAlgo_GetKeySizeInBits(), GWEN_Crypt_Key_free(), GWEN_Crypt_Key_GetKeyNumber(), GWEN_Crypt_Key_GetKeyVersion(), GWEN_Crypt_KeyRsa_AddFlags(), GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN, GWEN_Crypt_KeyRsa_GeneratePair(), GWEN_Crypt_KeyRsa_GeneratePair2(), GWEN_Crypt_KeyRsa_GetExponent(), GWEN_Crypt_KeyRsa_GetModulus(), GWEN_CRYPT_KEYRSA_MAX_KEYLENGTH, GWEN_Crypt_Token_GetModes(), GWEN_CRYPT_TOKEN_KEYFLAGS_CANDECIPHER, GWEN_CRYPT_TOKEN_KEYFLAGS_CANENCIPHER, GWEN_CRYPT_TOKEN_KEYFLAGS_CANSIGN, GWEN_CRYPT_TOKEN_KEYFLAGS_CANVERIFY, GWEN_CRYPT_TOKEN_KEYFLAGS_HASACTIONFLAGS, GWEN_CRYPT_TOKEN_KEYFLAGS_HASSIGNCOUNTER, GWEN_Crypt_Token_KeyInfo_AddFlags(), GWEN_Crypt_Token_KeyInfo_dup(), GWEN_Crypt_Token_KeyInfo_free(), GWEN_Crypt_Token_KeyInfo_SetExponent(), GWEN_Crypt_Token_KeyInfo_SetKeyNumber(), GWEN_Crypt_Token_KeyInfo_SetKeyVersion(), GWEN_Crypt_Token_KeyInfo_SetModulus(), GWEN_Crypt_Token_KeyInfo_SetSignCounter(), GWEN_CRYPT_TOKEN_MODE_DIRECT_SIGN, GWEN_CRYPT_TOKEN_MODE_EXP_65537, GWEN_Crypt_TokenFile__ReloadIfNeeded(), GWEN_Crypt_TokenFile__WriteFile(), GWEN_CTF_Context_GetLocalAuthKeyInfo(), GWEN_CTF_Context_GetLocalCryptKeyInfo(), GWEN_CTF_Context_GetLocalSignKeyInfo(), GWEN_CTF_Context_GetTempLocalSignKeyInfo(), GWEN_CTF_Context_SetLocalAuthKey(), GWEN_CTF_Context_SetLocalAuthKeyInfo(), GWEN_CTF_Context_SetLocalCryptKey(), GWEN_CTF_Context_SetLocalCryptKeyInfo(), GWEN_CTF_Context_SetLocalSignKey(), GWEN_CTF_Context_SetLocalSignKeyInfo(), GWEN_CTF_Context_SetTempLocalSignKey(), GWEN_CTF_Context_SetTempLocalSignKeyInfo(), GWEN_ERROR_NO_DATA, GWEN_ERROR_NOT_SUPPORTED, GWEN_Gui_ProgressLog(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_LoggerLevel_Error, GWEN_LoggerLevel_Notice, I18N, and NULL.

Referenced by GWEN_Crypt_TokenFile_new().

int GWENHYWFAR_CB GWEN_Crypt_TokenFile__GetContextIdList ( GWEN_CRYPT_TOKEN ct,
uint32_t *  pIdList,
uint32_t *  pCount,
uint32_t  gid 
)
GWEN_CRYPT_KEY* GWEN_Crypt_TokenFile__GetKey ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
uint32_t  gid 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__GetKeyIdList ( GWEN_CRYPT_TOKEN ct,
uint32_t *  pIdList,
uint32_t *  pCount,
uint32_t  gid 
)
const GWEN_CRYPT_TOKEN_KEYINFO* GWENHYWFAR_CB GWEN_Crypt_TokenFile__GetKeyInfo ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
uint32_t  flags,
uint32_t  gid 
)
int GWEN_Crypt_TokenFile__OpenFile ( GWEN_CRYPT_TOKEN ct,
int  wr,
uint32_t  gid 
)
int GWEN_Crypt_TokenFile__Read ( GWEN_CRYPT_TOKEN ct,
uint32_t  gid 
)
int GWEN_Crypt_TokenFile__ReadFile ( GWEN_CRYPT_TOKEN ct,
uint32_t  gid 
)
int GWEN_Crypt_TokenFile__ReloadIfNeeded ( GWEN_CRYPT_TOKEN ct,
uint32_t  gid 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__SetContext ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
const GWEN_CRYPT_TOKEN_CONTEXT nctx,
uint32_t  gid 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__SetKeyInfo ( GWEN_CRYPT_TOKEN ct,
uint32_t  id,
const GWEN_CRYPT_TOKEN_KEYINFO ski,
uint32_t  gid 
)

Definition at line 801 of file ctfile.c.

References DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_free(), GWEN_Crypt_Key_SetKeyNumber(), GWEN_Crypt_Key_SetKeyVersion(), GWEN_Crypt_KeyRsa_fromModExp(), GWEN_CRYPT_TOKEN_KEYFLAGS_ACTIONMASK, GWEN_CRYPT_TOKEN_KEYFLAGS_HASACTIONFLAGS, GWEN_CRYPT_TOKEN_KEYFLAGS_HASEXPONENT, GWEN_CRYPT_TOKEN_KEYFLAGS_HASKEYNUMBER, GWEN_CRYPT_TOKEN_KEYFLAGS_HASKEYVERSION, GWEN_CRYPT_TOKEN_KEYFLAGS_HASMODULUS, GWEN_CRYPT_TOKEN_KEYFLAGS_HASSIGNCOUNTER, GWEN_CRYPT_TOKEN_KEYFLAGS_HASSTATUS, GWEN_Crypt_Token_KeyInfo_GetExponentData(), GWEN_Crypt_Token_KeyInfo_GetExponentLen(), GWEN_Crypt_Token_KeyInfo_GetFlags(), GWEN_Crypt_Token_KeyInfo_GetKeyNumber(), GWEN_Crypt_Token_KeyInfo_GetKeySize(), GWEN_Crypt_Token_KeyInfo_GetKeyVersion(), GWEN_Crypt_Token_KeyInfo_GetModulusData(), GWEN_Crypt_Token_KeyInfo_GetModulusLen(), GWEN_Crypt_Token_KeyInfo_GetSignCounter(), GWEN_Crypt_Token_KeyInfo_SetExponent(), GWEN_Crypt_Token_KeyInfo_SetFlags(), GWEN_Crypt_Token_KeyInfo_SetKeyNumber(), GWEN_Crypt_Token_KeyInfo_SetKeySize(), GWEN_Crypt_Token_KeyInfo_SetKeyVersion(), GWEN_Crypt_Token_KeyInfo_SetModulus(), GWEN_Crypt_Token_KeyInfo_SetSignCounter(), GWEN_Crypt_TokenFile__ReloadIfNeeded(), GWEN_Crypt_TokenFile__WriteFile(), GWEN_CTF_Context_GetLocalAuthKey(), GWEN_CTF_Context_GetLocalAuthKeyInfo(), GWEN_CTF_Context_GetLocalCryptKey(), GWEN_CTF_Context_GetLocalCryptKeyInfo(), GWEN_CTF_Context_GetLocalSignKey(), GWEN_CTF_Context_GetLocalSignKeyInfo(), GWEN_CTF_Context_GetRemoteAuthKey(), GWEN_CTF_Context_GetRemoteAuthKeyInfo(), GWEN_CTF_Context_GetRemoteCryptKey(), GWEN_CTF_Context_GetRemoteCryptKeyInfo(), GWEN_CTF_Context_GetRemoteSignKey(), GWEN_CTF_Context_GetRemoteSignKeyInfo(), GWEN_CTF_Context_GetTempLocalSignKey(), GWEN_CTF_Context_GetTempLocalSignKeyInfo(), GWEN_CTF_Context_SetRemoteAuthKey(), GWEN_CTF_Context_SetRemoteCryptKey(), GWEN_CTF_Context_SetRemoteSignKey(), GWEN_ERROR_INVALID, GWEN_ERROR_NOT_FOUND, GWEN_Gui_ProgressLog(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, GWEN_LoggerLevel_Error, GWEN_LoggerLevel_Notice, I18N, and NULL.

Referenced by GWEN_Crypt_TokenFile_new().

int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile__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 
)
int GWEN_Crypt_TokenFile__Write ( GWEN_CRYPT_TOKEN ct,
int  cr,
uint32_t  gid 
)
int GWEN_Crypt_TokenFile__WriteFile ( GWEN_CRYPT_TOKEN ct,
int  cr,
uint32_t  gid 
)

Definition at line 370 of file ctfile.c.

References GWEN_CTF_Context_IsOfThisType(), and GWEN_INHERIT_GETDATA.

int GWENHYWFAR_CB GWEN_Crypt_TokenFile_Close ( GWEN_CRYPT_TOKEN ct,
int  abandon,
uint32_t  gid 
)

Definition at line 521 of file ctfile.c.

References GWEN_Crypt_TokenFile__WriteFile(), and GWEN_INHERIT_GETDATA.

Referenced by GWEN_Crypt_TokenFile_new().

GWENHYWFAR_CB void GWEN_Crypt_TokenFile_freeData ( GWEN_UNUSED void *  bp,
void *  p 
)

Definition at line 2168 of file ctfile.c.

References GWEN_FREE_OBJECT.

Referenced by GWEN_Crypt_TokenFile_new().

Definition at line 384 of file ctfile.c.

References GWEN_INHERIT_GETDATA, and NULL.

GWEN_CRYPT_TOKEN* GWEN_Crypt_TokenFile_new ( const char *  typeName,
const char *  tokenName 
)
int GWENHYWFAR_CB GWEN_Crypt_TokenFile_Open ( GWEN_CRYPT_TOKEN ct,
GWEN_UNUSED int  admin,
uint32_t  gid 
)

Definition at line 405 of file ctfile.c.

References GWEN_INHERIT_GETDATA.

Definition at line 422 of file ctfile.c.

References GWEN_INHERIT_GETDATA.