Unverified Commit 395a86cf authored by kladko's avatar kladko

SKALE-3205

parent 92dc85a4
......@@ -215,24 +215,11 @@ bool sign_aes(const char *_encryptedKeyHex, const char *_hashHex, size_t _t, siz
sgx_status_t status = SGX_SUCCESS;
int attempts = 0;
do {
attempts++;
{
READ_LOCK(initMutex);
RESTART_BEGIN
status = trustedBlsSignMessageAES(eid, &errStatus, errMsg.data(), encryptedKey,
sz, xStrArg, yStrArg, signature);
}
if (status != SGX_SUCCESS) {
spdlog::error(__FUNCTION__);
spdlog::error("Restarting sgx ...");
reinitEnclave();
}
} while (attempts < 2);
RESTART_END
HANDLE_TRUSTED_FUNCTION_ERROR(status, errStatus, errMsg.data());
......@@ -270,12 +257,12 @@ string encryptBLSKeyShare2Hex(int *errStatus, char *err_string, const char *_key
uint64_t encryptedLen = 0;
sgx_status_t status = SGX_SUCCESS;
{
READ_LOCK(initMutex);
RESTART_BEGIN
status = trustedEncryptKeyAES(eid, errStatus, errMsg.data(), keyArray->data(), encryptedKey->data(),
&encryptedLen);
RESTART_END
}
HANDLE_TRUSTED_FUNCTION_ERROR(status, *errStatus, errMsg.data());
SAFE_CHAR_BUF(resultBuf, 2 * BUF_LEN + 1);
......
......@@ -109,4 +109,23 @@ extern bool autoconfirm;
#define TEST_VALUE "1234567890"
#define RESTART_BEGIN \
int __ATTEMPTS__ = 0; \
do {\
__ATTEMPTS__++; \
{\
READ_LOCK(initMutex);
#define RESTART_END \
} \
if (status != SGX_SUCCESS) { \
spdlog::error(__FUNCTION__); \
spdlog::error("Restarting sgx ..."); \
reinitEnclave(); \
} \
} while (__ATTEMPTS__ < 2);
#endif //SGXWALLET_SGXWALLET_COMMON_H
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