rustls 0.1.0

Rustls is a modern TLS library written in Rust.
Documentation
/* Engineer a handshake using each suite supported by both
 * us and openssl */

#[allow(dead_code)]
mod common;
use common::OpenSSLServer;

#[test]
fn ecdhe_rsa_aes_128_gcm_sha256() {
  let mut server = OpenSSLServer::new_rsa(8100);
  server.run();
  server.client()
    .verbose()
    .suite("TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256")
    .expect("Ciphers common between both SSL end points:\nECDHE-RSA-AES128-GCM-SHA256")
    .go();
  server.kill();
}

#[test]
fn ecdhe_rsa_aes_256_gcm_sha384() {
  let mut server = OpenSSLServer::new_rsa(8200);
  server.run();
  server.client()
    .verbose()
    .suite("TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384")
    .expect("Ciphers common between both SSL end points:\nECDHE-RSA-AES256-GCM-SHA384")
    .go();
  server.kill();
}

#[test]
fn ecdhe_ecdsa_aes_128_gcm_sha256() {
  let mut server = OpenSSLServer::new_ecdsa(8300);
  server.run();
  server.client()
    .verbose()
    .suite("TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256")
    .expect("Ciphers common between both SSL end points:\nECDHE-ECDSA-AES128-GCM-SHA256")
    .go();
  server.kill();
}

#[test]
fn ecdhe_ecdsa_aes_256_gcm_sha384() {
  let mut server = OpenSSLServer::new_ecdsa(8400);
  server.run();
  server.client()
    .verbose()
    .suite("TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384")
    .expect("Ciphers common between both SSL end points:\nECDHE-ECDSA-AES256-GCM-SHA384")
    .go();
  server.kill();
}