mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-09-24 14:23:47 +08:00
update
This commit is contained in:
@@ -1,35 +1,33 @@
|
||||
typedef int cl_engine_init(void);
|
||||
typedef int cl_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
|
||||
const BIGNUM *m, BN_CTX *cgx);
|
||||
const BIGNUM *m, BN_CTX *cgx);
|
||||
typedef int cl_mod_exp_crt(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
|
||||
const BIGNUM *q, const BIGNUM *dmp1, const BIGNUM *dmq1,
|
||||
const BIGNUM *iqmp, BN_CTX *ctx);
|
||||
const BIGNUM *q, const BIGNUM *dmp1,
|
||||
const BIGNUM *dmq1, const BIGNUM *iqmp,
|
||||
BN_CTX *ctx);
|
||||
typedef int cl_rsa_mod_exp(BIGNUM *r0, const BIGNUM *I, RSA *rsa);
|
||||
typedef int cl_rsa_pub_enc(int flen, const unsigned char *from,
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
typedef int cl_rsa_pub_dec(int flen, const unsigned char *from,
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
typedef int cl_rsa_priv_enc(int flen, const unsigned char *from,
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
typedef int cl_rsa_priv_dec(int flen, const unsigned char *from,
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
typedef int cl_rsa_priv_enc(int flen, const unsigned char *from,
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
typedef int cl_rsa_priv_dec(int flen, const unsigned char *from,
|
||||
unsigned char *to, RSA *rsa, int padding);
|
||||
typedef int cl_rand_bytes(unsigned char *buf, int num);
|
||||
typedef DSA_SIG *cl_dsa_sign(const unsigned char *dgst, int dlen, DSA *dsa);
|
||||
typedef int cl_dsa_verify(const unsigned char *dgst, int dgst_len,
|
||||
DSA_SIG *sig, DSA *dsa);
|
||||
|
||||
DSA_SIG *sig, DSA *dsa);
|
||||
|
||||
static const char *CLUSTER_LABS_LIB_NAME = "cluster_labs";
|
||||
static const char *CLUSTER_LABS_F1 = "hw_engine_init";
|
||||
static const char *CLUSTER_LABS_F2 = "hw_mod_exp";
|
||||
static const char *CLUSTER_LABS_F3 = "hw_mod_exp_crt";
|
||||
static const char *CLUSTER_LABS_F4 = "hw_rsa_mod_exp";
|
||||
static const char *CLUSTER_LABS_F5 = "hw_rsa_priv_enc";
|
||||
static const char *CLUSTER_LABS_F6 = "hw_rsa_priv_dec";
|
||||
static const char *CLUSTER_LABS_F7 = "hw_rsa_pub_enc";
|
||||
static const char *CLUSTER_LABS_F8 = "hw_rsa_pub_dec";
|
||||
static const char *CLUSTER_LABS_F20 = "hw_rand_bytes";
|
||||
static const char *CLUSTER_LABS_F30 = "hw_dsa_sign";
|
||||
static const char *CLUSTER_LABS_F31 = "hw_dsa_verify";
|
||||
|
||||
|
||||
static const char *CLUSTER_LABS_F1 = "hw_engine_init";
|
||||
static const char *CLUSTER_LABS_F2 = "hw_mod_exp";
|
||||
static const char *CLUSTER_LABS_F3 = "hw_mod_exp_crt";
|
||||
static const char *CLUSTER_LABS_F4 = "hw_rsa_mod_exp";
|
||||
static const char *CLUSTER_LABS_F5 = "hw_rsa_priv_enc";
|
||||
static const char *CLUSTER_LABS_F6 = "hw_rsa_priv_dec";
|
||||
static const char *CLUSTER_LABS_F7 = "hw_rsa_pub_enc";
|
||||
static const char *CLUSTER_LABS_F8 = "hw_rsa_pub_dec";
|
||||
static const char *CLUSTER_LABS_F20 = "hw_rand_bytes";
|
||||
static const char *CLUSTER_LABS_F30 = "hw_dsa_sign";
|
||||
static const char *CLUSTER_LABS_F31 = "hw_dsa_verify";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -53,7 +53,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
/*
|
||||
* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
* made to it will be overwritten when the script next updates this file,
|
||||
* only reason strings will be preserved.
|
||||
*/
|
||||
@@ -64,88 +65,88 @@
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
static ERR_STRING_DATA CL_str_functs[]=
|
||||
{
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_CTRL,0), "CLUSTER_LABS_CTRL"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_DSA_SIGN,0), "CLUSTER_LABS_DSA_SIGN"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_DSA_VERIFY,0), "CLUSTER_LABS_DSA_VERIFY"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_FINISH,0), "CLUSTER_LABS_FINISH"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_INIT,0), "CLUSTER_LABS_INIT"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_MOD_EXP,0), "CLUSTER_LABS_MOD_EXP"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_MOD_EXP_CRT,0), "CLUSTER_LABS_MOD_EXP_CRT"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_RAND_BYTES,0), "CLUSTER_LABS_RAND_BYTES"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_RSA_MOD_EXP,0), "CLUSTER_LABS_RSA_MOD_EXP"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_RSA_PRIV_DEC,0), "CLUSTER_LABS_RSA_PRIV_DEC"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_RSA_PRIV_ENC,0), "CLUSTER_LABS_RSA_PRIV_ENC"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_RSA_PUB_DEC,0), "CLUSTER_LABS_RSA_PUB_DEC"},
|
||||
{ERR_PACK(0,CL_F_CLUSTER_LABS_RSA_PUB_ENC,0), "CLUSTER_LABS_RSA_PUB_ENC"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA CL_str_functs[] = {
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_CTRL, 0), "CLUSTER_LABS_CTRL"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_DSA_SIGN, 0), "CLUSTER_LABS_DSA_SIGN"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_DSA_VERIFY, 0), "CLUSTER_LABS_DSA_VERIFY"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_FINISH, 0), "CLUSTER_LABS_FINISH"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_INIT, 0), "CLUSTER_LABS_INIT"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_MOD_EXP, 0), "CLUSTER_LABS_MOD_EXP"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_MOD_EXP_CRT, 0),
|
||||
"CLUSTER_LABS_MOD_EXP_CRT"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_RAND_BYTES, 0), "CLUSTER_LABS_RAND_BYTES"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_RSA_MOD_EXP, 0),
|
||||
"CLUSTER_LABS_RSA_MOD_EXP"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_RSA_PRIV_DEC, 0),
|
||||
"CLUSTER_LABS_RSA_PRIV_DEC"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_RSA_PRIV_ENC, 0),
|
||||
"CLUSTER_LABS_RSA_PRIV_ENC"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_RSA_PUB_DEC, 0),
|
||||
"CLUSTER_LABS_RSA_PUB_DEC"},
|
||||
{ERR_PACK(0, CL_F_CLUSTER_LABS_RSA_PUB_ENC, 0),
|
||||
"CLUSTER_LABS_RSA_PUB_ENC"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
static ERR_STRING_DATA CL_str_reasons[]=
|
||||
{
|
||||
{CL_R_ALREADY_LOADED ,"already loaded"},
|
||||
{CL_R_COMMAND_NOT_IMPLEMENTED ,"command not implemented"},
|
||||
{CL_R_DSO_FAILURE ,"dso failure"},
|
||||
{CL_R_FUNCTION_NOT_BINDED ,"function not binded"},
|
||||
{CL_R_INIT_FAILED ,"init failed"},
|
||||
{CL_R_NOT_LOADED ,"not loaded"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA CL_str_reasons[] = {
|
||||
{CL_R_ALREADY_LOADED, "already loaded"},
|
||||
{CL_R_COMMAND_NOT_IMPLEMENTED, "command not implemented"},
|
||||
{CL_R_DSO_FAILURE, "dso failure"},
|
||||
{CL_R_FUNCTION_NOT_BINDED, "function not binded"},
|
||||
{CL_R_INIT_FAILED, "init failed"},
|
||||
{CL_R_NOT_LOADED, "not loaded"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef CL_LIB_NAME
|
||||
static ERR_STRING_DATA CL_lib_name[]=
|
||||
{
|
||||
{0 ,CL_LIB_NAME},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA CL_lib_name[] = {
|
||||
{0, CL_LIB_NAME},
|
||||
{0, NULL}
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
static int CL_lib_error_code=0;
|
||||
static int CL_error_init=1;
|
||||
static int CL_lib_error_code = 0;
|
||||
static int CL_error_init = 1;
|
||||
|
||||
static void ERR_load_CL_strings(void)
|
||||
{
|
||||
if (CL_lib_error_code == 0)
|
||||
CL_lib_error_code=ERR_get_next_error_library();
|
||||
{
|
||||
if (CL_lib_error_code == 0)
|
||||
CL_lib_error_code = ERR_get_next_error_library();
|
||||
|
||||
if (CL_error_init)
|
||||
{
|
||||
CL_error_init=0;
|
||||
if (CL_error_init) {
|
||||
CL_error_init = 0;
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_load_strings(CL_lib_error_code,CL_str_functs);
|
||||
ERR_load_strings(CL_lib_error_code,CL_str_reasons);
|
||||
ERR_load_strings(CL_lib_error_code, CL_str_functs);
|
||||
ERR_load_strings(CL_lib_error_code, CL_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef CL_LIB_NAME
|
||||
CL_lib_name->error = ERR_PACK(CL_lib_error_code,0,0);
|
||||
ERR_load_strings(0,CL_lib_name);
|
||||
CL_lib_name->error = ERR_PACK(CL_lib_error_code, 0, 0);
|
||||
ERR_load_strings(0, CL_lib_name);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_unload_CL_strings(void)
|
||||
{
|
||||
if (CL_error_init == 0)
|
||||
{
|
||||
{
|
||||
if (CL_error_init == 0) {
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_unload_strings(CL_lib_error_code,CL_str_functs);
|
||||
ERR_unload_strings(CL_lib_error_code,CL_str_reasons);
|
||||
ERR_unload_strings(CL_lib_error_code, CL_str_functs);
|
||||
ERR_unload_strings(CL_lib_error_code, CL_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef CL_LIB_NAME
|
||||
ERR_unload_strings(0,CL_lib_name);
|
||||
ERR_unload_strings(0, CL_lib_name);
|
||||
#endif
|
||||
CL_error_init=1;
|
||||
}
|
||||
}
|
||||
CL_error_init = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_CL_error(int function, int reason, char *file, int line)
|
||||
{
|
||||
if (CL_lib_error_code == 0)
|
||||
CL_lib_error_code=ERR_get_next_error_library();
|
||||
ERR_PUT_error(CL_lib_error_code,function,reason,file,line);
|
||||
}
|
||||
{
|
||||
if (CL_lib_error_code == 0)
|
||||
CL_lib_error_code = ERR_get_next_error_library();
|
||||
ERR_PUT_error(CL_lib_error_code, function, reason, file, line);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -53,45 +53,46 @@
|
||||
*/
|
||||
|
||||
#ifndef HEADER_CL_ERR_H
|
||||
#define HEADER_CL_ERR_H
|
||||
# define HEADER_CL_ERR_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
/*
|
||||
* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
* made after this point may be overwritten when the script is next run.
|
||||
*/
|
||||
static void ERR_load_CL_strings(void);
|
||||
static void ERR_unload_CL_strings(void);
|
||||
static void ERR_CL_error(int function, int reason, char *file, int line);
|
||||
#define CLerr(f,r) ERR_CL_error((f),(r),__FILE__,__LINE__)
|
||||
# define CLerr(f,r) ERR_CL_error((f),(r),__FILE__,__LINE__)
|
||||
|
||||
/* Error codes for the CL functions. */
|
||||
|
||||
/* Function codes. */
|
||||
#define CL_F_CLUSTER_LABS_CTRL 100
|
||||
#define CL_F_CLUSTER_LABS_DSA_SIGN 101
|
||||
#define CL_F_CLUSTER_LABS_DSA_VERIFY 102
|
||||
#define CL_F_CLUSTER_LABS_FINISH 103
|
||||
#define CL_F_CLUSTER_LABS_INIT 104
|
||||
#define CL_F_CLUSTER_LABS_MOD_EXP 105
|
||||
#define CL_F_CLUSTER_LABS_MOD_EXP_CRT 106
|
||||
#define CL_F_CLUSTER_LABS_RAND_BYTES 107
|
||||
#define CL_F_CLUSTER_LABS_RSA_MOD_EXP 108
|
||||
#define CL_F_CLUSTER_LABS_RSA_PRIV_DEC 109
|
||||
#define CL_F_CLUSTER_LABS_RSA_PRIV_ENC 110
|
||||
#define CL_F_CLUSTER_LABS_RSA_PUB_DEC 111
|
||||
#define CL_F_CLUSTER_LABS_RSA_PUB_ENC 112
|
||||
# define CL_F_CLUSTER_LABS_CTRL 100
|
||||
# define CL_F_CLUSTER_LABS_DSA_SIGN 101
|
||||
# define CL_F_CLUSTER_LABS_DSA_VERIFY 102
|
||||
# define CL_F_CLUSTER_LABS_FINISH 103
|
||||
# define CL_F_CLUSTER_LABS_INIT 104
|
||||
# define CL_F_CLUSTER_LABS_MOD_EXP 105
|
||||
# define CL_F_CLUSTER_LABS_MOD_EXP_CRT 106
|
||||
# define CL_F_CLUSTER_LABS_RAND_BYTES 107
|
||||
# define CL_F_CLUSTER_LABS_RSA_MOD_EXP 108
|
||||
# define CL_F_CLUSTER_LABS_RSA_PRIV_DEC 109
|
||||
# define CL_F_CLUSTER_LABS_RSA_PRIV_ENC 110
|
||||
# define CL_F_CLUSTER_LABS_RSA_PUB_DEC 111
|
||||
# define CL_F_CLUSTER_LABS_RSA_PUB_ENC 112
|
||||
|
||||
/* Reason codes. */
|
||||
#define CL_R_ALREADY_LOADED 100
|
||||
#define CL_R_COMMAND_NOT_IMPLEMENTED 101
|
||||
#define CL_R_DSO_FAILURE 102
|
||||
#define CL_R_FUNCTION_NOT_BINDED 103
|
||||
#define CL_R_INIT_FAILED 104
|
||||
#define CL_R_NOT_LOADED 105
|
||||
# define CL_R_ALREADY_LOADED 100
|
||||
# define CL_R_COMMAND_NOT_IMPLEMENTED 101
|
||||
# define CL_R_DSO_FAILURE 102
|
||||
# define CL_R_FUNCTION_NOT_BINDED 103
|
||||
# define CL_R_INIT_FAILED 104
|
||||
# define CL_R_NOT_LOADED 105
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -53,7 +53,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
/*
|
||||
* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
* made to it will be overwritten when the script next updates this file,
|
||||
* only reason strings will be preserved.
|
||||
*/
|
||||
@@ -64,91 +65,85 @@
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
static ERR_STRING_DATA IBMCA_str_functs[]=
|
||||
{
|
||||
{ERR_PACK(0,IBMCA_F_IBMCA_CTRL,0), "IBMCA_CTRL"},
|
||||
{ERR_PACK(0,IBMCA_F_IBMCA_FINISH,0), "IBMCA_FINISH"},
|
||||
{ERR_PACK(0,IBMCA_F_IBMCA_INIT,0), "IBMCA_INIT"},
|
||||
{ERR_PACK(0,IBMCA_F_IBMCA_MOD_EXP,0), "IBMCA_MOD_EXP"},
|
||||
{ERR_PACK(0,IBMCA_F_IBMCA_MOD_EXP_CRT,0), "IBMCA_MOD_EXP_CRT"},
|
||||
{ERR_PACK(0,IBMCA_F_IBMCA_RAND_BYTES,0), "IBMCA_RAND_BYTES"},
|
||||
{ERR_PACK(0,IBMCA_F_IBMCA_RSA_MOD_EXP,0), "IBMCA_RSA_MOD_EXP"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA IBMCA_str_functs[] = {
|
||||
{ERR_PACK(0, IBMCA_F_IBMCA_CTRL, 0), "IBMCA_CTRL"},
|
||||
{ERR_PACK(0, IBMCA_F_IBMCA_FINISH, 0), "IBMCA_FINISH"},
|
||||
{ERR_PACK(0, IBMCA_F_IBMCA_INIT, 0), "IBMCA_INIT"},
|
||||
{ERR_PACK(0, IBMCA_F_IBMCA_MOD_EXP, 0), "IBMCA_MOD_EXP"},
|
||||
{ERR_PACK(0, IBMCA_F_IBMCA_MOD_EXP_CRT, 0), "IBMCA_MOD_EXP_CRT"},
|
||||
{ERR_PACK(0, IBMCA_F_IBMCA_RAND_BYTES, 0), "IBMCA_RAND_BYTES"},
|
||||
{ERR_PACK(0, IBMCA_F_IBMCA_RSA_MOD_EXP, 0), "IBMCA_RSA_MOD_EXP"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
static ERR_STRING_DATA IBMCA_str_reasons[]=
|
||||
{
|
||||
{IBMCA_R_ALREADY_LOADED ,"already loaded"},
|
||||
{IBMCA_R_BN_CTX_FULL ,"bn ctx full"},
|
||||
{IBMCA_R_BN_EXPAND_FAIL ,"bn expand fail"},
|
||||
{IBMCA_R_CTRL_COMMAND_NOT_IMPLEMENTED ,"ctrl command not implemented"},
|
||||
{IBMCA_R_DSO_FAILURE ,"dso failure"},
|
||||
{IBMCA_R_MEXP_LENGTH_TO_LARGE ,"mexp length to large"},
|
||||
{IBMCA_R_MISSING_KEY_COMPONENTS ,"missing key components"},
|
||||
{IBMCA_R_NOT_INITIALISED ,"not initialised"},
|
||||
{IBMCA_R_NOT_LOADED ,"not loaded"},
|
||||
{IBMCA_R_OPERANDS_TO_LARGE ,"operands to large"},
|
||||
{IBMCA_R_OUTLEN_TO_LARGE ,"outlen to large"},
|
||||
{IBMCA_R_REQUEST_FAILED ,"request failed"},
|
||||
{IBMCA_R_UNDERFLOW_CONDITION ,"underflow condition"},
|
||||
{IBMCA_R_UNDERFLOW_KEYRECORD ,"underflow keyrecord"},
|
||||
{IBMCA_R_UNIT_FAILURE ,"unit failure"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA IBMCA_str_reasons[] = {
|
||||
{IBMCA_R_ALREADY_LOADED, "already loaded"},
|
||||
{IBMCA_R_BN_CTX_FULL, "bn ctx full"},
|
||||
{IBMCA_R_BN_EXPAND_FAIL, "bn expand fail"},
|
||||
{IBMCA_R_CTRL_COMMAND_NOT_IMPLEMENTED, "ctrl command not implemented"},
|
||||
{IBMCA_R_DSO_FAILURE, "dso failure"},
|
||||
{IBMCA_R_MEXP_LENGTH_TO_LARGE, "mexp length to large"},
|
||||
{IBMCA_R_MISSING_KEY_COMPONENTS, "missing key components"},
|
||||
{IBMCA_R_NOT_INITIALISED, "not initialised"},
|
||||
{IBMCA_R_NOT_LOADED, "not loaded"},
|
||||
{IBMCA_R_OPERANDS_TO_LARGE, "operands to large"},
|
||||
{IBMCA_R_OUTLEN_TO_LARGE, "outlen to large"},
|
||||
{IBMCA_R_REQUEST_FAILED, "request failed"},
|
||||
{IBMCA_R_UNDERFLOW_CONDITION, "underflow condition"},
|
||||
{IBMCA_R_UNDERFLOW_KEYRECORD, "underflow keyrecord"},
|
||||
{IBMCA_R_UNIT_FAILURE, "unit failure"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef IBMCA_LIB_NAME
|
||||
static ERR_STRING_DATA IBMCA_lib_name[]=
|
||||
{
|
||||
{0 ,IBMCA_LIB_NAME},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA IBMCA_lib_name[] = {
|
||||
{0, IBMCA_LIB_NAME},
|
||||
{0, NULL}
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
static int IBMCA_lib_error_code=0;
|
||||
static int IBMCA_error_init=1;
|
||||
static int IBMCA_lib_error_code = 0;
|
||||
static int IBMCA_error_init = 1;
|
||||
|
||||
static void ERR_load_IBMCA_strings(void)
|
||||
{
|
||||
if (IBMCA_lib_error_code == 0)
|
||||
IBMCA_lib_error_code=ERR_get_next_error_library();
|
||||
{
|
||||
if (IBMCA_lib_error_code == 0)
|
||||
IBMCA_lib_error_code = ERR_get_next_error_library();
|
||||
|
||||
if (IBMCA_error_init)
|
||||
{
|
||||
IBMCA_error_init=0;
|
||||
if (IBMCA_error_init) {
|
||||
IBMCA_error_init = 0;
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_load_strings(IBMCA_lib_error_code,IBMCA_str_functs);
|
||||
ERR_load_strings(IBMCA_lib_error_code,IBMCA_str_reasons);
|
||||
ERR_load_strings(IBMCA_lib_error_code, IBMCA_str_functs);
|
||||
ERR_load_strings(IBMCA_lib_error_code, IBMCA_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef IBMCA_LIB_NAME
|
||||
IBMCA_lib_name->error = ERR_PACK(IBMCA_lib_error_code,0,0);
|
||||
ERR_load_strings(0,IBMCA_lib_name);
|
||||
IBMCA_lib_name->error = ERR_PACK(IBMCA_lib_error_code, 0, 0);
|
||||
ERR_load_strings(0, IBMCA_lib_name);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_unload_IBMCA_strings(void)
|
||||
{
|
||||
if (IBMCA_error_init == 0)
|
||||
{
|
||||
{
|
||||
if (IBMCA_error_init == 0) {
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_unload_strings(IBMCA_lib_error_code,IBMCA_str_functs);
|
||||
ERR_unload_strings(IBMCA_lib_error_code,IBMCA_str_reasons);
|
||||
ERR_unload_strings(IBMCA_lib_error_code, IBMCA_str_functs);
|
||||
ERR_unload_strings(IBMCA_lib_error_code, IBMCA_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef IBMCA_LIB_NAME
|
||||
ERR_unload_strings(0,IBMCA_lib_name);
|
||||
ERR_unload_strings(0, IBMCA_lib_name);
|
||||
#endif
|
||||
IBMCA_error_init=1;
|
||||
}
|
||||
}
|
||||
IBMCA_error_init = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_IBMCA_error(int function, int reason, char *file, int line)
|
||||
{
|
||||
if (IBMCA_lib_error_code == 0)
|
||||
IBMCA_lib_error_code=ERR_get_next_error_library();
|
||||
ERR_PUT_error(IBMCA_lib_error_code,function,reason,file,line);
|
||||
}
|
||||
{
|
||||
if (IBMCA_lib_error_code == 0)
|
||||
IBMCA_lib_error_code = ERR_get_next_error_library();
|
||||
ERR_PUT_error(IBMCA_lib_error_code, function, reason, file, line);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -53,48 +53,49 @@
|
||||
*/
|
||||
|
||||
#ifndef HEADER_IBMCA_ERR_H
|
||||
#define HEADER_IBMCA_ERR_H
|
||||
# define HEADER_IBMCA_ERR_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
/*
|
||||
* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
* made after this point may be overwritten when the script is next run.
|
||||
*/
|
||||
static void ERR_load_IBMCA_strings(void);
|
||||
static void ERR_unload_IBMCA_strings(void);
|
||||
static void ERR_IBMCA_error(int function, int reason, char *file, int line);
|
||||
#define IBMCAerr(f,r) ERR_IBMCA_error((f),(r),__FILE__,__LINE__)
|
||||
# define IBMCAerr(f,r) ERR_IBMCA_error((f),(r),__FILE__,__LINE__)
|
||||
|
||||
/* Error codes for the IBMCA functions. */
|
||||
|
||||
/* Function codes. */
|
||||
#define IBMCA_F_IBMCA_CTRL 100
|
||||
#define IBMCA_F_IBMCA_FINISH 101
|
||||
#define IBMCA_F_IBMCA_INIT 102
|
||||
#define IBMCA_F_IBMCA_MOD_EXP 103
|
||||
#define IBMCA_F_IBMCA_MOD_EXP_CRT 104
|
||||
#define IBMCA_F_IBMCA_RAND_BYTES 105
|
||||
#define IBMCA_F_IBMCA_RSA_MOD_EXP 106
|
||||
# define IBMCA_F_IBMCA_CTRL 100
|
||||
# define IBMCA_F_IBMCA_FINISH 101
|
||||
# define IBMCA_F_IBMCA_INIT 102
|
||||
# define IBMCA_F_IBMCA_MOD_EXP 103
|
||||
# define IBMCA_F_IBMCA_MOD_EXP_CRT 104
|
||||
# define IBMCA_F_IBMCA_RAND_BYTES 105
|
||||
# define IBMCA_F_IBMCA_RSA_MOD_EXP 106
|
||||
|
||||
/* Reason codes. */
|
||||
#define IBMCA_R_ALREADY_LOADED 100
|
||||
#define IBMCA_R_BN_CTX_FULL 101
|
||||
#define IBMCA_R_BN_EXPAND_FAIL 102
|
||||
#define IBMCA_R_CTRL_COMMAND_NOT_IMPLEMENTED 103
|
||||
#define IBMCA_R_DSO_FAILURE 104
|
||||
#define IBMCA_R_MEXP_LENGTH_TO_LARGE 105
|
||||
#define IBMCA_R_MISSING_KEY_COMPONENTS 106
|
||||
#define IBMCA_R_NOT_INITIALISED 107
|
||||
#define IBMCA_R_NOT_LOADED 108
|
||||
#define IBMCA_R_OPERANDS_TO_LARGE 109
|
||||
#define IBMCA_R_OUTLEN_TO_LARGE 110
|
||||
#define IBMCA_R_REQUEST_FAILED 111
|
||||
#define IBMCA_R_UNDERFLOW_CONDITION 112
|
||||
#define IBMCA_R_UNDERFLOW_KEYRECORD 113
|
||||
#define IBMCA_R_UNIT_FAILURE 114
|
||||
# define IBMCA_R_ALREADY_LOADED 100
|
||||
# define IBMCA_R_BN_CTX_FULL 101
|
||||
# define IBMCA_R_BN_EXPAND_FAIL 102
|
||||
# define IBMCA_R_CTRL_COMMAND_NOT_IMPLEMENTED 103
|
||||
# define IBMCA_R_DSO_FAILURE 104
|
||||
# define IBMCA_R_MEXP_LENGTH_TO_LARGE 105
|
||||
# define IBMCA_R_MISSING_KEY_COMPONENTS 106
|
||||
# define IBMCA_R_NOT_INITIALISED 107
|
||||
# define IBMCA_R_NOT_LOADED 108
|
||||
# define IBMCA_R_OPERANDS_TO_LARGE 109
|
||||
# define IBMCA_R_OUTLEN_TO_LARGE 110
|
||||
# define IBMCA_R_REQUEST_FAILED 111
|
||||
# define IBMCA_R_UNDERFLOW_CONDITION 112
|
||||
# define IBMCA_R_UNDERFLOW_KEYRECORD 113
|
||||
# define IBMCA_R_UNIT_FAILURE 114
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -1,189 +1,183 @@
|
||||
|
||||
#ifndef __ICA_OPENSSL_API_H__
|
||||
#define __ICA_OPENSSL_API_H__
|
||||
# define __ICA_OPENSSL_API_H__
|
||||
|
||||
/**
|
||||
** abstract data types for API
|
||||
**/
|
||||
|
||||
#define ICA_ADAPTER_HANDLE int
|
||||
# define ICA_ADAPTER_HANDLE int
|
||||
|
||||
#if defined(linux) || defined (_AIX)
|
||||
#define ICA_CALL
|
||||
#endif
|
||||
# if defined(linux) || defined (_AIX)
|
||||
# define ICA_CALL
|
||||
# endif
|
||||
|
||||
#if defined(WIN32) || defined(_WIN32)
|
||||
#define ICA_CALL __stdcall
|
||||
#endif
|
||||
# if defined(WIN32) || defined(_WIN32)
|
||||
# define ICA_CALL __stdcall
|
||||
# endif
|
||||
|
||||
/*------------------------------------------------*
|
||||
/* -----------------------------------------------*
|
||||
| RSA defines and typedefs |
|
||||
*------------------------------------------------*/
|
||||
/*
|
||||
* All data elements of the RSA key are in big-endian format
|
||||
* Modulus-Exponent form of key
|
||||
*
|
||||
*/
|
||||
#define MAX_EXP_SIZE 256
|
||||
#define MAX_MODULUS_SIZE 256
|
||||
#define MAX_MODEXP_SIZE (MAX_EXP_SIZE + MAX_MODULUS_SIZE)
|
||||
* All data elements of the RSA key are in big-endian format
|
||||
* Modulus-Exponent form of key
|
||||
*
|
||||
*/
|
||||
# define MAX_EXP_SIZE 256
|
||||
# define MAX_MODULUS_SIZE 256
|
||||
# define MAX_MODEXP_SIZE (MAX_EXP_SIZE + MAX_MODULUS_SIZE)
|
||||
|
||||
#define MAX_OPERAND_SIZE MAX_EXP_SIZE
|
||||
# define MAX_OPERAND_SIZE MAX_EXP_SIZE
|
||||
|
||||
typedef unsigned char ICA_KEY_RSA_MODEXPO_REC[MAX_MODEXP_SIZE];
|
||||
typedef unsigned char ICA_KEY_RSA_MODEXPO_REC[MAX_MODEXP_SIZE];
|
||||
/*
|
||||
* All data elements of the RSA key are in big-endian format
|
||||
* Chinese Remainder Thereom(CRT) form of key
|
||||
* Used only for Decrypt, the encrypt form is typically Modulus-Exponent
|
||||
*
|
||||
*/
|
||||
#define MAX_BP_SIZE 136
|
||||
#define MAX_BQ_SIZE 128
|
||||
#define MAX_NP_SIZE 136
|
||||
#define MAX_NQ_SIZE 128
|
||||
#define MAX_QINV_SIZE 136
|
||||
#define MAX_RSACRT_SIZE (MAX_BP_SIZE+MAX_BQ_SIZE+MAX_NP_SIZE+MAX_NQ_SIZE+MAX_QINV_SIZE)
|
||||
* All data elements of the RSA key are in big-endian format
|
||||
* Chinese Remainder Thereom(CRT) form of key
|
||||
* Used only for Decrypt, the encrypt form is typically Modulus-Exponent
|
||||
*
|
||||
*/
|
||||
# define MAX_BP_SIZE 136
|
||||
# define MAX_BQ_SIZE 128
|
||||
# define MAX_NP_SIZE 136
|
||||
# define MAX_NQ_SIZE 128
|
||||
# define MAX_QINV_SIZE 136
|
||||
# define MAX_RSACRT_SIZE (MAX_BP_SIZE+MAX_BQ_SIZE+MAX_NP_SIZE+MAX_NQ_SIZE+MAX_QINV_SIZE)
|
||||
|
||||
#define RSA_GEN_OPERAND_MAX 256 /* bytes */
|
||||
# define RSA_GEN_OPERAND_MAX 256/* bytes */
|
||||
|
||||
typedef unsigned char ICA_KEY_RSA_CRT_REC[MAX_RSACRT_SIZE];
|
||||
/*------------------------------------------------*
|
||||
/* -----------------------------------------------*
|
||||
| RSA key token types |
|
||||
*------------------------------------------------*/
|
||||
|
||||
#define RSA_PUBLIC_MODULUS_EXPONENT 3
|
||||
#define RSA_PKCS_PRIVATE_CHINESE_REMAINDER 6
|
||||
# define RSA_PUBLIC_MODULUS_EXPONENT 3
|
||||
# define RSA_PKCS_PRIVATE_CHINESE_REMAINDER 6
|
||||
|
||||
#define KEYTYPE_MODEXPO 1
|
||||
#define KEYTYPE_PKCSCRT 2
|
||||
# define KEYTYPE_MODEXPO 1
|
||||
# define KEYTYPE_PKCSCRT 2
|
||||
|
||||
|
||||
/*------------------------------------------------*
|
||||
/* -----------------------------------------------*
|
||||
| RSA Key Token format |
|
||||
*------------------------------------------------*/
|
||||
|
||||
/*
|
||||
/*-
|
||||
* NOTE: All the fields in the ICA_KEY_RSA_MODEXPO structure
|
||||
* (lengths, offsets, exponents, modulus, etc.) are
|
||||
* stored in big-endian format
|
||||
*/
|
||||
|
||||
typedef struct _ICA_KEY_RSA_MODEXPO
|
||||
{ unsigned int keyType; /* RSA key type. */
|
||||
unsigned int keyLength; /* Total length of the token. */
|
||||
unsigned int modulusBitLength; /* Modulus n bit length. */
|
||||
/* -- Start of the data length.*/
|
||||
unsigned int nLength; /* Modulus n = p * q */
|
||||
unsigned int expLength; /* exponent (public or private)*/
|
||||
/* e = 1/d * mod(p-1)(q-1) */
|
||||
/* -- Start of the data offsets*/
|
||||
unsigned int nOffset; /* Modulus n . */
|
||||
unsigned int expOffset; /* exponent (public or private)*/
|
||||
unsigned char reserved[112]; /* reserved area */
|
||||
/* -- Start of the variable -- */
|
||||
/* -- length token data. -- */
|
||||
typedef struct _ICA_KEY_RSA_MODEXPO {
|
||||
unsigned int keyType; /* RSA key type. */
|
||||
unsigned int keyLength; /* Total length of the token. */
|
||||
unsigned int modulusBitLength; /* Modulus n bit length. */
|
||||
/* -- Start of the data length. */
|
||||
unsigned int nLength; /* Modulus n = p * q */
|
||||
unsigned int expLength; /* exponent (public or private) */
|
||||
/* e = 1/d * mod(p-1)(q-1) */
|
||||
/* -- Start of the data offsets */
|
||||
unsigned int nOffset; /* Modulus n . */
|
||||
unsigned int expOffset; /* exponent (public or private) */
|
||||
unsigned char reserved[112]; /* reserved area */
|
||||
/* -- Start of the variable -- */
|
||||
/* -- length token data. -- */
|
||||
ICA_KEY_RSA_MODEXPO_REC keyRecord;
|
||||
} ICA_KEY_RSA_MODEXPO;
|
||||
#define SZ_HEADER_MODEXPO (sizeof(ICA_KEY_RSA_MODEXPO) - sizeof(ICA_KEY_RSA_MODEXPO_REC))
|
||||
# define SZ_HEADER_MODEXPO (sizeof(ICA_KEY_RSA_MODEXPO) - sizeof(ICA_KEY_RSA_MODEXPO_REC))
|
||||
|
||||
/*
|
||||
/*-
|
||||
* NOTE: All the fields in the ICA_KEY_RSA_CRT structure
|
||||
* (lengths, offsets, exponents, modulus, etc.) are
|
||||
* stored in big-endian format
|
||||
*/
|
||||
|
||||
typedef struct _ICA_KEY_RSA_CRT
|
||||
{ unsigned int keyType; /* RSA key type. */
|
||||
unsigned int keyLength; /* Total length of the token. */
|
||||
unsigned int modulusBitLength; /* Modulus n bit length. */
|
||||
/* -- Start of the data length.*/
|
||||
#if _AIX
|
||||
unsigned int nLength; /* Modulus n = p * q */
|
||||
#endif
|
||||
unsigned int pLength; /* Prime number p . */
|
||||
unsigned int qLength; /* Prime number q . */
|
||||
unsigned int dpLength; /* dp = d * mod(p-1) . */
|
||||
unsigned int dqLength; /* dq = d * mod(q-1) . */
|
||||
unsigned int qInvLength; /* PKCS: qInv = Ap/q */
|
||||
/* -- Start of the data offsets*/
|
||||
#if _AIX
|
||||
unsigned int nOffset; /* Modulus n . */
|
||||
#endif
|
||||
unsigned int pOffset; /* Prime number p . */
|
||||
unsigned int qOffset; /* Prime number q . */
|
||||
unsigned int dpOffset; /* dp . */
|
||||
unsigned int dqOffset; /* dq . */
|
||||
unsigned int qInvOffset; /* qInv for PKCS */
|
||||
#if _AIX
|
||||
unsigned char reserved[80]; /* reserved area */
|
||||
#else
|
||||
unsigned char reserved[88]; /* reserved area */
|
||||
#endif
|
||||
/* -- Start of the variable -- */
|
||||
/* -- length token data. -- */
|
||||
typedef struct _ICA_KEY_RSA_CRT {
|
||||
unsigned int keyType; /* RSA key type. */
|
||||
unsigned int keyLength; /* Total length of the token. */
|
||||
unsigned int modulusBitLength; /* Modulus n bit length. */
|
||||
/* -- Start of the data length. */
|
||||
# if _AIX
|
||||
unsigned int nLength; /* Modulus n = p * q */
|
||||
# endif
|
||||
unsigned int pLength; /* Prime number p . */
|
||||
unsigned int qLength; /* Prime number q . */
|
||||
unsigned int dpLength; /* dp = d * mod(p-1) . */
|
||||
unsigned int dqLength; /* dq = d * mod(q-1) . */
|
||||
unsigned int qInvLength; /* PKCS: qInv = Ap/q */
|
||||
/* -- Start of the data offsets */
|
||||
# if _AIX
|
||||
unsigned int nOffset; /* Modulus n . */
|
||||
# endif
|
||||
unsigned int pOffset; /* Prime number p . */
|
||||
unsigned int qOffset; /* Prime number q . */
|
||||
unsigned int dpOffset; /* dp . */
|
||||
unsigned int dqOffset; /* dq . */
|
||||
unsigned int qInvOffset; /* qInv for PKCS */
|
||||
# if _AIX
|
||||
unsigned char reserved[80]; /* reserved area */
|
||||
# else
|
||||
unsigned char reserved[88]; /* reserved area */
|
||||
# endif
|
||||
/* -- Start of the variable -- */
|
||||
/* -- length token data. -- */
|
||||
ICA_KEY_RSA_CRT_REC keyRecord;
|
||||
} ICA_KEY_RSA_CRT;
|
||||
#define SZ_HEADER_CRT (sizeof(ICA_KEY_RSA_CRT) - sizeof(ICA_KEY_RSA_CRT_REC))
|
||||
# define SZ_HEADER_CRT (sizeof(ICA_KEY_RSA_CRT) - sizeof(ICA_KEY_RSA_CRT_REC))
|
||||
|
||||
unsigned int
|
||||
icaOpenAdapter( unsigned int adapterId,
|
||||
ICA_ADAPTER_HANDLE *pAdapterHandle );
|
||||
icaOpenAdapter(unsigned int adapterId, ICA_ADAPTER_HANDLE * pAdapterHandle);
|
||||
|
||||
unsigned int icaCloseAdapter(ICA_ADAPTER_HANDLE adapterHandle);
|
||||
|
||||
unsigned int
|
||||
icaCloseAdapter( ICA_ADAPTER_HANDLE adapterHandle );
|
||||
icaRsaModExpo(ICA_ADAPTER_HANDLE hAdapterHandle,
|
||||
unsigned int inputDataLength,
|
||||
unsigned char *pInputData,
|
||||
ICA_KEY_RSA_MODEXPO *pKeyModExpo,
|
||||
unsigned int *pOutputDataLength, unsigned char *pOutputData);
|
||||
|
||||
unsigned int
|
||||
icaRsaModExpo( ICA_ADAPTER_HANDLE hAdapterHandle,
|
||||
unsigned int inputDataLength,
|
||||
unsigned char *pInputData,
|
||||
ICA_KEY_RSA_MODEXPO *pKeyModExpo,
|
||||
unsigned int *pOutputDataLength,
|
||||
unsigned char *pOutputData );
|
||||
icaRsaCrt(ICA_ADAPTER_HANDLE hAdapterHandle,
|
||||
unsigned int inputDataLength,
|
||||
unsigned char *pInputData,
|
||||
ICA_KEY_RSA_CRT *pKeyCrt,
|
||||
unsigned int *pOutputDataLength, unsigned char *pOutputData);
|
||||
|
||||
unsigned int
|
||||
icaRsaCrt( ICA_ADAPTER_HANDLE hAdapterHandle,
|
||||
unsigned int inputDataLength,
|
||||
unsigned char *pInputData,
|
||||
ICA_KEY_RSA_CRT *pKeyCrt,
|
||||
unsigned int *pOutputDataLength,
|
||||
unsigned char *pOutputData );
|
||||
icaRandomNumberGenerate(ICA_ADAPTER_HANDLE hAdapterHandle,
|
||||
unsigned int outputDataLength,
|
||||
unsigned char *pOutputData);
|
||||
|
||||
unsigned int
|
||||
icaRandomNumberGenerate( ICA_ADAPTER_HANDLE hAdapterHandle,
|
||||
unsigned int outputDataLength,
|
||||
unsigned char *pOutputData );
|
||||
|
||||
/* Specific macros and definitions to not have IFDEF;s all over the
|
||||
main code */
|
||||
|
||||
#if (_AIX)
|
||||
static const char *IBMCA_LIBNAME = "/lib/libica.a(shr.o)";
|
||||
#elif (WIN32)
|
||||
static const char *IBMCA_LIBNAME = "cryptica";
|
||||
#else
|
||||
static const char *IBMCA_LIBNAME = "ica";
|
||||
#endif
|
||||
|
||||
#if (WIN32)
|
||||
/*
|
||||
The ICA_KEY_RSA_MODEXPO & ICA_KEY_RSA_CRT lengths and
|
||||
offsets must be in big-endian format.
|
||||
* Specific macros and definitions to not have IFDEF;s all over the main code
|
||||
*/
|
||||
|
||||
*/
|
||||
#define CORRECT_ENDIANNESS(b) ( \
|
||||
# if (_AIX)
|
||||
static const char *IBMCA_LIBNAME = "/lib/libica.a(shr.o)";
|
||||
# elif (WIN32)
|
||||
static const char *IBMCA_LIBNAME = "cryptica";
|
||||
# else
|
||||
static const char *IBMCA_LIBNAME = "ica";
|
||||
# endif
|
||||
|
||||
# if (WIN32)
|
||||
/*
|
||||
* The ICA_KEY_RSA_MODEXPO & ICA_KEY_RSA_CRT lengths and offsets must be in
|
||||
* big-endian format.
|
||||
*
|
||||
*/
|
||||
# define CORRECT_ENDIANNESS(b) ( \
|
||||
(((unsigned long) (b) & 0x000000ff) << 24) | \
|
||||
(((unsigned long) (b) & 0x0000ff00) << 8) | \
|
||||
(((unsigned long) (b) & 0x00ff0000) >> 8) | \
|
||||
(((unsigned long) (b) & 0xff000000) >> 24) \
|
||||
)
|
||||
#define CRT_KEY_TYPE RSA_PKCS_PRIVATE_CHINESE_REMAINDER
|
||||
#define ME_KEY_TYPE RSA_PUBLIC_MODULUS_EXPONENT
|
||||
#else
|
||||
#define CORRECT_ENDIANNESS(b) (b)
|
||||
#define CRT_KEY_TYPE KEYTYPE_PKCSCRT
|
||||
#define ME_KEY_TYPE KEYTYPE_MODEXPO
|
||||
#endif
|
||||
# define CRT_KEY_TYPE RSA_PKCS_PRIVATE_CHINESE_REMAINDER
|
||||
# define ME_KEY_TYPE RSA_PUBLIC_MODULUS_EXPONENT
|
||||
# else
|
||||
# define CORRECT_ENDIANNESS(b) (b)
|
||||
# define CRT_KEY_TYPE KEYTYPE_PKCSCRT
|
||||
# define ME_KEY_TYPE KEYTYPE_MODEXPO
|
||||
# endif
|
||||
|
||||
|
||||
|
||||
#endif /* __ICA_OPENSSL_API_H__ */
|
||||
#endif /* __ICA_OPENSSL_API_H__ */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -53,7 +53,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
/*
|
||||
* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
* made to it will be overwritten when the script next updates this file,
|
||||
* only reason strings will be preserved.
|
||||
*/
|
||||
@@ -64,98 +65,94 @@
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
static ERR_STRING_DATA RSAREF_str_functs[]=
|
||||
{
|
||||
{ERR_PACK(0,RSAREF_F_BNREF_MOD_EXP,0), "BNREF_MOD_EXP"},
|
||||
{ERR_PACK(0,RSAREF_F_CIPHER_DES_CBC_CODE,0), "CIPHER_DES_CBC_CODE"},
|
||||
{ERR_PACK(0,RSAREF_F_RSAREF_BN2BIN,0), "RSAREF_BN2BIN"},
|
||||
{ERR_PACK(0,RSAREF_F_RSAREF_MOD_EXP,0), "RSAREF_MOD_EXP"},
|
||||
{ERR_PACK(0,RSAREF_F_RSAREF_PRIVATE_DECRYPT,0), "RSAREF_PRIVATE_DECRYPT"},
|
||||
{ERR_PACK(0,RSAREF_F_RSAREF_PRIVATE_ENCRYPT,0), "RSAREF_PRIVATE_ENCRYPT"},
|
||||
{ERR_PACK(0,RSAREF_F_RSAREF_PUBLIC_DECRYPT,0), "RSAREF_PUBLIC_DECRYPT"},
|
||||
{ERR_PACK(0,RSAREF_F_RSAREF_PUBLIC_ENCRYPT,0), "RSAREF_PUBLIC_ENCRYPT"},
|
||||
{ERR_PACK(0,RSAREF_F_RSA_BN2BIN,0), "RSA_BN2BIN"},
|
||||
{ERR_PACK(0,RSAREF_F_RSA_PRIVATE_DECRYPT,0), "RSA_PRIVATE_DECRYPT"},
|
||||
{ERR_PACK(0,RSAREF_F_RSA_PRIVATE_ENCRYPT,0), "RSA_PRIVATE_ENCRYPT"},
|
||||
{ERR_PACK(0,RSAREF_F_RSA_PUBLIC_DECRYPT,0), "RSA_PUBLIC_DECRYPT"},
|
||||
{ERR_PACK(0,RSAREF_F_RSA_PUBLIC_ENCRYPT,0), "RSA_PUBLIC_ENCRYPT"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA RSAREF_str_functs[] = {
|
||||
{ERR_PACK(0, RSAREF_F_BNREF_MOD_EXP, 0), "BNREF_MOD_EXP"},
|
||||
{ERR_PACK(0, RSAREF_F_CIPHER_DES_CBC_CODE, 0), "CIPHER_DES_CBC_CODE"},
|
||||
{ERR_PACK(0, RSAREF_F_RSAREF_BN2BIN, 0), "RSAREF_BN2BIN"},
|
||||
{ERR_PACK(0, RSAREF_F_RSAREF_MOD_EXP, 0), "RSAREF_MOD_EXP"},
|
||||
{ERR_PACK(0, RSAREF_F_RSAREF_PRIVATE_DECRYPT, 0),
|
||||
"RSAREF_PRIVATE_DECRYPT"},
|
||||
{ERR_PACK(0, RSAREF_F_RSAREF_PRIVATE_ENCRYPT, 0),
|
||||
"RSAREF_PRIVATE_ENCRYPT"},
|
||||
{ERR_PACK(0, RSAREF_F_RSAREF_PUBLIC_DECRYPT, 0), "RSAREF_PUBLIC_DECRYPT"},
|
||||
{ERR_PACK(0, RSAREF_F_RSAREF_PUBLIC_ENCRYPT, 0), "RSAREF_PUBLIC_ENCRYPT"},
|
||||
{ERR_PACK(0, RSAREF_F_RSA_BN2BIN, 0), "RSA_BN2BIN"},
|
||||
{ERR_PACK(0, RSAREF_F_RSA_PRIVATE_DECRYPT, 0), "RSA_PRIVATE_DECRYPT"},
|
||||
{ERR_PACK(0, RSAREF_F_RSA_PRIVATE_ENCRYPT, 0), "RSA_PRIVATE_ENCRYPT"},
|
||||
{ERR_PACK(0, RSAREF_F_RSA_PUBLIC_DECRYPT, 0), "RSA_PUBLIC_DECRYPT"},
|
||||
{ERR_PACK(0, RSAREF_F_RSA_PUBLIC_ENCRYPT, 0), "RSA_PUBLIC_ENCRYPT"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
static ERR_STRING_DATA RSAREF_str_reasons[]=
|
||||
{
|
||||
{RSAREF_R_CONTENT_ENCODING ,"content encoding"},
|
||||
{RSAREF_R_DATA ,"data"},
|
||||
{RSAREF_R_DIGEST_ALGORITHM ,"digest algorithm"},
|
||||
{RSAREF_R_ENCODING ,"encoding"},
|
||||
{RSAREF_R_ENCRYPTION_ALGORITHM ,"encryption algorithm"},
|
||||
{RSAREF_R_KEY ,"key"},
|
||||
{RSAREF_R_KEY_ENCODING ,"key encoding"},
|
||||
{RSAREF_R_LEN ,"len"},
|
||||
{RSAREF_R_LENGTH_NOT_BLOCK_ALIGNED ,"length not block aligned"},
|
||||
{RSAREF_R_MODULUS_LEN ,"modulus len"},
|
||||
{RSAREF_R_NEED_RANDOM ,"need random"},
|
||||
{RSAREF_R_PRIVATE_KEY ,"private key"},
|
||||
{RSAREF_R_PUBLIC_KEY ,"public key"},
|
||||
{RSAREF_R_SIGNATURE ,"signature"},
|
||||
{RSAREF_R_SIGNATURE_ENCODING ,"signature encoding"},
|
||||
{RSAREF_R_UNKNOWN_FAULT ,"unknown fault"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA RSAREF_str_reasons[] = {
|
||||
{RSAREF_R_CONTENT_ENCODING, "content encoding"},
|
||||
{RSAREF_R_DATA, "data"},
|
||||
{RSAREF_R_DIGEST_ALGORITHM, "digest algorithm"},
|
||||
{RSAREF_R_ENCODING, "encoding"},
|
||||
{RSAREF_R_ENCRYPTION_ALGORITHM, "encryption algorithm"},
|
||||
{RSAREF_R_KEY, "key"},
|
||||
{RSAREF_R_KEY_ENCODING, "key encoding"},
|
||||
{RSAREF_R_LEN, "len"},
|
||||
{RSAREF_R_LENGTH_NOT_BLOCK_ALIGNED, "length not block aligned"},
|
||||
{RSAREF_R_MODULUS_LEN, "modulus len"},
|
||||
{RSAREF_R_NEED_RANDOM, "need random"},
|
||||
{RSAREF_R_PRIVATE_KEY, "private key"},
|
||||
{RSAREF_R_PUBLIC_KEY, "public key"},
|
||||
{RSAREF_R_SIGNATURE, "signature"},
|
||||
{RSAREF_R_SIGNATURE_ENCODING, "signature encoding"},
|
||||
{RSAREF_R_UNKNOWN_FAULT, "unknown fault"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef RSAREF_LIB_NAME
|
||||
static ERR_STRING_DATA RSAREF_lib_name[]=
|
||||
{
|
||||
{0 ,RSAREF_LIB_NAME},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA RSAREF_lib_name[] = {
|
||||
{0, RSAREF_LIB_NAME},
|
||||
{0, NULL}
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
static int RSAREF_lib_error_code=0;
|
||||
static int RSAREF_error_init=1;
|
||||
static int RSAREF_lib_error_code = 0;
|
||||
static int RSAREF_error_init = 1;
|
||||
|
||||
static void ERR_load_RSAREF_strings(void)
|
||||
{
|
||||
if (RSAREF_lib_error_code == 0)
|
||||
RSAREF_lib_error_code=ERR_get_next_error_library();
|
||||
{
|
||||
if (RSAREF_lib_error_code == 0)
|
||||
RSAREF_lib_error_code = ERR_get_next_error_library();
|
||||
|
||||
if (RSAREF_error_init)
|
||||
{
|
||||
RSAREF_error_init=0;
|
||||
if (RSAREF_error_init) {
|
||||
RSAREF_error_init = 0;
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_load_strings(RSAREF_lib_error_code,RSAREF_str_functs);
|
||||
ERR_load_strings(RSAREF_lib_error_code,RSAREF_str_reasons);
|
||||
ERR_load_strings(RSAREF_lib_error_code, RSAREF_str_functs);
|
||||
ERR_load_strings(RSAREF_lib_error_code, RSAREF_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef RSAREF_LIB_NAME
|
||||
RSAREF_lib_name->error = ERR_PACK(RSAREF_lib_error_code,0,0);
|
||||
ERR_load_strings(0,RSAREF_lib_name);
|
||||
RSAREF_lib_name->error = ERR_PACK(RSAREF_lib_error_code, 0, 0);
|
||||
ERR_load_strings(0, RSAREF_lib_name);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_unload_RSAREF_strings(void)
|
||||
{
|
||||
if (RSAREF_error_init == 0)
|
||||
{
|
||||
{
|
||||
if (RSAREF_error_init == 0) {
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_unload_strings(RSAREF_lib_error_code,RSAREF_str_functs);
|
||||
ERR_unload_strings(RSAREF_lib_error_code,RSAREF_str_reasons);
|
||||
ERR_unload_strings(RSAREF_lib_error_code, RSAREF_str_functs);
|
||||
ERR_unload_strings(RSAREF_lib_error_code, RSAREF_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef RSAREF_LIB_NAME
|
||||
ERR_unload_strings(0,RSAREF_lib_name);
|
||||
ERR_unload_strings(0, RSAREF_lib_name);
|
||||
#endif
|
||||
RSAREF_error_init=1;
|
||||
}
|
||||
}
|
||||
RSAREF_error_init = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_RSAREF_error(int function, int reason, char *file, int line)
|
||||
{
|
||||
if (RSAREF_lib_error_code == 0)
|
||||
RSAREF_lib_error_code=ERR_get_next_error_library();
|
||||
ERR_PUT_error(RSAREF_lib_error_code,function,reason,file,line);
|
||||
}
|
||||
{
|
||||
if (RSAREF_lib_error_code == 0)
|
||||
RSAREF_lib_error_code = ERR_get_next_error_library();
|
||||
ERR_PUT_error(RSAREF_lib_error_code, function, reason, file, line);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -54,54 +54,55 @@
|
||||
*/
|
||||
|
||||
#ifndef HEADER_RSAREF_ERR_H
|
||||
#define HEADER_RSAREF_ERR_H
|
||||
# define HEADER_RSAREF_ERR_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
/*
|
||||
* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
* made after this point may be overwritten when the script is next run.
|
||||
*/
|
||||
static void ERR_load_RSAREF_strings(void);
|
||||
static void ERR_unload_RSAREF_strings(void);
|
||||
static void ERR_RSAREF_error(int function, int reason, char *file, int line);
|
||||
#define RSAREFerr(f,r) ERR_RSAREF_error((f),(r),__FILE__,__LINE__)
|
||||
# define RSAREFerr(f,r) ERR_RSAREF_error((f),(r),__FILE__,__LINE__)
|
||||
/* Error codes for the RSAREF functions. */
|
||||
|
||||
/* Function codes. */
|
||||
#define RSAREF_F_BNREF_MOD_EXP 100
|
||||
#define RSAREF_F_CIPHER_DES_CBC_CODE 112
|
||||
#define RSAREF_F_RSAREF_BN2BIN 101
|
||||
#define RSAREF_F_RSAREF_MOD_EXP 102
|
||||
#define RSAREF_F_RSAREF_PRIVATE_DECRYPT 103
|
||||
#define RSAREF_F_RSAREF_PRIVATE_ENCRYPT 104
|
||||
#define RSAREF_F_RSAREF_PUBLIC_DECRYPT 105
|
||||
#define RSAREF_F_RSAREF_PUBLIC_ENCRYPT 106
|
||||
#define RSAREF_F_RSA_BN2BIN 107
|
||||
#define RSAREF_F_RSA_PRIVATE_DECRYPT 108
|
||||
#define RSAREF_F_RSA_PRIVATE_ENCRYPT 109
|
||||
#define RSAREF_F_RSA_PUBLIC_DECRYPT 110
|
||||
#define RSAREF_F_RSA_PUBLIC_ENCRYPT 111
|
||||
# define RSAREF_F_BNREF_MOD_EXP 100
|
||||
# define RSAREF_F_CIPHER_DES_CBC_CODE 112
|
||||
# define RSAREF_F_RSAREF_BN2BIN 101
|
||||
# define RSAREF_F_RSAREF_MOD_EXP 102
|
||||
# define RSAREF_F_RSAREF_PRIVATE_DECRYPT 103
|
||||
# define RSAREF_F_RSAREF_PRIVATE_ENCRYPT 104
|
||||
# define RSAREF_F_RSAREF_PUBLIC_DECRYPT 105
|
||||
# define RSAREF_F_RSAREF_PUBLIC_ENCRYPT 106
|
||||
# define RSAREF_F_RSA_BN2BIN 107
|
||||
# define RSAREF_F_RSA_PRIVATE_DECRYPT 108
|
||||
# define RSAREF_F_RSA_PRIVATE_ENCRYPT 109
|
||||
# define RSAREF_F_RSA_PUBLIC_DECRYPT 110
|
||||
# define RSAREF_F_RSA_PUBLIC_ENCRYPT 111
|
||||
|
||||
/* Reason codes. */
|
||||
#define RSAREF_R_CONTENT_ENCODING 100
|
||||
#define RSAREF_R_DATA 101
|
||||
#define RSAREF_R_DIGEST_ALGORITHM 102
|
||||
#define RSAREF_R_ENCODING 103
|
||||
#define RSAREF_R_ENCRYPTION_ALGORITHM 104
|
||||
#define RSAREF_R_KEY 105
|
||||
#define RSAREF_R_KEY_ENCODING 106
|
||||
#define RSAREF_R_LEN 107
|
||||
#define RSAREF_R_LENGTH_NOT_BLOCK_ALIGNED 114
|
||||
#define RSAREF_R_MODULUS_LEN 108
|
||||
#define RSAREF_R_NEED_RANDOM 109
|
||||
#define RSAREF_R_PRIVATE_KEY 110
|
||||
#define RSAREF_R_PUBLIC_KEY 111
|
||||
#define RSAREF_R_SIGNATURE 112
|
||||
#define RSAREF_R_SIGNATURE_ENCODING 113
|
||||
#define RSAREF_R_UNKNOWN_FAULT 115
|
||||
# define RSAREF_R_CONTENT_ENCODING 100
|
||||
# define RSAREF_R_DATA 101
|
||||
# define RSAREF_R_DIGEST_ALGORITHM 102
|
||||
# define RSAREF_R_ENCODING 103
|
||||
# define RSAREF_R_ENCRYPTION_ALGORITHM 104
|
||||
# define RSAREF_R_KEY 105
|
||||
# define RSAREF_R_KEY_ENCODING 106
|
||||
# define RSAREF_R_LEN 107
|
||||
# define RSAREF_R_LENGTH_NOT_BLOCK_ALIGNED 114
|
||||
# define RSAREF_R_MODULUS_LEN 108
|
||||
# define RSAREF_R_NEED_RANDOM 109
|
||||
# define RSAREF_R_PRIVATE_KEY 110
|
||||
# define RSAREF_R_PUBLIC_KEY 111
|
||||
# define RSAREF_R_SIGNATURE 112
|
||||
# define RSAREF_R_SIGNATURE_ENCODING 113
|
||||
# define RSAREF_R_UNKNOWN_FAULT 115
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,140 +4,139 @@
|
||||
* for "zencod" ENGINE integration in OpenSSL project.
|
||||
*/
|
||||
|
||||
#ifndef _HW_ZENCOD_H_
|
||||
# define _HW_ZENCOD_H_
|
||||
|
||||
#ifndef _HW_ZENCOD_H_
|
||||
#define _HW_ZENCOD_H_
|
||||
# include <stdio.h>
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
# endif /* __cplusplus */
|
||||
|
||||
#define ZENBRIDGE_MAX_KEYSIZE_RSA 2048
|
||||
#define ZENBRIDGE_MAX_KEYSIZE_RSA_CRT 1024
|
||||
#define ZENBRIDGE_MAX_KEYSIZE_DSA_SIGN 1024
|
||||
#define ZENBRIDGE_MAX_KEYSIZE_DSA_VRFY 1024
|
||||
# define ZENBRIDGE_MAX_KEYSIZE_RSA 2048
|
||||
# define ZENBRIDGE_MAX_KEYSIZE_RSA_CRT 1024
|
||||
# define ZENBRIDGE_MAX_KEYSIZE_DSA_SIGN 1024
|
||||
# define ZENBRIDGE_MAX_KEYSIZE_DSA_VRFY 1024
|
||||
|
||||
/* Library version computation */
|
||||
#define ZENBRIDGE_VERSION_MAJOR(x) (((x) >> 16) | 0xff)
|
||||
#define ZENBRIDGE_VERSION_MINOR(x) (((x) >> 8) | 0xff)
|
||||
#define ZENBRIDGE_VERSION_PATCH(x) (((x) >> 0) | 0xff)
|
||||
#define ZENBRIDGE_VERSION(x, y, z) ((x) << 16 | (y) << 8 | (z))
|
||||
# define ZENBRIDGE_VERSION_MAJOR(x) (((x) >> 16) | 0xff)
|
||||
# define ZENBRIDGE_VERSION_MINOR(x) (((x) >> 8) | 0xff)
|
||||
# define ZENBRIDGE_VERSION_PATCH(x) (((x) >> 0) | 0xff)
|
||||
# define ZENBRIDGE_VERSION(x, y, z) ((x) << 16 | (y) << 8 | (z))
|
||||
|
||||
/*
|
||||
* Memory type
|
||||
*/
|
||||
typedef struct zencod_number_s {
|
||||
unsigned long len;
|
||||
unsigned char *data;
|
||||
} zen_nb_t;
|
||||
/*
|
||||
* Memory type
|
||||
*/
|
||||
typedef struct zencod_number_s {
|
||||
unsigned long len;
|
||||
unsigned char *data;
|
||||
} zen_nb_t;
|
||||
|
||||
#define KEY zen_nb_t
|
||||
# define KEY zen_nb_t
|
||||
|
||||
/*
|
||||
* Misc
|
||||
*/
|
||||
typedef int t_zencod_lib_version(void);
|
||||
typedef int t_zencod_hw_version(void);
|
||||
typedef int t_zencod_test(void);
|
||||
typedef int t_zencod_dump_key(FILE *stream, char *msg, KEY * key);
|
||||
|
||||
/*
|
||||
* Misc
|
||||
*/
|
||||
typedef int t_zencod_lib_version (void);
|
||||
typedef int t_zencod_hw_version (void);
|
||||
typedef int t_zencod_test (void);
|
||||
typedef int t_zencod_dump_key (FILE *stream, char *msg, KEY *key);
|
||||
/*
|
||||
* Key management tools
|
||||
*/
|
||||
typedef KEY *t_zencod_new_number(unsigned long len, unsigned char *data);
|
||||
typedef int t_zencod_init_number(KEY * n, unsigned long len,
|
||||
unsigned char *data);
|
||||
typedef unsigned long t_zencod_bytes2bits(unsigned char *n,
|
||||
unsigned long bytes);
|
||||
typedef unsigned long t_zencod_bits2bytes(unsigned long bits);
|
||||
|
||||
|
||||
/*
|
||||
* Key management tools
|
||||
*/
|
||||
typedef KEY *t_zencod_new_number (unsigned long len, unsigned char *data);
|
||||
typedef int t_zencod_init_number (KEY *n, unsigned long len, unsigned char *data);
|
||||
typedef unsigned long t_zencod_bytes2bits (unsigned char *n, unsigned long bytes);
|
||||
typedef unsigned long t_zencod_bits2bytes (unsigned long bits);
|
||||
|
||||
|
||||
/*
|
||||
* RSA API
|
||||
*/
|
||||
/*
|
||||
* RSA API
|
||||
*/
|
||||
/* Compute modular exponential : y = x**e | n */
|
||||
typedef int t_zencod_rsa_mod_exp (KEY *y, KEY *x, KEY *n, KEY *e);
|
||||
/* Compute modular exponential : y1 = (x | p)**edp | p, y2 = (x | p)**edp | p, y = y2 + (qinv * (y1 - y2) | p) * q */
|
||||
typedef int t_zencod_rsa_mod_exp_crt (KEY *y, KEY *x, KEY *p, KEY *q,
|
||||
KEY *edp, KEY *edq, KEY *qinv);
|
||||
typedef int t_zencod_rsa_mod_exp(KEY * y, KEY * x, KEY * n, KEY * e);
|
||||
/*
|
||||
* Compute modular exponential : y1 = (x | p)**edp | p, y2 = (x | p)**edp
|
||||
* | p, y = y2 + (qinv * (y1 - y2) | p) * q
|
||||
*/
|
||||
typedef int t_zencod_rsa_mod_exp_crt(KEY * y, KEY * x, KEY * p, KEY * q,
|
||||
KEY * edp, KEY * edq, KEY * qinv);
|
||||
|
||||
/*
|
||||
* DSA API
|
||||
*/
|
||||
typedef int t_zencod_dsa_do_sign(unsigned int hash, KEY * data,
|
||||
KEY * random, KEY * p, KEY * q, KEY * g,
|
||||
KEY * x, KEY * r, KEY * s);
|
||||
typedef int t_zencod_dsa_do_verify(unsigned int hash, KEY * data, KEY * p,
|
||||
KEY * q, KEY * g, KEY * y, KEY * r,
|
||||
KEY * s, KEY * v);
|
||||
|
||||
/*
|
||||
* DSA API
|
||||
*/
|
||||
typedef int t_zencod_dsa_do_sign (unsigned int hash, KEY *data, KEY *random,
|
||||
KEY *p, KEY *q, KEY *g, KEY *x, KEY *r, KEY *s);
|
||||
typedef int t_zencod_dsa_do_verify (unsigned int hash, KEY *data,
|
||||
KEY *p, KEY *q, KEY *g, KEY *y,
|
||||
KEY *r, KEY *s, KEY *v);
|
||||
/*
|
||||
* DH API
|
||||
*/
|
||||
/* Key generation : compute public value y = g**x | n */
|
||||
typedef int t_zencod_dh_generate_key(KEY * y, KEY * x, KEY * g, KEY * n,
|
||||
int gen_x);
|
||||
typedef int t_zencod_dh_compute_key(KEY * k, KEY * y, KEY * x, KEY * n);
|
||||
|
||||
/*
|
||||
* RNG API
|
||||
*/
|
||||
# define ZENBRIDGE_RNG_DIRECT 0
|
||||
# define ZENBRIDGE_RNG_SHA1 1
|
||||
typedef int t_zencod_rand_bytes(KEY * rand, unsigned int flags);
|
||||
|
||||
/*
|
||||
* DH API
|
||||
*/
|
||||
/* Key generation : compute public value y = g**x | n */
|
||||
typedef int t_zencod_dh_generate_key (KEY *y, KEY *x, KEY *g, KEY *n, int gen_x);
|
||||
typedef int t_zencod_dh_compute_key (KEY *k, KEY *y, KEY *x, KEY *n);
|
||||
/*
|
||||
* Math API
|
||||
*/
|
||||
typedef int t_zencod_math_mod_exp(KEY * r, KEY * a, KEY * e, KEY * n);
|
||||
|
||||
|
||||
/*
|
||||
* RNG API
|
||||
*/
|
||||
#define ZENBRIDGE_RNG_DIRECT 0
|
||||
#define ZENBRIDGE_RNG_SHA1 1
|
||||
typedef int t_zencod_rand_bytes (KEY *rand, unsigned int flags);
|
||||
|
||||
|
||||
/*
|
||||
* Math API
|
||||
*/
|
||||
typedef int t_zencod_math_mod_exp (KEY *r, KEY *a, KEY *e, KEY *n);
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Symetric API
|
||||
*/
|
||||
/*
|
||||
* Symetric API
|
||||
*/
|
||||
/* Define a data structure for digests operations */
|
||||
typedef struct ZEN_data_st
|
||||
{
|
||||
unsigned int HashBufferSize ;
|
||||
unsigned char *HashBuffer ;
|
||||
} ZEN_MD_DATA ;
|
||||
typedef struct ZEN_data_st {
|
||||
unsigned int HashBufferSize;
|
||||
unsigned char *HashBuffer;
|
||||
} ZEN_MD_DATA;
|
||||
|
||||
/*
|
||||
* Functions for Digest (MD5, SHA1) stuff
|
||||
*/
|
||||
/* output : output data buffer */
|
||||
/* input : input data buffer */
|
||||
/* algo : hash algorithm, MD5 or SHA1 */
|
||||
/* typedef int t_zencod_hash ( KEY *output, const KEY *input, int algo ) ;
|
||||
* typedef int t_zencod_sha_hash ( KEY *output, const KEY *input, int algo ) ;
|
||||
*/
|
||||
/* For now separate this stuff that mad it easier to test */
|
||||
typedef int t_zencod_md5_init ( ZEN_MD_DATA *data ) ;
|
||||
typedef int t_zencod_md5_update ( ZEN_MD_DATA *data, const KEY *input ) ;
|
||||
typedef int t_zencod_md5_do_final ( ZEN_MD_DATA *data, KEY *output ) ;
|
||||
/*
|
||||
* Functions for Digest (MD5, SHA1) stuff
|
||||
*/
|
||||
/* output : output data buffer */
|
||||
/* input : input data buffer */
|
||||
/* algo : hash algorithm, MD5 or SHA1 */
|
||||
/*-
|
||||
* typedef int t_zencod_hash ( KEY *output, const KEY *input, int algo ) ;
|
||||
* typedef int t_zencod_sha_hash ( KEY *output, const KEY *input, int algo ) ;
|
||||
*/
|
||||
/* For now separate this stuff that mad it easier to test */
|
||||
typedef int t_zencod_md5_init(ZEN_MD_DATA *data);
|
||||
typedef int t_zencod_md5_update(ZEN_MD_DATA *data, const KEY * input);
|
||||
typedef int t_zencod_md5_do_final(ZEN_MD_DATA *data, KEY * output);
|
||||
|
||||
typedef int t_zencod_sha1_init ( ZEN_MD_DATA *data ) ;
|
||||
typedef int t_zencod_sha1_update ( ZEN_MD_DATA *data, const KEY *input ) ;
|
||||
typedef int t_zencod_sha1_do_final ( ZEN_MD_DATA *data, KEY *output ) ;
|
||||
typedef int t_zencod_sha1_init(ZEN_MD_DATA *data);
|
||||
typedef int t_zencod_sha1_update(ZEN_MD_DATA *data, const KEY * input);
|
||||
typedef int t_zencod_sha1_do_final(ZEN_MD_DATA *data, KEY * output);
|
||||
|
||||
|
||||
/*
|
||||
* Functions for Cipher (RC4, DES, 3DES) stuff
|
||||
*/
|
||||
/*
|
||||
* Functions for Cipher (RC4, DES, 3DES) stuff
|
||||
*/
|
||||
/* output : output data buffer */
|
||||
/* input : input data buffer */
|
||||
/* key : rc4 key data */
|
||||
/* index_1 : value of index x from RC4 key structure */
|
||||
/* index_2 : value of index y from RC4 key structure */
|
||||
/* Be carefull : RC4 key should be expanded before calling this method (Should we provide an expand function ??) */
|
||||
typedef int t_zencod_rc4_cipher ( KEY *output, const KEY *input, const KEY *key,
|
||||
unsigned char *index_1, unsigned char *index_2, int mode ) ;
|
||||
/*
|
||||
* Be carefull : RC4 key should be expanded before calling this method
|
||||
* (Should we provide an expand function ??)
|
||||
*/
|
||||
typedef int t_zencod_rc4_cipher(KEY * output, const KEY * input,
|
||||
const KEY * key, unsigned char *index_1,
|
||||
unsigned char *index_2, int mode);
|
||||
|
||||
/* output : output data buffer */
|
||||
/* input : input data buffer */
|
||||
@@ -147,14 +146,14 @@ typedef int t_zencod_rc4_cipher ( KEY *output, const KEY *input, const KEY *key,
|
||||
/* iv : initial vector */
|
||||
/* mode : xdes mode (encrypt or decrypt) */
|
||||
/* Be carefull : In DES mode key_1 = key_2 = key_3 (as far as i can see !!) */
|
||||
typedef int t_zencod_xdes_cipher ( KEY *output, const KEY *input, const KEY *key_1,
|
||||
const KEY *key_2, const KEY *key_3, const KEY *iv, int mode ) ;
|
||||
typedef int t_zencod_xdes_cipher(KEY * output, const KEY * input,
|
||||
const KEY * key_1, const KEY * key_2,
|
||||
const KEY * key_3, const KEY * iv,
|
||||
int mode);
|
||||
|
||||
# undef KEY
|
||||
|
||||
#undef KEY
|
||||
|
||||
#ifdef __cplusplus
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* !_HW_ZENCOD_H_ */
|
||||
# endif /* __cplusplus */
|
||||
#endif /* !_HW_ZENCOD_H_ */
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -53,7 +53,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
/*
|
||||
* NOTE: this file was auto generated by the mkerr.pl script: any changes
|
||||
* made to it will be overwritten when the script next updates this file,
|
||||
* only reason strings will be preserved.
|
||||
*/
|
||||
@@ -64,88 +65,83 @@
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
static ERR_STRING_DATA ZENCOD_str_functs[]=
|
||||
{
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_BN_MOD_EXP,0), "ZENCOD_BN_MOD_EXP"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_CTRL,0), "ZENCOD_CTRL"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_DH_COMPUTE,0), "ZENCOD_DH_COMPUTE"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_DH_GENERATE,0), "ZENCOD_DH_GENERATE"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_DSA_DO_SIGN,0), "ZENCOD_DSA_DO_SIGN"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_DSA_DO_VERIFY,0), "ZENCOD_DSA_DO_VERIFY"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_FINISH,0), "ZENCOD_FINISH"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_INIT,0), "ZENCOD_INIT"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_RAND,0), "ZENCOD_RAND"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_RSA_MOD_EXP,0), "ZENCOD_RSA_MOD_EXP"},
|
||||
{ERR_PACK(0,ZENCOD_F_ZENCOD_RSA_MOD_EXP_CRT,0), "ZENCOD_RSA_MOD_EXP_CRT"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA ZENCOD_str_functs[] = {
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_BN_MOD_EXP, 0), "ZENCOD_BN_MOD_EXP"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_CTRL, 0), "ZENCOD_CTRL"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_DH_COMPUTE, 0), "ZENCOD_DH_COMPUTE"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_DH_GENERATE, 0), "ZENCOD_DH_GENERATE"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_DSA_DO_SIGN, 0), "ZENCOD_DSA_DO_SIGN"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_DSA_DO_VERIFY, 0), "ZENCOD_DSA_DO_VERIFY"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_FINISH, 0), "ZENCOD_FINISH"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_INIT, 0), "ZENCOD_INIT"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_RAND, 0), "ZENCOD_RAND"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_RSA_MOD_EXP, 0), "ZENCOD_RSA_MOD_EXP"},
|
||||
{ERR_PACK(0, ZENCOD_F_ZENCOD_RSA_MOD_EXP_CRT, 0),
|
||||
"ZENCOD_RSA_MOD_EXP_CRT"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
static ERR_STRING_DATA ZENCOD_str_reasons[]=
|
||||
{
|
||||
{ZENCOD_R_ALREADY_LOADED ,"already loaded"},
|
||||
{ZENCOD_R_BAD_KEY_COMPONENTS ,"bad key components"},
|
||||
{ZENCOD_R_BN_EXPAND_FAIL ,"bn expand fail"},
|
||||
{ZENCOD_R_CTRL_COMMAND_NOT_IMPLEMENTED ,"ctrl command not implemented"},
|
||||
{ZENCOD_R_DSO_FAILURE ,"dso failure"},
|
||||
{ZENCOD_R_NOT_LOADED ,"not loaded"},
|
||||
{ZENCOD_R_REQUEST_FAILED ,"request failed"},
|
||||
{ZENCOD_R_UNIT_FAILURE ,"unit failure"},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA ZENCOD_str_reasons[] = {
|
||||
{ZENCOD_R_ALREADY_LOADED, "already loaded"},
|
||||
{ZENCOD_R_BAD_KEY_COMPONENTS, "bad key components"},
|
||||
{ZENCOD_R_BN_EXPAND_FAIL, "bn expand fail"},
|
||||
{ZENCOD_R_CTRL_COMMAND_NOT_IMPLEMENTED, "ctrl command not implemented"},
|
||||
{ZENCOD_R_DSO_FAILURE, "dso failure"},
|
||||
{ZENCOD_R_NOT_LOADED, "not loaded"},
|
||||
{ZENCOD_R_REQUEST_FAILED, "request failed"},
|
||||
{ZENCOD_R_UNIT_FAILURE, "unit failure"},
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef ZENCOD_LIB_NAME
|
||||
static ERR_STRING_DATA ZENCOD_lib_name[]=
|
||||
{
|
||||
{0 ,ZENCOD_LIB_NAME},
|
||||
{0,NULL}
|
||||
};
|
||||
static ERR_STRING_DATA ZENCOD_lib_name[] = {
|
||||
{0, ZENCOD_LIB_NAME},
|
||||
{0, NULL}
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
static int ZENCOD_lib_error_code=0;
|
||||
static int ZENCOD_error_init=1;
|
||||
static int ZENCOD_lib_error_code = 0;
|
||||
static int ZENCOD_error_init = 1;
|
||||
|
||||
static void ERR_load_ZENCOD_strings(void)
|
||||
{
|
||||
if (ZENCOD_lib_error_code == 0)
|
||||
ZENCOD_lib_error_code=ERR_get_next_error_library();
|
||||
{
|
||||
if (ZENCOD_lib_error_code == 0)
|
||||
ZENCOD_lib_error_code = ERR_get_next_error_library();
|
||||
|
||||
if (ZENCOD_error_init)
|
||||
{
|
||||
ZENCOD_error_init=0;
|
||||
if (ZENCOD_error_init) {
|
||||
ZENCOD_error_init = 0;
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_load_strings(ZENCOD_lib_error_code,ZENCOD_str_functs);
|
||||
ERR_load_strings(ZENCOD_lib_error_code,ZENCOD_str_reasons);
|
||||
ERR_load_strings(ZENCOD_lib_error_code, ZENCOD_str_functs);
|
||||
ERR_load_strings(ZENCOD_lib_error_code, ZENCOD_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef ZENCOD_LIB_NAME
|
||||
ZENCOD_lib_name->error = ERR_PACK(ZENCOD_lib_error_code,0,0);
|
||||
ERR_load_strings(0,ZENCOD_lib_name);
|
||||
ZENCOD_lib_name->error = ERR_PACK(ZENCOD_lib_error_code, 0, 0);
|
||||
ERR_load_strings(0, ZENCOD_lib_name);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_unload_ZENCOD_strings(void)
|
||||
{
|
||||
if (ZENCOD_error_init == 0)
|
||||
{
|
||||
{
|
||||
if (ZENCOD_error_init == 0) {
|
||||
#ifndef OPENSSL_NO_ERR
|
||||
ERR_unload_strings(ZENCOD_lib_error_code,ZENCOD_str_functs);
|
||||
ERR_unload_strings(ZENCOD_lib_error_code,ZENCOD_str_reasons);
|
||||
ERR_unload_strings(ZENCOD_lib_error_code, ZENCOD_str_functs);
|
||||
ERR_unload_strings(ZENCOD_lib_error_code, ZENCOD_str_reasons);
|
||||
#endif
|
||||
|
||||
#ifdef ZENCOD_LIB_NAME
|
||||
ERR_unload_strings(0,ZENCOD_lib_name);
|
||||
ERR_unload_strings(0, ZENCOD_lib_name);
|
||||
#endif
|
||||
ZENCOD_error_init=1;
|
||||
}
|
||||
}
|
||||
ZENCOD_error_init = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static void ERR_ZENCOD_error(int function, int reason, char *file, int line)
|
||||
{
|
||||
if (ZENCOD_lib_error_code == 0)
|
||||
ZENCOD_lib_error_code=ERR_get_next_error_library();
|
||||
ERR_PUT_error(ZENCOD_lib_error_code,function,reason,file,line);
|
||||
}
|
||||
{
|
||||
if (ZENCOD_lib_error_code == 0)
|
||||
ZENCOD_lib_error_code = ERR_get_next_error_library();
|
||||
ERR_PUT_error(ZENCOD_lib_error_code, function, reason, file, line);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
@@ -53,45 +53,46 @@
|
||||
*/
|
||||
|
||||
#ifndef HEADER_ZENCOD_ERR_H
|
||||
#define HEADER_ZENCOD_ERR_H
|
||||
# define HEADER_ZENCOD_ERR_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* BEGIN ERROR CODES */
|
||||
/* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
/*
|
||||
* The following lines are auto generated by the script mkerr.pl. Any changes
|
||||
* made after this point may be overwritten when the script is next run.
|
||||
*/
|
||||
static void ERR_load_ZENCOD_strings(void);
|
||||
static void ERR_unload_ZENCOD_strings(void);
|
||||
static void ERR_ZENCOD_error(int function, int reason, char *file, int line);
|
||||
#define ZENCODerr(f,r) ERR_ZENCOD_error((f),(r),__FILE__,__LINE__)
|
||||
# define ZENCODerr(f,r) ERR_ZENCOD_error((f),(r),__FILE__,__LINE__)
|
||||
|
||||
/* Error codes for the ZENCOD functions. */
|
||||
|
||||
/* Function codes. */
|
||||
#define ZENCOD_F_ZENCOD_BN_MOD_EXP 100
|
||||
#define ZENCOD_F_ZENCOD_CTRL 101
|
||||
#define ZENCOD_F_ZENCOD_DH_COMPUTE 102
|
||||
#define ZENCOD_F_ZENCOD_DH_GENERATE 103
|
||||
#define ZENCOD_F_ZENCOD_DSA_DO_SIGN 104
|
||||
#define ZENCOD_F_ZENCOD_DSA_DO_VERIFY 105
|
||||
#define ZENCOD_F_ZENCOD_FINISH 106
|
||||
#define ZENCOD_F_ZENCOD_INIT 107
|
||||
#define ZENCOD_F_ZENCOD_RAND 108
|
||||
#define ZENCOD_F_ZENCOD_RSA_MOD_EXP 109
|
||||
#define ZENCOD_F_ZENCOD_RSA_MOD_EXP_CRT 110
|
||||
# define ZENCOD_F_ZENCOD_BN_MOD_EXP 100
|
||||
# define ZENCOD_F_ZENCOD_CTRL 101
|
||||
# define ZENCOD_F_ZENCOD_DH_COMPUTE 102
|
||||
# define ZENCOD_F_ZENCOD_DH_GENERATE 103
|
||||
# define ZENCOD_F_ZENCOD_DSA_DO_SIGN 104
|
||||
# define ZENCOD_F_ZENCOD_DSA_DO_VERIFY 105
|
||||
# define ZENCOD_F_ZENCOD_FINISH 106
|
||||
# define ZENCOD_F_ZENCOD_INIT 107
|
||||
# define ZENCOD_F_ZENCOD_RAND 108
|
||||
# define ZENCOD_F_ZENCOD_RSA_MOD_EXP 109
|
||||
# define ZENCOD_F_ZENCOD_RSA_MOD_EXP_CRT 110
|
||||
|
||||
/* Reason codes. */
|
||||
#define ZENCOD_R_ALREADY_LOADED 100
|
||||
#define ZENCOD_R_BAD_KEY_COMPONENTS 101
|
||||
#define ZENCOD_R_BN_EXPAND_FAIL 102
|
||||
#define ZENCOD_R_CTRL_COMMAND_NOT_IMPLEMENTED 103
|
||||
#define ZENCOD_R_DSO_FAILURE 104
|
||||
#define ZENCOD_R_NOT_LOADED 105
|
||||
#define ZENCOD_R_REQUEST_FAILED 106
|
||||
#define ZENCOD_R_UNIT_FAILURE 107
|
||||
# define ZENCOD_R_ALREADY_LOADED 100
|
||||
# define ZENCOD_R_BAD_KEY_COMPONENTS 101
|
||||
# define ZENCOD_R_BN_EXPAND_FAIL 102
|
||||
# define ZENCOD_R_CTRL_COMMAND_NOT_IMPLEMENTED 103
|
||||
# define ZENCOD_R_DSO_FAILURE 104
|
||||
# define ZENCOD_R_NOT_LOADED 105
|
||||
# define ZENCOD_R_REQUEST_FAILED 106
|
||||
# define ZENCOD_R_UNIT_FAILURE 107
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user