Use TEE_GenerateRandom for obtaining random numbers 31/317731/1
authorDariusz Michaluk <d.michaluk@samsung.com>
Fri, 13 Sep 2024 07:36:51 +0000 (09:36 +0200)
committerDariusz Michaluk <d.michaluk@samsung.com>
Fri, 13 Sep 2024 07:44:38 +0000 (09:44 +0200)
getentropy() and /dev/urandom are not available on embedded targets

Change-Id: I6f0f6fc064ad1525aa1986807df58252ead1bc2a

ta/src/cmd_exec.c

index 0ab792d187f98629401a453d039b8a5baf34ada9..193dc6ed5c12ac8656e43ba3ff10a47fa327a519 100644 (file)
 const uint32_t PBKDF2_ITERATIONS = 1024;
 const PaddingMode PADDING_MODE = KM_PADDING_PKCS7;
 
+void randombytes(uint8_t* buffer, size_t bufferLen)
+{
+       TEE_GenerateRandom(buffer, bufferLen);
+}
+
 OQS_KEM* createNewKem(const tz_kem kemType)
 {
+       OQS_randombytes_custom_algorithm(randombytes);
+
        switch (kemType) {
        case ML_KEM_768: return OQS_KEM_new(OQS_KEM_alg_ml_kem_768);
        case ML_KEM_1024: return OQS_KEM_new(OQS_KEM_alg_ml_kem_1024);