SSL/TLS Implementations
Botan
Strictly speaking, Botan is a general-purpose crypto library, but has a TLS implementation. Source is kept in Monotone, but there is a Github mirror. Botan has had continuous development since 2001. Is it safe to use in a commercial product? Good question.
It builds on Unix/POSIX and Microsoft Windows. There are instructions for both iOS and Android builds referenced in the documentation.
Reference
- Wikipedia - Botan
- SSL implementations compared - although this is really about coding style.
- Stack Overflow - Looking for a High Level C++ SSL Library
- Speedtest and Comparsion of Open-Source Cryptography Libraries and Compiler Flags - by the author of CryptoTE.
- SSL and TLS - sample from old Botan manual
- Botan’s Implementation of the McEliece PKC - cryptography resilient against quantum computers?
- Building the Botan library for ios7 arm64
OpenSSL
Reference
LibreSSL
LibreSSL is a fork of OpenSSL done by the OpenBSD folks as a security-focused rewrite. There is a new library coming called ressl, for reimagined SSL.
Schannel
Secure Channel or Schannel is the name of Microsoft’s SSL implementation, implemented as an SSP in their Security Support Provider Interface.
Reference
- Schannel
- Secure Channel
- Certificate Stores
- SSL/TLS Alert Protocol & the Alert Codes
- Cryptography API: Next Generation
- CSslSocket - SSL/TLS enabled CSocket
- SSL in WinHTTP
- How to add SNI client hello extension using Schannel API?
- SSL with WinHTTP
- Manually Validating Schannel Credentials
- CryptoAPI Cryptographic Service Providers
Secure Transport
Secure Transport is Darwin/Mac OS X’s name for SSL. Modern features are only supported in Mac OS X 10.8 or later. Also annoyingly, you must put certificates in the Keychain instead of bundling them with your program. But it’s open source under the APSL 2.0 license.
PolarSSL
Reference
PolarSSL is now a part of ARM - and Hacker News comments
General
Wikipedia - Comparison of TLS implementations
Note to self - don’t allow SSL renegotiation. Re: SSL renegotiation
Cryptographic Key Length Recommendation
On the Uses of Cryptography in Industry
Security Now podcast, episode 449
Stuff from Daniel Bernstein
A state-of-the-art Diffie-Hellman function