gojimmypi 38d5eec445 Introduce WOLFSSL_ESPIDF_EXIT_MESSAGE macro (+code review edits) 8 月之前
..
template 92ab2eaca3 Fix Espressif component cmake for environment variable source 10 月之前
wolfssl_benchmark 38d5eec445 Introduce WOLFSSL_ESPIDF_EXIT_MESSAGE macro (+code review edits) 8 月之前
wolfssl_client 68fb183fa6 Update TLS client example for Espressif ESP8266 9 月之前
wolfssl_server 92ab2eaca3 Fix Espressif component cmake for environment variable source 10 月之前
wolfssl_test 92ab2eaca3 Fix Espressif component cmake for environment variable source 10 月之前
wolfssl_test_idf 5b01270205 Update all Expressif examples, ready for PR #6990 11 月之前
README.md 17c663b257 Espressif README files 11 月之前

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 this ESP-FAQ Handbook.