Fixing

parent af3fc638
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
// //
#define GMP_WITH_SGX #define GMP_WITH_SGX
#include <string.h> #include <string.h>
#include <cstdint> #include <cstdint>
#include "../sgxwallet_common.h" #include "../sgxwallet_common.h"
...@@ -27,7 +28,7 @@ std::string *stringFromKey(libff::alt_bn128_Fr *_key) { ...@@ -27,7 +28,7 @@ std::string *stringFromKey(libff::alt_bn128_Fr *_key) {
return new std::string(tmp); return new std::string(tmp);
} }
std::string *stringFromFq(libff::alt_bn128_Fq*_fq) { std::string *stringFromFq(libff::alt_bn128_Fq *_fq) {
mpz_t t; mpz_t t;
mpz_init(t); mpz_init(t);
...@@ -52,18 +53,15 @@ std::string *stringFromG1(libff::alt_bn128_G1 *_g1) { ...@@ -52,18 +53,15 @@ std::string *stringFromG1(libff::alt_bn128_G1 *_g1) {
auto sG1 = new std::string(*sX + ":" + *sY); auto sG1 = new std::string(*sX + ":" + *sY);
delete(sX); delete (sX);
delete(sY); delete (sY);
return sG1; return sG1;
} }
libff::alt_bn128_Fr *keyFromString(const char *_keyString) {
libff::alt_bn128_Fr *keyFromString(const char* _keyString) {
return new libff::alt_bn128_Fr(_keyString); return new libff::alt_bn128_Fr(_keyString);
} }
...@@ -78,10 +76,7 @@ void init() { ...@@ -78,10 +76,7 @@ void init() {
libff::init_alt_bn128_params(); libff::init_alt_bn128_params();
} }
bool check_key(int *err_status, char *err_string, const char *_keyString) { void check_key(int *err_status, char *err_string, const char *_keyString) {
uint64_t keyLen = strnlen(_keyString, MAX_KEY_LENGTH); uint64_t keyLen = strnlen(_keyString, MAX_KEY_LENGTH);
...@@ -89,28 +84,28 @@ bool check_key(int *err_status, char *err_string, const char *_keyString) { ...@@ -89,28 +84,28 @@ bool check_key(int *err_status, char *err_string, const char *_keyString) {
if (keyLen == MAX_KEY_LENGTH) { if (keyLen == MAX_KEY_LENGTH) {
snprintf(err_string, MAX_ERR_LEN, "keyLen != MAX_KEY_LENGTH"); snprintf(err_string, MAX_ERR_LEN, "keyLen != MAX_KEY_LENGTH");
return false; return;
} }
*err_status = -2; *err_status = -2;
if (_keyString == nullptr) {
snprintf(err_string, BUF_LEN, "Null key");
return;
}
*err_status = -3;
// check that key is padded with 0s // check that key is padded with 0s
for (int i = keyLen; i < MAX_KEY_LENGTH; i++) { for (int i = keyLen; i < MAX_KEY_LENGTH; i++) {
if (_keyString[i] != 0) { if (_keyString[i] != 0) {
snprintf(err_string, BUF_LEN,"Unpadded key"); snprintf(err_string, BUF_LEN, "Unpadded key");
return false;
} }
} }
*err_status = -1;
if (_keyString == nullptr)
return false;
std::string ks(_keyString); std::string ks(_keyString);
// std::string keyString = // std::string keyString =
...@@ -124,20 +119,13 @@ bool check_key(int *err_status, char *err_string, const char *_keyString) { ...@@ -124,20 +119,13 @@ bool check_key(int *err_status, char *err_string, const char *_keyString) {
throw std::exception(); throw std::exception();
} }
if (s1->size() < 10)
return false;
if (s1->size() >= 100)
return false;
*err_status = 0; *err_status = 0;
return true; return;
} }
bool sign(const char *_keyString, const char *_hashXString, const char *_hashYString,
bool sign(const char *_keyString, const char* _hashXString, const char* _hashYString,
char sig[BUF_LEN]) { char sig[BUF_LEN]) {
...@@ -169,7 +157,6 @@ bool sign(const char *_keyString, const char* _hashXString, const char* _hashYSt ...@@ -169,7 +157,6 @@ bool sign(const char *_keyString, const char* _hashXString, const char* _hashYSt
return true; return true;
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#define EXTERNC #define EXTERNC
#endif #endif
EXTERNC bool check_key(int *err_status, char *err_string, const char* _keyString); EXTERNC void check_key(int *err_status, char *err_string, const char* _keyString);
EXTERNC bool sign(const char *_keyString, const char* _hashXString, const char* _hashYString, EXTERNC bool sign(const char *_keyString, const char* _hashXString, const char* _hashYString,
char* _sig); char* _sig);
......
...@@ -127,6 +127,7 @@ void encrypt_key(int *err_status, char *err_string, char *key, ...@@ -127,6 +127,7 @@ void encrypt_key(int *err_status, char *err_string, char *key,
init(); init();
*err_status = -1; *err_status = -1;
memset(err_string, 0, BUF_LEN); memset(err_string, 0, BUF_LEN);
......
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