MatrixSSL is an embedded SSL and TLS implementation designed for small footprint devices and applications requiring low overhead per connection. The library is less than 50Kb on disk with cipher suites. It includes client and server support through TLS 1.2, mutual authentication, session resumption, and implementations of RSA, ECC, AES, 3DES, ARC4, SHA2, SHA1, and MD5. The source is well documented and contains portability layers for additional operating systems, cipher suites, and cryptography providers.
|Tags||Communications Internet Web HTTP Servers Security Cryptography Software Development Embedded Systems Libraries Networking SSL TLS|
|Operating Systems||Windows OS Independent POSIX Linux Other Unix Mac OS X FreeRTOS iOS Bare Metal or Native|
MatrixSSL is not based on OpenSSL and is not vulnerable to the Heartbleed bug. It is our design policy to minimize the number of TLS extensions that are implemented and not required by our user base. Most of our optional features and ciphers are not compiled by default. The focus on small footprint SSL has always helped reduce code complexity and gives bugs like this fewer places to hide. Still, no popular security libraries are free of bugs, and we continue to stamp them out since our first release in Jan 2004. Our latest release, 3.6.1 fixes several issues found through internal and external audit and it is recommended that all users update to this version.
Release Notes: TLS 1.2 client and server. ECC, DH, and ephemeral key exchange. Pre-Shared Key (PSK), AES-GCM, SEED, and IDEA ciphers. SHA2 (256, 384, and 512 bit) hashes and HMAC. Server Name Indication (SNI), Stateless Session Ticket, and Truncated HMAC extensions. Intel assembly and AES-NI acceleration. These features have been open sourced from the commercial product branch. Only SSH and DTLS remain commercial. Security fixes: certificate parsing is much more strict, and several length underflow issues were fixed as a result of multiple external code audits.
Release Notes: Client certificate authentication was enabled in the GPL release. Certificate Revocation List (CRL) support was added. Assembly language optimizations were made for x86, x86_64, ARM, and MIPS. Countermeasures were provided for the Lucky Thirteen CBC padding attack. Maximum Fragment Length extension support was added. There were additional minor enhancements and fixes.
Release Notes: This release throttles TLS re-handshakes on the server side to minimize the effect of potential denial of service due to repeated requests, rebrands the documentation and source code to reflect the AuthenTec acquisition of MatrixSSL, and adds Chrome False Start support to the example Web server application.
Release Notes: This release adds TLS 1.1 security protocol support for the client and server to enhance block cipher security using a per-record explicit IV. It adds PKCS#8 parsing for newer format public key certificates. Library users can parameterize incoming and outgoing buffer sizes and are notified of zero-length SSL records. A new matrixSslEncodeToOutdata() API to encode directly into an existing TCP/IP buffer for low footprint memory usage.
Release Notes: iPhone OS support and a sample Xcode project were added. Server support was added for Google Chrome False Start additions to the TLS protocol for increased handshake performance. Size/speed tradeoffs are now configurable during compile time. Active cipher suites can now be modified at runtime via a new API. The code was updated to support Luminary Micro/TI Stellaris ARM Cortex-M3 secure Web server examples.