Crate wolfssl

Source
Expand description

The wolfssl crate is designed to be a Rust layer built on top of the wolfssl-sys crate (a C passthrough crate).

Structs§

Chacha20Poly1305Aead
Struct for encrypt/decrypt using Chacha20 cipher and authentication using Poly1305
Context
A wrapper around a WOLFSSL_CTX.
ContextBuilder
Produces a Context once built.
Random
Provides a way to extract random values from WolfSSL.
Session
Wraps a WOLFSSL pointer, as well as the additional fields needed to write into, and read from, wolfSSL’s custom IO callbacks.
SessionConfig
Stores configurations we want to initialize a Session with.

Enums§

CurveGroup
Corresponds to the various defined WOLFSSL_* curves
Error
The failure result of an operation.
ErrorKind
Extracts an error message given a wolfssl error enum. Abstraction over WolfSSL errors
IOCallbackResult
Result type to be returned by methods on IOCallbacks
Method
Corresponds to the various wolf*_{client,server}_method() APIs
NewContextBuilderError
Error creating a ContextBuilder object.
NewSessionError
Error creating a Session object.
Poll
The Result::Ok for a non-blocking operation.
ProtocolVersion
TLS/DTLS protocol versions
RootCertificate
Defines a CA certificate
Secret
Defines either a public or private key
SslVerifyMode
SSL Verification method Ref: https://www.wolfssl.com/doxygen/group__Setup.html#gaf9198658e31dd291088be18262ef2354

Traits§

IOCallbacks
The application provided IO callbacks documented at EmbedRecieve (whose inputs and outputs we need to emulate). See also wolfSSL_CTX_SetIORecv which is the best docs for wolfSSL_SSLSetIORecv and wolfSSL_SSLSetIOSend, which are what we actually use.

Type Aliases§

Result
Describes an outcome that is synchronous.