hey3e / matrixssl

Lightweight Embedded SSL/TLS Implementation for IoT Devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Attention

Dear user,
we would like to announce that MatrixSSL v4.7 will be the last release of the product and we will remove MatrixSSL repository from the GitHub on Monday 21st of July 2023.

Best regards,
MatrixSSL admin

Lightweight Embedded SSL/TLS Implementation
Official source repository of MatrixSSL

release license

coverity-status

Overview

MatrixSSL has been continuously maintained since 2002. It is the first open source small footprint SSL stack. Until recently, releases were tracked on http://freecode.com/projects/matrixssl

MatrixSSL is an embedded SSL and TLS implementation designed for small footprint IoT devices requiring low overhead per connection. It includes client and server support through TLS 1.3, mutual authentication, session resumption, and implementations of RSA, ECC, AES, SHA1, SHA-256, ChaCha20-Poly1305 and more. The source is well documented and contains portability layers for additional operating systems, cipher suites, and cryptography providers.

Reporting Issues

Please email matrixssl@rambus.com. Sensitive emails can be encrypted using the public key in this directory pgp.asc, Key fingerprint = C714 FAC4 3D95 3584 9926 25EB 4F08 F506 433F 9237.

Features

  • Small total footprint with crypto provider
  • SSL 3.0 and TLS 1.0, 1.1, 1.2 and 1.3 server and client support
  • Included crypto library - RSA, ECC, AES, 3DES, ARC4, SHA1, SHA256, MD5, ChaCha20-Poly1305
  • Assembly language optimizations for Intel, ARM and MIPS
  • Session re-keying and cipher renegotiation
  • Full support for session resumption/caching
  • Server Name Indication and Stateless Session Tickets
  • RFC7301 Application Protocol Negotiation
  • Server and client X.509 certificate chain authentication
  • Client authentication with an external security token
  • Parsing of X.509 .pem and ASN.1 DER certificate formats
  • PKCS#1.5, PKCS#5 PKCS#8 and PKCS#12 support for key formatting
  • RSASSA-PSS Signature Algorithm support
  • Certificate Revocation List (CRL) support
  • Fully cross platform, portable codebase; minimum use of system calls
  • Pluggable cipher suite interface
  • Pluggable crypto provider interface
  • Pluggable operating system and malloc interface
  • TCP/IP optional
  • Multithreading optional
  • Only a handful of external APIs, all non-blocking
  • Example client and server code included
  • Clean, heavily commented code in portable C
  • User and developer documentation

About

Lightweight Embedded SSL/TLS Implementation for IoT Devices

License:GNU General Public License v2.0


Languages

Language:C 97.6%Language:Assembly 1.0%Language:Makefile 1.0%Language:HTML 0.2%Language:C++ 0.1%Language:Shell 0.1%