[][src]Enum rustls::TLSError

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

InappropriateMessage

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

expect_types: Vec<ContentType>

Which types we expected

got_type: ContentType

What type we received

InappropriateHandshakeMessage

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

expect_types: Vec<HandshakeType>

Which handshake type we expected

got_type: HandshakeType

What handshake type we received

CorruptMessage

The peer sent us a syntactically incorrect TLS message.

CorruptMessagePayload(ContentType)

The peer sent us a TLS message with invalid contents.

NoCertificatesPresented

The peer didn't give us any certificates.

DecryptError

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

PeerIncompatibleError(String)

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

PeerMisbehavedError(String)

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

AlertReceived(AlertDescription)

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

WebPKIError(Error)

The presented certificate chain is invalid.

InvalidSCT(Error)

The presented SCT(s) were invalid.

General(String)

A catch-all error for unlikely errors.

FailedToGetCurrentTime

We failed to figure out what time it currently is.

InvalidDNSName(String)

A syntactically-invalid DNS hostname was given.

HandshakeNotComplete

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

PeerSentOversizedRecord

The peer sent an oversized record/fragment.

Trait Implementations

impl Clone for TLSError[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl PartialEq<TLSError> for TLSError[src]

impl Display for TLSError[src]

impl Debug for TLSError[src]

impl Error for TLSError[src]

fn cause(&self) -> Option<&dyn Error>1.0.0[src]

Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

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

fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]

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

Auto Trait Implementations

impl Unpin for TLSError

impl Sync for TLSError

impl Send for TLSError

impl UnwindSafe for TLSError

impl RefUnwindSafe for TLSError

Blanket Implementations

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]