#coap #oscore #no-alloc #linker #build

sys no-std liboscore

Rust 对 OSCORE (RFC8613) 的 libOSCORE 实现(CoAP 安全层)的包装

1 个不稳定版本

0.1.0 2024年4月17日

#2011嵌入式开发

BSD-3-Clause

155KB
3K SLoC

Rust 1.5K SLoC // 0.1% comments C 1.5K SLoC // 0.2% comments

这是通过 Rust 访问 libOSCORE 的 libOSCORE 的主要包。

它执行相对紧密耦合的不同任务

  • 它使用 cbindgen 构建用于 Rust 后端实现的 C 头文件。
  • 它从 C 头文件配置和构建 Rust "头" 文件(不包括已经是原生 Rust 类型的类型),就像 -sys crate 会做的那样。
  • 它直接编译 liboscore 的 C 文件以进行静态链接。
  • 它在 OSCORE 保护消息之上实现 coap-message。

目前,它拉入了用 Rust 编写的加密和消息后端(liboscore-cryptobackend 和 liboscore-msgbackend)。使加密后端可选将非常简单直接(并且只等待应用程序需要它)。理论上可以使用非 Rust 消息后端,但作者无法想象这种情况何时会有用。可能需要一些额外的保护消息构造函数。

依赖关系

~2.4–6MB
~93K SLoC