Many applications require TLS/SSL communication in one form or another as
part of their implementation, but finding a library for this isn't always
trivial! The purpose of this crate is to provide a seamless integration
experience on all platforms with a cross-platform API that deals with all
the underlying details for you.

This crate uses SChannel on Windows (via the schannel crate), Secure
Transport on OSX (via the security-framework crate), and OpenSSL (via the
openssl crate) on all other platforms. Future futures may also enable
other TLS frameworks as well, but these initial libraries are likely to
remain as the defaults.

If you know you're on a particular platform then you can use the
platform-specific extension traits in this crate to configure the underlying
details of that platform. For example OpenSSL may have more options for
configuration than Secure Transport. By default, though, the API of this
crate works across all platforms.

Note that this crate also strives to be secure-by-default. For example when
using OpenSSL it will configure validation callbacks to ensure that
hostnames match certificates, use strong ciphers, etc. This implies that
this crate is not just a thin abstraction around the underlying libraries,
but also an implementation that strives to strike reasonable defaults.