Fixes

parent e3b7a60c
......@@ -126,7 +126,7 @@ void checkKey(int *err_status, char *err_string, const char *_keyString) {
bool enclave_sign(const char *_keyString, const char *_hashXString, const char *_hashYString,
char sig[BUF_LEN]) {
char* sig) {
libff::init_alt_bn128_params();
......@@ -134,6 +134,10 @@ bool enclave_sign(const char *_keyString, const char *_hashXString, const char *
auto key = keyFromString(_keyString);
if (key == nullptr) {
throw std::exception();
}
libff::alt_bn128_Fq hashX(_hashXString);
libff::alt_bn128_Fq hashY(_hashYString);
libff::alt_bn128_Fq hashZ = 1;
......@@ -142,18 +146,26 @@ bool enclave_sign(const char *_keyString, const char *_hashXString, const char *
libff::alt_bn128_G1 hash(hashX, hashY, hashZ);
libff::alt_bn128_G1 sign = key->as_bigint() * hash; // sign
sign.to_affine_coordinates();
auto r = stringFromG1(&sign);
memset(sig, 0, BUF_LEN);
strncpy(sig, r->c_str(), BUF_LEN);
delete r;
return true;
......
......@@ -19,8 +19,7 @@ EXTERNC void check_key(int *err_status, char *err_string, const char* _keyString
EXTERNC bool enclave_sign(const char *_keyString, const char* _hashXString, const char* _hashYString,
char* _sig);
EXTERNC bool enclave_sign(const char *_keyString, const char* _hashXString, const char* _hashYString, char* _sig);
......
......@@ -255,7 +255,7 @@ void bls_sign_message(int *err_status, char *err_string, uint8_t *encrypted_key,
return;
}
// enclave_sign(key, _hashX, _hashY, sig);
enclave_sign(key, _hashX, _hashY, sig);
strncpy(signature, sig, 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