Andras Fekete 34298e8ada More spelling fixes 1 kuukausi sitten
..
template 34298e8ada More spelling fixes 3 viikkoa sitten
wolfssl_benchmark 34298e8ada More spelling fixes 3 viikkoa sitten
wolfssl_client 34298e8ada More spelling fixes 3 viikkoa sitten
wolfssl_server 34298e8ada More spelling fixes 3 viikkoa sitten
wolfssl_test 34298e8ada More spelling fixes 3 viikkoa sitten
wolfssl_test_idf a13f48aea0 Update Espressif Examples 1 kuukausi sitten
README.md a13f48aea0 Update Espressif Examples 1 kuukausi sitten

README.md

wolfSSL Examples for Espressif

Core Examples

These are the core examples for wolfSSL:

Other Espressif wolfSSL Examples

See these other repositories for additional examples:

Interaction with wolfSSL CLI

See the server and client examples.

Here are some examples using wolfSSL from Linux to communicate with an ESP32 TLS client or server:

TLS1.3 Linux Server

./examples/server/server -v 4 -b -d -p 11111 -c ./certs/server-cert.pem -k ./certs/server-key.pem

TLS1.3 Linux Client to Linux Server: TLS_AES_128_GCM_SHA256 (default)

./examples/client/client -v 4 -h 127.0.0.1 -p 11111 -A ./certs/ca-cert.pem

TLS1.2 Linux Server

./examples/server/server -v 3 -b -d -p 11111 -c ./certs/server-cert.pem -k ./certs/server-key.pem

TLS1.2 Linux Client to Linux Server: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (default)

./examples/client/client -v 3 -h 127.0.0.1 -p 11111 -A ./certs/ca-cert.pem

TLS1.2 Linux Client to ESP32 Server: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

./examples/client/client -v 3 -h 192.168.1.109 -p 11111 -A ./certs/ca-cert.pem

TLS1.3 Linux Client to ESP32 Server: TLS_AES_128_GCM_SHA256

./examples/client/client -v 4 -h 192.168.1.109 -p 11111 -A ./certs/ca-cert.pem

There's an additional example that uses wolfSSL installed as a component to the shared ESP-IDF:

Installing wolfSSL for Espressif projects

Core examples have a local components/wolfssl directory with a special CMakeFile.txt that does not require wolfSSL to be installed.

If you want to install wolfSSL, see the setup for wolfSSL and wolfSSH.

The Espressif Managed Component for wolfSSL also installs source code locally, instead of pointing to a source repository.

VisualGDB

Users of VisualGDB can find Espressif project files in each respective example .\VisualGDB directory. For convenience, there are separate project for various target SoC and ESP-IDF version.

For devices without a built-in JTAG, the projects are configured with the open source Tigard and using port COM20.

For devices with a built-in JTAG, the projects are using COM9.

Edit the COM port for your project:

  • ESP-IDF Project; Bootloader COM Port.
  • Raw Terminal; COM Port

Troubleshooting

If unusual errors occur, exit Visual Studio and manually delete these directories to start over:

  • .\build
  • .\VisualGDB\.visualgdb
  • .\VisualGDB\.vs

It may be helpful to also delete the sdkconfig file. (Save a backup if you've made changes to defaults)

Other Topics

See also the ESP-FAQ Handbook.