Module rustls
Expand description
Re-export of the rustls
and tokio-rustls
crates.
To facilitate the use of rustls
types in API’s such as TlsAcceptorLayer
.
Modules§
- Re-export of client module of the
rustls
andtokio-rustls
crates. - Certificate compression and decompression support
- Crypto provider interface.
- This module contains parameters for FFDHE named groups as defined in RFC 7919 Appendix A.
- APIs abstracting over locking primitives.
- This is the rustls manual.
- Re-exports the contents of the rustls-pki-types crate for easy access
- APIs for implementing QUIC TLS
- Re-export of server module of the
rustls
andtokio-rustls
crates. - Message signing interfaces.
- APIs for implementing TLS tickets
- The library’s source of time.
- Unbuffered connection API
- All defined protocol versions appear in this module.
Structs§
- Common state for cipher suites (both for TLS 1.2 and TLS 1.3)
- Common configuration for (typically) all connections made by a program.
- This represents a single TLS client connection.
- Connection state common to both client and server connections.
- Interface shared by client and server connections.
- This type combines a
SignatureScheme
and a signature payload produced with that scheme. - A
DistinguishedName
is aVec<u8>
wrapped in internal types. - Secrets for transmitting/receiving data over a TLS session.
- Values of this structure are returned from
Connection::process_new_packets
and tell the caller the current I/O state of the TLS connection. KeyLog
implementation that opens a file whose name is given by theSSLKEYLOGFILE
environment variable, and writes keys into it.- KeyLog that does exactly nothing.
- Any other error that cannot be expressed by a more specific
Error
variant. - A structure that implements
std::io::Read
for reading plaintext. - A container for root certificates able to provide a root-of-trust for connection authentication.
- Common configuration for a set of server sessions.
- This represents a single TLS server connection.
- This type implements
io::Read
andio::Write
, encapsulating a ConnectionC
and an underlying transportT
, such as a socket. - This type implements
io::Read
andio::Write
, encapsulating and owning a ConnectionC
and an underlying blocking transportT
, such as a socket. - A TLS protocol version supported by rustls.
- A ticketer that has a ‘current’ sub-ticketer and a single ‘previous’ ticketer. It creates a new ticketer every so often, demoting the current ticketer.
- A ticketer that has a ‘current’ sub-ticketer and a single ‘previous’ ticketer. It creates a new ticketer every so often, demoting the current ticketer.
- A TLS 1.2 cipher suite supported by rustls.
- A TLS 1.3 cipher suite supported by rustls.
- Config builder state where the caller must supply a verifier.
- Config builder state where the caller must supply TLS protocol versions.
- A structure that implements
std::io::Write
for writing plaintext.
Enums§
- The
AlertDescription
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - The ways in which a certificate revocation list (CRL) can be invalid.
- The “TLS Certificate Compression Algorithm IDs” TLS protocol enum. Values in this enum are taken from RFC8879.
- The ways in which certificate validators can express errors.
- The
CipherSuite
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - A client or server connection.
- Secrets used to encrypt/decrypt data in a TLS session.
- The
ContentType
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - An error that occurred while handling Encrypted Client Hello (ECH).
- rustls reports protocol errors using this type.
- Describes which sort of handshake happened.
- The
HandshakeType
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - Specific failure cases from
keys_match
or acrate::crypto::signer::SigningKey
that cannot produce a corresponding public key. - A corrupt TLS message payload that resulted in an error.
- The
NamedGroup
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - The set of cases where we failed to make a connection because a peer doesn’t support a TLS version/feature we require.
- The set of cases where we failed to make a connection because we thought the peer was misbehaving.
- The
ProtocolVersion
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - Side of the connection.
- The
SignatureAlgorithm
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - The
SignatureScheme
TLS protocol enum. Values in this enum are taken from the various RFCs covering TLS, and are listed by IANA. TheUnknown
item is used when processing unrecognised ordinals. - A cipher suite supported by rustls.
Statics§
- A list of all the protocol versions supported by rustls.
- The version configuration that an application should use by default.
Traits§
- This trait represents the ability to do something useful with key material, such as logging it to a file for debugging.
- Data specific to the peer’s side (client or server).