cryptmgr_be.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef GWEN_CRYPTMGR_CRYPTMGR_BE_H
00012 #define GWEN_CRYPTMGR_CRYPTMGR_BE_H
00013
00014 #include <gwenhywfar/cryptmgr.h>
00015 #include <gwenhywfar/inherit.h>
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021
00022 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_CRYPTMGR, GWENHYWFAR_API)
00023
00024
00025 typedef GWENHYWFAR_CB int (*GWEN_CRYPTMGR_SIGNDATA_FN)(GWEN_CRYPTMGR *cm,
00026 const uint8_t *pData, uint32_t lData,
00027 GWEN_BUFFER *dbuf);
00028 typedef GWENHYWFAR_CB int (*GWEN_CRYPTMGR_ENCRYPTKEY_FN)(GWEN_CRYPTMGR *cm,
00029 const uint8_t *pData, uint32_t lData,
00030 GWEN_BUFFER *dbuf);
00031
00032 typedef GWENHYWFAR_CB int (*GWEN_CRYPTMGR_VERIFYDATA_FN)(GWEN_CRYPTMGR *cm,
00033 const uint8_t *pData, uint32_t lData,
00034 const uint8_t *pSignature, uint32_t lSignature);
00035 typedef GWENHYWFAR_CB int (*GWEN_CRYPTMGR_DECRYPTKEY_FN)(GWEN_CRYPTMGR *cm,
00036 const uint8_t *pData, uint32_t lData,
00037 GWEN_BUFFER *dbuf);
00038
00039
00040
00041 GWENHYWFAR_API
00042 GWEN_CRYPTMGR *GWEN_CryptMgr_new();
00043
00044 GWENHYWFAR_API
00045 void GWEN_CryptMgr_SetLocalKeyName(GWEN_CRYPTMGR *cm, const char *s);
00046
00047 GWENHYWFAR_API
00048 void GWEN_CryptMgr_SetLocalKeyNumber(GWEN_CRYPTMGR *cm, int i);
00049
00050 GWENHYWFAR_API
00051 void GWEN_CryptMgr_SetLocalKeyVersion(GWEN_CRYPTMGR *cm, int i);
00052
00053 GWENHYWFAR_API
00054 void GWEN_CryptMgr_SetPeerKeyName(GWEN_CRYPTMGR *cm, const char *s);
00055
00056 GWENHYWFAR_API
00057 void GWEN_CryptMgr_SetPeerKeyNumber(GWEN_CRYPTMGR *cm, int i);
00058
00059 GWENHYWFAR_API
00060 void GWEN_CryptMgr_SetPeerKeyVersion(GWEN_CRYPTMGR *cm, int i);
00061
00062
00063 GWENHYWFAR_API
00064 int GWEN_CryptMgr_SignData(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00065
00066 GWENHYWFAR_API
00067 int GWEN_CryptMgr_EncryptKey(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00068
00069 GWENHYWFAR_API
00070 int GWEN_CryptMgr_VerifyData(GWEN_CRYPTMGR *cm,
00071 const uint8_t *pData, uint32_t lData,
00072 const uint8_t *pSignature, uint32_t lSignature);
00073
00074 GWENHYWFAR_API
00075 int GWEN_CryptMgr_DecryptKey(GWEN_CRYPTMGR *cm, const uint8_t *pData, uint32_t lData, GWEN_BUFFER *dbuf);
00076
00077
00078 GWENHYWFAR_API
00079 GWEN_CRYPTMGR_SIGNDATA_FN GWEN_CryptMgr_SetSignDataFn(GWEN_CRYPTMGR *cm,
00080 GWEN_CRYPTMGR_SIGNDATA_FN f);
00081
00082 GWENHYWFAR_API
00083 GWEN_CRYPTMGR_VERIFYDATA_FN GWEN_CryptMgr_SetVerifyDataFn(GWEN_CRYPTMGR *cm,
00084 GWEN_CRYPTMGR_VERIFYDATA_FN f);
00085
00086 GWENHYWFAR_API
00087 GWEN_CRYPTMGR_ENCRYPTKEY_FN
00088 GWEN_CryptMgr_SetEncryptKeyFn(GWEN_CRYPTMGR *cm,
00089 GWEN_CRYPTMGR_ENCRYPTKEY_FN f);
00090
00091 GWENHYWFAR_API
00092 GWEN_CRYPTMGR_DECRYPTKEY_FN GWEN_CryptMgr_SetDecryptKeyFn(GWEN_CRYPTMGR *cm,
00093 GWEN_CRYPTMGR_DECRYPTKEY_FN f);
00094
00095
00096 #ifdef __cplusplus
00097 }
00098 #endif
00099
00100
00101 #endif
00102
00103