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.