|
gwenhywfar
4.3.3
|
#include "cryptkeyrsa_p.h"#include <gwenhywfar/misc.h>#include <gwenhywfar/debug.h>#include <gwenhywfar/text.h>Go to the source code of this file.
Macros | |
| #define | DISABLE_DEBUGLOG |
Functions | |
| int | GWEN_Crypt_KeyRsa__getNamedElement (gcry_sexp_t pkey, const char *name, gcry_mpi_t *pMpi) |
| int | GWEN_Crypt_KeyRsa__MpiToBuffer (const gcry_mpi_t mpi, unsigned char *buf, size_t nbytes) |
| int | GWEN_Crypt_KeyRsa__ReadMpi (GWEN_DB_NODE *db, const char *dbName, gcry_mpi_t *pMpi) |
| int | GWEN_Crypt_KeyRsa__WriteMpi (GWEN_DB_NODE *db, const char *dbName, const gcry_mpi_t mpi) |
| 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_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 (GWEN_UNUSED void *bp, void *p) |
| 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) |
| GWEN_CRYPT_KEY * | GWEN_Crypt_KeyRsa_fromModPrivExp (unsigned int nbytes, const uint8_t *pModulus, uint32_t lModulus, const uint8_t *pExponent, uint32_t lExponent, const uint8_t *pPrivExponent, uint32_t lPrivExponent) |
| int | GWEN_Crypt_KeyRsa_GeneratePair (unsigned int nbytes, int use65537e, GWEN_CRYPT_KEY **pPubKey, GWEN_CRYPT_KEY **pSecretKey) |
| int | GWEN_Crypt_KeyRsa_GeneratePair2 (unsigned int nbits, 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) |
| #define DISABLE_DEBUGLOG |
Definition at line 14 of file cryptkeyrsa.c.
| int GWEN_Crypt_KeyRsa__getNamedElement | ( | gcry_sexp_t | pkey, |
| const char * | name, | ||
| gcry_mpi_t * | pMpi | ||
| ) |
Definition at line 61 of file cryptkeyrsa.c.
References DBG_ERROR, GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.
Referenced by GWEN_Crypt_KeyRsa_GeneratePair2().
| int GWEN_Crypt_KeyRsa__MpiToBuffer | ( | const gcry_mpi_t | mpi, |
| unsigned char * | buf, | ||
| size_t | nbytes | ||
| ) |
Definition at line 589 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.
Referenced by GWEN_Crypt_KeyRsa_GetExponent(), GWEN_Crypt_KeyRsa_GetModulus(), and GWEN_Crypt_KeyRsa_GetSecretExponent().
| int GWEN_Crypt_KeyRsa__ReadMpi | ( | GWEN_DB_NODE * | db, |
| const char * | dbName, | ||
| gcry_mpi_t * | pMpi | ||
| ) |
Definition at line 533 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_DB_GetBinValue(), GWEN_ERROR_BAD_DATA, GWEN_ERROR_GENERIC, GWEN_ERROR_NO_DATA, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Crypt_KeyRsa_fromDb().
| int GWEN_Crypt_KeyRsa__WriteMpi | ( | GWEN_DB_NODE * | db, |
| const char * | dbName, | ||
| const gcry_mpi_t | mpi | ||
| ) |
Definition at line 568 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_SetBinValue(), GWEN_ERROR_GENERIC, and GWEN_LOGDOMAIN.
Referenced by GWEN_Crypt_KeyRsa_toDb().
| void GWEN_Crypt_KeyRsa_AddFlags | ( | GWEN_CRYPT_KEY * | k, |
| uint32_t | fl | ||
| ) |
Definition at line 982 of file cryptkeyrsa.c.
References GWEN_INHERIT_GETDATA.
Referenced by GWEN_Crypt_TokenFile__ActivateKey(), and 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 | ||
| ) |
Definition at line 474 of file cryptkeyrsa.c.
References DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_GetKeySize(), GWEN_ERROR_BAD_DATA, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Crypt_KeyRsa_fromDb(), and GWEN_Crypt_KeyRsa_GeneratePair2().
| GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_dup | ( | const GWEN_CRYPT_KEY * | k | ) |
Definition at line 927 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_Crypt_KeyRsa_fromDb(), GWEN_Crypt_KeyRsa_SetFlags(), GWEN_Crypt_KeyRsa_toDb(), GWEN_DB_Group_free(), GWEN_DB_Group_new(), GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Crypt_TokenFile__ActivateKey().
| int GWEN_Crypt_KeyRsa_Encipher | ( | GWEN_CRYPT_KEY * | k, |
| const uint8_t * | pInData, | ||
| uint32_t | inLen, | ||
| uint8_t * | pOutData, | ||
| uint32_t * | pOutLen | ||
| ) |
Definition at line 415 of file cryptkeyrsa.c.
References DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_GetKeySize(), GWEN_ERROR_BAD_DATA, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Crypt_KeyRsa_fromDb(), and GWEN_Crypt_KeyRsa_GeneratePair2().
| GWENHYWFAR_CB void GWEN_Crypt_KeyRsa_freeData | ( | GWEN_UNUSED void * | bp, |
| void * | p | ||
| ) |
Definition at line 606 of file cryptkeyrsa.c.
References GWEN_FREE_OBJECT.
Referenced by GWEN_Crypt_KeyRsa_fromDb(), and GWEN_Crypt_KeyRsa_GeneratePair2().
| GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_fromDb | ( | GWEN_DB_NODE * | db | ) |
Definition at line 622 of file cryptkeyrsa.c.
References DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_free(), GWEN_Crypt_Key_fromDb(), GWEN_Crypt_Key_GetCryptAlgoId(), GWEN_Crypt_Key_SetDecipherFn(), GWEN_Crypt_Key_SetEncipherFn(), GWEN_Crypt_Key_SetSignFn(), GWEN_Crypt_Key_SetVerifyFn(), GWEN_Crypt_KeyRsa__ReadMpi(), GWEN_Crypt_KeyRsa_Decipher(), GWEN_Crypt_KeyRsa_Encipher(), GWEN_Crypt_KeyRsa_freeData(), GWEN_Crypt_KeyRsa_Sign(), GWEN_Crypt_KeyRsa_Verify(), GWEN_DB_GetGroup(), GWEN_DB_GetIntValue(), GWEN_INHERIT_SETDATA, GWEN_LOGDOMAIN, GWEN_NEW_OBJECT, GWEN_PATH_FLAGS_NAMEMUSTEXIST, and NULL.
Referenced by GWEN_Crypt_KeyRsa_dup(), GWEN_Crypt_KeyRsa_fromModExp(), and GWEN_Crypt_KeyRsa_fromModPrivExp().
| GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_fromModExp | ( | unsigned int | nbytes, |
| const uint8_t * | pModulus, | ||
| uint32_t | lModulus, | ||
| const uint8_t * | pExponent, | ||
| uint32_t | lExponent | ||
| ) |
Definition at line 818 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_Crypt_CryptAlgoId_toString(), GWEN_Crypt_KeyRsa_fromDb(), GWEN_DB_Dump(), GWEN_DB_FLAGS_OVERWRITE_GROUPS, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_GetGroup(), GWEN_DB_Group_free(), GWEN_DB_Group_new(), GWEN_DB_SetBinValue(), GWEN_DB_SetCharValue(), GWEN_DB_SetIntValue(), GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Crypt_TokenFile__SetKeyInfo().
| GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_fromModPrivExp | ( | unsigned int | nbytes, |
| const uint8_t * | pModulus, | ||
| uint32_t | lModulus, | ||
| const uint8_t * | pExponent, | ||
| uint32_t | lExponent, | ||
| const uint8_t * | pPrivExponent, | ||
| uint32_t | lPrivExponent | ||
| ) |
Definition at line 869 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_Crypt_CryptAlgoId_toString(), GWEN_Crypt_KeyRsa_fromDb(), GWEN_DB_Dump(), GWEN_DB_FLAGS_OVERWRITE_GROUPS, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_GetGroup(), GWEN_DB_Group_free(), GWEN_DB_Group_new(), GWEN_DB_SetBinValue(), GWEN_DB_SetCharValue(), GWEN_DB_SetIntValue(), GWEN_LOGDOMAIN, and NULL.
| 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.
| nbytes | 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 255 of file cryptkeyrsa.c.
References GWEN_Crypt_KeyRsa_GeneratePair2().
Referenced by GWEN_Crypt_TokenFile__GenerateKey().
| int GWEN_Crypt_KeyRsa_GeneratePair2 | ( | unsigned int | nbits, |
| int | use65537e, | ||
| GWEN_CRYPT_KEY ** | pPubKey, | ||
| GWEN_CRYPT_KEY ** | pSecretKey | ||
| ) |
Creates a key pair and returns a pointer to it. This function allows for more precise control over the size of the created key because it lets you specify the size in bits rather than in bytes.
| nbits | number of bits |
| use65537e | !=0: use the value 65537 for the public exponent, otherwise let the library choose the exponent by its own |
Definition at line 87 of file cryptkeyrsa.c.
References DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_new(), GWEN_Crypt_Key_SetDecipherFn(), GWEN_Crypt_Key_SetEncipherFn(), GWEN_Crypt_Key_SetSignFn(), GWEN_Crypt_Key_SetVerifyFn(), GWEN_Crypt_KeyRsa__getNamedElement(), 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, GWEN_NEW_OBJECT, and NULL.
Referenced by GWEN_Crypt_KeyRsa_GeneratePair(), and GWEN_Crypt_TokenFile__GenerateKey().
| int GWEN_Crypt_KeyRsa_GetExponent | ( | const GWEN_CRYPT_KEY * | k, |
| uint8_t * | buffer, | ||
| uint32_t * | pBufLen | ||
| ) |
Definition at line 774 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_Crypt_KeyRsa__MpiToBuffer(), GWEN_ERROR_GENERIC, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_Crypt_TokenFile__ActivateKey(), and GWEN_Crypt_TokenFile__GenerateKey().
| uint32_t GWEN_Crypt_KeyRsa_GetFlags | ( | const GWEN_CRYPT_KEY * | k | ) |
Definition at line 958 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 752 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_Crypt_KeyRsa__MpiToBuffer(), GWEN_ERROR_GENERIC, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_Crypt_TokenFile__ActivateKey(), and GWEN_Crypt_TokenFile__GenerateKey().
| int GWEN_Crypt_KeyRsa_GetSecretExponent | ( | const GWEN_CRYPT_KEY * | k, |
| uint8_t * | buffer, | ||
| uint32_t * | pBufLen | ||
| ) |
Definition at line 796 of file cryptkeyrsa.c.
References DBG_INFO, GWEN_Crypt_KeyRsa__MpiToBuffer(), GWEN_ERROR_GENERIC, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
| void GWEN_Crypt_KeyRsa_SetFlags | ( | GWEN_CRYPT_KEY * | k, |
| uint32_t | fl | ||
| ) |
Definition at line 970 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 | ||
| ) |
Definition at line 264 of file cryptkeyrsa.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_GetKeySize(), GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN, GWEN_ERROR_BAD_DATA, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Crypt_KeyRsa_fromDb(), and GWEN_Crypt_KeyRsa_GeneratePair2().
| void GWEN_Crypt_KeyRsa_SubFlags | ( | GWEN_CRYPT_KEY * | k, |
| uint32_t | fl | ||
| ) |
Definition at line 994 of file cryptkeyrsa.c.
References GWEN_INHERIT_GETDATA.
| int GWEN_Crypt_KeyRsa_toDb | ( | const GWEN_CRYPT_KEY * | k, |
| GWEN_DB_NODE * | db, | ||
| int | pub | ||
| ) |
Definition at line 689 of file cryptkeyrsa.c.
References DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_toDb(), GWEN_Crypt_KeyRsa__WriteMpi(), GWEN_DB_FLAGS_OVERWRITE_GROUPS, GWEN_DB_FLAGS_OVERWRITE_VARS, GWEN_DB_GetGroup(), GWEN_DB_SetIntValue(), GWEN_ERROR_INVALID, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.
Referenced by GWEN_Crypt_KeyRsa_dup().
| int GWEN_Crypt_KeyRsa_Verify | ( | GWEN_CRYPT_KEY * | k, |
| const uint8_t * | pInData, | ||
| uint32_t | inLen, | ||
| const uint8_t * | pSignatureData, | ||
| uint32_t | signatureLen | ||
| ) |
Definition at line 335 of file cryptkeyrsa.c.
References DBG_DEBUG, DBG_ERROR, DBG_INFO, GWEN_Crypt_Key_GetKeySize(), GWEN_ERROR_BAD_DATA, GWEN_ERROR_VERIFY, GWEN_INHERIT_GETDATA, GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_Crypt_KeyRsa_fromDb(), and GWEN_Crypt_KeyRsa_GeneratePair2().
1.8.1.2