Open-source C projects categorized as TLS

Transport Layer Security (TLS), the successor of the now-deprecated Secure Sockets Layer (SSL), is a cryptographic protocol designed to provide communications security over a computer network.

Top 18 C TLS Projects

  • OpenSSL

    TLS/SSL and crypto library

    Project mention: OpenSSL Security Advisory [7th February 2023] | news.ycombinator.com | 2023-02-07
  • SoftEther

    Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • ecapture

    capture SSL/TLS text content without CA cert using eBPF. supports Linux/Android x86_64/Aarch64.

    Project mention: Go based eBPF projects | reddit.com/r/golang | 2022-11-27

    eCapture : Capture SSL/TLS text content without CA certificate Using eBPF

  • s2n

    An implementation of the TLS/SSL protocols

    Project mention: Golang is evil on shitty networks | news.ycombinator.com | 2022-12-29

    > The documentation is kind of vague, but apparently you have to re-enable it regularly.[3]

    This is correct. And in the end it means more or less that setting the socket option is more of a way of sending an explicit ACK from userspace than a real setting.

    It's not great for common use-cases, because making userspace care about ACKs will obviously degrade efficiency (more syscalls).

    However it can make sense for some use-cases. E.g. I saw the s2n TLS library using QUICKACK to avoid the TLS handshake being stuck [1]. Maybe also worthwhile to be set in some specific RPC scenarios where the server might not immediately send a response on receiving the request, and where the client could send additional frames (e.g. gRPC client side streaming, or in pipelined HTTP requests if the server would really process those in parallel and not just let them sit in socket buffers).

    [1] https://github.com/aws/s2n-tls/blob/46c47a71e637cabc312ce843...

  • mbedTLS

    An open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API.

    Project mention: DIY Physical Backed Tokens (EIP-5791) with ESP32 and BLE | reddit.com/r/ethdev | 2023-02-02

    i've used the entropy generator from MbedTLS which uses multiple sources of randomness, and seeding it additionally with the chip's mac address and the free heap size at time of creation. it would take a lot to recreate all that "noise" consistently, but i'm open to suggestions on how to make it more secure

  • GmSSL


  • Kore

    An easy to use, scalable and secure web application framework for writing web APIs in C or Python. || This is a read-only mirror, please see https://kore.io/mail and https://kore.io/source for information on how to contribute via the mailing lists.

    Project mention: What C source code or library do you use for a local server? | reddit.com/r/C_Programming | 2023-01-27

    https://kore.io - it’s used in a lot of nice places these days and it’s fun. (Disclaimer, it’s mine)

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • wolfssl

    The wolfSSL library is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!

    Project mention: “Purchasing an arm” | reddit.com/r/Firearms | 2022-11-27

    Or something a bit more lightweight - https://github.com/wolfSSL/wolfssl

  • sslsplit

    Transparent SSL/TLS interception

  • KadNode

    P2P DNS with content key, crypto key and PKI support. DynDNS alternative.

  • openssl

    Fork of OpenSSL that includes prototype quantum-resistant algorithms and ciphersuites based on liboqs (by open-quantum-safe)

    Project mention: #IranProtests: Signal is blocked in Iran. You can help people in Iran reconnect to Signal by hosting a proxy server. | reddit.com/r/technology | 2022-09-22

    Also: https://github.com/open-quantum-safe/openssl

  • openssl

    Provides SSL, TLS and general purpose cryptography. (by ruby)

    Project mention: undefined method `generate' for OpenSSL::PKey::EC:Class whe starting an SSH session with a private key | reddit.com/r/ruby | 2022-08-27

    JRuby doesn't use the official openssl gem which contains C extensions that compile against libopenssl, but instead uses jruby-openssl. There are a few minor compatibility issues with jruby-openssl. I've ran into the missing EC.generate method before. In theory CRuby's openssl OpenSSL::PKey::EC.generate creates a new OpenSSL::PKey::EC object and calls #generate_key, but trying that in JRuby produces a smaller EC key implying there's some data missing from the EC key, so I'm not sure if that approach is equivalent.

  • tls-scan

    An Internet scale, blazing fast SSL/TLS scanner ( non-blocking, event-driven )

    Project mention: tls-scan VS trivialscan - a user suggested alternative | libhunt.com/r/tls-scan | 2022-04-25
  • libresbc

    An open source Session Border Controller, The SBC you dream about 🌟 LibreSBC will help you save thousands of dollars.

    Project mention: LibreSBC: An open-source Session Border Controller | news.ycombinator.com | 2022-07-26
  • ssldump

    ssldump - (de-facto repository gathering patches around the cyberspace)

    Project mention: Tracing HTTP Requests with Tcpflow | news.ycombinator.com | 2022-11-13

    I recall seeing a thread somewhere saying tcpflow would not add this capability and they point people to ssldump [1][2] and even that has some limitations.

    [1] - https://github.com/adulau/ssldump

    [2] - https://linux.die.net/man/1/ssldump

  • merecat

    Small and made-easy HTTP/HTTPS server based on Jef Poskanzer's thttpd

  • disco-c

    A tiny C cryptographic library to encrypt sessions, authenticate messages, sign, hash, etc. based only on SHA-3 and Curve25519

    Project mention: Liblithium: A lightweight and portable cryptography library | news.ycombinator.com | 2022-11-16

    Wondering if the authors heard of embedded disco[1]

    [1]: https://embeddeddisco.com/

  • snif

    SNIF ~ e2e TLS trust for IoT

    Project mention: VESmail: Set-and-forget Email Encryption - in open testing | reddit.com/r/androidapps | 2022-04-09

    The VESmail account manager guides though the setup process and provides the settings for your email client app to connect to the local VESmail app. For the convenience of the setup, the account manager suggests to use a trusted TLS connection via an end-to-end SNIF relay (https://snif.host), although a direct non-TLS connection to localhost (IMAP 7143, SMTP 7125) can be used instead.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-02-07.

C TLS related posts


What are some of the best open-source TLS projects in C? This list will help you:

Project Stars
1 OpenSSL 20,769
2 SoftEther 9,702
3 ecapture 5,585
4 s2n 4,243
5 mbedTLS 3,975
6 GmSSL 3,728
7 Kore 3,553
8 wolfssl 1,823
9 sslsplit 1,565
10 KadNode 387
11 openssl 228
12 openssl 216
13 tls-scan 212
14 libresbc 199
15 ssldump 173
16 merecat 123
17 disco-c 57
18 snif 14
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives