Skip to content

Third-party libraries#

libaes70 is a header-only AES70 implementation. It does not include third-party libraries such as libuv, Boost.Asio, lwIP, OpenSSL, Mbed TLS, libsodium, or HTTP parsers (picohttpparser, llhttp, http-parser).

What this repository ships are optional helpers: thin wrappers that make it straightforward to use those libraries with AES70. They live in headers such as include/libuv, include/lwip, aes70/boost, aes70/openssl, aes70/mbedtls, and include/static_http. Including a helper typically pulls in the corresponding third-party headers, so you only take a dependency if you use that helper.

If you use a helper, you obtain, build, and link that library yourself, and you follow its license and attribution requirements. Those terms are independent of the libaes70 license. If you do not use a given helper, you do not need that library.

The test suite and some examples may download those libraries at configure time (via CMake find_package / FetchContent) so the demos can compile. The integration tests also use AES70.js as a controller; it is installed via npm when you run the tests and is not part of libaes70. That is a convenience for building this repository; it does not make those libraries part of a libaes70 distribution.

Area Helpers You provide
TCP / event loop libuv, aes70::boost, lwip libuv, Boost.Asio, or lwIP
TLS aes70::openssl, aes70::mbedtls OpenSSL or Mbed TLS
Secret-key streams examples/secretstream libsodium
HTTP parsing static_http picohttpparser, llhttp, or http-parser

How to use each helper is documented with the corresponding feature: Platform support, OpenSSL TLS, Mbed TLS, Encryption and Security, and static_http.