Enum rustls::TLSError[][src]

pub enum TLSError {
    InappropriateMessage {
        expect_types: Vec<ContentType>,
        got_type: ContentType,
    },
    InappropriateHandshakeMessage {
        expect_types: Vec<HandshakeType>,
        got_type: HandshakeType,
    },
    CorruptMessage,
    CorruptMessagePayload(ContentType),
    NoCertificatesPresented,
    DecryptError,
    PeerIncompatibleError(String),
    PeerMisbehavedError(String),
    AlertReceived(AlertDescription),
    WebPKIError(Error),
    InvalidSCT(Error),
    General(String),
    FailedToGetCurrentTime,
    InvalidDNSName(String),
    HandshakeNotComplete,
    PeerSentOversizedRecord,
}

rustls reports protocol errors using this type.

Variants

We received a TLS message that isn't valid right now. expect_types lists the message types we can expect right now. got_type is the type we found. This error is typically caused by a buggy TLS stack (the peer or this one), a broken network, or an attack.

Fields of InappropriateMessage

Which types we expected

What type we received

We received a TLS handshake message that isn't valid right now. expect_types lists the handshake message types we can expect right now. got_type is the type we found.

Fields of InappropriateHandshakeMessage

Which handshake type we expected

What handshake type we received

The peer sent us a syntactically incorrect TLS message.

The peer sent us a TLS message with invalid contents.

The peer didn't give us any certificates.

We couldn't decrypt a message. This is invariably fatal.

The peer doesn't support a protocol version/feature we require. The parameter gives a hint as to what version/feature it is.

The peer deviated from the standard TLS protocol. The parameter gives a hint where.

We received a fatal alert. This means the peer is unhappy.

The presented certificate chain is invalid.

The presented SCT(s) were invalid.

A catch-all error for unlikely errors.

We failed to figure out what time it currently is.

A syntactically-invalid DNS hostname was given.

This function doesn't work until the TLS handshake is complete.

The peer sent an oversized record/fragment.

Trait Implementations

impl Debug for TLSError
[src]

Formats the value using the given formatter. Read more

impl PartialEq for TLSError
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Clone for TLSError
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Display for TLSError
[src]

Formats the value using the given formatter. Read more

impl Error for TLSError
[src]

This method is soft-deprecated. Read more

The lower-level cause of this error, if any. Read more

Auto Trait Implementations

impl Send for TLSError

impl Sync for TLSError