64 Commits
Author SHA1 Message Date
Robin Krahl d3891c9f16 Replace heapless with heapless-bytes 2025-03-11 09:56:58 +01:00
Robin Krahl 7922d67e96 Update trussed to use the simplified Store trait 2025-03-05 14:05:50 +01:00
Robin Krahl 7f305b8db3 Add log-trace feature to Cargo.toml
This fixes a unexpected_cfgs compiler warning.
2025-03-03 15:40:47 +01:00
Robin Krahl 91e1d88cb8 Update trussed 2025-03-03 15:35:21 +01:00
Robin Krahl 1e1ca03a3a Add crate descriptions
Crates without descriptions cannot be published.
wrap-key-to-file-v0.2.0 fs-info-v0.2.0 manage-v0.2.0 hpke-v0.2.0 hkdf-v0.3.0 chunked-v0.2.0
2025-01-09 11:59:53 +01:00
Robin Krahl d8aadf0133 Release extensions
This patch releases:
- trussed-chunked v0.2.0
- trussed-hkdf v0.3.0
- trussed-hpke v0.2.0
- trussed-manage v0.2.0
- trussed-wrap-key-to-file v0.2.0
- trussed-fs-info v0.2.0
2025-01-08 17:19:51 +01:00
Robin Krahl 9355f70083 Remove unnecessary explicit lifetimes
This fixes a new clippy lint.
2025-01-06 17:40:55 +01:00
Robin Krahl 92191cdc13 Replace trussed dependency with trussed-core 2025-01-06 17:40:55 +01:00
Robin Krahl 53eba84d2c Update littlefs2 to v0.5.0 2024-10-25 11:21:43 +02:00
Robin Krahl 52ae72e003 Avoid unnecessary path allocations 2024-10-21 21:11:02 +02:00
Robin Krahl 7c99973187 Release trussed-staging v0.3.2, trussed-hpke v0.1.0 v0.3.2 hpke-v0.1.0 2024-10-17 21:26:25 +02:00
Sosthène GuédonandRobin Krahl e27ad91471 Add HPKE extension
This will be useful for PIV encryption, working together with
https://github.com/trussed-dev/trussed-auth/pull/41

This implements the standard HPKE from
[RFC 9180](https://www.rfc-editor.org/rfc/rfc9180.html). This uses a
custom implmentation instead of the `hpke` crate because this crate
seals the trait to implement custom ciphers, and we want to use
`ChaCha8` and not `ChaCha20`.

The implementation is tested against the RFC test vectors for
`ChaCha20`, and is made generic so that the same code can be used for
`ChaCha8` in the backend.

For ChaCha8Poly1305 AEAD ID, I used a custom `0xFFFE`, which is probably
unused. I need to look if there is somewhere someone already using
ChaCha8Poly1305 for HPKE and if there is a specified ID.
2024-10-17 21:25:33 +02:00
sosthene-nitrokeyandGitHub 72b082002e Merge pull request #27 from trussed-dev/fs-info
Add filesystem info extension and backend implementation
v0.3.1 fs-info-v0.1.0
2024-08-01 14:56:52 +02:00
Sosthène Guédon 170ab14f3b Add utility traits to request and reply structures 2024-07-25 11:28:02 +02:00
sosthene-nitrokeyandGitHub 60f21e20bf Merge pull request #28 from trussed-dev/fix-compilation
Fix CI
2024-07-25 10:15:24 +02:00
Sosthène Guédon 98194086ea Add missing generic impl for FsInfoClient 2024-07-24 17:29:56 +02:00
Sosthène Guédon 7b5ebb660f Add fsinfo to virt implementation 2024-07-24 17:21:42 +02:00
Sosthène Guédon b454faaea2 Add client trait for FsInfo syscall 2024-07-24 16:51:19 +02:00
Sosthène Guédon 0a7c962a14 Add filesystem info extension and backend implementation 2024-07-24 16:06:29 +02:00
Sosthène Guédon c5371af973 Fix CI 2024-07-24 16:05:41 +02:00
Robin Krahl e016b25fbc Import HkdfExtension from Nitrokey/trussed-hkdf-backend
The HkdfExtension was previously maintained in a separate repository and
together with a custom backend.  Every additional backend adds some
overhead, both in the firmware and for maintenance.  Therefore this
patch moves the trussed-hkdf crate with the HkdfExtension as an
extension into this repository and implements it for the StagingBackend,
replacing the HkdfBackend.

This patch also releases trussed-hkdf v0.2.0 and trussed-staging v0.3.0.

Fixes: https://github.com/Nitrokey/trussed-hkdf-backend/issues/6
hkdf-v0.2.0 v0.3.0
2024-03-25 13:14:12 +01:00
Robin Krahl a9557b0579 Remove manage from default features
For some reason, the manage extension is implemented by default by the
trussed-staging backend while the chunked and wrap-key-to-file
extensions have to be specified explicitly.  For consistency and to
avoid activating features we don’t need, this patch removes the manage
feature from the default features.
2024-03-24 15:50:42 +01:00
Robin Krahl 5fc00717e6 Release trussed-staging and extensions
This patch releases v0.2.0 of the trussed-staging backend and v0.1.0 of
the new extension crates trussed-chunked, trussed-manage and
trussed-wrap-key-to-file.
wrap-key-to-file-v0.1.0 manage-v0.1.0 chunked-v0.1.0 v0.2.0
2024-03-15 11:18:39 +01:00
Robin Krahl 1a964539e6 Remove encrypted-chunked feature
This patch always enables the syscalls that previously were behind the
encrypted-chunked feature.  This makes sure that enabling the feature in
one crate does not break another crate that also depends on
trussed-chunked.  In practice, the feature is always enabled anyway so
separating the encrypted syscalls does not bring any benefits.

Fixes: https://github.com/trussed-dev/trussed-staging/issues/20
2024-03-15 11:10:42 +01:00
Robin Krahl 06bf42cfd6 Extract extensions into crates
Previously, this repository contained one crate with all extension
definitions and the backend implementation.  This is problematic if
semantic versioning is used as a breaking change in the backend or in a
single extension would also affect all users of any other extension.

This patch moves the extensions into separate crates that can be
versioned independently so that clients only have to depend on the
extension crates they really need.

Fixes: https://github.com/trussed-dev/trussed-staging/issues/3
2024-03-15 10:53:13 +01:00