All Projects → mrpre → Atls

mrpre / Atls

A light TLS implementation used for learning: TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 GMSSL 1.1(国密SSL) based on libcrypto.so.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Atls

dheater
D(HE)ater is a proof of concept implementation of the D(HE)at attack (CVE-2002-20001) through which denial-of-service can be performed by enforcing the Diffie-Hellman key exchange.
Stars: ✭ 142 (+5.97%)
Mutual labels:  tls, ssl, tls13
Tlslite Ng
TLS implementation in pure python, focused on interoperability testing
Stars: ✭ 119 (-11.19%)
Mutual labels:  ssl, tls, tls13
Illustrated Tls13
The Illustrated TLS 1.3 Connection: Every byte explained
Stars: ✭ 372 (+177.61%)
Mutual labels:  ssl, tls, tls13
Sslyze
Fast and powerful SSL/TLS scanning library.
Stars: ✭ 2,623 (+1857.46%)
Mutual labels:  ssl, tls, tls13
wolfssl-py
Python wrapper for wolfSSL embedded SSL/TLS library.
Stars: ✭ 30 (-77.61%)
Mutual labels:  tls, ssl, tls13
Tlsfuzzer
SSL and TLS protocol test suite and fuzzer
Stars: ✭ 335 (+150%)
Mutual labels:  ssl, tls, tls13
Wolfssl
wolfSSL (formerly CyaSSL) is a small, fast, portable implementation of TLS/SSL for embedded devices to the cloud. wolfSSL supports up to TLS 1.3!
Stars: ✭ 1,098 (+719.4%)
Mutual labels:  ssl, tls, tls13
Acme client
Java ACME Client application
Stars: ✭ 77 (-42.54%)
Mutual labels:  ssl, tls
Ghostunnel
A simple SSL/TLS proxy with mutual authentication for securing non-TLS services
Stars: ✭ 1,296 (+867.16%)
Mutual labels:  ssl, tls
Tls Inspector
Easily view and inspect X.509 certificates on your iOS device.
Stars: ✭ 92 (-31.34%)
Mutual labels:  ssl, tls
Sslsplit
Transparent SSL/TLS interception
Stars: ✭ 1,371 (+923.13%)
Mutual labels:  ssl, tls
Docker Openldap
Docker OpenLDAP Container w/TLS & Replication Support S6 Overlay, and Zabbix Monitoring based on Alpine
Stars: ✭ 74 (-44.78%)
Mutual labels:  ssl, tls
Merecat
Small and made-easy HTTP/HTTPS server based on Jef Poskanzer's thttpd
Stars: ✭ 69 (-48.51%)
Mutual labels:  ssl, tls
Tlslibrary
Simple TlsLibrary written in Kotlin - Provides DSL for creating TLS connections
Stars: ✭ 67 (-50%)
Mutual labels:  ssl, tls
Gmtls
GM TLS/SSL Based on Golang (基于国密算法的TLS/SSL代码库)
Stars: ✭ 63 (-52.99%)
Mutual labels:  ssl, tls
Php Hyper Builtin Server
Reverse proxy for PHP built-in server which supports multiprocessing and TLS/SSL encryption
Stars: ✭ 93 (-30.6%)
Mutual labels:  ssl, tls
Chromium Gost
Chromium с поддержкой алгоритмов ГОСТ
Stars: ✭ 123 (-8.21%)
Mutual labels:  ssl, tls
Ssl Checker
Python script that collects SSL/TLS information from hosts
Stars: ✭ 94 (-29.85%)
Mutual labels:  ssl, tls
Tls Channel
A Java library that implements a ByteChannel interface over SSLEngine, enabling easy-to-use (socket-like) TLS for Java applications.
Stars: ✭ 113 (-15.67%)
Mutual labels:  ssl, tls
React Native Tcp Socket
React Native TCP socket API for Android, iOS & macOS with client SSL/TLS support
Stars: ✭ 112 (-16.42%)
Mutual labels:  ssl, tls

Atls

A lite TLS implementation used for learning(TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3 GMSSL 1.1 ) based on libcrypto.so.

1.Not supporting multiplethreading.
2.The memory used for Atls(handshaked session) is less than 1k + 2*EVP_CIPHER_CTX(OpenSSL).

For daemon using

make
./daemon_server

You can also specify the newer libcrypto.so by using cryptodir where the OpenSSL being compiled and installed to.
make cryptodir=/$YOURPATH/openssl/.openssl

For GMSSL, the version of libcrypto.so must be greater than OpenSSL-1.1.1a. Because the openssl-1.1.1 is in developing and may be changed greatly, please create issues if you have any question.

For Nginx using(Version 1.13.12)

Add void *a_tls; into struct ngx_connection_s.
compile like./configure --add-module=/$YOURPATH/a_tls/ --with-stream --with-http_ssl_module --with-stream_ssl_module --with-openssl=/$YOURPATH/openssl/.

Common Directives

stream {
    ....
    server {
        listen 443;
        a_tls_certificate ecc.pem;
        a_tls_certificate_key ecc.key;
        a_tls_certificate rsa.pem;
        a_tls_certificate_key rsa.key;
    }
}

GMSSL Directives

stream {
    ....
    server {
        listen 443;
        a_tls_certificate gm.cert;
        a_tls_certificate_key gm.key;
        a_tls_sign_certificate gm.cert;
        a_tls_sign_certificate_key gm.key;
    }
}

You can also mix SM2 certificate and TLS certificate to support both TLS and GMSSL.

Tips

For using GMSSL, plz using 360 GM browser and then change your client's local time before 01/01/2018(caues the daemon certificate has expired).

BUG reporting

1: Using Wireshark to capture the TLS packet.
2: Using make DEBUG=1 and paste the log info.
3: Certificates and Keys(Option).
4: Nginx configure file(Option).
5: Send to [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].