#rustls #tls #native-tls #connector #openssl #flags #cryptography

rustls-connector

类似于openssl或native-tls的rustls连接器

41个不稳定版本

新功能 0.21.1 2024年8月19日
0.21.0 2024年5月2日
0.20.1 2024年8月19日
0.20.0 2024年4月11日
0.7.0 2019年6月10日

#140 in 网络编程

Download history 20077/week @ 2024-04-30 20847/week @ 2024-05-07 21589/week @ 2024-05-14 21776/week @ 2024-05-21 22859/week @ 2024-05-28 26462/week @ 2024-06-04 22538/week @ 2024-06-11 21833/week @ 2024-06-18 24477/week @ 2024-06-25 22277/week @ 2024-07-02 26508/week @ 2024-07-09 28977/week @ 2024-07-16 28670/week @ 2024-07-23 31642/week @ 2024-07-30 32713/week @ 2024-08-06 32270/week @ 2024-08-13

每月131,349次下载
用于 23 个Crate(9个直接使用)

BSD-2-Clause

14KB
167

rustls-connector

API Docs Build status Downloads

类似于openssl或native-tls的rustls连接器

rustls-connector是一个库,旨在简化使用rustls作为openssl和native-tls的替代方案

关于加密后端的警告

必须在rustls中使用功能标志启用加密实现。我们模仿rustls的行为,为每个实现提供一个功能标志,并默认启用与rustls相同的标志。可用选项包括

  • rustls--aws_lc_rs(默认)
  • rustls--ring

示例

连接到远程服务器

use rustls_connector::RustlsConnector;

use std::{
    io::{Read, Write},
    net::TcpStream,
};

let connector = RustlsConnector::new_with_native_certs().unwrap();
let stream = TcpStream::connect("google.com:443").unwrap();
let mut stream = connector.connect("google.com", stream).unwrap();

stream.write_all(b"GET / HTTP/1.0\r\n\r\n").unwrap();
let mut res = vec![];
stream.read_to_end(&mut res).unwrap();
println!("{}", String::from_utf8_lossy(&res));

依赖项

~7–22MB
~490K SLoC