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