gwenhywfar 5.12.0
cryptmgr.h File Reference
#include <gwenhywfar/buffer.h>
Include dependency graph for cryptmgr.h:

Go to the source code of this file.

Macros

#define GWEN_CRYPTMGR_TLV_ENCRYPTEDOBJECT   0x22
#define GWEN_CRYPTMGR_TLV_SIGNEDOBJECT   0x21

Typedefs

typedef struct GWEN_CRYPTMGR GWEN_CRYPTMGR

Enumerations

enum  GWEN_CRYPT_PROFILE { GWEN_CryptProfile_None =0 , GWEN_CryptProfile_1 =1 }
enum  GWEN_SIGNATURE_PROFILE { GWEN_SignatureProfile_None =0 , GWEN_SignatureProfile_1 =1 }

Functions

GWENHYWFAR_API void GWEN_CryptMgr_free (GWEN_CRYPTMGR *cm)
Information About the Local Key
GWENHYWFAR_API const char * GWEN_CryptMgr_GetLocalKeyName (const GWEN_CRYPTMGR *cm)
GWENHYWFAR_API int GWEN_CryptMgr_GetLocalKeyNumber (const GWEN_CRYPTMGR *cm)
GWENHYWFAR_API int GWEN_CryptMgr_GetLocalKeyVersion (const GWEN_CRYPTMGR *cm)
Information About the Peer Key
GWENHYWFAR_API const char * GWEN_CryptMgr_GetPeerKeyName (const GWEN_CRYPTMGR *cm)
GWENHYWFAR_API int GWEN_CryptMgr_GetPeerKeyNumber (const GWEN_CRYPTMGR *cm)
GWENHYWFAR_API int GWEN_CryptMgr_GetPeerKeyVersion (const GWEN_CRYPTMGR *cm)
Information About the Algorithms for Signing and Encrypting
GWENHYWFAR_API int GWEN_CryptMgr_GetCryptProfile (const GWEN_CRYPTMGR *cm)
GWENHYWFAR_API int GWEN_CryptMgr_GetSignatureProfile (const GWEN_CRYPTMGR *cm)
GWENHYWFAR_API void GWEN_CryptMgr_SetCryptProfile (GWEN_CRYPTMGR *cm, int i)
GWENHYWFAR_API void GWEN_CryptMgr_SetSignatureProfile (GWEN_CRYPTMGR *cm, int i)
Basic Cryptographic Functions
GWENHYWFAR_API int GWEN_CryptMgr_Decrypt (GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf)
GWENHYWFAR_API int GWEN_CryptMgr_Encrypt (GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf)
GWENHYWFAR_API int GWEN_CryptMgr_Sign (GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf)
GWENHYWFAR_API int GWEN_CryptMgr_Verify (GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf)
Complex Cryptographic Functions

Functions of this group perform multiple operations in one setting (e.g. signing and encrypting or decrypting and verifying a signature).

GWENHYWFAR_API int GWEN_CryptMgr_Decode (GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf)
GWENHYWFAR_API int GWEN_CryptMgr_Encode (GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf)

Macro Definition Documentation

◆ GWEN_CRYPTMGR_TLV_ENCRYPTEDOBJECT

#define GWEN_CRYPTMGR_TLV_ENCRYPTEDOBJECT   0x22

Definition at line 61 of file cryptmgr.h.

Referenced by GWEN_CryptMgr_Decrypt(), and GWEN_CryptMgr_Encrypt().

◆ GWEN_CRYPTMGR_TLV_SIGNEDOBJECT

#define GWEN_CRYPTMGR_TLV_SIGNEDOBJECT   0x21

Definition at line 60 of file cryptmgr.h.

Referenced by GWEN_CryptMgr_Sign(), and GWEN_CryptMgr_Verify().

Typedef Documentation

◆ GWEN_CRYPTMGR

typedef struct GWEN_CRYPTMGR GWEN_CRYPTMGR

Definition at line 64 of file cryptmgr.h.

Enumeration Type Documentation

◆ GWEN_CRYPT_PROFILE

Enumerator
GWEN_CryptProfile_None 
GWEN_CryptProfile_1 

Padding for key : ISO 9796-2 Encryption for key : RSA 2048 Padding for data : ANSIX9_23 Encryption for data: BLOWFISH-256

Definition at line 67 of file cryptmgr.h.

◆ GWEN_SIGNATURE_PROFILE

Enumerator
GWEN_SignatureProfile_None 
GWEN_SignatureProfile_1 

Hash: RMD-160 Padd: ISO 9796-2 Sign: RSA 2048

Definition at line 79 of file cryptmgr.h.

Function Documentation

◆ GWEN_CryptMgr_Decode()

GWENHYWFAR_API int GWEN_CryptMgr_Decode ( GWEN_CRYPTMGR * cm,
const uint8_t * pData,
uint32_t lData,
GWEN_BUFFER * dbuf )

Decrypt the given data which is expected to be an encrypted object containing a signed object which actually contains the data. The signature of the contained signed object is verified.

Definition at line 826 of file cryptmgr.c.

References DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), GWEN_CryptMgr_Decrypt(), GWEN_CryptMgr_Verify(), and GWEN_LOGDOMAIN.

Here is the call graph for this function:

◆ GWEN_CryptMgr_Decrypt()

◆ GWEN_CryptMgr_Encode()

GWENHYWFAR_API int GWEN_CryptMgr_Encode ( GWEN_CRYPTMGR * cm,
const uint8_t * pData,
uint32_t lData,
GWEN_BUFFER * dbuf )

Sign the given data (thus creating a signed object) and encrypt the result of that operation (i.e. creating an encrypted object containing a signed object which actually contains the data).

Definition at line 793 of file cryptmgr.c.

References DBG_INFO, GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_GetUsedBytes(), GWEN_Buffer_new(), GWEN_CryptMgr_Encrypt(), GWEN_CryptMgr_Sign(), and GWEN_LOGDOMAIN.

Here is the call graph for this function:

◆ GWEN_CryptMgr_Encrypt()

◆ GWEN_CryptMgr_free()

GWENHYWFAR_API void GWEN_CryptMgr_free ( GWEN_CRYPTMGR * cm)

Definition at line 49 of file cryptmgr.c.

References GWEN_FREE_OBJECT, and GWEN_INHERIT_FINI.

Referenced by GWEN_Sar_SignArchive(), GWEN_Sar_VerifyArchive(), signArchive(), and verifyArchive().

Here is the caller graph for this function:

◆ GWEN_CryptMgr_GetCryptProfile()

GWENHYWFAR_API int GWEN_CryptMgr_GetCryptProfile ( const GWEN_CRYPTMGR * cm)

Definition at line 166 of file cryptmgr.c.

◆ GWEN_CryptMgr_GetLocalKeyName()

GWENHYWFAR_API const char * GWEN_CryptMgr_GetLocalKeyName ( const GWEN_CRYPTMGR * cm)

Definition at line 62 of file cryptmgr.c.

◆ GWEN_CryptMgr_GetLocalKeyNumber()

GWENHYWFAR_API int GWEN_CryptMgr_GetLocalKeyNumber ( const GWEN_CRYPTMGR * cm)

Definition at line 82 of file cryptmgr.c.

◆ GWEN_CryptMgr_GetLocalKeyVersion()

GWENHYWFAR_API int GWEN_CryptMgr_GetLocalKeyVersion ( const GWEN_CRYPTMGR * cm)

Definition at line 98 of file cryptmgr.c.

◆ GWEN_CryptMgr_GetPeerKeyName()

GWENHYWFAR_API const char * GWEN_CryptMgr_GetPeerKeyName ( const GWEN_CRYPTMGR * cm)

Definition at line 114 of file cryptmgr.c.

◆ GWEN_CryptMgr_GetPeerKeyNumber()

GWENHYWFAR_API int GWEN_CryptMgr_GetPeerKeyNumber ( const GWEN_CRYPTMGR * cm)

Definition at line 134 of file cryptmgr.c.

◆ GWEN_CryptMgr_GetPeerKeyVersion()

GWENHYWFAR_API int GWEN_CryptMgr_GetPeerKeyVersion ( const GWEN_CRYPTMGR * cm)

Definition at line 150 of file cryptmgr.c.

◆ GWEN_CryptMgr_GetSignatureProfile()

GWENHYWFAR_API int GWEN_CryptMgr_GetSignatureProfile ( const GWEN_CRYPTMGR * cm)

Definition at line 182 of file cryptmgr.c.

◆ GWEN_CryptMgr_SetCryptProfile()

GWENHYWFAR_API void GWEN_CryptMgr_SetCryptProfile ( GWEN_CRYPTMGR * cm,
int i )

Definition at line 174 of file cryptmgr.c.

◆ GWEN_CryptMgr_SetSignatureProfile()

GWENHYWFAR_API void GWEN_CryptMgr_SetSignatureProfile ( GWEN_CRYPTMGR * cm,
int i )

Definition at line 190 of file cryptmgr.c.

◆ GWEN_CryptMgr_Sign()

◆ GWEN_CryptMgr_Verify()