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§
- Chacha20
Poly1305 Aead - Struct for encrypt/decrypt using Chacha20 cipher and authentication using Poly1305
- Context
- A wrapper around a
WOLFSSL_CTX
. - Context
Builder - 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. - Session
Config - Stores configurations we want to initialize a
Session
with.
Enums§
- Curve
Group - Corresponds to the various defined
WOLFSSL_*
curves - Error
- The failure result of an operation.
- Error
Kind - Extracts an error message given a wolfssl error enum. Abstraction over WolfSSL errors
- IOCallback
Result - Result type to be returned by methods on
IOCallbacks
- Method
- Corresponds to the various
wolf*_{client,server}_method()
APIs - NewContext
Builder Error - Error creating a
ContextBuilder
object. - NewSession
Error - Error creating a
Session
object. - Poll
- The
Result::Ok
for a non-blocking operation. - Protocol
Version - TLS/DTLS protocol versions
- Root
Certificate - Defines a CA certificate
- Secret
- Defines either a public or private key
- SslVerify
Mode - 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 alsowolfSSL_CTX_SetIORecv
which is the best docs forwolfSSL_SSLSetIORecv
andwolfSSL_SSLSetIOSend
, which are what we actually use.
Type Aliases§
- Result
- Describes an outcome that is synchronous.