Although OpenSSL is one of the oldest and most widely deployed libraries implementing TLS, many alternative libraries have sprung up in recent years. Some of these alternatives aim to offer better features, performance, or quality control compared to OpenSSL.
The following table contains a number of alternative open source TLS libraries:
TLS Library | Website |
cryptlib | https://www.cryptlib.com/ |
GnuTLS | https://www.gnutls.org/ |
LibreSSL | https://www.libressl.org/ |
mbed TLS | https://tls.mbed.org/ |
Network Security Services | https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS |
s2n | https://github.com/awslabs/s2n |
wolfSSL | https://www.wolfssl.com/ |
There are also alternatives to doing TLS termination directly in your application, and this can simplify program design. Let's consider this next.