Files
openGauss-server/contrib/common_cipher/common_utils.h
lyoursly d2e7b93be8 1.修改两个文件格式;
2.修改部分拼写错误;
3.修改一个pg_dump/pg_restore d格式加解密读写bug;
4.增加带hmac算法。
2024-09-24 17:48:30 +08:00

53 lines
1.6 KiB
C
Executable File

#ifndef COMMON_UTILS_H
#define COMMON_UTILS_H
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
MODULE_INVALID_TYPE = 0,
MODULE_GDAC_CARD_TYPE, /*光电安辰密码卡*/
MODULE_JNTA_KMS_TYPE, /*江南天安KMS*/
MODULE_SWXA_KMS_TYPE /*三未信安KMS*/
} ModuleType;
/*定义以下字符串宏,用来对输入的kv结构字符串做解析,获取对应的value*/
#define MODULE_TYPE "MODULE_TYPE"
#define MODULE_LIB_PATH "MODULE_LIB_PATH"
#define MODULE_CONFIG_FILE_PATH "MODULE_CONFIG_FILE_PATH"
/*支持的硬件类型字符串*/
#define MODULE_GDAC_CARD_STR "GDACCARD"
#define MODULE_JNTA_KMS_STR "JNTAKMS"
#define MODULE_SWXA_KMS_STR "SWXAKMS"
#define IS_GDAC_CARD_TYPE(s) (strcmp(s, MODULE_GDAC_CARD_STR) == 0)
#define IS_JNTA_KMS_TYPE(s) (strcmp(s, MODULE_JNTA_KMS_STR) == 0)
#define IS_SWXA_KMS_TYPE(s) (strcmp(s, MODULE_SWXA_KMS_STR) == 0)
/*字符串转为枚举类型*/
#define GET_MODULE_TYPE(s) (IS_GDAC_CARD_TYPE(s) ? MODULE_GDAC_CARD_TYPE \
: IS_JNTA_KMS_TYPE(s) ? MODULE_JNTA_KMS_TYPE \
: IS_SWXA_KMS_TYPE(s) ? MODULE_SWXA_KMS_TYPE : MODULE_INVALID_TYPE)
#define IS_MODULE_TYPE(s) (strcmp(s, MODULE_TYPE) == 0)
#define IS_MODULE_LIB_PATH(s) (strcmp(s, MODULE_LIB_PATH) == 0)
#define IS_MODULE_CONFIG_FILE_PATH(s) (strcmp(s, MODULE_CONFIG_FILE_PATH) == 0)
#define MODULE_MAX_PATH_LEN 1024
typedef struct {
ModuleType moduletype;
char libpath[MODULE_MAX_PATH_LEN];
char cfgfilepath[MODULE_MAX_PATH_LEN];
}ModuleParams;
extern int parse_module_params(char *paramsstring, ModuleParams *moduleparams);
#ifdef __cplusplus
}
#endif
#endif /* COMMON_UTILS_H */