Crates.io | compio-openssl |
lib.rs | compio-openssl |
version | 0.1.0 |
created_at | 2025-05-09 06:31:30.897182+00 |
updated_at | 2025-05-09 06:31:30.897182+00 |
description | A compio asynchronous stream of OpenSSL stream |
homepage | https://github.com/Incisakura/compio-openssl |
repository | https://github.com/Incisakura/compio-openssl |
max_upload_size | |
id | 1666289 |
size | 52,885 |
An asynchronous OpenSSL stream for compio.
*Note: to use TLS 1.3 early data, you need OpenSSL 1.1.1 at least.
use compio::net::TcpStream;
use openssl::ssl::{SslConnector, SslMethod};
let mut builder = SslConnector::builder(SslMethod::tls_client()).unwrap();
let tls_connector = builder.build();
let stream = TcpStream::connect(("www.google.com", 443)).await.unwrap();
let tls_ctx = tls_connector.configure().unwrap().into_ssl("www.google.com").unwrap();
let mut stream = SslStream::new(tls_ctx, stream).unwrap();
stream.connect().await.unwrap();
// Now you get a full async TLS stream!
Fore more examples, see our test.
To make OpenSSL static links to your binary, please use openssl's vendored
feature.
[dependencies]
openssl = { version = "0.10", features = ["vendored"] }
MIT License