David Garske 9166c1aa1c Various typo and copy/paste cleanups. пре 6 месеци
..
template 081731be8b Merge pull request #7392 from gojimmypi/PR-Espressif-wolfcrypt-test пре 6 месеци
wolfssl_benchmark 081731be8b Merge pull request #7392 from gojimmypi/PR-Espressif-wolfcrypt-test пре 6 месеци
wolfssl_client 9166c1aa1c Various typo and copy/paste cleanups. пре 6 месеци
wolfssl_server 081731be8b Merge pull request #7392 from gojimmypi/PR-Espressif-wolfcrypt-test пре 6 месеци
wolfssl_test 1024d7a809 Fix Espressif SHA512 SW fallback endianness пре 6 месеци
wolfssl_test_idf 5cab707d8e Update Espressif Examples and Libraries пре 7 месеци
README.md 5cab707d8e Update Espressif Examples and Libraries пре 7 месеци

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.