MCPcopy Index your code
hub / github.com/drogue-iot/embedded-tls

github.com/drogue-iot/embedded-tls @v0.16.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.16.2 ↗ · + Follow
436 symbols 1,159 edges 59 files 32 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Embedded-TLS

CI crates.io docs.rs Matrix

Embedded-TLS is a Rust-native TLS 1.3 implementation that works in a no-std environment. The Rust crate was formerly known as drogue-tls. The implementation is work in progress, but the example clients should work against the rustls echo server.

The client supports both async and blocking modes. By default, the async and std features are enabled. The async feature requires Rust nightly, while the blocking feature works on Rust stable.

To use the async mode, import embedded_tls::*. To use the blocking mode, import embedded_tls::blocking::*.

Some features and extensions are not yet implemented, have a look at open issues.

Only supports writing/receiving one frame at a time, hence using a frame buffer larger than 16k is not currently needed. You may use a lower frame buffer size, but there is no guarantee that it will be able to parse any TLS 1.3 frame.

Community

Extension points exported contracts — how you extend this code

TlsCipherSuite (Interface)
Represents a TLS 1.3 cipher suite [2 implementers]
src/config.rs
Try (Interface)
(no doc) [2 implementers]
src/fmt.rs
SplitState (Interface)
(no doc) [2 implementers]
src/split.rs
TlsVerifier (Interface)
A TLS 1.3 verifier. The verifier is responsible for verifying certificates and signatures. Since certificate verificati [2 …
src/config.rs
SplitStateContainer (Interface)
(no doc) [2 implementers]
src/split.rs
TlsClock (Interface)
(no doc) [2 implementers]
src/config.rs

Core symbols most depended-on inside this repo

len
called by 35
src/buffer.rs
push
called by 29
src/buffer.rs
extend_from_slice
called by 26
src/buffer.rs
as_slice
called by 22
src/buffer.rs
kind
called by 20
src/lib.rs
with_server_name
called by 16
src/config.rs
read_u16
called by 16
src/parse_buffer.rs
can_read_blocking_case
called by 16
src/record_reader.rs

Shape

Method 279
Class 68
Function 59
Enum 24
Interface 6

Languages

Rust100%

Modules by API surface

src/key_schedule.rs37 symbols
src/buffer.rs32 symbols
tests/tlsserver.rs25 symbols
src/config.rs22 symbols
src/blocking.rs19 symbols
src/asynch.rs19 symbols
src/record.rs18 symbols
src/read_buffer.rs17 symbols
src/connection.rs17 symbols
src/parse_buffer.rs16 symbols
src/write_buffer.rs13 symbols
src/record_reader.rs13 symbols

For agents

$ claude mcp add embedded-tls \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact