[][src]Crate rustls_extra

#rustls-extra

rustls-extra contains useful abstractions to make it easier to work with the logic in rustls for epoll-based servers and clients.

Re-exports

pub extern crate webpki;

Modules

supported_cipher_suites

Horrible hack to export references from rustls for supported cipher suites.

Structs

AllowAnyAnonymousOrAuthenticatedClient

A ClientCertVerifier that will allow both anonymous and authenticated clients, without any name checking.

AllowAnyAuthenticatedClient

A ClientCertVerifier that will ensure that every client provides a trusted certificate, without any name checking.

ApplicationLayerProtocolNegotiationProtocols

Application layer protocols to negotiate in preference order.

Certificate

This type contains a single certificate by value.

CertificateChainAndPrivateKey

A certificate and private key to authenticate with a TLS server.

ClientConfig

Common configuration for (typically) all connections made by a program.

ClientSession

This represents a single TLS client session.

ClientSessionMemoryCache

An implementor of StoresClientSessions that stores everything in memory. It enforces a limit on the number of entries to bound memory usage.

CommonTlsPostHandshakeInformation

TLS information available after successful handshaking that is common to both clients and servers.

DNSName

A DNS Name suitable for use in the TLS Server Name Indication (SNI) extension and/or for use as the reference hostname for which to verify a certificate.

DNSNameRef

A reference to a DNS Name suitable for use in the TLS Server Name Indication (SNI) extension and/or for use as the reference hostname for which to verify a certificate.

IndexSet

A hash set where the iteration order of the values is independent of their hash values.

NoClientAuth

Turns off client authentication.

NoClientSessionStorage

An implementor of StoresClientSessions which does nothing.

NoServerSessionStorage

Something which never stores sessions.

PrivateKey

This type contains a private key by value.

RootCertStore

A container for root certificates able to provide a root-of-trust for connection authentication.

ServerConfig

Common configuration for a set of server sessions.

ServerSession

This represents a single TLS server session.

ServerSessionMemoryCache

An implementor of StoresServerSessions that stores everything in memory. If enforces a limit on the number of stored sessions to bound memory usage.

SupportedCipherSuite

A cipher suite supported by rustls.

Ticketer

A concrete, safe ticket creation mechanism.

TlsClientConfiguration

TLS configuration for a client.

TlsCommonConfiguration

TLS configuration common to clients and servers.

TlsServerConfiguration

TLS configuration for a server.

Enums

ApplicationLayerProtocolNegotiationProtocol

List from https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids as of January 15th, 2019.

CertificateChainAndPrivateKeyError

Represents an error when parsing a certificate chain and private key.

ClientAuthenticationConfiguration

Defaults to AllowAnyAnonymous.

ProtocolVersion
RootCertificateStoreLoadError

Represents an error when configuring a server.

SupportedTlsVersions

Which TLS versions should be configured?

TLSError

rustls reports protocol errors using this type.

TlsClientConfigurationError

Represents an error when configuring a server.

TlsServerConfigurationError

Represents an error when configuring a server.

Statics

GooglesKnownListOfCertificateTransparencyLogs

Traits

ClientCertVerifier

Something that can verify a client certificate chain

Session

Generalises ClientSession and ServerSession

WriteV

This trait specifies rustls's precise requirements doing writes with vectored IO.

Functions

certs

Extract all the certificates from rd, and return a vec of key::Certificates containing the der-format contents.

pkcs8_private_keys

Extract all PKCS8-encoded private keys from rd, and return a vec of key::PrivateKeys containing the der-format contents.

rsa_private_keys

Extract all RSA private keys from rd, and return a vec of key::PrivateKeys containing the der-format contents.

Type Definitions

ServerNameIndication

May be None if not supplied.