mangelajo / fido-device-onboard-rs

An implementation of the FIDO Device Onboard (FDO) spec written in Rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fido-device-onboard-rs

An implementation of the FIDO Device Onboard Specification written in rust.

The current implementation targets specification version: v1.0 20210323a.

Components

The fido-fdo-rs implements all core components of the FIDO Device Onboard Specification including:

Protocols

Crates and parts

  • fdo-client-linuxapp: Performs TO1 and TO2 client side protocols.
  • fdo-data-formats: [DI, TO0, TO1, TO2]: Implements the different low-level messaging formats used.
  • fdo-http-wrapper: Helpers for HTTP operations in both FDO server and client.
  • fdo-integration-tests: This crate contains the integration testing.
  • fdo-libfdo-data: C wrapper around fdo-data-formats, allowing code in other languages to parse Ownership Vouchers, and possibly other data formats in the future.
  • fdo-manufacturing-client: Client side implementation of Device Initalize and Device Initialize over Untrusted Networks (DIUN) protocols.
  • fdo-manufacturing-server: Server side implementation of Device Initalize protocol. It supports as well Untrusted Networks (DIUN) protocols, that can be used for local prototypes.
  • fdo-owner-onboarding-server: Onboarding server, server side of TO2 protocol.
  • fdo-owner-tool: Tool for initializing devices, dump ownership vouchers, dump device credentials, extend ownership vouchers and report the device to the rendezvous service.
  • fdo-rendezvous-server: Rendezvous server implementation.
  • fdo-store: Implementation of different backend datastores for services.
  • fdo-util: Utilities/helpers for server (and, in the future client) crates.
  • fdo-iot-stream-message: Implements the stream message creation/parsing of StreamMsg. Currently not implemented.

Building

To build on Fedora/RHEL/CentOS you can do the following:

sudo yum install -y cargo git-core openssl-devel
git clone https://github.com/fedora-iot/fido-device-onboard-rs.git
cd fido-device-onboard-rs
cargo build --release

About

An implementation of the FIDO Device Onboard (FDO) spec written in Rust.

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Rust 96.7%Language:Go 0.9%Language:C 0.7%Language:Jinja 0.5%Language:Shell 0.5%Language:Makefile 0.4%Language:JavaScript 0.2%Language:Dockerfile 0.1%