Daniel Pouzzner b4f1b6d04d fix whitespace and C++-style comments. %!s(int64=2) %!d(string=hai) anos
..
samples c66a21c40a Add Zephyr support for nRF5340 with CryptoCell-312, PSA Crypto fixes (#5418) %!s(int64=2) %!d(string=hai) anos
wolfssl 9d562a59bc wolfSSL as a Zephyr module %!s(int64=3) %!d(string=hai) anos
CMakeLists.txt c66a21c40a Add Zephyr support for nRF5340 with CryptoCell-312, PSA Crypto fixes (#5418) %!s(int64=2) %!d(string=hai) anos
Kconfig 9d562a59bc wolfSSL as a Zephyr module %!s(int64=3) %!d(string=hai) anos
Kconfig.tls-generic 9d562a59bc wolfSSL as a Zephyr module %!s(int64=3) %!d(string=hai) anos
README.md c66a21c40a Add Zephyr support for nRF5340 with CryptoCell-312, PSA Crypto fixes (#5418) %!s(int64=2) %!d(string=hai) anos
include.am c66a21c40a Add Zephyr support for nRF5340 with CryptoCell-312, PSA Crypto fixes (#5418) %!s(int64=2) %!d(string=hai) anos
module.yml 9d562a59bc wolfSSL as a Zephyr module %!s(int64=3) %!d(string=hai) anos
nrf5340dk_nrf5340_user_settings.h b4f1b6d04d fix whitespace and C++-style comments. %!s(int64=2) %!d(string=hai) anos
user_settings-tls-generic.h c66a21c40a Add Zephyr support for nRF5340 with CryptoCell-312, PSA Crypto fixes (#5418) %!s(int64=2) %!d(string=hai) anos
user_settings.h 8eaa85e412 update copyright year to 2022 %!s(int64=2) %!d(string=hai) anos
zephyr_init.c 8eaa85e412 update copyright year to 2022 %!s(int64=2) %!d(string=hai) anos

README.md

Zephyr Project Port

Overview

This port is for the Zephyr RTOS Project, available here.

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:

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