Unverified Commit bf6cefc5 authored by kladko's avatar kladko

SKALE-3067-cleanup-sgx

parent e0ddaf50
This diff is collapsed.
...@@ -38,13 +38,13 @@ using namespace std; ...@@ -38,13 +38,13 @@ using namespace std;
thread_local uint8_t decryptedDkgPoly[DKG_BUFER_LENGTH]; thread_local uint8_t decryptedDkgPoly[DKG_BUFER_LENGTH];
uint8_t* getThreadLocalDecryptedDkgPoly() { uint8_t *getThreadLocalDecryptedDkgPoly() {
return decryptedDkgPoly; return decryptedDkgPoly;
} }
string *stringFromKey(libff::alt_bn128_Fr *_key) { string *stringFromKey(libff::alt_bn128_Fr *_key) {
try {
mpz_t t; mpz_t t;
mpz_init(t); mpz_init(t);
...@@ -56,9 +56,17 @@ string *stringFromKey(libff::alt_bn128_Fr *_key) { ...@@ -56,9 +56,17 @@ string *stringFromKey(libff::alt_bn128_Fr *_key) {
mpz_clear(t); mpz_clear(t);
return new string(tmp); return new string(tmp);
} catch (exception &e) {
LOG_ERROR(e.what());
return nullptr;
} catch (...) {
LOG_ERROR("Unknown throwable");
return nullptr;
}
} }
string *stringFromFq(libff::alt_bn128_Fq *_fq) { string *stringFromFq(libff::alt_bn128_Fq *_fq) {
try {
mpz_t t; mpz_t t;
mpz_init(t); mpz_init(t);
...@@ -70,9 +78,18 @@ string *stringFromFq(libff::alt_bn128_Fq *_fq) { ...@@ -70,9 +78,18 @@ string *stringFromFq(libff::alt_bn128_Fq *_fq) {
mpz_clear(t); mpz_clear(t);
return new string(tmp); return new string(tmp);
} catch (exception &e) {
LOG_ERROR(e.what());
return nullptr;
} catch (...) {
LOG_ERROR("Unknown throwable");
return nullptr;
}
} }
string *stringFromG1(libff::alt_bn128_G1 *_g1) { string *stringFromG1(libff::alt_bn128_G1 *_g1) {
try {
_g1->to_affine_coordinates(); _g1->to_affine_coordinates();
auto sX = stringFromFq(&_g1->X); auto sX = stringFromFq(&_g1->X);
...@@ -84,18 +101,36 @@ string *stringFromG1(libff::alt_bn128_G1 *_g1) { ...@@ -84,18 +101,36 @@ string *stringFromG1(libff::alt_bn128_G1 *_g1) {
delete (sY); delete (sY);
return sG1; return sG1;
} catch (exception &e) {
LOG_ERROR(e.what());
return nullptr;
} catch (...) {
LOG_ERROR("Unknown throwable");
return nullptr;
}
} }
libff::alt_bn128_Fr *keyFromString(const char *_keyStringHex) { libff::alt_bn128_Fr *keyFromString(const char *_keyStringHex) {
try {
mpz_t skey; mpz_t skey;
mpz_init(skey); mpz_init(skey);
mpz_set_str(skey, _keyStringHex, 16); mpz_set_str(skey, _keyStringHex, 16);
char skey_dec[mpz_sizeinbase (skey, 10) + 2]; char skey_dec[mpz_sizeinbase(skey, 10) + 2];
mpz_get_str(skey_dec, 10, skey); mpz_get_str(skey_dec, 10, skey);
mpz_clear(skey); mpz_clear(skey);
return new libff::alt_bn128_Fr(skey_dec); return new libff::alt_bn128_Fr(skey_dec);
} catch (exception &e) {
LOG_ERROR(e.what());
return nullptr;
} catch (...) {
LOG_ERROR("Unknown throwable");
return nullptr;
}
} }
int inited = 0; int inited = 0;
...@@ -108,11 +143,12 @@ void enclave_init() { ...@@ -108,11 +143,12 @@ void enclave_init() {
} }
bool enclave_sign(const char *_keyString, const char *_hashXString, const char *_hashYString, bool enclave_sign(const char *_keyString, const char *_hashXString, const char *_hashYString,
char* sig) { char *sig) {
try {
auto key = keyFromString(_keyString); auto key = keyFromString(_keyString);
if (key == nullptr) { if (key == nullptr) {
throw exception(); throw invalid_argument("Null key");
} }
libff::alt_bn128_Fq hashX(_hashXString); libff::alt_bn128_Fq hashX(_hashXString);
...@@ -136,9 +172,18 @@ bool enclave_sign(const char *_keyString, const char *_hashXString, const char * ...@@ -136,9 +172,18 @@ bool enclave_sign(const char *_keyString, const char *_hashXString, const char *
delete r; delete r;
return true; return true;
} catch (exception &e) {
LOG_ERROR(e.what());
return false;
} catch (...) {
LOG_ERROR("Unknown throwable");
return false;
}
} }
void carray2Hex(const unsigned char *d, int _len, char* _hexArray) { void carray2Hex(const unsigned char *d, int _len, char *_hexArray) {
char hexval[16] = {'0', '1', '2', '3', '4', '5', '6', '7', char hexval[16] = {'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
...@@ -160,8 +205,8 @@ int char2int(char _input) { ...@@ -160,8 +205,8 @@ int char2int(char _input) {
return -1; return -1;
} }
bool hex2carray2(const char * _hex, uint64_t *_bin_len, bool hex2carray2(const char *_hex, uint64_t *_bin_len,
uint8_t* _bin, const int _max_length ) { uint8_t *_bin, const int _max_length) {
int len = strnlen(_hex, _max_length); int len = strnlen(_hex, _max_length);
if (len == 0 && len % 2 == 1) if (len == 0 && len % 2 == 1)
...@@ -170,8 +215,8 @@ bool hex2carray2(const char * _hex, uint64_t *_bin_len, ...@@ -170,8 +215,8 @@ bool hex2carray2(const char * _hex, uint64_t *_bin_len,
*_bin_len = len / 2; *_bin_len = len / 2;
for (int i = 0; i < len / 2; i++) { for (int i = 0; i < len / 2; i++) {
int high = char2int((char)_hex[i * 2]); int high = char2int((char) _hex[i * 2]);
int low = char2int((char)_hex[i * 2 + 1]); int low = char2int((char) _hex[i * 2 + 1]);
if (high < 0 || low < 0) { if (high < 0 || low < 0) {
return false; return false;
...@@ -183,8 +228,8 @@ bool hex2carray2(const char * _hex, uint64_t *_bin_len, ...@@ -183,8 +228,8 @@ bool hex2carray2(const char * _hex, uint64_t *_bin_len,
return true; return true;
} }
bool hex2carray(const char * _hex, uint64_t *_bin_len, bool hex2carray(const char *_hex, uint64_t *_bin_len,
uint8_t* _bin ) { uint8_t *_bin) {
int len = strnlen(_hex, 2 * BUF_LEN); int len = strnlen(_hex, 2 * BUF_LEN);
if (len == 0 && len % 2 == 1) if (len == 0 && len % 2 == 1)
...@@ -193,8 +238,8 @@ bool hex2carray(const char * _hex, uint64_t *_bin_len, ...@@ -193,8 +238,8 @@ bool hex2carray(const char * _hex, uint64_t *_bin_len,
*_bin_len = len / 2; *_bin_len = len / 2;
for (int i = 0; i < len / 2; i++) { for (int i = 0; i < len / 2; i++) {
int high = char2int((char)_hex[i * 2]); int high = char2int((char) _hex[i * 2]);
int low = char2int((char)_hex[i * 2 + 1]); int low = char2int((char) _hex[i * 2 + 1]);
if (high < 0 || low < 0) { if (high < 0 || low < 0) {
return false; return false;
...@@ -206,11 +251,13 @@ bool hex2carray(const char * _hex, uint64_t *_bin_len, ...@@ -206,11 +251,13 @@ bool hex2carray(const char * _hex, uint64_t *_bin_len,
return true; return true;
} }
enum log_level {L_TRACE = 0, L_DEBUG = 1, L_INFO = 2, L_WARNING = 3, L_ERROR = 4 }; enum log_level {
L_TRACE = 0, L_DEBUG = 1, L_INFO = 2, L_WARNING = 3, L_ERROR = 4
};
uint32_t globalLogLevel_ = 2; uint32_t globalLogLevel_ = 2;
void logMsg(log_level _level, const char* _msg) { void logMsg(log_level _level, const char *_msg) {
if (_level < globalLogLevel_) if (_level < globalLogLevel_)
return; return;
...@@ -225,19 +272,19 @@ void logMsg(log_level _level, const char* _msg) { ...@@ -225,19 +272,19 @@ void logMsg(log_level _level, const char* _msg) {
} }
EXTERNC void LOG_INFO(const char* _msg) { EXTERNC void LOG_INFO(const char *_msg) {
logMsg(L_INFO, _msg); logMsg(L_INFO, _msg);
}; };
EXTERNC void LOG_WARN(const char* _msg) { EXTERNC void LOG_WARN(const char *_msg) {
logMsg(L_WARNING, _msg); logMsg(L_WARNING, _msg);
}; };
EXTERNC void LOG_ERROR(const char* _msg) { EXTERNC void LOG_ERROR(const char *_msg) {
logMsg(L_ERROR, _msg); logMsg(L_ERROR, _msg);
}; };
EXTERNC void LOG_DEBUG(const char* _msg) { EXTERNC void LOG_DEBUG(const char *_msg) {
logMsg(L_DEBUG, _msg); logMsg(L_DEBUG, _msg);
}; };
EXTERNC void LOG_TRACE(const char* _msg) { EXTERNC void LOG_TRACE(const char *_msg) {
logMsg(L_TRACE, _msg); logMsg(L_TRACE, _msg);
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment