forked from wolfSSL/wolfssl
* PSA: set AES key bits, define PSA_ALG_NONE/PSA_KEY_ID_NULL if needed * Zephyr: add TimeNowInMilliseconds() for tls13.c, clock_settime() for test.c, update CMakeLists.txt * Skip including unistd.h for Zephyr in benchmark.c * Zephyr: update README, add nRF5340dk support to wolfssl_test sample app * Zephyr: add wolfCrypt benchmark sample app * Zephyr: add nRF5340 support to tls_thread sample app * PSA: use specific hash algo with psa_sign/verify_hash() * Zephyr: add support for PSA Crypto API with PK callbacks to wolfssl_tls_threaded sample app * Zephyr: add new files to zephyr/include.am
97 lines
2.5 KiB
Markdown
97 lines
2.5 KiB
Markdown
Zephyr Project Port
|
|
===================
|
|
|
|
## Overview
|
|
|
|
This port is for the Zephyr RTOS Project, available [here](https://www.zephyrproject.org/).
|
|
|
|
It provides the following zephyr code.
|
|
|
|
- modules/crypto/wolfssl
|
|
- wolfssl library code
|
|
- modules/crypto/wolfssl/zephyr/
|
|
- Configuration and CMake files for wolfSSL as a Zephyr module
|
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_test
|
|
- wolfCrypt test application
|
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_bench
|
|
- wolfCrypt benchmark application
|
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_sock
|
|
- socket based sample of TLS
|
|
- modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_thread
|
|
- socket based sample of TLS using threads
|
|
|
|
## How to setup as a Zephyr Module
|
|
|
|
### Modify your project's west manifest
|
|
|
|
Add wolfssl as a project to your west.yml:
|
|
```
|
|
manifest:
|
|
remotes:
|
|
# <your other remotes>
|
|
- name: wolfssl
|
|
url-base: https://github.com/wolfssl
|
|
|
|
projects:
|
|
# <your other projects>
|
|
- name: wolfssl
|
|
path: modules/crypto/wolfssl
|
|
revision: master
|
|
remote: wolfssl
|
|
```
|
|
|
|
If you are using the Nordic nRF Connect SDK with Zephyr, the sdk-nrf manifest
|
|
file is located at: `vX.X.X/nrf/west.yml`. On OSX the default installation
|
|
location for the nRF Connect SDK is at `/opt/nordic/ncs/vX.X.X`.
|
|
|
|
Update west's modules:
|
|
|
|
```bash
|
|
west update
|
|
```
|
|
|
|
Now west recognizes 'wolfssl' as a module, and will include it's Kconfig and
|
|
CMakeFiles.txt in the build system.
|
|
|
|
If using the Nordic nRF Connect SDK, to get access to a terminal with west
|
|
tool access, open "nRF Connect for Desktop", then "Toolchain Manager",
|
|
and finally next to the SDK version you are using click the drop down arrow,
|
|
then "Open Terminal".
|
|
|
|
## Build and Run wolfCrypt Test Application
|
|
|
|
build and execute `wolfssl_test`
|
|
|
|
```
|
|
cd [zephyrproject]
|
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_test
|
|
west build -t run
|
|
```
|
|
|
|
## Build and Run wolfCrypt Benchmark Application
|
|
|
|
build and execute `wolfssl_benchmark`
|
|
|
|
```
|
|
cd [zephyrproject]
|
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_benchmark
|
|
west build -t run
|
|
```
|
|
|
|
### Build and Run wolfSSL example `wolfssl_tls_sock`
|
|
|
|
```
|
|
cd [zephyrproject]
|
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_sock
|
|
west build -t run
|
|
```
|
|
|
|
### Build and Run wolfSSL example `wolfssl_tls_thread`
|
|
|
|
```
|
|
cd [zephyrproject]
|
|
west build -p auto -b qemu_x86 modules/crypto/wolfssl/zephyr/samples/wolfssl_tls_thread
|
|
west build -t run
|
|
```
|
|
|