asio: Basic SSL/TLS support in asio port for ESP platform

This port employs IDF port of OpenSSL for most common features, others
are discouraged or not supported. The port also introduces several stubs
for OpenSSL functions which ASIO needs to get compiled and linked.

Upstream ASIO supports WolfSSL as SSL/TLS stack, as well, which is
another option for SSL support in ASIO on ESP platform.


* Original commit: espressif/esp-idf@9459c0dd43
This commit is contained in:
David Cermak
2020-06-05 16:17:01 +02:00
committed by gabsuren
parent 789670e8c5
commit dab12309e2
7 changed files with 283 additions and 5 deletions

View File

@ -13,7 +13,18 @@ Asio also comes with a number of examples which could be find under Documentatio
Supported features
^^^^^^^^^^^^^^^^^^
ESP platform port currently supports only network asynchronous socket operations; does not support serial port and ssl.
ESP platform port currently supports only network asynchronous socket operations; does not support serial port.
SSL/TLS support if disabled by default and could be enabled in component configuration menu and choosing TLS library from
- mbedTLS with OpenSSL translation layer (default option)
- wolfSSL
SSL support is very basic at this stage, not including
- Verification callbacks
- DH property files
- Certificates/private keys file APIs
Internal asio settings for ESP include
- EXCEPTIONS are enabled in ASIO if enabled in menuconfig
@ -27,5 +38,6 @@ ESP examples are based on standard asio :example:`protocols/asio`:
- :example:`protocols/asio/tcp_echo_server`
- :example:`protocols/asio/chat_client`
- :example:`protocols/asio/chat_server`
- :example:`protocols/asio/ssl_client_server`
Please refer to the specific example README.md for details