304 Commits
Author SHA1 Message Date
Emanuele Cesena dc3e0a790a runners/nrf52840dk: port to nrf52840 2026-06-18 17:02:43 -07:00
Emanuele Cesena c177871f5b nfc: improvements 2026-06-16 21:08:55 -07:00
Emanuele Cesena cc7523b419 monorepo: add cli 2026-06-12 16:13:15 -07:00
Emanuele Cesena 18d1cbb581 oath: exporter app for legacy oath-authenticator 2026-06-12 16:13:15 -07:00
Emanuele Cesena 45ed78d8cf tests: add integration tests 2026-04-29 14:36:22 -07:00
Emanuele Cesena 20421d1a8a cargo: fix fmt and clippy 2026-04-22 10:51:30 -07:00
Manuel Domke b9ae597955 add root Cargo workspace with centralized dependencies 2026-04-22 10:51:30 -07:00
Manuel Domke ef370ec34c runners/lpc55: upgrade to secrets-app v0.15 / trussed-core v0.2
Bump the full trussed ecosystem to support the v0.15 secrets-app branch
(fix-pin-protection-isolation) which is based on trussed-core v0.2.

Dependency changes:
- trussed: rev e107ed3 → 0f8df68 (trussed-core v0.2 basis)
- trussed-core: 0.1 → 0.2
- trussed-auth: 0.4 → 0.5
- trussed-auth-backend: tag v0.4.0 → backend-v0.1.0
- trussed-staging: v0.3.3 → v0.4.0 (adds chunked, hpke, wrap-key-to-file)
- apdu-dispatch: 0.3 → 0.4
- ctaphid-dispatch: 0.3 → 0.4
- fido-authenticator: 0.2 → 0.3 (requires dispatch feature)
- piv-authenticator: v0.5.3 → v0.6.0
- admin-app patch: v0.1.0-nitrokey.20 → v0.1.0-nitrokey.21
- usbd-ccid: 0.3 → 0.4
- usbd-ctaphid: 0.3 → 0.4 (crates.io; wouldblock fork no longer needed)
- littlefs2: git v0.6.1-nitrokey.1 → crates.io 0.7
- littlefs2-core patch: v0.6.1-nitrokey.1 → core-0.1.2 (has heapless-bytes05)
- ctap-types: 0.4 → 0.5
- components/ndef-app, nfc-device: heapless→0.9, apdu-dispatch→0.4, iso7816→0.2

API fixes:
- apdu_dispatch::App no longer has a ResponseSize generic param
- apdu_dispatch::iso7816::Interface replaces dispatch::Interface
- ctaphid_dispatch::App no longer has a message size generic param
- ndef-app: use VecView<u8> instead of Data<ResponseSize> (apdu-app 0.2)

Tested on hardware: CTAPHID PING, FIDO2 GET_INFO all pass. WouldBlock fix
confirmed unnecessary with usbd-ctaphid 0.4.
2026-04-22 10:51:30 -07:00
Manuel Domke 733b8e9254 components/provisioner-app: replace nisty with p256
nisty is unmaintained and uses an internal ECC implementation. Replace it
with the actively maintained p256 crate for P-256 key generation and
attestation certificate operations.

Migrate the provisioner to the new apdu-dispatch 0.3 API (CommandView,
Interface, Data types) and update heapless to 0.8. Also clean up the key
serialization documentation (the binary format for trussed key objects).
2026-04-22 10:51:30 -07:00
Manuel Domke a0a408a619 runners/lpc55: migrate to trussed 0.2 API with extension dispatch
API migration for trussed 0.2 / interchange 0.3 / usbd-ccid 0.3:

Source changes:
- types/usb.rs: CcidClass gains 'static,'static lifetime params; CtapHidClass
  gains 3 lifetime params + const N; use usbd_ccid::Status (types module is
  private in 0.3)
- initializer.rs + stages.rs: replace interchange::Interchange static claims with
  Channel::new().split(); wire CTAPHID interrupt flag (OptionRefSwap);
  use CtapHid::with_interrupt for interrupt-based dispatch coordination
- lib.rs: remove unused Board import
- board/trussed.rs: add wildcard arm to exhaustive match
- ndef-app/ndef.rs, nfc-device/iso14443.rs: update apdu-dispatch 0.3 API
  (App<ResponseSize>, CommandView, Data, Interface types)
- main.rs: usbd_ccid::types::Status -> usbd_ccid::Status

Extension dispatch (required by fido-authenticator 0.2):
- types.rs: add Dispatch struct wrapping StagingBackend (provides FsInfoClient,
  HkdfClient for fido-authenticator; ManageClient for admin-app)
- BackendIds enum, ExtensionIds enum (Hkdf=1, Manage=2, FsInfo=4)
- STAGING_BACKENDS: [StagingBackend, Core] — Core is critical; omitting it causes
  all standard crypto calls to fail with RequestNotAvailable
- Trussed wrapper struct holding Service + service endpoints; replaces bare
  trussed::Service<Board> type alias
- Static TrussedChannel per app; make_client() splits channel and registers endpoint
- Apps struct rebuilt with new client provisioning pattern
- AdminApp gains StatusBytes type param (AdminStatus); uses with_default_config()
- fido_authenticator::Config gains nfc_transport field
2026-04-22 10:51:30 -07:00
Manuel Domke 305a16105d deps: upgrade trussed ecosystem to latest versions
- interchange 0.2.2 → 0.3
- apdu-dispatch 0.1.1 → 0.3
- ctaphid-dispatch 0.1.1 → 0.3
- ctap-types 0.1 → 0.4
- fido-authenticator 0.1.1 → 0.2
- usbd-ccid 0.1.0 → 0.3
- usbd-ctaphid 0.1.0 → 0.3
- littlefs2 0.3.2 → 0.6 (git tag v0.6.1-nitrokey.1)
- trussed: pin to git rev e107ed3
- admin-app: pin to git tag v0.1.0-nitrokey.20
- trussed-staging v0.3.3 with hkdf/fs-info/manage features (required by fido-authenticator 0.2)
- Add trussed-core, trussed-fs-info, trussed-hkdf, trussed-manage, ref-swap deps
- [patch.crates-io] for littlefs2, littlefs2-sys, littlefs2-core (resolves DynFilesystem trait version mismatch)
- Remove oath-authenticator from default features
- Remove trussed/clients-N feature flags (no longer needed with new trussed API)
- Update runners/pc and component Cargo.toml files to match
2026-04-22 10:51:30 -07:00
David Venhoek 856d499f0e Fix provisioner-app info_now invocations. 2026-03-03 17:01:08 -08:00
David Venhoek 0aed24d6c7 Moved provision-app crate to defmt. 2026-03-03 17:01:08 -08:00
David Venhoek f33fb37806 Moved nfc-device crate to defmt. 2026-03-03 17:01:08 -08:00
David Venhoek ada2dc4cfe Move fm11nc08 crate over to defmt. 2026-03-03 17:01:08 -08:00
David Venhoek 605dfaaaaf Update provisioner-app to edition 2024 2026-03-03 17:01:08 -08:00
David Venhoek ff6dec21b3 Update nfc-device crate to edition 2024 2026-03-03 17:01:08 -08:00
David Venhoek 91396dc636 Update ndef-app crate to edition 2024 2026-03-03 17:01:08 -08:00
David Venhoek 9b1ab3bf9e Update fm11nc08 crate to edition 2024 2026-03-03 17:01:08 -08:00
David Venhoek 1dba144896 Fix log features on provisioner-app crate 2026-03-03 17:01:08 -08:00
David Venhoek a77f88f6b4 Fix incomplete list of features in nfc-device crate. 2026-03-03 17:01:08 -08:00
David Venhoek 89a96191be Fix incomplete feature list in fm11nc08 crate. 2026-03-03 17:01:08 -08:00
Nicolas Stalder 1a8a59eb30 Migrate 2023-01-24 23:09:05 +01:00
Nicolas Stalder 06480d3842 git subrepo push --remote=git@github.com:trussed-dev/usbd-ctaphid.git --branch=main --update components/usbd-ctaphid
subrepo:
  subdir:   "components/usbd-ctaphid"
  merged:   "d872dbb"
upstream:
  origin:   "git@github.com:trussed-dev/usbd-ctaphid.git"
  branch:   "main"
  commit:   "d872dbb"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
2023-01-24 23:09:05 +01:00
Nicolas Stalder d77def81cc git subrepo push --remote=git@github.com:trussed-dev/usbd-ccid.git --branch=main --update components/usbd-ccid
subrepo:
  subdir:   "components/usbd-ccid"
  merged:   "c1f81e9"
upstream:
  origin:   "git@github.com:trussed-dev/usbd-ccid.git"
  branch:   "main"
  commit:   "c1f81e9"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
2023-01-24 23:09:05 +01:00