1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2014年8月4日

#4 in #p256

124 星 & 14 关注者

145KB
3.5K SLoC

suruga 是 TLS 1.2 的 Rust 实现。

它目前实现了 TLS 1.2 的某些核心部分,NIST P-256 ECDHEchacha20-poly1305

用法

extern crate suruga;

use std::io::prelude::*;
use std::net::TcpStream;

fn main() {
    test().unwrap();
}

fn test() -> suruga::tls_result::TlsResult<()> {
    let stream = try!(TcpStream::connect("www.google.com:443"));
    let mut client = try!(suruga::TlsClient::from_tcp(stream));
    let _len = try!(client.write(b"GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n"));

    let mut msg = vec![0u8; 100];
    try!(client.read(&mut msg));
    let msg = String::from_utf8_lossy(&msg);
    println!("msg: {}", msg);

    try!(client.close());

    Ok(())
}

依赖项

~1MB
~17K SLoC