Fixed problem

parent 6d82dafc
......@@ -68,10 +68,13 @@ libff::alt_bn128_Fr *keyFromString(const char* _keyString) {
return new libff::alt_bn128_Fr(_keyString);
}
bool check_key(const char *_keyString) {
bool check_key(int *err_status, char *err_string, const char *_keyString) {
libff::init_alt_bn128_params();
*err_status = -1;
if (_keyString == nullptr)
return false;
......@@ -84,8 +87,9 @@ bool check_key(const char *_keyString) {
auto s1 = stringFromKey(key);
if (s1->compare(ks) != 0)
return false;
if (s1->compare(ks) != 0) {
throw std::exception();
}
if (s1->size() < 10)
return false;
......@@ -93,6 +97,8 @@ bool check_key(const char *_keyString) {
if (s1->size() >= 100)
return false;
*err_status = 0;
return true;
}
......
......@@ -13,7 +13,7 @@
#define EXTERNC
#endif
EXTERNC bool check_key(const char* _keyString);
EXTERNC bool check_key(int *err_status, char *err_string, const char* _keyString);
EXTERNC bool sign(const char *_keyString, const char* _hashXString, const char* _hashYString,
char* _sig);
......
......@@ -121,6 +121,7 @@ void encrypt_key(int *err_status, char *err_string, char *key,
uint8_t *encrypted_key, uint32_t *enc_len) {
*err_status = -1;
memset(err_string, 0, BUF_LEN);
uint64_t keyLen = strnlen(key, MAX_KEY_LENGTH);
......@@ -144,8 +145,11 @@ void encrypt_key(int *err_status, char *err_string, char *key,
*err_status = -3;
if (!check_key(key)) {
snprintf(err_string, BUF_LEN,"check_key failed");
check_key(err_status, err_string, key);
if (*err_status != 0) {
snprintf(err_string + strlen(err_string), BUF_LEN,"check_key failed");
return;
}
......
......@@ -86,6 +86,7 @@ TEST_CASE( "BLS sign test", "[bls-sign]" ) {
status = encrypt_key(eid, &err_status, errMsg, keyArray, encryptedKey, &enc_len);
REQUIRE(status == SGX_SUCCESS);
REQUIRE(err_status == 0);
printf("Encrypt key completed with status: %d %s \n", err_status, errMsg);
printf(" Encrypted key len %d\n", enc_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