Итак, я пытаюсь создать два хэша sha256 в Intel SGX, используя их библиотеку cyrpto. В настоящее время, если я запускаю следующее:
sgx_sha256_hash_t *hash1;
int first = 1;
sgx_status_t = stat;
stat = sgx_sha256_msg( ( uint8_t * ) &first, 8, hash1 );
У меня нет проблем, и я правильно получаю hash1, однако, если я попытаюсь
sgx_sha256_hash_t *hash1;
sgx_sha256_hash_t *hash2;
int first = 1;
int second = 2;
sgx_status_t = stat;
stat = sgx_sha256_msg( ( uint8_t * ) &first, 8, hash1 );
stat = sgx_sha256_msg( ( uint8_t * ) &second, 8, hash2 );
Я получаю ошибку сегментации. Вместо этого я попытался сделать это с помощью методов sha init, update, get_hash и close, но без улучшений. Кто-нибудь знает, почему это может быть? Я подумал, что в анклаве может не хватать памяти. Если это правда, есть ли способ расширить мой анклав?