Feature Highlights

MesaLink provides the following TLS features through Rustls, a modern TLS library written in Rust.

Memory Safety

MesaLink is impervious to bugs like Heartbleed and buffer overflows becuse it is written in the memory-safe language of Rust.

Cross Platform

Linux, macOS, Android, x86, amd64, armv7, aarch64... you name it. MesaLink probably compiles for it.

Modern Ciphersuites

MesaLink uses the best ciphersuites including AES-GCM, Chacha20Poly1305, and elliptic-curve key exchange with perfect forward secrecy.

TLS 1.3

Eight years since TLS 1.2, the faster and more secure TLS standard, is now in Rustls and MesaLink.

Blazing Fast

X25519 key exchange, AES-NI support, no language runtime like Java/Go. MesaLink runs at full speed on your metal.

Flexible Configuration

MesaLink offers flexible configurations tailored to your needs. You can customize which ciphers and TLS versions are built-in.


MesaLink provides OpenSSL-compatible C APIs. Want to use MesaLink in curl or Android? No problem.

Build and try MesaLink
in less than 5 minutes

MesaLink is currently only available on Linux, Android and macOS. We will introduce support for other platforms in future releases.

Instructions for cross-compilation

Despite that MesaLink is written in Rust, we have crafted the build scripts to help you cross compile MesaLink in a way that is similar to cross-compiling OpenSSL. Read more about it here

$ ./autogen.sh --enable-examples $ make $ cd examples && ./client api.ipify.org [+] Negotiated ciphersuite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, enc_length=16, version=TLS1.2 [+] Sent 85 bytes GET / HTTP/1.0 Host: api.ipify.org Connection: close Accept-Encoding: identity HTTP/1.1 200 OK Server: Cowboy Connection: close Content-Type: text/plain Vary: Origin Date: Thu, 15 Feb 2018 23:58:39 GMT Content-Length: 10 Via: 1.1 vegur [+] TLS protocol version: TLS1.2 [+] Received 177 bytes $ _

Interested? Get started here!