Fixes for SD and modern NRF SDK
This commit is contained in:
parent
f3e0affe8f
commit
0cd7a12cd0
|
@ -0,0 +1,117 @@
|
|||
set(SRC aes.c
|
||||
block.c
|
||||
ckdf.c
|
||||
cmac.c
|
||||
ctr.c
|
||||
eax.c)
|
||||
|
||||
include_directories(
|
||||
${PROJECT_SOURCE_DIR}
|
||||
${NRF_SDK}/components/ble/ble_services/ble_ancs_c
|
||||
${NRF_SDK}/components/ble/ble_services/ble_ias_c
|
||||
${NRF_SDK}/components/libraries/pwm
|
||||
${NRF_SDK}/components/softdevice/${SOFTDEVICE_LOWER}/headers/nrf52
|
||||
${NRF_SDK}/components/softdevice/${SOFTDEVICE_LOWER}/headers
|
||||
${NRF_SDK}/components/libraries/usbd/class/cdc/acm
|
||||
${NRF_SDK}/components/libraries/usbd/class/hid/generic
|
||||
${NRF_SDK}/components/libraries/usbd/class/msc
|
||||
${NRF_SDK}/components/libraries/usbd/class/hid
|
||||
${NRF_SDK}/modules/nrfx/hal
|
||||
${NRF_SDK}/components/libraries/log
|
||||
${NRF_SDK}/components/ble/ble_services/ble_gls
|
||||
${NRF_SDK}/components/libraries/fstorage
|
||||
${NRF_SDK}/components/libraries/mutex
|
||||
${NRF_SDK}/components/libraries/gpiote
|
||||
${NRF_SDK}/components/libraries/bootloader/ble_dfu
|
||||
${NRF_SDK}/components/libraries/serial/
|
||||
${NRF_SDK}/components/boards
|
||||
${NRF_SDK}/components/ble/ble_advertising
|
||||
${NRF_SDK}/external/utf_converter
|
||||
${NRF_SDK}/components/ble/ble_services/ble_bas_c
|
||||
${NRF_SDK}/modules/nrfx/drivers/include
|
||||
${NRF_SDK}/components/libraries/experimental_task_manager
|
||||
${NRF_SDK}/components/ble/ble_services/ble_hrs_c
|
||||
${NRF_SDK}/components/libraries/queue
|
||||
${NRF_SDK}/components/libraries/pwr_mgmt
|
||||
${NRF_SDK}/components/ble/ble_dtm
|
||||
${NRF_SDK}/components/toolchain/cmsis/include
|
||||
${NRF_SDK}/components/ble/ble_services/ble_rscs_c
|
||||
${NRF_SDK}/components/ble/common
|
||||
${NRF_SDK}/components/ble/ble_services/ble_lls
|
||||
${NRF_SDK}/components/libraries/bsp
|
||||
${NRF_SDK}/components/ble/ble_services/ble_bas
|
||||
${NRF_SDK}/components/libraries/mpu
|
||||
${NRF_SDK}/components/libraries/experimental_section_vars
|
||||
${NRF_SDK}/components/ble/ble_services/ble_ans_c
|
||||
${NRF_SDK}/components/libraries/slip
|
||||
${NRF_SDK}/components/libraries/delay
|
||||
${NRF_SDK}/components/libraries/mem_manager
|
||||
${NRF_SDK}/components/libraries/csense_drv
|
||||
${NRF_SDK}/components/libraries/memobj
|
||||
${NRF_SDK}/components/ble/ble_services/ble_nus_c
|
||||
${NRF_SDK}/components/softdevice/common
|
||||
${NRF_SDK}/components/ble/ble_services/ble_ias
|
||||
${NRF_SDK}/components/libraries/usbd/class/hid/mouse
|
||||
${NRF_SDK}/components/libraries/low_power_pwm
|
||||
${NRF_SDK}/components/ble/ble_services/ble_dfu
|
||||
${NRF_SDK}/components/ble/ble_db_discovery
|
||||
${NRF_SDK}/components/ble/nrf_ble_gatt
|
||||
${NRF_SDK}/external/fprintf
|
||||
${NRF_SDK}/components/libraries/svc
|
||||
${NRF_SDK}/components/libraries/atomic
|
||||
${NRF_SDK}/components/libraries/atomic_flags
|
||||
${NRF_SDK}/components
|
||||
${NRF_SDK}/components/libraries/scheduler
|
||||
${NRF_SDK}/components/libraries/cli
|
||||
${NRF_SDK}/components/ble/ble_services/ble_lbs
|
||||
${NRF_SDK}/components/ble/ble_services/ble_hts
|
||||
${NRF_SDK}/components/libraries/crc16
|
||||
${NRF_SDK}/components/libraries/util
|
||||
${NRF_SDK}/components/libraries/usbd/class/cdc
|
||||
${NRF_SDK}/components/libraries/csense
|
||||
${NRF_SDK}/components/libraries/balloc
|
||||
${NRF_SDK}/components/libraries/ecc
|
||||
${NRF_SDK}/components/libraries/hardfault
|
||||
${NRF_SDK}/components/ble/ble_services/ble_cscs
|
||||
${NRF_SDK}/components/libraries/hci
|
||||
${NRF_SDK}/components/libraries/timer
|
||||
${NRF_SDK}/integration/nrfx
|
||||
${NRF_SDK}/components/libraries/sortlist
|
||||
${NRF_SDK}/components/libraries/spi_mngr
|
||||
${NRF_SDK}/components/softdevice/${SOFTDEVICE_LOWER}/headers
|
||||
${NRF_SDK}/components/libraries/led_softblink
|
||||
${NRF_SDK}/components/libraries/sdcard
|
||||
${NRF_SDK}/modules/nrfx/mdk
|
||||
${NRF_SDK}/components/ble/ble_services/ble_cts_c
|
||||
${NRF_SDK}/components/ble/ble_services/ble_nus
|
||||
${NRF_SDK}/components/libraries/twi_mngr
|
||||
${NRF_SDK}/components/ble/ble_services/ble_hids
|
||||
${NRF_SDK}/components/libraries/strerror
|
||||
${NRF_SDK}/components/libraries/crc32
|
||||
${NRF_SDK}/components/libraries/usbd/class/audio
|
||||
${NRF_SDK}/components/ble/peer_manager
|
||||
${NRF_SDK}/components/drivers_nrf/usbd
|
||||
${NRF_SDK}/components/libraries/ringbuf
|
||||
${NRF_SDK}/components/ble/ble_services/ble_tps
|
||||
${NRF_SDK}/components/ble/ble_services/ble_dis
|
||||
${NRF_SDK}/components/ble/nrf_ble_qwr
|
||||
${NRF_SDK}/components/libraries/gfx
|
||||
${NRF_SDK}/components/libraries/button
|
||||
${NRF_SDK}/modules/nrfx
|
||||
${NRF_SDK}/components/libraries/twi_sensor
|
||||
${NRF_SDK}/integration/nrfx/legacy
|
||||
${NRF_SDK}/components/libraries/usbd/class/hid/kbd
|
||||
${NRF_SDK}/external/segger_rtt
|
||||
${NRF_SDK}/components/libraries/atomic_fifo
|
||||
${NRF_SDK}/components/ble/ble_services/ble_lbs_c
|
||||
${NRF_SDK}/components/libraries/crypto
|
||||
${NRF_SDK}/components/ble/ble_racp
|
||||
${NRF_SDK}/components/libraries/fds
|
||||
${NRF_SDK}/components/ble/ble_services/ble_hrs
|
||||
${NRF_SDK}/components/ble/ble_services/ble_rscs
|
||||
${NRF_SDK}/components/libraries/usbd
|
||||
${NRF_SDK}/components/libraries/stack_guard
|
||||
${NRF_SDK}/components/libraries/log/src
|
||||
${NRF_SDK}/components/ble/nrf_ble_scan)
|
||||
|
||||
add_library(nrf-crypto STATIC ${SRC})
|
18
aes.c
18
aes.c
|
@ -2,23 +2,19 @@
|
|||
#include "block.h"
|
||||
|
||||
#ifndef HOST_BUILD
|
||||
#include "nrf.h"
|
||||
#include <nrf_soc.h>
|
||||
#else
|
||||
#include <openssl/aes.h>
|
||||
#endif /* HOST_BUILD */
|
||||
|
||||
#include <string.h>
|
||||
|
||||
static ecbdata_t g_ecbdata;
|
||||
static nrf_ecb_hal_data_t g_ecbdata;
|
||||
|
||||
void aes128_init(const uint8_t *key) {
|
||||
if (key != NULL) {
|
||||
memmove(g_ecbdata.key, key, 16);
|
||||
#ifndef HOST_BUILD
|
||||
NRF_ECB->ECBDATAPTR = (uint32_t)&g_ecbdata;
|
||||
#endif /* HOST_BUILD */
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
uint8_t *aes128_ecb(uint8_t const *const in) {
|
||||
|
@ -27,14 +23,10 @@ uint8_t *aes128_ecb(uint8_t const *const in) {
|
|||
AES_set_encrypt_key(g_ecbdata.key, 128, &key);
|
||||
AES_encrypt(in, g_ecbdata.out, &key);
|
||||
#else
|
||||
memcpy(g_ecbdata.in, in, 16);
|
||||
NRF_ECB->TASKS_STARTECB = 1;
|
||||
while (!NRF_ECB->EVENTS_ENDECB) {
|
||||
;
|
||||
}
|
||||
NRF_ECB->EVENTS_ENDECB = 0;
|
||||
memcpy(g_ecbdata.cleartext, in, 16);
|
||||
sd_ecb_block_encrypt(&g_ecbdata);
|
||||
#endif /* HOST_BUILD */
|
||||
return g_ecbdata.out;
|
||||
return g_ecbdata.ciphertext;
|
||||
}
|
||||
|
||||
#ifdef HOST_BUILD
|
||||
|
|
Loading…
Reference in New Issue