Skip to main content

Crate wolfssl

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§

Aes256Gcm
Struct for encrypt/decrypt using Aes256Gcm cipher
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§

Aes256GcmError
The failure result of an operation.
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.

Functions§

get_wolfssl_version_string
Get WolfSSL version via LIBWOLFSSL_VERSION_STRING header defined in wolfssl/version.h

Type Aliases§

Result
Describes an outcome that is synchronous.