Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 3.5 KB

README.md

File metadata and controls

38 lines (32 loc) · 3.5 KB

fido-device-onboard-rs

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

The current implementation targets specification version: 1.1 20211214.

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 Initialize and Device Initialize over Untrusted Networks (DIUN) protocols.
  • fdo-manufacturing-server: Server side implementation of Device Initialize 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.
  • fdo-serviceinfo-api-server: Service Info API Server implementation. The specification is written in serviceinfo_api.md.

RPMs and containers

This project currently releases RPMs and containers tracking the main branch. RPMs are available in COPR. Containers are available on Quay.io.