cryptkeyrsa.c File Reference

#include "cryptkeyrsa_p.h"
#include <gwenhywfar/misc.h>
#include <gwenhywfar/debug.h>
#include <gwenhywfar/text.h>

Go to the source code of this file.

Functions

int GWEN_Crypt_KeyRsa__DataFromDb (GWEN_DB_NODE *db, gcry_ac_data_t *pData, int pub, unsigned int nbits)
int GWEN_Crypt_KeyRsa__GetNamedElement (const GWEN_CRYPT_KEY *k, const char *name, uint8_t *buffer, uint32_t *pBufLen)
int GWEN_Crypt_KeyRsa__ReadMpi (GWEN_DB_NODE *db, const char *dbName, gcry_ac_data_t ds, const char *dsName)
int GWEN_Crypt_KeyRsa__sKeyElementToData (gcry_ac_data_t data, gcry_sexp_t sx, const char *name)
int GWEN_Crypt_KeyRsa__sKeyToDataPrivKey (gcry_ac_data_t data, gcry_sexp_t sx)
int GWEN_Crypt_KeyRsa__sKeyToDataPubKey (gcry_ac_data_t data, gcry_sexp_t sx)
int GWEN_Crypt_KeyRsa__WriteMpi (GWEN_DB_NODE *db, const char *dbName, gcry_ac_data_t ds, const char *dsName)
void GWEN_Crypt_KeyRsa_AddFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
int GWEN_Crypt_KeyRsa_Decipher (GWEN_CRYPT_KEY *k, const uint8_t *pInData, uint32_t inLen, uint8_t *pOutData, uint32_t *pOutLen)
GWEN_CRYPT_KEYGWEN_Crypt_KeyRsa_dup (const GWEN_CRYPT_KEY *k)
int GWEN_Crypt_KeyRsa_Encipher (GWEN_CRYPT_KEY *k, const uint8_t *pInData, uint32_t inLen, uint8_t *pOutData, uint32_t *pOutLen)
GWENHYWFAR_CB void GWEN_Crypt_KeyRsa_freeData (void *bp, void *p)
GWEN_CRYPT_KEYGWEN_Crypt_KeyRsa_fromDb (GWEN_DB_NODE *db)
GWEN_CRYPT_KEYGWEN_Crypt_KeyRsa_fromModExp (unsigned int nbytes, const uint8_t *pModulus, uint32_t lModulus, const uint8_t *pExponent, uint32_t lExponent)
int GWEN_Crypt_KeyRsa_GeneratePair (unsigned int nbytes, int use65537e, GWEN_CRYPT_KEY **pPubKey, GWEN_CRYPT_KEY **pSecretKey)
int GWEN_Crypt_KeyRsa_GetExponent (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
uint32_t GWEN_Crypt_KeyRsa_GetFlags (const GWEN_CRYPT_KEY *k)
int GWEN_Crypt_KeyRsa_GetModulus (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
int GWEN_Crypt_KeyRsa_GetSecretExponent (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
void GWEN_Crypt_KeyRsa_SetFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
int GWEN_Crypt_KeyRsa_Sign (GWEN_CRYPT_KEY *k, const uint8_t *pInData, uint32_t inLen, uint8_t *pSignatureData, uint32_t *pSignatureLen)
void GWEN_Crypt_KeyRsa_SubFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
int GWEN_Crypt_KeyRsa_toDb (const GWEN_CRYPT_KEY *k, GWEN_DB_NODE *db, int pub)
int GWEN_Crypt_KeyRsa_Verify (GWEN_CRYPT_KEY *k, const uint8_t *pInData, uint32_t inLen, const uint8_t *pSignatureData, uint32_t signatureLen)


Function Documentation

int GWEN_Crypt_KeyRsa__DataFromDb ( GWEN_DB_NODE db,
gcry_ac_data_t *  pData,
int  pub,
unsigned int  nbits 
)

int GWEN_Crypt_KeyRsa__GetNamedElement ( const GWEN_CRYPT_KEY k,
const char *  name,
uint8_t *  buffer,
uint32_t *  pBufLen 
)

int GWEN_Crypt_KeyRsa__ReadMpi ( GWEN_DB_NODE db,
const char *  dbName,
gcry_ac_data_t  ds,
const char *  dsName 
)

int GWEN_Crypt_KeyRsa__sKeyElementToData ( gcry_ac_data_t  data,
gcry_sexp_t  sx,
const char *  name 
)

int GWEN_Crypt_KeyRsa__sKeyToDataPrivKey ( gcry_ac_data_t  data,
gcry_sexp_t  sx 
)

Definition at line 726 of file cryptkeyrsa.c.

References GWEN_Crypt_KeyRsa__sKeyElementToData().

Referenced by GWEN_Crypt_KeyRsa_GeneratePair().

int GWEN_Crypt_KeyRsa__sKeyToDataPubKey ( gcry_ac_data_t  data,
gcry_sexp_t  sx 
)

Definition at line 712 of file cryptkeyrsa.c.

References GWEN_Crypt_KeyRsa__sKeyElementToData().

Referenced by GWEN_Crypt_KeyRsa_GeneratePair().

int GWEN_Crypt_KeyRsa__WriteMpi ( GWEN_DB_NODE db,
const char *  dbName,
gcry_ac_data_t  ds,
const char *  dsName 
)

void GWEN_Crypt_KeyRsa_AddFlags ( GWEN_CRYPT_KEY k,
uint32_t  fl 
)

Definition at line 1103 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

Referenced by GWEN_Crypt_TokenFile__GenerateKey().

int GWEN_Crypt_KeyRsa_Decipher ( GWEN_CRYPT_KEY k,
const uint8_t *  pInData,
uint32_t  inLen,
uint8_t *  pOutData,
uint32_t *  pOutLen 
)

GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_dup ( const GWEN_CRYPT_KEY k  ) 

int GWEN_Crypt_KeyRsa_Encipher ( GWEN_CRYPT_KEY k,
const uint8_t *  pInData,
uint32_t  inLen,
uint8_t *  pOutData,
uint32_t *  pOutLen 
)

GWENHYWFAR_CB void GWEN_Crypt_KeyRsa_freeData ( void *  bp,
void *  p 
)

Definition at line 512 of file cryptkeyrsa.c.

References GWEN_FREE_OBJECT.

Referenced by GWEN_Crypt_KeyRsa_fromDb(), and GWEN_Crypt_KeyRsa_GeneratePair().

GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_fromDb ( GWEN_DB_NODE db  ) 

GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_fromModExp ( unsigned int  nbytes,
const uint8_t *  pModulus,
uint32_t  lModulus,
const uint8_t *  pExponent,
uint32_t  lExponent 
)

int GWEN_Crypt_KeyRsa_GeneratePair ( unsigned int  nbytes,
int  use65537e,
GWEN_CRYPT_KEY **  pPubKey,
GWEN_CRYPT_KEY **  pSecretKey 
)

Creates a key pair and returns a pointer to it.

Returns:
NULL on error, otherwise a pointer to two keys: public and private
Parameters:
nbits number of bytes
use65537e !=0: use the value 65537 for the public exponent, otherwise let the library choose the exponent by its own

Definition at line 749 of file cryptkeyrsa.c.

References DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_free(), GWEN_Crypt_Key_new(), GWEN_Crypt_Key_SetDecipherFn(), GWEN_Crypt_Key_SetEncipherFn(), GWEN_Crypt_Key_SetSignFn(), GWEN_Crypt_Key_SetVerifyFn(), GWEN_Crypt_KeyRsa__sKeyToDataPrivKey(), GWEN_Crypt_KeyRsa__sKeyToDataPubKey(), GWEN_Crypt_KeyRsa_Decipher(), GWEN_Crypt_KeyRsa_Encipher(), GWEN_Crypt_KeyRsa_freeData(), GWEN_Crypt_KeyRsa_Sign(), GWEN_Crypt_KeyRsa_Verify(), GWEN_ERROR_GENERIC, GWEN_INHERIT_SETDATA, GWEN_LOGDOMAIN, and GWEN_NEW_OBJECT.

Referenced by GWEN_Crypt_TokenFile__GenerateKey().

int GWEN_Crypt_KeyRsa_GetExponent ( const GWEN_CRYPT_KEY k,
uint8_t *  buffer,
uint32_t *  pBufLen 
)

Definition at line 985 of file cryptkeyrsa.c.

References GWEN_Crypt_KeyRsa__GetNamedElement().

Referenced by GWEN_Crypt_TokenFile__GenerateKey().

uint32_t GWEN_Crypt_KeyRsa_GetFlags ( const GWEN_CRYPT_KEY k  ) 

Definition at line 1079 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

int GWEN_Crypt_KeyRsa_GetModulus ( const GWEN_CRYPT_KEY k,
uint8_t *  buffer,
uint32_t *  pBufLen 
)

Definition at line 979 of file cryptkeyrsa.c.

References GWEN_Crypt_KeyRsa__GetNamedElement().

Referenced by GWEN_Crypt_TokenFile__GenerateKey().

int GWEN_Crypt_KeyRsa_GetSecretExponent ( const GWEN_CRYPT_KEY k,
uint8_t *  buffer,
uint32_t *  pBufLen 
)

Definition at line 991 of file cryptkeyrsa.c.

References GWEN_Crypt_KeyRsa__GetNamedElement().

void GWEN_Crypt_KeyRsa_SetFlags ( GWEN_CRYPT_KEY k,
uint32_t  fl 
)

Definition at line 1091 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

Referenced by GWEN_Crypt_KeyRsa_dup().

int GWEN_Crypt_KeyRsa_Sign ( GWEN_CRYPT_KEY k,
const uint8_t *  pInData,
uint32_t  inLen,
uint8_t *  pSignatureData,
uint32_t *  pSignatureLen 
)

void GWEN_Crypt_KeyRsa_SubFlags ( GWEN_CRYPT_KEY k,
uint32_t  fl 
)

Definition at line 1115 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

int GWEN_Crypt_KeyRsa_toDb ( const GWEN_CRYPT_KEY k,
GWEN_DB_NODE db,
int  pub 
)

int GWEN_Crypt_KeyRsa_Verify ( GWEN_CRYPT_KEY k,
const uint8_t *  pInData,
uint32_t  inLen,
const uint8_t *  pSignatureData,
uint32_t  signatureLen 
)


Generated on Wed Sep 3 15:22:00 2008 for gwenhywfar by  doxygen 1.5.6