#tls-stream #async-io #native-tls #io-stream #async-tls #tokio #non-blocking

tokio-native-tls

An implementation of TLS/SSL streams for Tokio using native-tls giving an implementation of TLS for nonblocking I/O streams

4 releases (2 breaking)

0.3.1 Feb 7, 2023
0.3.0 Dec 24, 2020
0.2.0 Oct 16, 2020
0.1.0 Apr 3, 2020

#59 in Asynchronous

Download history 812574/week @ 2024-07-20 809914/week @ 2024-07-27 797545/week @ 2024-08-03 871608/week @ 2024-08-10 887813/week @ 2024-08-17 885456/week @ 2024-08-24 828110/week @ 2024-08-31 884862/week @ 2024-09-07 826455/week @ 2024-09-14 1074960/week @ 2024-09-21 1083168/week @ 2024-09-28 1556828/week @ 2024-10-05 1447980/week @ 2024-10-12 1529289/week @ 2024-10-19 1021351/week @ 2024-10-26 885097/week @ 2024-11-02

5,052,070 downloads per month
Used in 2,265 crates (186 directly)

MIT license

21KB
326 lines

tokio-tls

An implementation of TLS/SSL streams for Tokio built on top of the native-tls crate

License

This project is licensed under the MIT license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tokio by you, shall be licensed as MIT, without any additional terms or conditions.


lib.rs:

Async TLS streams

This library is an implementation of TLS streams using the most appropriate system library by default for negotiating the connection. That is, on Windows this library uses SChannel, on OSX it uses SecureTransport, and on other platforms it uses OpenSSL.

Each TLS stream implements the Read and Write traits to interact and interoperate with the rest of the futures I/O ecosystem. Client connections initiated from this crate verify hostnames automatically and by default.

This crate primarily exports this ability through two newtypes, TlsConnector and TlsAcceptor. These newtypes augment the functionality provided by the native-tls crate, on which this crate is built. Configuration of TLS parameters is still primarily done through the native-tls crate.

Dependencies

~2–12MB
~152K SLoC