| Technology Highlights |
| Up to 20x smaller than OpenSSL |
| Only requires 20-100KB Flash |
| Only requires 1-36kB RAM |
| Supports TLS 1, 1.1 and 1.2 (client and server) |
| Supports DTLS 1 and 1.2 (client and server) |
| Hashing functions: MD2, MD4, MD5, SHA-1, SHA-2, SHA-256, SHA-384, SHA-512, BLAKE2b, and RIPEMD-160 |
| Block, Stream, and AEAD ciphers: AES (CBC, CTR, GCM, CCM), Camellia, DES, 3DES, ARC4, RABBIT, HC-128 ciphers |
| Public key options: RSA, DSS, DH, EDH, NTRU |
| Private key encryption: PKCS #8, #5, #12 |
| Supports PEM and DER certificates |
| Key generation and ECC support |
| Certificate generation |
| FreeRTOS port layer |
| OpenSSL compatibility layer |
WolfSSL is about 10 times smaller than yaSSL, and can be up to 20 times smaller than OpenSSL (depending on the build configuration). User feedback also reports dramatically better performance when compared to OpenSSL in standard SSL operations.
WolfSSL's small size, speed and feature set make it ideal for use with FreeRTOS, but WolfSSL does not compromise on functionality. It supports the latest industry standards, such as the Transport Security Layer (TLS) protocol version 1.2, as well as progressive streaming, block, and AEAD ciphers such as AES-GCM, RABBIT, and NTRU.
WolfSSL has a simple API, and can be added into existing applications just as easily as it can be used in new applications. The Simple WolfSSL Client Side Usage Example and Simple WolfSSL Server Side Usage Example pages on this website demonstrate the steps necessary for a basic integration, and the provided FreeRTOS simulator example project can be used as a reference. The user manual contains a complete configuration and API reference.