gwenhywfar  5.10.1
Macros | Functions
cryptkeyrsa.h File Reference
#include "cryptkey.h"
#include <gwenhywfar/cryptkeyrsa.h>
Include dependency graph for cryptkeyrsa.h:

Go to the source code of this file.

Macros

#define GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN   0x00000001
 
#define GWEN_CRYPT_KEYRSA_FLAGS_ISVERIFIED   0x00000002
 
#define GWEN_CRYPT_KEYRSA_MAX_KEYLENGTH   1024
 

Functions

GWENHYWFAR_API void GWEN_Crypt_KeyRsa_AddFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
 
GWENHYWFAR_API GWEN_CRYPT_KEYGWEN_Crypt_KeyRsa_dup (const GWEN_CRYPT_KEY *k)
 
GWENHYWFAR_API GWEN_CRYPT_KEYGWEN_Crypt_KeyRsa_fromDb (GWEN_DB_NODE *db)
 
GWENHYWFAR_API GWEN_CRYPT_KEYGWEN_Crypt_KeyRsa_fromModExp (unsigned int nbytes, const uint8_t *pModulus, uint32_t lModulus, const uint8_t *pExponent, uint32_t lExponent)
 
GWENHYWFAR_API GWEN_CRYPT_KEYGWEN_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)
 
GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GeneratePair (unsigned int nbytes, int use65537e, GWEN_CRYPT_KEY **pPubKey, GWEN_CRYPT_KEY **pSecretKey)
 
GWENHYWFAR_API GWEN_DEPRECATED int GWEN_Crypt_KeyRsa_GeneratePair2 (unsigned int nbits, int use65537e, GWEN_CRYPT_KEY **pPubKey, GWEN_CRYPT_KEY **pSecretKey)
 
GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GetExponent (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
 
GWENHYWFAR_API uint32_t GWEN_Crypt_KeyRsa_GetFlags (const GWEN_CRYPT_KEY *k)
 
GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GetModulus (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
 
GWENHYWFAR_API int GWEN_Crypt_KeyRsa_GetSecretExponent (const GWEN_CRYPT_KEY *k, uint8_t *buffer, uint32_t *pBufLen)
 
GWENHYWFAR_API void GWEN_Crypt_KeyRsa_SetFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
 
GWENHYWFAR_API void GWEN_Crypt_KeyRsa_SubFlags (GWEN_CRYPT_KEY *k, uint32_t fl)
 
GWENHYWFAR_API int GWEN_Crypt_KeyRsa_toDb (const GWEN_CRYPT_KEY *k, GWEN_DB_NODE *db, int pub)
 

Macro Definition Documentation

◆ GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN

#define GWEN_CRYPT_KEYRSA_FLAGS_DIRECTSIGN   0x00000001

When signing always directly use the signature, do not determine whether (sig-n) is smaller

Definition at line 22 of file cryptkeyrsa.h.

Referenced by GWEN_Crypt_KeyRsa_Sign(), GWEN_Crypt_TokenFile__ActivateKey(), GWEN_Crypt_TokenFile__GenerateKey(), GWEN_Crypt_TokenOHBCI__Decode(), signArchive(), and verifyArchive().

◆ GWEN_CRYPT_KEYRSA_FLAGS_ISVERIFIED

#define GWEN_CRYPT_KEYRSA_FLAGS_ISVERIFIED   0x00000002

Definition at line 23 of file cryptkeyrsa.h.

◆ GWEN_CRYPT_KEYRSA_MAX_KEYLENGTH

#define GWEN_CRYPT_KEYRSA_MAX_KEYLENGTH   1024

Function Documentation

◆ GWEN_Crypt_KeyRsa_AddFlags()

GWENHYWFAR_API void GWEN_Crypt_KeyRsa_AddFlags ( GWEN_CRYPT_KEY k,
uint32_t  fl 
)

Definition at line 1018 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

Referenced by GWEN_Crypt_TokenFile__ActivateKey(), GWEN_Crypt_TokenFile__GenerateKey(), GWEN_Crypt_TokenOHBCI__Decode(), signArchive(), and verifyArchive().

Here is the caller graph for this function:

◆ GWEN_Crypt_KeyRsa_dup()

GWENHYWFAR_API GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_dup ( const GWEN_CRYPT_KEY k)

Definition at line 960 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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Crypt_KeyRsa_fromDb()

GWENHYWFAR_API GWEN_CRYPT_KEY* GWEN_Crypt_KeyRsa_fromDb ( GWEN_DB_NODE db)

◆ GWEN_Crypt_KeyRsa_fromModExp()

GWENHYWFAR_API 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_KeyRsa_fromModPrivExp()

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

◆ GWEN_Crypt_KeyRsa_GeneratePair()

GWENHYWFAR_API 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
nbytesnumber 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 103 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, NULL, and PRI_SIZET.

Referenced by GWEN_Crypt_KeyRsa_GeneratePair2(), GWEN_Crypt_TokenFile__GenerateKey(), and mkArchiveKey().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Crypt_KeyRsa_GeneratePair2()

GWENHYWFAR_API GWEN_DEPRECATED 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.

Returns
NULL on error, otherwise a pointer to two keys: public and private
Parameters
nbitsnumber of bits
use65537e!=0: use the value 65537 for the public exponent, otherwise let the library choose the exponent by its own
Deprecated:
Please use GWEN_Crypt_KeyRsa_GeneratePair instead since nbits should be a multiple of 8 anyway according to Libgcrypt.

Definition at line 272 of file cryptkeyrsa.c.

References DBG_ERROR, GWEN_Crypt_KeyRsa_GeneratePair(), GWEN_ERROR_INVALID, and GWEN_LOGDOMAIN.

Here is the call graph for this function:

◆ GWEN_Crypt_KeyRsa_GetExponent()

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

Definition at line 803 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(), GWEN_Crypt_TokenFile__GenerateKey(), and GWEN_Crypt_TokenOHBCI__Decode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Crypt_KeyRsa_GetFlags()

GWENHYWFAR_API uint32_t GWEN_Crypt_KeyRsa_GetFlags ( const GWEN_CRYPT_KEY k)

Definition at line 992 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

◆ GWEN_Crypt_KeyRsa_GetModulus()

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

Definition at line 780 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(), GWEN_Crypt_TokenFile__GenerateKey(), and GWEN_Crypt_TokenOHBCI__Decode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GWEN_Crypt_KeyRsa_GetSecretExponent()

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

Definition at line 826 of file cryptkeyrsa.c.

References DBG_INFO, GWEN_Crypt_KeyRsa__MpiToBuffer(), GWEN_ERROR_GENERIC, GWEN_INHERIT_GETDATA, and GWEN_LOGDOMAIN.

Here is the call graph for this function:

◆ GWEN_Crypt_KeyRsa_SetFlags()

GWENHYWFAR_API void GWEN_Crypt_KeyRsa_SetFlags ( GWEN_CRYPT_KEY k,
uint32_t  fl 
)

Definition at line 1005 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

Referenced by GWEN_Crypt_KeyRsa_dup().

Here is the caller graph for this function:

◆ GWEN_Crypt_KeyRsa_SubFlags()

GWENHYWFAR_API void GWEN_Crypt_KeyRsa_SubFlags ( GWEN_CRYPT_KEY k,
uint32_t  fl 
)

Definition at line 1031 of file cryptkeyrsa.c.

References GWEN_INHERIT_GETDATA.

◆ GWEN_Crypt_KeyRsa_toDb()

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