Add mbedtls_hardware_poll implementation to pico_mbedtls
This commit is contained in:
parent
1bd9de95de
commit
1552324a64
@ -130,12 +130,13 @@ if (EXISTS ${PICO_MBEDTLS_PATH}/${MBEDTLS_TEST_PATH})
|
||||
target_sources(pico_mbedtls_tls INTERFACE ${src_tls})
|
||||
|
||||
pico_add_impl_library(pico_mbedtls)
|
||||
target_link_libraries(pico_mbedtls INTERFACE pico_mbedtls_crypto pico_mbedtls_x509 pico_mbedtls_tls)
|
||||
target_link_libraries(pico_mbedtls INTERFACE pico_mbedtls_crypto pico_mbedtls_x509 pico_mbedtls_tls pico_rand)
|
||||
if (DEFINED PICO_MBEDTLS_CONFIG_FILE)
|
||||
target_compile_definitions(pico_mbedtls INTERFACE MBEDTLS_CONFIG_FILE="${PICO_MBEDTLS_CONFIG_FILE}")
|
||||
else()
|
||||
target_compile_definitions(pico_mbedtls INTERFACE MBEDTLS_CONFIG_FILE="mbedtls_config.h")
|
||||
endif()
|
||||
target_sources(pico_mbedtls INTERFACE ${CMAKE_CURRENT_LIST_DIR}/pico_mbedtls.c)
|
||||
target_include_directories(pico_mbedtls INTERFACE ${PICO_MBEDTLS_PATH}/include/ ${PICO_MBEDTLS_PATH}/library/)
|
||||
|
||||
function(suppress_mbedtls_warnings)
|
||||
|
15
src/rp2_common/pico_mbedtls/pico_mbedtls.c
Normal file
15
src/rp2_common/pico_mbedtls/pico_mbedtls.c
Normal file
@ -0,0 +1,15 @@
|
||||
#include <string.h>
|
||||
#include "pico/platform.h"
|
||||
#include "pico/rand.h"
|
||||
|
||||
/* Function to feed mbedtls entropy. */
|
||||
int mbedtls_hardware_poll(void *data __unused, unsigned char *output, size_t len, size_t *olen) {
|
||||
*olen = 0;
|
||||
while(*olen < len) {
|
||||
uint64_t rand_data = get_rand_64();
|
||||
size_t to_copy = MIN(len, sizeof(rand_data));
|
||||
memcpy(output + *olen, &rand_data, to_copy);
|
||||
*olen += to_copy;
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user