Struct native_tls::TlsConnector
[−]
[src]
pub struct TlsConnector(_);
A builder for client-side TLS connections.
Examples
use native_tls::TlsConnector; use std::io::{Read, Write}; use std::net::TcpStream; let connector = TlsConnector::builder().unwrap().build().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));
Methods
impl TlsConnector
[src]
fn builder() -> Result<TlsConnectorBuilder>
[src]
Returns a new builder for a TlsConnector
.
fn connect<S>(
&self,
domain: &str,
stream: S
) -> Result<TlsStream<S>, HandshakeError<S>> where
S: Read + Write,
[src]
&self,
domain: &str,
stream: S
) -> Result<TlsStream<S>, HandshakeError<S>> where
S: Read + Write,
Initiates a TLS handshake.
The provided domain will be used for both SNI and certificate hostname validation.
If the socket is nonblocking and a WouldBlock
error is returned during
the handshake, a HandshakeError::Interrupted
error will be returned
which can be used to restart the handshake when the socket is ready
again.
fn danger_connect_without_providing_domain_for_certificate_verification_and_server_name_indication<S>(
&self,
stream: S
) -> Result<TlsStream<S>, HandshakeError<S>> where
S: Read + Write,
[src]
&self,
stream: S
) -> Result<TlsStream<S>, HandshakeError<S>> where
S: Read + Write,
Like connect
, but does not validate the server's domain name against its certificate.
Warning
You should think very carefully before you use this method. If hostname verification is not used, any valid certificate for any site will be trusted for use from any other. This introduces a significant vulnerability to man-in-the-middle attacks.
Trait Implementations
impl Clone for TlsConnector
[src]
fn clone(&self) -> TlsConnector
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more